@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');

:root {
    --rm-chat-navy: #172345;
    --rm-chat-deep: #101a35;
    --rm-chat-gold: #bd8a32;
    --rm-chat-gold-bright: #ddb457;
    --rm-chat-paper: #fbf7ee;
    --rm-chat-card: #fffdf8;
    --rm-chat-ink: #25304a;
    --rm-chat-muted: #687087;
    --rm-chat-line: #e8dfcf;
    --rm-chat-green: #356a58;
    --rm-chat-red: #a64439;
    --rm-chat-shadow: 0 24px 70px rgba(16, 26, 53, .25), 0 4px 16px rgba(16, 26, 53, .12);
}

.rm-order-widget, .rm-order-widget * { box-sizing: border-box; }
.rm-order-widget {
    color: var(--rm-chat-ink);
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    line-height: 1.45;
}
.rm-order-widget [hidden] { display: none !important; }
.rm-order-widget button, .rm-order-widget input, .rm-order-widget select, .rm-order-widget textarea { font: inherit; }
.rm-order-widget button, .rm-order-widget a { -webkit-tap-highlight-color: transparent; }
.rm-order-widget button:focus-visible, .rm-order-widget a:focus-visible, .rm-order-widget input:focus-visible,
.rm-order-widget select:focus-visible, .rm-order-widget textarea:focus-visible {
    outline: 3px solid rgba(189, 138, 50, .52); outline-offset: 2px;
}
.rm-order-widget[data-layout="floating"] .rm-order-launcher {
    position: fixed; z-index: 1040; right: max(18px, env(safe-area-inset-right));
    bottom: max(calc(env(safe-area-inset-bottom) + 5.1rem + var(--rm-cookie-offset, 0px)), 82px);
}
.rm-order-launcher {
    min-height: 54px; display: inline-flex; align-items: center; gap: 11px;
    padding: 8px 18px 8px 9px; border: 1px solid #d8b66d; border-radius: 999px;
    color: #fff9eb; background: var(--rm-chat-navy); font-weight: 700; letter-spacing: .01em;
    box-shadow: 0 9px 25px rgba(16, 26, 53, .26); cursor: pointer;
    transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.rm-order-launcher:hover { transform: translateY(-2px); background: #22345e; box-shadow: 0 12px 30px rgba(16, 26, 53, .3); }
.rm-launcher-mark { height: 36px; width: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--rm-chat-gold-bright); color: var(--rm-chat-deep); font-size: 17px; }
.rm-launcher-count { display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 5px; border-radius: 20px; background: #fff4d8; color: var(--rm-chat-navy); font-size: 11px; }
.rm-order-fallback { display: inline-block; margin: .5rem 0; color: var(--rm-chat-navy); font-weight: 700; }
.rm-order-panel {
    position: fixed; z-index: 1041; right: max(18px, env(safe-area-inset-right));
    bottom: max(calc(env(safe-area-inset-bottom) + 9.35rem + var(--rm-cookie-offset, 0px)), 148px);
    width: min(424px, calc(100vw - 32px)); height: min(690px, calc(100dvh - 190px));
    min-height: 390px; overflow: hidden; display: flex; flex-direction: column;
    border: 1px solid rgba(189, 138, 50, .45); border-radius: 18px;
    background: var(--rm-chat-paper); box-shadow: var(--rm-chat-shadow);
    transform-origin: bottom right; animation: rm-panel-in .22s cubic-bezier(.2,.8,.2,1) both;
}
.rm-order-widget[data-layout="flow"] { position: relative; margin: 1rem auto; width: min(100% - 2rem, 900px); z-index: 2; }
.rm-order-widget[data-layout="flow"] .rm-order-launcher { position: relative; }
.rm-order-widget[data-layout="flow"] .rm-order-panel {
    position: relative; inset: auto; width: min(100%, 640px); height: min(700px, 82dvh);
    margin-top: .75rem; box-shadow: 0 12px 34px rgba(16, 26, 53, .15);
}
.rm-panel-header {
    min-height: 89px; flex: 0 0 auto; display: flex; align-items: center; gap: 12px;
    padding: 15px 17px; color: #fff8e8; background: var(--rm-chat-navy);
    border-bottom: 3px solid var(--rm-chat-gold);
}
.rm-brand-stamp { width: 43px; height: 43px; flex: 0 0 43px; display:grid; place-items:center; border: 1px solid #d8b66d; border-radius: 50%; color: var(--rm-chat-gold-bright); font-family: 'Playfair Display', serif; font-size: 15px; letter-spacing: .08em; }
.rm-panel-heading { min-width: 0; flex: 1; }
.rm-panel-heading h2 { margin: 1px 0 1px; color: #fff9ea; font: 600 19px/1.2 'Playfair Display', serif; }
.rm-panel-heading p { margin: 0; color: rgba(255,249,234,.72); font-size: 11px; }
.rm-panel-heading .rm-eyebrow { color: var(--rm-chat-gold-bright); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.rm-icon-button { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:white; background:transparent; cursor:pointer; }
.rm-icon-button:hover { background:rgba(255,255,255,.12); }
.rm-progress { display:flex; align-items:center; gap:5px; flex:0 0 auto; padding: 10px 18px 0; }
.rm-progress-step { height:3px; flex:1; border-radius:4px; background:#e8dfcf; }
.rm-progress-step.is-done { background:var(--rm-chat-gold); }
.rm-alert { flex:0 0 auto; margin:10px 16px 0; padding:9px 11px; border-radius:8px; color:#6d341f; background:#fff0d9; font-size:12px; }
.rm-alert.is-error { color:#812d27; background:#fbe8e3; }
.rm-alert.is-success { color:#28543f; background:#e4f1e8; }
.rm-panel-content { min-height:0; flex:1; overflow-y:auto; overscroll-behavior:contain; padding:17px 18px 20px; scrollbar-color:#c9b88f transparent; scrollbar-width:thin; }
.rm-panel-content:focus { outline:none; }
.rm-panel-footer { flex:0 0 auto; min-height:41px; display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 17px; color:var(--rm-chat-muted); background:#f3ecdd; border-top:1px solid var(--rm-chat-line); font-size:10px; }
.rm-panel-footer i { color:var(--rm-chat-gold); }
.rm-panel-footer a { color:var(--rm-chat-navy); text-decoration:none; font-weight:700; }
.rm-panel-footer a:hover { text-decoration:underline; }
.rm-kicker { margin:0 0 5px; color:var(--rm-chat-gold); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.rm-title { margin:0 0 8px; color:var(--rm-chat-navy); font:600 24px/1.17 'Playfair Display',serif; }
.rm-copy { margin:0 0 14px; color:var(--rm-chat-muted); font-size:13px; }
.rm-card { border:1px solid var(--rm-chat-line); border-radius:12px; background:var(--rm-chat-card); padding:13px; }
.rm-notice { padding:11px 12px; margin:12px 0; border-left:3px solid var(--rm-chat-gold); border-radius:4px 9px 9px 4px; background:#f4eddf; color:#5b5548; font-size:11px; }
.rm-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.rm-button { min-height:42px; display:inline-flex; justify-content:center; align-items:center; gap:7px; padding:9px 14px; border:1px solid var(--rm-chat-navy); border-radius:8px; color:#fff9eb; background:var(--rm-chat-navy); font-weight:700; font-size:12px; text-decoration:none; cursor:pointer; transition:transform .16s ease, background-color .16s ease; }
.rm-button:hover { transform:translateY(-1px); background:#26385f; color:#fff9eb; }
.rm-button:disabled { opacity:.55; cursor:wait; transform:none; }
.rm-button-secondary { color:var(--rm-chat-navy); background:transparent; }
.rm-button-secondary:hover { color:var(--rm-chat-navy); background:#f0e7d6; }
.rm-button-gold { border-color:var(--rm-chat-gold); color:var(--rm-chat-deep); background:var(--rm-chat-gold-bright); }
.rm-button-gold:hover { color:var(--rm-chat-deep); background:#e7c474; }
.rm-button-danger { color:var(--rm-chat-red); border-color:#dfb9ae; background:transparent; }
.rm-button-small { min-height:34px; padding:6px 10px; font-size:11px; }
.rm-link { color:#334771; text-decoration:underline; text-underline-offset:2px; }
.rm-search { position:relative; margin:14px 0 12px; }
.rm-search input { width:100%; height:43px; padding:0 13px 0 39px; border:1px solid #d8cfbd; border-radius:9px; color:var(--rm-chat-ink); background:#fffdf8; }
.rm-search i { position:absolute; left:13px; top:13px; color:var(--rm-chat-muted); }
.rm-chip-row { display:flex; gap:7px; overflow-x:auto; padding:2px 0 7px; scrollbar-width:thin; }
.rm-chip { flex:0 0 auto; padding:7px 11px; border:1px solid #d9cfbb; border-radius:30px; color:#39445c; background:#fffdf8; font-size:11px; cursor:pointer; }
.rm-chip.is-active,.rm-chip:hover { border-color:var(--rm-chat-navy); color:white; background:var(--rm-chat-navy); }
.rm-product-list { display:grid; gap:10px; margin-top:9px; }
.rm-product { display:grid; grid-template-columns:74px 1fr; gap:11px; padding:10px; border:1px solid var(--rm-chat-line); border-radius:11px; background:var(--rm-chat-card); }
.rm-product-image { width:74px; height:74px; border-radius:8px; object-fit:cover; background:#eee4d1; }
.rm-image-fallback { display:grid; place-items:center; width:74px; height:74px; border-radius:8px; color:#957d52; background:repeating-linear-gradient(135deg,#eee4d1,#eee4d1 8px,#f6f0e4 8px,#f6f0e4 16px); font:600 19px 'Playfair Display',serif; }
.rm-product h3 { margin:0 0 3px; color:var(--rm-chat-navy); font:600 16px/1.25 'Playfair Display',serif; }
.rm-product p { margin:0 0 7px; color:var(--rm-chat-muted); font-size:11px; }
.rm-price { color:var(--rm-chat-navy); font-weight:700; font-size:12px; }
.rm-product-bottom { display:flex; align-items:center; justify-content:space-between; gap:5px; }
.rm-detail-image { width:100%; max-height:185px; object-fit:cover; border-radius:10px; margin:4px 0 10px; background:#eee4d1; }
.rm-option-list { display:grid; gap:8px; margin:10px 0; }
.rm-option { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--rm-chat-line); border-radius:9px; background:#fffdf8; cursor:pointer; }
.rm-option input { accent-color:var(--rm-chat-navy); }
.rm-option-main { flex:1; font-weight:600; }
.rm-option small { display:block; color:var(--rm-chat-muted); font-weight:400; }
.rm-field { display:grid; gap:5px; margin:11px 0; }
.rm-field label { color:var(--rm-chat-navy); font-size:11px; font-weight:700; }
.rm-field input,.rm-field select,.rm-field textarea { width:100%; min-height:42px; padding:9px 11px; border:1px solid #d8cfbd; border-radius:8px; color:var(--rm-chat-ink); background:#fffdf8; }
.rm-field textarea { min-height:76px; resize:vertical; }
.rm-field .rm-hint { color:var(--rm-chat-muted); font-size:10px; }
.rm-cart-line { display:grid; grid-template-columns:1fr auto; gap:5px; padding:12px 0; border-bottom:1px solid var(--rm-chat-line); }
.rm-cart-line:last-child { border:0; }
.rm-cart-name { color:var(--rm-chat-navy); font-weight:700; }
.rm-cart-meta { color:var(--rm-chat-muted); font-size:11px; }
.rm-qty { display:flex; align-items:center; gap:8px; margin-top:7px; }
.rm-qty button { width:28px; height:28px; border:1px solid var(--rm-chat-line); border-radius:50%; color:var(--rm-chat-navy); background:#fffdf8; cursor:pointer; }
.rm-cart-total { color:var(--rm-chat-navy); font-weight:700; text-align:right; }
.rm-summary-row { display:flex; justify-content:space-between; gap:10px; padding:5px 0; color:#555f72; font-size:12px; }
.rm-summary-row.total { margin-top:5px; padding-top:9px; border-top:1px solid var(--rm-chat-line); color:var(--rm-chat-navy); font-size:15px; font-weight:700; }
.rm-detail-row { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid #eee6d8; font-size:11px; }
.rm-detail-row span:first-child { color:var(--rm-chat-muted); }
.rm-detail-row strong { color:var(--rm-chat-navy); text-align:right; }
.rm-empty { padding:20px 14px; border:1px dashed #d3c6ad; border-radius:11px; color:var(--rm-chat-muted); text-align:center; background:#fffdf8; }
.rm-skeleton { height:94px; border-radius:10px; margin:9px 0; background:linear-gradient(90deg,#eee7d9 25%,#f7f2e9 38%,#eee7d9 65%); background-size:300% 100%; animation:rm-skeleton 1.4s ease infinite; }
.rm-panel-busy { position:absolute; inset:89px 0 41px; z-index:3; display:flex; justify-content:center; align-items:flex-start; padding-top:18px; pointer-events:none; }
.rm-panel-busy span:last-child { padding:8px 12px; border:1px solid var(--rm-chat-line); border-radius:22px; color:var(--rm-chat-navy); background:#fffdf8; box-shadow:0 4px 12px #18244220; font-size:11px; }
.rm-busy-mark { display:none; }
.rm-panel-content[aria-busy="true"] { opacity:.62; }
.rm-result-mark { width:52px; height:52px; display:grid; place-items:center; margin:0 auto 12px; border:1px solid #c8ad73; border-radius:50%; color:var(--rm-chat-gold); font-size:21px; }
.rm-order-panel .rm-small { font-size:11px; color:var(--rm-chat-muted); }
.rm-order-panel .rm-inline { display:inline-flex; align-items:center; gap:6px; }
.rm-guide-choices { display:grid; gap:9px; margin:17px 0 8px; }
.rm-guide-choice { display:grid; gap:3px; width:100%; min-height:66px; padding:12px 14px; border:1px solid #d8cfbd; border-radius:11px; color:var(--rm-chat-navy); background:var(--rm-chat-card); text-align:left; cursor:pointer; transition:transform .16s ease, background-color .16s ease, border-color .16s ease; }
.rm-guide-choice strong { font:600 16px/1.2 'Playfair Display',serif; }
.rm-guide-choice span { color:var(--rm-chat-muted); font-size:12px; }
.rm-guide-choice:hover,.rm-guide-choice.is-selected { border-color:var(--rm-chat-gold); background:#f4ecda; transform:translateY(-1px); }
.rm-guide-choice.is-selected { box-shadow:inset 3px 0 var(--rm-chat-gold); }
.rm-guide-summary { margin:13px 0; padding:4px 12px; border:1px solid var(--rm-chat-line); border-radius:11px; background:#fffdf8; }
.rm-guide-summary-line { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 0; border-bottom:1px solid #eee6d8; }
.rm-guide-summary-line:last-child { border-bottom:0; }
.rm-guide-summary-line > span { display:grid; gap:1px; color:var(--rm-chat-navy); font-size:12px; }
.rm-guide-summary-line > span b { color:var(--rm-chat-muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.rm-guide-summary-line .rm-link { flex:0 0 auto; border:0; background:none; font-size:11px; cursor:pointer; }
.rm-guide-notes { margin:10px 0; padding:10px 12px 10px 29px; border-radius:9px; color:#5b5548; background:#f4eddf; font-size:11px; }
.rm-guide-notes li + li { margin-top:5px; }
.rm-guide-reason { padding:8px 9px; border-left:2px solid var(--rm-chat-gold); color:#554b37 !important; background:#f6f0e4; }
.rm-guide-estimate { display:grid; gap:3px; margin:8px 0; color:var(--rm-chat-muted); font-size:10px; }
.rm-guide-estimate b { color:var(--rm-chat-navy); }
.rm-guide-message { margin-top:9px; }
.rm-guide-product { grid-template-columns:74px minmax(0,1fr); }
.rm-guide-product > div { min-width:0; }
.rm-guide-product .rm-product-bottom { margin-top:7px; }
.rm-order-panel .rm-field input:invalid:not(:placeholder-shown) { border-color:#bd7768; }
@keyframes rm-panel-in { from { opacity:0; transform:translateY(9px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes rm-skeleton { to { background-position-x:-300%; } }
@media (max-width:600px) {
    .rm-order-widget[data-layout="floating"] .rm-order-launcher { right: max(13px, env(safe-area-inset-right)); bottom: max(calc(env(safe-area-inset-bottom) + 4.7rem + var(--rm-cookie-offset, 0px)), 76px); }
    .rm-order-widget[data-layout="floating"] .rm-order-panel { inset:auto 0 max(calc(env(safe-area-inset-bottom) + var(--rm-cookie-offset, 0px)),0px); width:100%; height:min(82dvh, 720px); min-height:360px; max-height:calc(100dvh - env(safe-area-inset-top) - var(--rm-cookie-offset, 0px) - 12px); border-radius:18px 18px 0 0; }
    .rm-order-widget[data-layout="floating"] { position:relative; z-index:1040; }
    .rm-order-widget[data-layout="flow"] { width:calc(100% - 1rem); }
    .rm-order-widget[data-layout="flow"] .rm-order-panel { width:100%; height:min(74dvh,680px); min-height:370px; }
    .rm-panel-content { padding:15px 15px 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .rm-order-widget *, .rm-order-widget *::before, .rm-order-widget *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}