/* Shanasheel identity v3 — full-bleed editorial home */
:root { --shan-gold:#c7a052; --shan-gold-soft:#e7ca88; --shan-black:#060606; --shan-panel:#0d0d0c; --shan-cream:#eee7d9; }
.main-nav a::after { transform:scaleX(0); transform-origin:center; opacity:0; transition:transform .24s ease,opacity .24s ease; }
.main-nav a.is-active::after { transform:scaleX(1); opacity:1; }
.account-action { min-height:46px; display:inline-flex; align-items:center; gap:9px; padding:0 14px; border:1px solid transparent; border-radius:99px; color:#d5cec2; transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease; }
.account-action:hover { border-color:rgba(199,160,82,.26); background:rgba(199,160,82,.055); color:#f0d58d; transform:translateY(-1px); }
.account-icon { position:relative; width:18px; height:18px; flex:none; border:1.7px solid var(--shan-gold); border-radius:50%; }
.account-icon::before { content:""; position:absolute; top:3px; left:50%; width:5px; height:5px; border:1.4px solid var(--shan-gold); border-radius:50%; transform:translateX(-50%); }
.account-icon::after { content:""; position:absolute; right:3px; bottom:2px; left:3px; height:5px; border:1.4px solid var(--shan-gold); border-bottom:0; border-radius:7px 7px 0 0; }
.cart-action { min-height:46px; gap:10px; padding:0 14px; border-color:transparent; background:transparent; overflow:visible; transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease; }
.cart-action:hover,.cart-action:focus-visible { border-color:rgba(231,202,136,.55); background:rgba(199,160,82,.08); box-shadow:0 9px 28px rgba(0,0,0,.28); transform:translateY(-1px); }
.cart-icon { position:relative; width:20px; height:12px; margin-bottom:3px; flex:none; border:1.7px solid var(--shan-gold); border-radius:2px 3px 5px 5px; transform:skewX(-7deg); transition:transform .42s cubic-bezier(.2,.8,.2,1); }
.cart-icon::before { content:""; position:absolute; top:-5px; right:-5px; width:7px; height:6px; border-top:1.7px solid var(--shan-gold); border-right:1.7px solid var(--shan-gold); border-radius:0 4px 0 0; }
.cart-icon::after { content:""; position:absolute; bottom:-6px; right:2px; width:4px; height:4px; border-radius:50%; background:var(--shan-gold-soft); box-shadow:-11px 0 0 var(--shan-gold-soft); }
.cart-action:hover .cart-icon { transform:translateX(-7px) skewX(-7deg); }
.cart-label { position:relative; width:58px; height:20px; overflow:hidden; display:block; }
.cart-label i { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#d8d0c4; font-style:normal; white-space:nowrap; font-size:.75rem; transition:transform .32s ease,opacity .25s ease; }
.cart-label i:last-child { color:var(--shan-gold-soft); font-size:.66rem; transform:translateY(120%); opacity:0; }
.cart-action:hover .cart-label i:first-child { transform:translateY(-120%); opacity:0; }
.cart-action:hover .cart-label i:last-child { transform:translateY(0); opacity:1; }
.cart-action b { flex:none; }
.shan-kicker { display:flex; align-items:center; gap:12px; margin:0 0 20px; color:#eee3ce; font-size:.72rem; font-weight:600; letter-spacing:.08em; }
.shan-kicker span { width:42px; height:1px; background:linear-gradient(90deg,var(--shan-gold),transparent); }
.shan-kicker--gold { color:var(--shan-gold-soft); }
.shan-section-head { display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:80px; margin-bottom:52px; }
.shan-section-head h2,.shan-story h2,.shan-offer h2,.shan-visit h2 { margin:0; color:#f8f2e7; font:600 clamp(2.15rem,4vw,3.8rem)/1.4 var(--font-display); letter-spacing:-.035em; }
.shan-section-head h2 em { color:var(--shan-gold-soft); font-style:normal; font-weight:500; }
.shan-section-head > div:last-child > p,.shan-section-head > p { max-width:520px; margin:0 0 22px; color:#a69e92; font-size:.92rem; line-height:2; }
.shan-arrow-link { display:inline-flex; align-items:center; gap:14px; color:#e5c87f; font-size:.8rem; font-weight:700; }
.shan-arrow-link b { display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(199,160,82,.35); border-radius:50%; transition:transform .18s ease,background .18s ease; }
.shan-arrow-link:hover b { transform:translateX(-4px); background:var(--shan-gold); color:#070707; }

.shan-hero { position:relative; width:100%; min-height:720px; height:calc(100vh - 118px); max-height:900px; overflow:hidden; background:#050505; }
.shan-hero__media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; background:#050505; filter:saturate(.8) contrast(1.04); }
.shan-hero__veil { position:absolute; inset:0; background:linear-gradient(102deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.22) 38%,rgba(5,5,5,.56) 64%,rgba(5,5,5,.78) 100%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 48%); }
.shan-pattern { position:absolute; top:0; right:0; width:55%; height:100%; opacity:.04; clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); -webkit-mask-image:linear-gradient(102deg,transparent 0%,rgba(0,0,0,.28) 18%,#000 36%); mask-image:linear-gradient(102deg,transparent 0%,rgba(0,0,0,.28) 18%,#000 36%); background-color:rgba(4,4,4,.22); background-image:linear-gradient(30deg,var(--shan-gold) 12%,transparent 12.5%,transparent 87%,var(--shan-gold) 87.5%,var(--shan-gold)),linear-gradient(150deg,var(--shan-gold) 12%,transparent 12.5%,transparent 87%,var(--shan-gold) 87.5%,var(--shan-gold)),linear-gradient(30deg,var(--shan-gold) 12%,transparent 12.5%,transparent 87%,var(--shan-gold) 87.5%,var(--shan-gold)),linear-gradient(150deg,var(--shan-gold) 12%,transparent 12.5%,transparent 87%,var(--shan-gold) 87.5%,var(--shan-gold)); background-size:60px 105px; }
.shan-hero__inner { position:relative; z-index:2; height:100%; display:flex; align-items:center; }
.shan-hero__content { width:min(560px,52%); padding-bottom:54px; }
.shan-hero h1 { margin:0; color:#fffaf0; font:600 clamp(2.8rem,4.6vw,4.2rem)/1.35 var(--font-display); letter-spacing:-.04em; text-shadow:0 15px 50px rgba(0,0,0,.45); }
.shan-hero h1 em { color:var(--shan-gold-soft); font-style:normal; font-weight:500; }
.shan-hero__lead { max-width:520px; margin:22px 0 0; color:#c5bcae; font-size:1rem; line-height:2; }
.shan-hero__actions { display:flex; gap:12px; margin-top:30px; }
.shan-hero__foot { position:absolute; z-index:3; right:0; bottom:0; left:0; border-top:1px solid rgba(199,160,82,.18); background:rgba(5,5,5,.72); backdrop-filter:blur(12px); }
.shan-hero__foot .container { min-height:72px; display:flex; align-items:center; gap:24px; color:#918a80; font-size:.68rem; }
.shan-hero__foot p { margin:0 auto 0 0; color:#d4b76e; font:600 .8rem var(--font-display); }.shan-hero__foot i { width:3px; height:3px; border-radius:50%; background:#80642e; }.shan-hero__foot a { display:grid; place-items:center; width:34px; height:34px; margin-right:auto; border:1px solid rgba(199,160,82,.27); border-radius:50%; color:#d8ba70; }

.shan-trust { padding:34px 0; border-bottom:1px solid rgba(199,160,82,.09); background:linear-gradient(180deg,#080808,#0b0b0a); }
.shan-trust__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.shan-trust article { position:relative; display:grid; grid-template-columns:92px 1fr; align-items:center; gap:18px; min-height:124px; padding:12px; overflow:hidden; border:1px solid rgba(199,160,82,.12); background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(199,160,82,.025)); transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.shan-trust article:first-child { border-radius:0 26px 0 0; }.shan-trust article:last-child { border-radius:26px 0 0 0; }.shan-trust article:hover { transform:translateY(-3px); border-color:rgba(199,160,82,.28); background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(199,160,82,.045)); }
.shan-trust__image { width:92px; height:98px; overflow:hidden; border:1px solid rgba(231,202,136,.12); }.shan-trust__image img { width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.04) brightness(.78); transition:transform .45s ease,filter .3s ease; }.shan-trust article:hover .shan-trust__image img { transform:scale(1.045); filter:saturate(.9) contrast(1.04) brightness(.88); }
.shan-trust__copy { position:relative; padding-inline-end:8px; }.shan-trust b { position:absolute; top:-4px; left:0; color:#8f7137; font:500 .64rem var(--font-display); }.shan-trust strong,.shan-trust span { display:block; }.shan-trust strong { margin:0 0 7px; color:#eee6d8; font:600 .84rem var(--font-display); }.shan-trust span { max-width:260px; color:#918a80; font-size:.69rem; line-height:1.8; }

.shan-menu { padding:clamp(86px,10vw,140px) 0; background:#0c0c0b; }
.shan-menu .shan-section-head { display:flex; max-width:780px; margin:0 auto 58px; flex-direction:column; align-items:center; gap:18px; text-align:center; }
.shan-menu .shan-section-head .shan-kicker { justify-content:center; margin-bottom:14px; }
.shan-menu .shan-section-head h2 { line-height:1.35; }
.shan-menu .shan-section-head h2 br { display:none; }
.shan-menu .shan-section-head h2 { white-space:nowrap; font-size:clamp(2rem,3.3vw,3.35rem); }
.shan-menu .shan-section-head > div:last-child { display:flex; flex-direction:column; align-items:center; }
.shan-menu .shan-section-head > div:last-child > p { max-width:580px; margin:0 auto 18px; }
.shan-featured-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:22px; }
.shan-dish { overflow:hidden; border:1px solid rgba(199,160,82,.14); background:#11110f; box-shadow:0 24px 65px rgba(0,0,0,.18); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }.shan-dish:hover { transform:translateY(-4px); border-color:rgba(199,160,82,.3); box-shadow:0 30px 75px rgba(0,0,0,.34); }
.shan-dish--hero { display:grid; grid-template-rows:1fr auto; min-height:630px; border-radius:0 34px 0 0; }.shan-dish-stack { display:grid; grid-template-rows:1fr 1fr; gap:22px; }.shan-dish--row { display:grid; grid-template-columns:45% 55%; min-height:304px; }.shan-dish-stack .shan-dish:first-child { border-radius:34px 0 0 0; }.shan-dish-stack .shan-dish:last-child { border-radius:0 0 34px 0; }
.shan-dish__art { position:relative; min-height:260px; overflow:hidden; background:#0a0a09; }
.shan-dish__art::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(5,5,5,.66)),linear-gradient(90deg,transparent 65%,rgba(5,5,5,.18)); pointer-events:none; }.shan-dish__art img { width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04) brightness(.82); transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .3s ease; }.shan-dish:hover .shan-dish__art img { transform:scale(1.035); filter:saturate(.94) contrast(1.04) brightness(.9); }.shan-dish--hero .shan-dish__art img { position:absolute; inset:0; }.shan-dish--row .shan-dish__art img { position:absolute; inset:0; }
.shan-dish__art > span { position:absolute; z-index:2; top:20px; right:20px; padding:7px 13px; border:1px solid rgba(229,200,127,.3); border-radius:99px; background:rgba(5,5,5,.72); color:#dfc27a; font-size:.62rem; backdrop-filter:blur(8px); }
.shan-dish__copy { padding:26px 28px; }.shan-dish__copy > p { margin:0 0 5px; color:#b28c43; font-size:.65rem; }.shan-dish__copy h3 { margin:0 0 6px; color:#f7efe1; font:600 1.1rem var(--font-display); }.shan-dish__copy > span { color:#938b7f; font-size:.76rem; }.shan-dish__copy footer { display:flex; align-items:center; justify-content:space-between; margin-top:22px; padding-top:18px; border-top:1px solid rgba(199,160,82,.12); }.shan-dish__copy footer strong { color:#e6c77e; font:600 1rem var(--font-display); }.shan-dish__copy footer small { color:#8c8376; font-size:.6rem; }
.shan-dish .add-button { border-color:#cdaa5d; background:#c7a052; color:#070707; box-shadow:0 8px 20px rgba(201,164,92,.18); transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease; }
.shan-dish .add-button:hover,.shan-dish .add-button:focus-visible { border-color:#efd184; background:#efd184; color:#070707; box-shadow:0 10px 24px rgba(201,164,92,.3); transform:none; }

.shan-story { padding:clamp(90px,11vw,150px) 0; overflow:hidden; background:radial-gradient(circle at 82% 40%,rgba(199,160,82,.08),transparent 30%),#070707; }
.shan-story__grid { display:grid; grid-template-columns:.94fr 1.06fr; align-items:center; gap:clamp(58px,8vw,112px); }
.shan-story__copy { max-width:680px; }
.shan-story__copy .shan-kicker { margin-bottom:16px; }
.shan-story__copy h2 { white-space:nowrap; font-size:clamp(2rem,3.15vw,3.35rem); line-height:1.35; }
.shan-story__copy h2 br { display:none; }
.shan-story__media { position:relative; height:690px; border-radius:230px 230px 0 0; overflow:hidden; border:1px solid rgba(199,160,82,.2); }.shan-story__media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 55%); }.shan-story__media img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:saturate(.8) contrast(1.02); }.shan-story__media > span { position:absolute; z-index:2; bottom:28px; left:28px; color:#dabe76; font:500 .7rem/1.7 Georgia,serif; letter-spacing:.18em; text-align:left; }
.shan-story__lead { max-width:650px; margin:22px 0 0; color:#a69e92; font-size:.9rem; line-height:2.15; }.shan-story__details { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:30px 0 26px; border:1px solid rgba(199,160,82,.1); background:rgba(199,160,82,.14); }.shan-story__details > div { min-height:102px; padding:20px 24px; background:#0b0b0a; }.shan-story__details b,.shan-story__details strong,.shan-story__details span { display:block; }.shan-story__details b { color:#9f7e3e; font-size:.62rem; }.shan-story__details strong { margin:5px 0; color:#eee5d7; font:600 .8rem var(--font-display); }.shan-story__details span { color:#847e74; font-size:.66rem; }

.shan-experience { padding:clamp(85px,10vw,135px) 0; border-block:1px solid rgba(199,160,82,.08); background:radial-gradient(circle at 50% 0,rgba(199,160,82,.05),transparent 30%),#0d0d0c; }.shan-section-head--center { display:block; max-width:760px; margin-inline:auto; text-align:center; }.shan-section-head--center .shan-kicker { justify-content:center; }.shan-section-head--center > p { margin:20px auto 0; }.shan-experience .shan-section-head--center { max-width:1040px; margin-bottom:54px; }.shan-experience .shan-section-head h2 { white-space:nowrap; font-size:clamp(2rem,3.35vw,3.5rem); }.shan-experience__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.shan-experience article { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(199,160,82,.14); background:#10100e; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }.shan-experience article:first-child { border-radius:0 30px 0 0; }.shan-experience article:last-child { border-radius:30px 0 0 0; }.shan-experience article:hover { transform:translateY(-5px); border-color:rgba(199,160,82,.32); box-shadow:0 28px 70px rgba(0,0,0,.3); }.shan-experience__media { position:relative; height:230px; overflow:hidden; }.shan-experience__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,5,5,.03),rgba(8,8,8,.78)); }.shan-experience__media img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.04) brightness(.72); transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s ease; }.shan-experience article:hover img { transform:scale(1.04); filter:saturate(.86) contrast(1.04) brightness(.82); }.shan-experience__content { position:relative; min-height:176px; padding:28px 30px 32px; }.shan-experience__content::before { content:""; position:absolute; top:0; right:30px; width:42px; height:1px; background:var(--shan-gold); }.shan-experience__content > span { position:absolute; top:29px; left:28px; color:#967438; font:500 .68rem var(--font-display); }.shan-experience h3 { margin:0 0 10px; color:#f5eddf; font:600 1.15rem var(--font-display); }.shan-experience p { max-width:280px; margin:0; color:#969084; font-size:.74rem; line-height:1.9; }

.shan-offer { padding:80px 0; background:#070707; }.shan-offer__card { position:relative; overflow:hidden; min-height:440px; display:flex; align-items:center; justify-content:space-between; padding:clamp(48px,7vw,90px); border:1px solid rgba(199,160,82,.24); border-radius:42px 0; background:radial-gradient(circle at 18% 50%,rgba(199,160,82,.14),transparent 31%),linear-gradient(120deg,#19150e,#080808 66%); }.shan-offer__card::after { content:""; position:absolute; left:12%; width:390px; height:390px; border:1px solid rgba(199,160,82,.1); border-radius:50%; box-shadow:0 0 0 70px rgba(199,160,82,.025); }.shan-offer__card > div,.shan-offer__card aside { position:relative; z-index:2; }.shan-offer__card > div { max-width:600px; }.shan-offer__card > div > p:not(.shan-kicker) { max-width:510px; color:#aaa194; line-height:2; }.shan-offer__card aside { min-width:200px; text-align:center; }.shan-offer__card small,.shan-offer__card strong,.shan-offer__card aside span { display:block; }.shan-offer__card strong { color:#e5c77d; font:600 4.7rem/1 var(--font-display); }.shan-offer__card aside span,.shan-offer__card small { color:#9c9488; }
.shan-quote { padding:clamp(90px,10vw,135px) 0; background:#0b0b0a; text-align:center; }.shan-quote__mark { display:block; height:60px; color:#9f7b38; font:6rem/1 Georgia,serif; }.shan-quote blockquote { max-width:880px; margin:20px auto 32px; color:#eee6d8; font:500 clamp(1.35rem,2.5vw,2.1rem)/1.85 var(--font-display); }.shan-quote .container > div { display:flex; align-items:center; justify-content:center; gap:15px; color:#8e867a; font-size:.68rem; }.shan-quote .container i { width:40px; height:1px; background:rgba(199,160,82,.35); }

.shan-visit { padding:clamp(90px,11vw,150px) 0; background:#070707; }.shan-visit__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px,8vw,110px); align-items:center; }.shan-visit__copy { max-width:680px; }.shan-visit__copy h2 { white-space:nowrap; font-size:clamp(2rem,3.2vw,3.4rem); }.shan-visit__copy h2 br { display:none; }.shan-visit__copy > p:not(.shan-kicker) { max-width:620px; margin-top:20px; color:#a59d91; font-size:.9rem; line-height:2; }.shan-visit dl { display:grid; gap:10px; margin:30px 0 32px; }.shan-visit dl > div { position:relative; display:grid; grid-template-columns:92px 1fr; align-items:center; gap:18px; min-height:68px; padding:13px 18px; overflow:hidden; border:1px solid rgba(199,160,82,.13); background:linear-gradient(110deg,rgba(199,160,82,.045),rgba(255,255,255,.018)); transition:border-color .2s ease,background .2s ease,transform .2s ease; }.shan-visit dl > div::before { content:""; position:absolute; top:0; right:0; bottom:0; width:2px; background:linear-gradient(var(--shan-gold),rgba(199,160,82,.08)); }.shan-visit dl > div:hover { transform:translateX(-3px); border-color:rgba(199,160,82,.28); background:linear-gradient(110deg,rgba(199,160,82,.07),rgba(255,255,255,.025)); }.shan-visit dl > div:first-child { border-radius:0 18px 0 0; }.shan-visit dl > div:last-child { border-radius:0 0 18px 0; }.shan-visit dt { color:#c69c4e; font-size:.66rem; font-weight:700; }.shan-visit dd { margin:0; color:#e4dccf; font-size:.77rem; line-height:1.75; }.shan-visit dl > div:last-child dd { direction:ltr; text-align:right; color:#ead18d; font-weight:600; letter-spacing:.03em; }.shan-visit__actions { display:flex; align-items:center; gap:22px; }.shan-visit__visual { position:relative; height:650px; overflow:hidden; border-radius:220px 0 0 0; border:1px solid rgba(199,160,82,.2); }.shan-visit__visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.76),transparent 55%); }.shan-visit__visual img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:saturate(.75); }.shan-visit__visual > div { position:absolute; z-index:2; right:30px; bottom:30px; }.shan-visit__visual span,.shan-visit__visual strong { display:block; }.shan-visit__visual span { color:#a88849; font:500 .65rem Georgia,serif; letter-spacing:.22em; }.shan-visit__visual strong { margin-top:5px; color:#f0e8db; font:500 .85rem var(--font-display); }

@media (max-width:1020px) {
  .shan-hero__content { width:58%; }.shan-featured-grid { grid-template-columns:1fr; }.shan-dish--hero { min-height:560px; }.shan-dish-stack { grid-template-columns:1fr 1fr; grid-template-rows:auto; }.shan-dish--row { grid-template-columns:1fr; }.shan-story__grid,.shan-visit__grid { gap:60px; }.shan-story__media,.shan-visit__visual { height:590px; }.shan-trust article { grid-template-columns:76px 1fr; gap:13px; }.shan-trust__image { width:76px; height:88px; }
}
@media (max-width:760px) {
  .shan-menu .shan-section-head h2 { white-space:normal; }
  .shan-experience .shan-section-head h2 { white-space:normal; }
  .shan-story__copy h2 { white-space:normal; }
  .shan-visit__copy h2 { white-space:normal; }
  .shan-section-head { grid-template-columns:1fr; gap:22px; }.shan-section-head h2,.shan-story h2,.shan-offer h2,.shan-visit h2 { font-size:2.15rem; }.shan-hero { min-height:690px; height:calc(100svh - 104px); max-height:780px; }.shan-hero__media { object-position:32% center; }.shan-hero__veil { background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(5,5,5,.92) 69%,#050505); }.shan-pattern { width:100%; opacity:.028; clip-path:polygon(14% 0,100% 0,100% 100%,0 100%); }.shan-hero__inner { align-items:flex-end; padding-bottom:120px; }.shan-hero__content { width:100%; padding:0; text-align:right; }.shan-hero h1 { font-size:clamp(2.35rem,11vw,3.15rem); }.shan-hero__lead { font-size:.88rem; }.shan-hero__foot .container { min-height:60px; gap:10px; }.shan-hero__foot span,.shan-hero__foot i { display:none; }.shan-hero__foot p { margin:0; }.shan-hero__foot a { margin-right:auto; }.shan-trust { padding:20px 0; }.shan-trust__grid { display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }.shan-trust__grid::-webkit-scrollbar { display:none; }.shan-trust article { min-width:82%; padding:12px; border:1px solid rgba(199,160,82,.13); border-radius:0 22px 0 0; scroll-snap-align:start; }.shan-featured-grid { display:block; }.shan-dish--hero { min-height:520px; }.shan-dish-stack { grid-template-columns:1fr; margin-top:18px; }.shan-dish--row { grid-template-columns:42% 58%; min-height:245px; }.shan-story__grid,.shan-visit__grid { grid-template-columns:1fr; }.shan-story__media { order:2; height:520px; border-radius:160px 160px 0 0; }.shan-story__copy { order:1; }.shan-experience__grid { grid-template-columns:1fr; }.shan-experience article { min-height:0; border-radius:0 24px 0 0; }.shan-experience__media { height:240px; }.shan-experience h3 { margin:0 0 10px; }.shan-offer__card { align-items:flex-start; flex-direction:column; gap:50px; border-radius:28px 0; }.shan-offer__card aside { text-align:right; }.shan-quote blockquote { font-size:1.28rem; }.shan-visit__visual { height:520px; border-radius:150px 0 0 0; }
}

/* Header mini-cart, cart catalogue and simplified delivery address. */
.header-cart { position:relative; }
.header-cart .cart-action { font-family:inherit; cursor:pointer; }
.header-cart-panel { position:absolute; z-index:80; top:calc(100% + 15px); left:0; width:min(360px,calc(100vw - 28px)); padding:18px; border:1px solid rgba(199,160,82,.28); border-radius:0 22px 0 22px; background:linear-gradient(145deg,#151410,#090909 72%); color:#e9e0d3; box-shadow:0 24px 70px rgba(0,0,0,.65); }
.header-cart-panel::before { content:""; position:absolute; top:-7px; left:34px; width:12px; height:12px; border-top:1px solid rgba(199,160,82,.28); border-left:1px solid rgba(199,160,82,.28); background:#12110e; transform:rotate(45deg); }
.header-cart-panel > header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-bottom:13px; border-bottom:1px solid rgba(199,160,82,.13); }
.header-cart-panel > header small,.header-cart-panel > header strong { display:block; }.header-cart-panel > header small { color:#a8843e; font-size:.48rem; }.header-cart-panel > header strong { margin-top:3px; color:#eee5d8; font-size:.7rem; }.header-cart-panel > header button,.cart-catalog__panel > header button { width:30px; height:30px; border:1px solid rgba(199,160,82,.2); border-radius:50%; background:transparent; color:#a79b8b; font-size:1rem; }
.header-cart-panel__items { max-height:166px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#9f7b38 #151410; }
.header-cart-item { display:grid; grid-template-columns:58px 1fr 28px; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid rgba(199,160,82,.1); }.header-cart-item img { width:58px; height:58px; object-fit:cover; border-radius:0 11px 0 0; }.header-cart-item strong,.header-cart-item span { display:block; }.header-cart-item strong { color:#e1d8ca; font-size:.58rem; }.header-cart-item span { margin-top:5px; color:#cba653; font-size:.5rem; }.header-cart-item button { width:28px; height:28px; border:1px solid rgba(190,117,83,.22); border-radius:50%; background:transparent; color:#b78671; font-size:.9rem; }.header-cart-item button:hover { border-color:#bd785b; background:rgba(189,120,91,.1); color:#e4a487; }
.header-cart-panel__empty { padding:24px 10px; text-align:center; }.header-cart-panel__empty span { color:#cda754; font-size:1.3rem; }.header-cart-panel__empty p { margin:7px 0 0; color:#81786e; font-size:.56rem; }.header-cart-panel > footer { padding-top:14px; }.header-cart-panel > footer > div { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; color:#887f73; font-size:.54rem; }.header-cart-panel > footer > div strong { color:#e4c572; font-size:.72rem; }.header-cart-panel > footer .button { min-height:43px; }.header-cart-panel > footer > a:last-child { display:block; margin-top:10px; color:#9d8c70; font-size:.5rem; text-align:center; }.header-cart-panel .is-disabled { pointer-events:none; opacity:.45; }
.cart-catalog { margin-top:24px; padding-top:24px; border-top:1px solid rgba(199,160,82,.12); }.cart-catalog__trigger { width:100%; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 18px; border:1px dashed rgba(199,160,82,.3); border-radius:16px; background:linear-gradient(90deg,rgba(199,160,82,.07),transparent); color:#d9cdbd; text-align:right; }.cart-catalog__trigger > span { display:flex; align-items:center; gap:13px; }.cart-catalog__trigger i { width:40px; height:40px; display:grid; place-items:center; flex:none; border-radius:50%; background:#cba451; color:#090909; font:normal 1.1rem Arial,sans-serif; }.cart-catalog__trigger strong,.cart-catalog__trigger small { display:block; }.cart-catalog__trigger strong { color:#e9dfd0; font-size:.68rem; }.cart-catalog__trigger small { margin-top:5px; color:#847b70; font-size:.52rem; }.cart-catalog__trigger > b { color:#d8b45f; font-size:.58rem; }.cart-catalog__trigger:hover { border-style:solid; border-color:#b89043; background:rgba(199,160,82,.09); }
.cart-catalog__panel { margin-top:14px; padding:22px; border:1px solid rgba(199,160,82,.2); border-radius:0 22px 0 22px; background:#0b0b0a; }.cart-catalog__panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.cart-catalog__panel h3 { margin:4px 0 0; color:#eee5d8; font:600 .9rem var(--font-display); }.cart-catalog__tabs { display:flex; gap:7px; margin:19px 0 16px; overflow-x:auto; }.cart-catalog__tabs button { min-height:38px; min-width:max-content; padding:0 15px; border:1px solid rgba(199,160,82,.18); border-radius:99px; background:transparent; color:#8f867a; font:600 .54rem var(--font-body); }.cart-catalog__tabs button.is-active { border-color:#cba451; background:#cba451; color:#080808; }
.cart-catalog__products { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.catalog-product { display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:11px; padding:10px; border:1px solid rgba(199,160,82,.12); border-radius:0 14px 0 14px; background:#10100f; }.catalog-product img { width:70px; height:62px; object-fit:cover; border-radius:0 9px 0 0; }.catalog-product strong,.catalog-product span { display:block; }.catalog-product strong { color:#ddd3c5; font-size:.56rem; }.catalog-product span { margin-top:5px; color:#c9a350; font-size:.52rem; }.catalog-product button { min-width:72px; min-height:36px; display:flex; align-items:center; justify-content:center; gap:6px; border:1px solid rgba(199,160,82,.3); border-radius:99px; background:transparent; color:#d4ae59; font:600 .5rem var(--font-body); }.catalog-product button i { font:normal .8rem Arial,sans-serif; }.catalog-product button:hover,.catalog-product button.is-added { border-color:#d4ae59; background:#d4ae59; color:#080808; }
.cart-remove { display:inline-flex!important; align-items:center; justify-content:center; gap:6px; }.cart-remove > span { font:normal .8rem Arial,sans-serif; }
.checkout-fields textarea { width:100%; min-height:92px; resize:vertical; padding:14px; border:1px solid rgba(199,160,82,.18); border-radius:12px; outline:0; background:#0a0a09; color:#e9e0d3; font:500 .68rem/1.9 var(--font-body); }.checkout-fields textarea:focus { border-color:#d5ad59; }
@media (max-width:1000px) { .header-cart-panel { left:auto; right:0; }.header-cart-panel::before { right:34px; left:auto; } }
@media (max-width:760px) { .header-cart-panel { position:fixed; top:112px; right:14px; left:14px; width:auto; }.header-cart-panel::before { display:none; }.cart-catalog__products { grid-template-columns:1fr; }.cart-catalog__trigger { align-items:flex-start; flex-direction:column; }.catalog-product { grid-template-columns:62px 1fr auto; }.catalog-product img { width:62px; height:58px; }.checkout-fields textarea { font-size:16px; } }
.order-success { min-height:70vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:80px 20px;text-align:center;background:radial-gradient(circle at 50% 38%,rgba(199,160,82,.09),transparent 28%);}.order-success__mark{width:74px;height:74px;display:grid;place-items:center;margin-bottom:22px;border:1px solid rgba(223,187,105,.5);border-radius:50%;background:rgba(199,160,82,.08);color:#e0bd6d;font-size:1.6rem}.order-success h1{margin:12px 0;color:#f4ecdf;font:600 clamp(2rem,4vw,3.5rem)/1.5 var(--font-display)}.order-success h1 em{color:var(--shan-gold-soft);font-style:normal}.order-success>p:not(.shan-kicker){max-width:620px;margin:0;color:#91887c;font-size:.68rem;line-height:2}.order-success>p strong{color:#dfbd6c}.order-success>div:last-child{display:flex;gap:10px;margin-top:26px}
@media (max-width:430px) {
  .shan-hero__actions { flex-direction:column; }.shan-hero__actions .button { width:100%; }.shan-dish--row { grid-template-columns:38% 62%; }.shan-dish__copy { padding:18px 16px; }.shan-dish__copy h3 { font-size:.9rem; }.shan-dish__copy > span { font-size:.67rem; }.shan-story__details { grid-template-columns:1fr; }.shan-offer__card { padding:42px 26px; }.shan-visit dl > div { grid-template-columns:1fr; gap:4px; }.shan-visit__actions { align-items:flex-start; flex-direction:column; }
}

/* Center the complete experience introduction as one visual group. */
.shan-experience .shan-section-head--center { display:flex; max-width:1040px; margin:0 auto 54px; flex-direction:column; align-items:center; gap:0; text-align:center; }
.shan-experience .shan-section-head--center > div { width:100%; display:flex; flex-direction:column; align-items:center; }
.shan-experience .shan-section-head--center .shan-kicker { width:max-content; margin:0 auto 16px; justify-content:center; text-align:center; }
.shan-experience .shan-section-head--center > p { max-width:620px; margin:18px auto 0; text-align:center; }
.shan-experience .shan-section-head h2 { width:100%; margin-inline:auto; text-align:center; }

/* Compact single-line account-page statements on desktop. */
.auth-promo h1 { white-space:nowrap; font-size:clamp(1.55rem,2.15vw,2.15rem); line-height:1.45; letter-spacing:-.025em; }
.auth-promo h1 br { display:none; }
@media (max-width:760px) {
  .auth-promo h1 { white-space:normal; font-size:clamp(1.65rem,7vw,2rem); }
}

/* Account experience v3 — layered Shanasheel image and soft 3D cards. */
.auth-page { position:relative; isolation:isolate; min-height:calc(100vh - 118px); padding:clamp(48px,6vw,82px) 20px; background:#080807 url('/assets/images/hero-shanasheel-v3.webp') center/cover fixed no-repeat; }
.auth-page::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(5,5,5,.74) 48%,rgba(5,5,5,.88)),linear-gradient(180deg,rgba(5,5,5,.72),rgba(5,5,5,.9)); backdrop-filter:blur(3px); }
.auth-page::after { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 50% 35%,rgba(199,160,82,.09),transparent 36%); pointer-events:none; }
.auth-shell { position:relative; width:min(1120px,100%); min-height:650px; gap:14px; padding:15px; overflow:visible; border:1px solid rgba(231,202,136,.3); border-radius:38px; background:rgba(11,11,10,.84); box-shadow:0 55px 130px rgba(0,0,0,.68),inset 0 1px rgba(255,255,255,.035),0 0 0 7px rgba(199,160,82,.025); backdrop-filter:blur(16px); perspective:1200px; }
.auth-shell::before { content:""; position:absolute; z-index:2; top:-1px; right:9%; left:9%; height:1px; background:linear-gradient(90deg,transparent,#e5c77d,transparent); opacity:.7; pointer-events:none; }
.auth-promo,.auth-form-wrap { position:relative; overflow:hidden; border:1px solid rgba(199,160,82,.16); border-radius:28px; box-shadow:inset 0 1px rgba(255,255,255,.025),0 24px 48px rgba(0,0,0,.2); }
.auth-promo { padding:clamp(46px,5vw,70px); background:linear-gradient(145deg,rgba(199,160,82,.095),transparent 48%),rgba(5,5,5,.86); }
.auth-promo::before { inset:18px; border-radius:20px; }
.auth-promo::after { left:-155px; bottom:-155px; width:360px; height:360px; box-shadow:0 0 0 64px rgba(255,255,255,.018); }
.auth-promo h1 { max-width:100%; margin-top:3px; white-space:nowrap; font-size:clamp(1.22rem,1.72vw,1.72rem); line-height:1.5; letter-spacing:-.025em; }
.auth-promo h1 br { display:none; }
.auth-promo > p:not(.eyebrow) { max-width:440px; margin-top:18px; color:#bcb3a5; font-size:.82rem; line-height:2; }
.auth-promo ul { margin-top:28px; }
.auth-form-wrap { padding:clamp(38px,5vw,66px); background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 46%),rgba(14,14,12,.94); }
.auth-form-wrap::after { content:""; position:absolute; right:-85px; bottom:-95px; width:210px; height:210px; border:1px solid rgba(199,160,82,.08); border-radius:50%; box-shadow:0 0 0 42px rgba(199,160,82,.018); pointer-events:none; }
.form-heading { z-index:1; margin-bottom:26px; }
.auth-heading-row { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:12px; }
.form-heading__mark { position:relative; width:58px; height:42px; flex:none; opacity:.9; }
.form-heading__mark::before { content:""; position:absolute; right:8px; bottom:7px; width:40px; height:13px; border:1.5px solid var(--shan-gold); border-top:0; border-radius:0 0 22px 22px; }
.form-heading__mark::after { content:""; position:absolute; right:10px; bottom:21px; width:36px; height:17px; border:1.5px solid var(--shan-gold); border-bottom:0; border-radius:22px 22px 0 0; }
.form-heading__mark i { position:absolute; right:27px; top:0; width:6px; height:6px; border:1.5px solid var(--shan-gold-soft); border-radius:50%; box-shadow:0 37px 0 -2px var(--shan-gold-soft); }
.auth-switch-button { min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0 17px; border:1px solid rgba(231,202,136,.48); border-radius:99px; background:linear-gradient(135deg,#e4c572,#b98c3c); color:#080808!important; font-size:.7rem; font-weight:800; box-shadow:0 10px 24px rgba(0,0,0,.25); transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
.auth-switch-button:hover { background:#efd58d; transform:translateY(-1px); box-shadow:0 13px 28px rgba(0,0,0,.32); }
.form-heading h2 { font-size:clamp(1.7rem,2.7vw,2.2rem); }
.form-stack { position:relative; z-index:1; gap:16px; }
.field input,.field textarea { border-radius:14px; background:rgba(3,3,3,.62); box-shadow:inset 0 1px 2px rgba(0,0,0,.65),inset 0 1px rgba(255,255,255,.025); }
.phone-input-shell { position:relative; }
.phone-input-shell input { padding-left:66px; }
.phone-country-hint { position:absolute; top:50%; left:12px; width:40px; height:40px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(199,160,82,.42); border-radius:50%; background:linear-gradient(145deg,#171713,#080808); box-shadow:0 7px 18px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.06); transform:translateY(-50%); pointer-events:none; }
.phone-country-hint span { display:block; font-size:1.25rem; line-height:1; filter:saturate(.95) contrast(1.03); }
.auth-options-row { min-height:30px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.auth-options-row .check-field { align-items:center; }
.auth-options-row .check-field input { margin-top:0; }
.auth-inline-switch { color:#dfc477; font-size:.7rem; font-weight:800; border-bottom:1px solid rgba(223,196,119,.35); }
.auth-inline-switch:hover { color:#f3d98f; border-color:#f3d98f; }
.auth-form-wrap .button--full { border-radius:99px; box-shadow:0 14px 32px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.24); }
.secure-note { border-radius:14px; }
@media (max-width:760px) {
  .auth-page { padding:24px 14px; background-attachment:scroll; }
  .auth-shell { grid-template-columns:1fr; gap:12px; padding:11px; border-radius:28px; }
  .auth-promo,.auth-form-wrap { border-radius:21px; }
  .auth-promo { min-height:290px; }
  .auth-promo h1 { white-space:normal; font-size:clamp(1.35rem,6vw,1.75rem); }
}
@media (max-width:430px) {
  .auth-form-wrap { padding:32px 20px; }
  .auth-heading-row { align-items:flex-start; }
  .form-heading__mark { width:48px; transform:scale(.86); transform-origin:right top; }
  .auth-switch-button { padding-inline:13px; font-size:.64rem; }
  .auth-options-row { align-items:flex-start; }
}

/* Account performance pass: static layers only, no costly viewport blur/fixed repaint. */
.auth-page { overflow:hidden; background:#080807; }
.auth-page::before { background-image:linear-gradient(90deg,rgba(5,5,5,.78),rgba(5,5,5,.62) 48%,rgba(5,5,5,.76)),linear-gradient(180deg,rgba(5,5,5,.54),rgba(5,5,5,.76)),url('/assets/images/hero-shanasheel-v3.webp'); background-position:center; background-size:cover; background-repeat:no-repeat; backdrop-filter:none; }
.auth-page::after { background:radial-gradient(circle at 50% 32%,rgba(199,160,82,.075),transparent 34%); }
.auth-shell { box-shadow:0 28px 72px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.035); backdrop-filter:none; perspective:none; }
.auth-promo,.auth-form-wrap { box-shadow:inset 0 1px rgba(255,255,255,.025),0 12px 28px rgba(0,0,0,.2); }
.auth-promo::after { box-shadow:none; }
.auth-form-wrap::after { box-shadow:none; }
.auth-switch-button { background:#d5ad57; color:#070707!important; box-shadow:0 7px 16px rgba(0,0,0,.22); transition:background-color .14s ease,transform .14s ease; }
.auth-switch-button:hover,.auth-switch-button:focus-visible { background:#efd184; color:#070707!important; box-shadow:0 8px 18px rgba(0,0,0,.25); }
.auth-form-wrap .button--full { position:relative; isolation:isolate; overflow:hidden; border-color:#e1c16d; background:#d5ad57!important; color:#070707!important; box-shadow:0 10px 22px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.22); transition:background-color .14s ease,transform .14s ease,box-shadow .14s ease; }
.auth-form-wrap .button--full::before { display:none!important; }
.auth-form-wrap .button--full:hover,.auth-form-wrap .button--full:focus-visible { border-color:#f0d78f; background:#efd184!important; color:#070707!important; box-shadow:0 12px 25px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.28); }
.auth-form-wrap .button--full span,.auth-form-wrap .button--full b { position:relative; z-index:1; color:#070707!important; }
.auth-alert { margin:-6px 0 20px; padding:12px 15px; border-radius:12px; font-size:.66rem; line-height:1.8; }.auth-alert strong { display:block; margin-bottom:4px; }.auth-alert ul { margin:0; padding-right:18px; }.auth-alert--error { border:1px solid rgba(194,105,76,.35); background:rgba(128,54,35,.12); color:#e3b39e; }

/* Final account imagery, user mark and restaurant logo. */
.auth-page::before { background-image:linear-gradient(90deg,rgba(5,5,5,.8),rgba(5,5,5,.66) 48%,rgba(5,5,5,.79)),linear-gradient(180deg,rgba(5,5,5,.48),rgba(5,5,5,.73)),url('/assets/images/auth-dining-background-v1.webp'); }
.auth-page--login .auth-promo h1 { font-size:clamp(1.1rem,1.55vw,1.55rem); }
.form-heading__mark { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(231,202,136,.34); border-radius:50%; background:linear-gradient(145deg,rgba(199,160,82,.14),rgba(5,5,5,.72)); color:#e6c36f; font:normal 1.45rem/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif; box-shadow:inset 0 1px rgba(255,255,255,.06),0 8px 18px rgba(0,0,0,.22); }
.form-heading__mark::before,.form-heading__mark::after,.form-heading__mark i { display:none; }
.brand__mark { overflow:hidden; padding:3px; background:#050505; }
.brand__mark img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }

/* Monochrome account icon using the exact Shanasheel gold. */
.form-heading__mark { color:var(--shan-gold); }
.form-heading__user-icon { position:relative; display:block; width:22px; height:24px; }
.form-heading__user-icon::before { content:""; position:absolute; top:0; left:50%; width:9px; height:9px; border:1.8px solid var(--shan-gold); border-radius:50%; background:rgba(199,160,82,.08); transform:translateX(-50%); }
.form-heading__user-icon::after { content:""; position:absolute; right:1px; bottom:0; left:1px; height:11px; border:1.8px solid var(--shan-gold); border-bottom-color:var(--shan-gold); border-radius:11px 11px 5px 5px; background:rgba(199,160,82,.1); }

/* Shanasheel editorial footer v3. */
.shan-footer { padding:0; border-top:1px solid rgba(199,160,82,.28); background:radial-gradient(circle at 50% 0,rgba(199,160,82,.045),transparent 32%),#08090a; color:#b9b2a8; }
.shan-footer__main { display:grid; grid-template-columns:1.4fr .95fr .95fr 1.05fr; gap:0; padding-block:72px 68px; }
.shan-footer__main > * { min-width:0; padding:0 clamp(28px,3.5vw,58px); }
.shan-footer__main > *:not(:first-child) { border-right:1px solid rgba(231,202,136,.18); }
.shan-footer__brand { padding-right:0; }
.shan-footer .brand--footer { display:inline-flex; margin:0 0 30px; }
.shan-footer .brand--footer .brand__mark { width:72px; height:72px; border-color:rgba(231,202,136,.52); box-shadow:0 0 0 6px rgba(199,160,82,.035); }
.shan-footer .brand--footer strong { color:#f5eee2; font-size:1.15rem; }
.shan-footer .brand--footer small { color:#9e9588; letter-spacing:.22em; }
.shan-footer__brand > p { max-width:390px; margin:0; color:#aaa397; font-size:.78rem; line-height:2.1; }
.shan-footer__social { display:flex; gap:13px; margin-top:32px; }
.shan-footer__social a { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(199,160,82,.42); border-radius:50%; color:#d2aa55; font:700 1.15rem/1 Arial,sans-serif; transition:background-color .16s ease,color .16s ease,transform .16s ease; }
.shan-footer__social a:hover { background:#d4ad58; color:#070707; transform:translateY(-2px); }
.shan-footer h2 { position:relative; margin:0 0 31px; padding-bottom:16px; color:#eee7dc; font:600 1rem var(--font-display); }
.shan-footer h2::after { content:""; position:absolute; right:0; bottom:0; width:34px; height:2px; background:var(--shan-gold); }
.shan-footer__column { display:flex; flex-direction:column; gap:17px; }
.shan-footer__column a { display:flex; align-items:center; gap:14px; margin:0!important; color:#bdb6ad; font-size:.8rem!important; transition:color .16s ease,transform .16s ease; }
.shan-footer__column a:hover { color:#f1d484; transform:translateX(-3px); }
.shan-footer__column i { width:25px; height:25px; display:grid; place-items:center; flex:none; color:#d1a650; font:normal 1rem/1 Georgia,serif; }
.shan-footer__contact { padding-left:0; }
.shan-footer__phone { display:block; margin-bottom:13px; color:#d8d1c7; font-size:1rem; letter-spacing:.04em; text-align:right; }
.shan-footer__contact > p { margin:0; color:#a9a297; font-size:.76rem; line-height:2; }
.shan-footer__branches { min-height:54px; display:flex; align-items:center; justify-content:center; gap:14px; margin-top:34px; border:1px solid rgba(199,160,82,.46); border-radius:4px; color:#d2aa55; font-size:.78rem; font-weight:800; transition:background-color .16s ease,color .16s ease; }
.shan-footer__branches:hover { background:#d3aa54; color:#070707; }
.shan-footer__branches b { font-size:1rem; }
.shan-footer__bar { border-top:1px solid rgba(199,160,82,.25); }
.shan-footer__bar .container { min-height:104px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:30px; }
.shan-footer__bar p { margin:0; color:#a9a297; font-size:.72rem; }
.shan-footer__payments { display:flex; align-items:center; justify-content:center; gap:25px; color:#b89755; direction:ltr; }
.shan-footer__payments span { font:700 .75rem/1 Arial,sans-serif; opacity:.82; }
.shan-footer__payments span:first-child { font-size:1rem; font-style:italic; }
.shan-footer__payments .pay-mark { height:32px; min-width:62px; display:inline-flex; align-items:center; justify-content:center; gap:5px; color:#b8954e; opacity:.92; font-family:Arial,sans-serif; font-style:normal; }
.pay-mark--visa { font-size:1.2rem!important; font-weight:900!important; font-style:italic!important; letter-spacing:-.09em; }
.pay-mark--mastercard { position:relative; flex-direction:column; gap:1px!important; }
.pay-mark--mastercard i { position:relative; width:31px; height:17px; display:block; }
.pay-mark--mastercard i::before,.pay-mark--mastercard i::after { content:""; position:absolute; top:0; width:17px; height:17px; border-radius:50%; background:#b8954e; }
.pay-mark--mastercard i::before { left:2px; opacity:.96; }.pay-mark--mastercard i::after { right:2px; opacity:.62; }
.pay-mark--mastercard b { font:600 .43rem/1 Arial,sans-serif; letter-spacing:-.03em; }
.pay-mark--mada { gap:6px!important; }
.pay-mark--mada i { width:24px; height:18px; display:block; background:linear-gradient(90deg,#b8954e 0 43%,transparent 43% 53%,#b8954e 53% 100%); box-shadow:inset 0 5px #08090a,inset 0 -5px #08090a; }
.pay-mark--mada b { display:flex; flex-direction:column; color:#b8954e; font:800 .6rem/.7 Arial,sans-serif; }.pay-mark--mada small { font:700 .55rem/.8 var(--font-display); }
.pay-mark--apple { gap:7px!important; }
.pay-mark--apple i { position:relative; width:17px; height:18px; display:block; border-radius:45% 45% 50% 50% / 52% 52% 46% 46%; background:#b8954e; }
.pay-mark--apple i::before { content:""; position:absolute; top:-5px; right:1px; width:7px; height:4px; border-radius:7px 0 7px 0; background:#b8954e; transform:rotate(-28deg); }
.pay-mark--apple i::after { content:""; position:absolute; top:5px; right:-3px; width:6px; height:7px; border-radius:50%; background:#08090a; }
.pay-mark--apple b { color:#b8954e; font:600 1rem/1 Arial,sans-serif; }
.shan-footer .environment-badge { justify-self:end; display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1px solid rgba(199,160,82,.42); border-radius:99px; color:#c9a557; }
.shan-footer .environment-badge span { font-size:.55rem; }
@media (max-width:1020px) {
  .shan-footer__main { grid-template-columns:1.25fr 1fr 1fr; row-gap:48px; }
  .shan-footer__contact { grid-column:1/-1; padding:34px 0 0; border-top:1px solid rgba(231,202,136,.14); border-right:0!important; }
  .shan-footer__contact .shan-footer__branches { max-width:340px; }
}
@media (max-width:760px) {
  .shan-footer__main { grid-template-columns:1fr 1fr; padding-block:54px 45px; }
  .shan-footer__brand { grid-column:1/-1; padding:0 0 42px; }
  .shan-footer__main > * { padding-inline:20px; }
  .shan-footer__main > *:not(:first-child) { border-right:0; }
  .shan-footer__column:nth-of-type(2) { border-left:1px solid rgba(231,202,136,.14); }
  .shan-footer__contact { padding:34px 0 0; }
  .shan-footer__bar .container { min-height:150px; grid-template-columns:1fr; justify-items:center; gap:18px; padding-block:25px; text-align:center; }
  .shan-footer .environment-badge { justify-self:center; }
}
@media (max-width:430px) {
  .shan-footer__main { grid-template-columns:1fr; }
  .shan-footer__column { padding:28px 0; border-top:1px solid rgba(231,202,136,.12); }
  .shan-footer__column:nth-of-type(2) { border-left:0; }
  .shan-footer__payments { gap:15px; flex-wrap:wrap; }
}

/* Signature table offer — photographic, premium and performance-safe. */
.shan-offer { padding:clamp(80px,9vw,120px) 0; background:linear-gradient(180deg,#070707,#0a0a09); }
.shan-offer__card { min-height:500px; padding:clamp(48px,6vw,82px); border:1px solid rgba(231,202,136,.32); border-radius:46px 0 46px 0; background-image:linear-gradient(90deg,rgba(5,5,5,.58),rgba(5,5,5,.78) 48%,rgba(5,5,5,.96) 80%),linear-gradient(0deg,rgba(5,5,5,.36),rgba(5,5,5,.16)),url('/assets/images/auth-dining-background-v1.webp'); background-position:center; background-size:cover; box-shadow:0 34px 85px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.04); }
.shan-offer__card::before { content:""; position:absolute; z-index:1; top:26px; right:26px; bottom:26px; left:26px; border:1px solid rgba(231,202,136,.11); border-radius:32px 0 32px 0; pointer-events:none; }
.shan-offer__card::after { content:""; position:absolute; z-index:1; top:0; left:13%; width:210px; height:1px; border:0; border-radius:0; background:linear-gradient(90deg,transparent,var(--shan-gold-soft),transparent); box-shadow:none; }
.shan-offer__content { position:relative; z-index:2; max-width:760px; }
.shan-offer__content .shan-kicker { margin-bottom:17px; }
.shan-offer__content h2 { white-space:nowrap; font-size:clamp(2rem,3.35vw,3.55rem); line-height:1.35; text-shadow:0 12px 34px rgba(0,0,0,.5); }
.shan-offer__content > p:not(.shan-kicker) { max-width:640px; margin:18px 0 0; color:#c0b7aa; font-size:.9rem; line-height:2; }
.shan-offer__includes { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 27px; padding:0; list-style:none; }
.shan-offer__includes li { position:relative; padding:8px 25px 8px 13px; border:1px solid rgba(231,202,136,.2); border-radius:99px; background:rgba(8,8,8,.58); color:#d5ccbd; font-size:.65rem; }
.shan-offer__includes li::before { content:""; position:absolute; right:11px; top:50%; width:5px; height:5px; border-radius:50%; background:var(--shan-gold); transform:translateY(-50%); box-shadow:0 0 0 3px rgba(199,160,82,.1); }
.shan-offer__content .button { min-width:165px; }
.shan-offer__card aside { position:relative; z-index:2; min-width:230px; min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:28px; border:1px solid rgba(231,202,136,.35); border-radius:50%; background:rgba(7,7,7,.78); box-shadow:0 0 0 12px rgba(199,160,82,.035),0 22px 55px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.05); text-align:center; }
.shan-offer__card aside::before { content:""; position:absolute; inset:11px; border:1px solid rgba(231,202,136,.13); border-radius:50%; }
.shan-offer__card aside small,.shan-offer__card aside strong,.shan-offer__card aside span,.shan-offer__card aside i { position:relative; z-index:1; }
.shan-offer__card aside small { color:#a99e8d; font-size:.65rem; }
.shan-offer__card aside strong { margin:8px 0 4px; color:#efd184; font-size:4rem; line-height:1; text-shadow:0 9px 30px rgba(0,0,0,.5); }
.shan-offer__card aside span { color:#c8bda9; font-size:.72rem; }
.shan-offer__card aside i { margin-top:12px; color:#8f8679; font-size:.56rem; font-style:normal; }
@media (max-width:900px) {
  .shan-offer__card { min-height:600px; align-items:flex-start; flex-direction:column; gap:38px; }
  .shan-offer__card aside { min-width:190px; min-height:190px; align-self:flex-end; }
  .shan-offer__card aside strong { font-size:3.35rem; }
}
@media (max-width:760px) {
  .shan-offer__card { min-height:620px; padding:46px 26px; border-radius:30px 0; background-image:linear-gradient(180deg,rgba(5,5,5,.9),rgba(5,5,5,.68)),url('/assets/images/auth-dining-background-v1.webp'); }
  .shan-offer__card::before { inset:14px; border-radius:22px 0; }
  .shan-offer__content h2 { white-space:normal; font-size:2rem; }
  .shan-offer__card aside { align-self:flex-start; }
}

/* Menu catalog v1 — fast editorial cards, search, categories and filters. */
.menu-page { background:#090909; color:var(--shan-cream); }
.menu-hero { position:relative; min-height:460px; display:flex; align-items:center; overflow:hidden; border-bottom:0; background-color:#060606; background-image:linear-gradient(270deg,rgba(5,5,5,.88) 0%,rgba(5,5,5,.75) 37%,rgba(5,5,5,.42) 66%,rgba(5,5,5,.2) 100%),linear-gradient(0deg,rgba(5,5,5,.62),transparent 60%),url('/assets/images/dish-mixed-grill-v1.webp'); background-position:center,center,center 48%; background-size:cover,cover,cover; background-repeat:no-repeat; }
.menu-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.24),transparent 38%,transparent 68%,rgba(5,5,5,.2)); pointer-events:none; }
.menu-hero::after { content:""; position:absolute; top:0; right:0; bottom:0; width:52%; opacity:.045; background-image:linear-gradient(30deg,var(--shan-gold) 12%,transparent 12.5%,transparent 87%,var(--shan-gold) 87.5%),linear-gradient(150deg,var(--shan-gold) 12%,transparent 12.5%,transparent 87%,var(--shan-gold) 87.5%); background-size:58px 98px; -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%); mask-image:linear-gradient(90deg,transparent,#000 45%); pointer-events:none; }
.menu-hero__inner { position:relative; z-index:1; width:min(calc(100% - 40px),var(--container)); display:flex; flex-direction:column; align-items:center; margin-inline:auto; padding-block:78px; text-align:center; }
.menu-hero .shan-kicker { justify-content:center; margin-bottom:16px; }
.menu-hero h1 { max-width:700px; margin:0; color:#fff9ed; font:600 clamp(2.35rem,3.5vw,3.55rem)/1.4 var(--font-display); letter-spacing:-.04em; white-space:nowrap; text-shadow:0 14px 38px rgba(0,0,0,.42); }
.menu-hero h1 em,.menu-catalog__head h2 em { color:var(--shan-gold-soft); font-style:normal; font-weight:500; }
.menu-hero__inner > p:not(.shan-kicker) { max-width:590px; margin:18px auto 0; color:#bcb3a5; font-size:.84rem; line-height:2; }
.menu-hero__facts { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:28px; color:#d5cbbb; font-size:.7rem; }
.menu-hero__facts i { width:4px; height:4px; border-radius:50%; background:var(--shan-gold); }
.menu-catalog { padding:clamp(76px,8vw,120px) 0 130px; background:linear-gradient(180deg,#0c0c0b,#080808); }
.menu-catalog__head { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:70px; margin-bottom:42px; }
.menu-catalog__head .shan-kicker { margin-bottom:15px; }
.menu-catalog__head h2 { margin:0; color:#f6efe3; font:600 clamp(2rem,3.3vw,3.25rem)/1.45 var(--font-display); letter-spacing:-.035em; white-space:nowrap; }
.menu-catalog__head > p { max-width:470px; margin:0; color:#9e968a; font-size:.8rem; line-height:2; }
.menu-toolbar { position:relative; z-index:3; display:grid; grid-template-columns:minmax(260px,.82fr) 1.5fr auto; align-items:center; gap:20px; margin-bottom:22px; padding:14px; border:1px solid rgba(199,160,82,.2); border-radius:22px 0; background:#10100f; box-shadow:0 18px 48px rgba(0,0,0,.22); }
.menu-search { min-height:52px; display:flex; align-items:center; gap:12px; padding-inline:17px 10px; border:1px solid rgba(199,160,82,.18); border-radius:13px; background:#090909; transition:border-color .16s ease; }
.menu-search:focus-within { border-color:rgba(231,202,136,.62); }
.menu-search__icon { position:relative; width:16px; height:16px; flex:none; border:1.5px solid var(--shan-gold); border-radius:50%; }
.menu-search__icon::after { content:""; position:absolute; width:6px; height:1.5px; left:-4px; bottom:-2px; border-radius:2px; background:var(--shan-gold); transform:rotate(45deg); }
.menu-search input { min-width:0; flex:1; border:0; outline:0; background:transparent; color:#eee6d8; font:500 .75rem var(--font-body); }
.menu-search input::placeholder { color:#716b62; }
.menu-search button { width:28px; height:28px; border:0; border-radius:50%; background:transparent; color:#8f877b; font-size:1.15rem; cursor:pointer; transition:background-color .15s ease,color .15s ease; }
.menu-search button:hover { background:rgba(199,160,82,.12); color:#edcf83; }
.menu-categories { display:flex; align-items:center; justify-content:center; gap:4px; }
.menu-categories button { min-height:42px; padding:0 15px; border:1px solid transparent; border-radius:99px; background:transparent; color:#a9a196; font:600 .68rem var(--font-body); white-space:nowrap; cursor:pointer; transition:background-color .15s ease,color .15s ease,border-color .15s ease; }
.menu-categories button:hover { color:#ead08c; }
.menu-categories button.is-active { border-color:#d0a953; background:#d0a953; color:#080808; }
.menu-toolbar__options { display:flex; align-items:center; gap:14px; }
.menu-check { display:flex; align-items:center; gap:8px; color:#b7afa3; font-size:.67rem; white-space:nowrap; cursor:pointer; }
.menu-check input { position:absolute; opacity:0; pointer-events:none; }
.menu-check > span { position:relative; width:32px; height:18px; border:1px solid rgba(199,160,82,.38); border-radius:99px; background:#080808; transition:background-color .15s ease,border-color .15s ease; }
.menu-check > span::after { content:""; position:absolute; top:3px; right:3px; width:10px; height:10px; border-radius:50%; background:#7c746a; transition:transform .18s ease,background-color .18s ease; }
.menu-check input:checked + span { border-color:var(--shan-gold); background:rgba(199,160,82,.16); }
.menu-check input:checked + span::after { background:var(--shan-gold-soft); transform:translateX(-14px); }
.menu-sort { position:relative; display:block; }
.menu-sort > span { position:absolute; z-index:1; top:7px; right:13px; color:#766e63; font-size:.51rem; pointer-events:none; }
.menu-sort select { min-width:142px; height:52px; padding:17px 13px 4px 32px; border:1px solid rgba(199,160,82,.18); border-radius:12px; outline:0; background:#090909; color:#ddd3c4; font:600 .64rem var(--font-body); cursor:pointer; }
.menu-results-bar { min-height:42px; display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; color:#80786d; font-size:.65rem; }
.menu-results-bar p { margin:0; }.menu-results-bar strong { color:#e4c374; font-size:.82rem; }
.menu-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.menu-card { min-width:0; overflow:hidden; border:1px solid rgba(199,160,82,.16); border-radius:0 27px 0 0; background:#11110f; box-shadow:0 22px 55px rgba(0,0,0,.2); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.menu-card:hover { transform:translateY(-4px); border-color:rgba(231,202,136,.36); box-shadow:0 30px 68px rgba(0,0,0,.34); }
.menu-card--featured { grid-column:span 2; display:grid; grid-template-columns:1.25fr .75fr; border-radius:34px 0 0 0; }
.menu-card__media { position:relative; min-height:260px; display:block; overflow:hidden; background:#080808; }
.menu-card--featured .menu-card__media { min-height:420px; }
.menu-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(5,5,5,.56)); pointer-events:none; }
.menu-card__media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.04) brightness(.86); transition:transform .5s cubic-bezier(.2,.75,.2,1),filter .22s ease; }
.menu-card:hover .menu-card__media img { transform:scale(1.035); filter:saturate(.94) contrast(1.04) brightness(.92); }
.menu-card__media > span { position:absolute; z-index:1; top:17px; right:17px; padding:7px 12px; border:1px solid rgba(231,202,136,.34); border-radius:99px; background:rgba(7,7,7,.86); color:#e0c175; font-size:.58rem; }
.menu-card__body { display:flex; flex-direction:column; min-height:245px; padding:25px; }
.menu-card--featured .menu-card__body { min-height:100%; justify-content:center; padding:34px; }
.menu-card__top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.menu-card__top p { margin:0; color:#bd9649; font-size:.6rem; }
.menu-card__top span { display:flex; align-items:center; gap:6px; color:#837b70; font-size:.56rem; }
.menu-card__top i { width:5px; height:5px; border:1px solid #978150; border-radius:50%; }
.menu-card h3 { margin:0 0 8px; color:#f5ede0; font:600 1.05rem var(--font-display); }.menu-card h3 a { color:inherit; }
.menu-card--featured h3 { font-size:1.45rem; }
.menu-card__description { margin:0; color:#9c9488; font-size:.68rem; line-height:1.9; }
.menu-card__body footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:auto; padding-top:22px; border-top:1px solid rgba(199,160,82,.12); }
.menu-card__price { display:flex; align-items:baseline; gap:5px; color:#8f867a; font-size:.57rem; }.menu-card__price strong { color:#edcd7e; font:600 1.22rem var(--font-display); }
.menu-add-button { min-height:40px; display:inline-flex; align-items:center; gap:13px; padding:0 10px 0 15px; border:1px solid rgba(199,160,82,.38); border-radius:99px; background:transparent; color:#d8d0c3; font:700 .64rem var(--font-body); cursor:pointer; transition:background-color .15s ease,border-color .15s ease,color .15s ease; }
.menu-add-button b { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:var(--shan-gold); color:#070707; font:500 1rem/1 Arial,sans-serif; }
.menu-add-button:hover,.menu-add-button:focus-visible,.menu-add-button.is-added { border-color:#efd184; background:#efd184; color:#070707; }
.menu-add-button.is-added b { background:#070707; color:#efd184; }
.menu-empty { min-height:330px; place-items:center; align-content:center; padding:40px; border:1px dashed rgba(199,160,82,.25); text-align:center; }
.menu-empty:not([hidden]) { display:grid; }.menu-empty > span { color:#cda855; font-size:2.4rem; }.menu-empty h3 { margin:13px 0 5px; color:#eee5d7; }.menu-empty p { margin:0 0 20px; color:#938b80; font-size:.75rem; }.menu-empty button { padding:11px 20px; border:1px solid var(--shan-gold); border-radius:99px; background:transparent; color:#dfc175; cursor:pointer; }
@media (max-width:1120px) {
  .menu-toolbar { grid-template-columns:1fr 1.5fr; }.menu-toolbar__options { grid-column:1/-1; justify-content:flex-end; }
  .menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.menu-card--featured { grid-column:span 2; }
}
@media (max-width:760px) {
  .menu-hero { min-height:410px; background-image:linear-gradient(180deg,rgba(5,5,5,.48),rgba(5,5,5,.93) 82%),url('/assets/images/dish-mixed-grill-v1.webp'); background-position:center,center; background-size:cover,cover; }.menu-hero::after { width:75%; }.menu-hero__inner { width:min(calc(100% - 28px),var(--container)); padding-block:58px; align-self:flex-end; }
  .menu-hero h1 { max-width:100%; font-size:2.25rem; white-space:normal; }.menu-hero__facts { gap:10px; flex-wrap:wrap; }
  .menu-catalog__head { grid-template-columns:1fr; gap:17px; }.menu-catalog__head h2 { white-space:normal; font-size:2rem; }
  .menu-toolbar { display:flex; flex-direction:column; align-items:stretch; padding:11px; border-radius:18px 0; }
  .menu-categories { justify-content:flex-start; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }.menu-categories::-webkit-scrollbar { display:none; }
  .menu-toolbar__options { justify-content:space-between; }.menu-grid { grid-template-columns:1fr; }.menu-card--featured { grid-column:auto; display:block; border-radius:0 27px 0 0; }.menu-card--featured .menu-card__media { min-height:285px; }.menu-card--featured .menu-card__body { min-height:245px; padding:25px; }.menu-card--featured h3 { font-size:1.1rem; }
}
@media (max-width:430px) {
  .menu-hero h1 { font-size:2.05rem; }.menu-hero__inner > p:not(.shan-kicker) { font-size:.78rem; }.menu-toolbar__options { align-items:flex-start; flex-direction:column; }.menu-sort,.menu-sort select { width:100%; }.menu-results-bar { align-items:flex-start; flex-direction:column; justify-content:center; gap:3px; }.menu-card__media { min-height:235px; }
}

/* Order journey v1 — product customization, cart and delivery checkout. */
.product-page,.order-page,.checkout-page { background:#090909; color:var(--shan-cream); }
.product-breadcrumb { display:flex; align-items:center; gap:10px; min-height:66px; color:#746d63; font-size:.65rem; }.product-breadcrumb a { color:#d0ad61; }
.product-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); gap:clamp(45px,6vw,88px); align-items:start; padding-bottom:100px; }
.product-gallery { position:sticky; top:138px; min-height:690px; overflow:hidden; border:1px solid rgba(199,160,82,.2); border-radius:0 46px 0 0; background:#0c0c0b; }
.product-gallery::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 58%,rgba(5,5,5,.72)); pointer-events:none; }.product-gallery > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.86) contrast(1.04) brightness(.86); }
.product-gallery__badge { position:absolute; z-index:1; right:28px; bottom:28px; padding:15px 19px; border-right:2px solid var(--shan-gold); background:rgba(7,7,7,.82); }.product-gallery__badge small,.product-gallery__badge strong { display:block; }.product-gallery__badge small { margin-bottom:5px; color:#a99e8c; font-size:.56rem; }.product-gallery__badge strong { color:#f1ddaa; font-size:.78rem; }
.product-config { padding-top:28px; }.product-config h1 { margin:0; color:#fff8ec; font:600 clamp(2.25rem,3.7vw,3.7rem)/1.35 var(--font-display); letter-spacing:-.04em; }.product-config__description { max-width:620px; margin:17px 0 0; color:#aaa195; font-size:.8rem; line-height:2; }
.product-meta { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin:25px 0 35px; padding:15px 0; border-block:1px solid rgba(199,160,82,.13); color:#8e867b; font-size:.62rem; }.product-meta b { color:#d8c5a0; }.product-meta i { width:3px; height:3px; border-radius:50%; background:#9c7836; }
.choice-group { display:grid; gap:9px; margin:0 0 30px; padding:0; border:0; }.choice-group legend { width:100%; display:flex; align-items:center; gap:10px; margin-bottom:11px; color:#eee5d6; font:600 .82rem var(--font-display); }.choice-group legend > span,.checkout-section header > span { width:27px; height:27px; display:grid; place-items:center; border:1px solid rgba(199,160,82,.38); border-radius:50%; color:#d6ad57; font:.58rem Arial,sans-serif; }.choice-group legend small { margin-right:auto; color:#7c746a; font:.52rem var(--font-body); }
.choice-card { min-height:72px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:13px 16px; border:1px solid rgba(199,160,82,.14); border-radius:15px; background:#10100f; cursor:pointer; transition:border-color .15s ease,background-color .15s ease; }.choice-card:hover,.choice-card:has(input:checked) { border-color:rgba(231,202,136,.52); background:#14130f; }.choice-card input { appearance:none; width:18px; height:18px; display:grid; place-items:center; border:1px solid rgba(199,160,82,.55); border-radius:50%; }.choice-card input[type="checkbox"] { border-radius:5px; }.choice-card input::before { content:""; width:8px; height:8px; border-radius:inherit; background:var(--shan-gold); transform:scale(0); transition:transform .12s ease; }.choice-card input:checked::before { transform:scale(1); }.choice-card span b,.choice-card span small { display:block; }.choice-card span b { color:#e8dfd1; font-size:.7rem; }.choice-card span small { margin-top:4px; color:#7f786e; font-size:.56rem; }.choice-card > strong { color:#c9a557; font-size:.62rem; }
.product-note { position:relative; display:grid; gap:9px; margin-bottom:28px; }.product-note > span { color:#e5dccf; font-size:.72rem; font-weight:700; }.product-note > span small { color:#766f66; font-size:.52rem; }.product-note textarea { width:100%; min-height:100px; padding:15px 17px; border:1px solid rgba(199,160,82,.18); border-radius:15px; outline:0; resize:vertical; background:#0d0d0c; color:#eee6da; font:500 .72rem/1.8 var(--font-body); }.product-note textarea:focus { border-color:#d2aa57; }.product-note > b { position:absolute; left:13px; bottom:10px; color:#6e675f; font:.52rem Arial,sans-serif; }.product-note > b i { font-style:normal; }
.product-order-bar { display:grid; grid-template-columns:auto 1fr; gap:12px; padding-top:18px; border-top:1px solid rgba(199,160,82,.13); }.quantity-control { min-height:52px; display:flex; align-items:center; gap:4px; padding:4px; border:1px solid rgba(199,160,82,.24); border-radius:99px; background:#0a0a09; }.quantity-control button { width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:#d8b760; font-size:1.2rem; }.quantity-control button:hover { background:rgba(199,160,82,.12); }.quantity-control strong { min-width:26px; color:#eee5d7; text-align:center; font-size:.78rem; }.product-add { min-height:60px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; border:1px solid #e5c575; border-radius:99px; background:#d3a952; color:#070707; font:800 .75rem var(--font-body); transition:background-color .15s ease,transform .15s ease; }.product-add:hover,.product-add.is-added { background:#f0d58c; transform:translateY(-1px); }.product-add strong { font-size:.72rem; }.product-add strong i { font-style:normal; font-size:1rem; }
.product-assurance { border-block:1px solid rgba(199,160,82,.12); background:#0c0c0b; }.product-assurance .container { display:grid; grid-template-columns:repeat(3,1fr); }.product-assurance article { display:grid; grid-template-columns:auto 1fr; gap:4px 14px; padding:34px; border-inline-start:1px solid rgba(199,160,82,.1); }.product-assurance article:last-child { border-inline-end:1px solid rgba(199,160,82,.1); }.product-assurance article b { grid-row:span 2; color:#9b7838; font:.62rem Arial,sans-serif; }.product-assurance article strong { color:#ded5c7; font-size:.7rem; }.product-assurance article span { color:#777067; font-size:.58rem; }
.order-heading { padding:70px 0 62px; border-bottom:1px solid rgba(199,160,82,.12); background:radial-gradient(circle at 50% 0,rgba(199,160,82,.07),transparent 38%),#0b0b0a; text-align:center; }.order-heading .shan-kicker { justify-content:center; }.order-heading h1 { margin:0; color:#f7efe2; font:600 clamp(2.1rem,3.5vw,3.5rem)/1.4 var(--font-display); }.order-heading h1 em { color:var(--shan-gold-soft); font-style:normal; }.order-heading .container > p:last-child { margin:13px auto 0; color:#91897e; font-size:.75rem; }
.order-layout,.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:28px; align-items:start; padding-block:60px 110px; }.cart-panel,.checkout-form-panel,.order-summary { border:1px solid rgba(199,160,82,.16); background:#10100f; }.cart-panel { min-height:480px; padding:30px; border-radius:0 30px 0 0; }.cart-panel__title { display:flex; justify-content:space-between; align-items:center; padding-bottom:22px; border-bottom:1px solid rgba(199,160,82,.12); }.cart-panel__title h2 { margin:0; color:#eee6d9; font:600 1.05rem var(--font-display); }.cart-panel__title span { color:#7d756b; font-size:.62rem; }.cart-panel__title b { color:#d6ad57; }
.cart-item { display:grid; grid-template-columns:150px 1fr auto; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid rgba(199,160,82,.1); }.cart-item > img { width:150px; height:118px; object-fit:cover; border-radius:0 18px 0 0; filter:saturate(.86) brightness(.87); }.cart-item__copy { align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; }.cart-item__copy span { color:#aa8742; font-size:.57rem; }.cart-item__copy h3 { margin:6px 0; color:#eee5d7; font:600 .88rem var(--font-display); }.cart-item__copy p { margin:0; color:#777067; font-size:.56rem; }.cart-item__copy > strong { color:#e5c573; font-size:.85rem; }.cart-item__copy small { font-size:.5rem; }.cart-item__actions { display:flex; flex-direction:column; align-items:center; gap:10px; }.cart-item__actions .quantity-control { min-height:42px; }.cart-item__actions .quantity-control button { width:31px; height:31px; }.cart-remove { border:0; background:transparent; color:#8f6e59; font-size:.56rem; }.cart-remove:hover { color:#d5976e; }
.cart-empty { min-height:370px; display:grid; place-items:center; align-content:center; text-align:center; }.cart-empty[hidden] { display:none; }.cart-empty > span { color:#c49c4b; font-size:2rem; }.cart-empty h2 { margin:13px 0 7px; color:#eee5d8; font:600 1.1rem var(--font-display); }.cart-empty p { margin:0 0 20px; color:#817a70; font-size:.68rem; }
.order-summary { position:sticky; top:138px; padding:28px; border-radius:26px 0; }.order-summary dl { margin:22px 0 0; }.order-summary dl div { display:flex; justify-content:space-between; gap:18px; padding:13px 0; border-bottom:1px solid rgba(199,160,82,.1); color:#8f877b; font-size:.65rem; }.order-summary dd { margin:0; color:#c7bcaa; }.order-summary__total { display:flex; align-items:end; justify-content:space-between; gap:20px; padding:23px 0; }.order-summary__total span { color:#aba296; font-size:.7rem; }.order-summary__total strong { color:#edce7e; font-size:1.25rem; }.order-summary > small { display:block; margin-top:13px; color:#746d64; font-size:.55rem; line-height:1.8; text-align:center; }.order-summary .button.is-disabled { opacity:.42; cursor:not-allowed; pointer-events:none; }
.checkout-layout { grid-template-columns:minmax(0,1fr) 390px; }.checkout-form-panel { border-radius:0 32px 0 0; }.checkout-section { padding:32px; border-bottom:1px solid rgba(199,160,82,.12); }.checkout-section:last-child { border-bottom:0; }.checkout-section header { display:flex; align-items:flex-start; gap:14px; margin-bottom:24px; }.checkout-section header h2 { margin:0; color:#eee5d8; font:600 .95rem var(--font-display); }.checkout-section header p { margin:5px 0 0; color:#7d766c; font-size:.6rem; }
.fulfillment-switch,.payment-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.fulfillment-switch label,.payment-options label { cursor:pointer; }.fulfillment-switch input,.payment-options input { position:absolute; opacity:0; }.fulfillment-switch label > span,.payment-options label > span { min-height:82px; display:flex; flex-direction:column; justify-content:center; padding:15px 18px; border:1px solid rgba(199,160,82,.15); border-radius:15px; background:#0c0c0b; transition:border-color .15s ease,background-color .15s ease; }.fulfillment-switch input:checked + span,.payment-options input:checked + span { border-color:#d3aa55; background:rgba(199,160,82,.08); }.fulfillment-switch b,.fulfillment-switch small,.payment-options b,.payment-options small { display:block; }.fulfillment-switch b,.payment-options b { color:#dfd6c8; font-size:.7rem; }.fulfillment-switch small,.payment-options small { margin-top:5px; color:#777067; font-size:.55rem; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.checkout-fields label { display:grid; gap:7px; color:#d9d0c3; font-size:.65rem; }.checkout-fields__wide { grid-column:1/-1; }.checkout-fields input,.checkout-fields select { width:100%; min-height:52px; padding:10px 14px; border:1px solid rgba(199,160,82,.18); border-radius:12px; outline:0; background:#0a0a09; color:#e9e0d3; font:500 .68rem var(--font-body); }.checkout-fields input:focus,.checkout-fields select:focus { border-color:#d5ad59; }.location-picker { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; padding:14px 16px; border:1px dashed rgba(199,160,82,.28); border-radius:15px; background:#0b0b0a; }.location-picker > div { display:flex; align-items:center; gap:13px; }.location-picker strong { color:#ded5c7; font-size:.68rem; }.location-picker p { margin:4px 0 0; color:#777067; font-size:.54rem; }.location-picker button { min-height:38px; padding:0 14px; border:1px solid rgba(199,160,82,.42); border-radius:99px; background:transparent; color:#d6b15e; font-size:.58rem; }.location-picker button:hover { background:#d5ad57; color:#070707; }.location-picker button:disabled { opacity:.65; }.location-pin { position:relative; width:28px; height:28px; flex:none; border:1px solid #c9a34f; border-radius:50% 50% 50% 0; transform:rotate(-45deg); }.location-pin::after { content:""; position:absolute; inset:8px; border-radius:50%; background:#c9a34f; }
.checkout-summary [data-checkout-items] { margin:8px 0 20px; }.checkout-item { display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center; padding:11px 0; border-bottom:1px solid rgba(199,160,82,.1); }.checkout-item > span { width:24px; height:24px; display:grid; place-items:center; border:1px solid rgba(199,160,82,.25); border-radius:50%; color:#c49e4d; font-size:.52rem; }.checkout-item b,.checkout-item small { display:block; }.checkout-item b { color:#dcd3c6; font-size:.62rem; }.checkout-item small { margin-top:3px; color:#716a61; font-size:.5rem; }.checkout-item > strong { color:#d9bd76; font-size:.58rem; }.checkout-no-items { color:#827a70; font-size:.65rem; }.checkout-message { min-height:38px; margin:13px 0 0; color:#d6b15e; font-size:.58rem; line-height:1.8; text-align:center; }
.dinein-section[hidden] { display:none; }.dinein-note { display:flex; align-items:flex-start; gap:9px; margin:18px 0 0; padding:12px 14px; border:1px solid rgba(199,160,82,.12); border-radius:12px; background:#0b0b0a; color:#827a70; font-size:.57rem; line-height:1.8; }.dinein-note span { color:#c8a04e; }
@media (max-width:1000px) { .product-layout { grid-template-columns:1fr; }.product-gallery { position:relative; top:auto; min-height:560px; }.product-config { padding-top:0; }.order-layout,.checkout-layout { grid-template-columns:1fr; }.order-summary { position:relative; top:auto; } }
@media (max-width:760px) { .product-layout { gap:34px; padding-bottom:70px; }.product-gallery { min-height:430px; border-radius:0 28px 0 0; }.product-config h1 { font-size:2.15rem; }.product-order-bar { position:sticky; z-index:4; bottom:max(8px,env(safe-area-inset-bottom)); padding:8px; border:1px solid rgba(199,160,82,.24); border-radius:99px; background:#0a0a09; box-shadow:0 12px 34px rgba(0,0,0,.45); }.product-assurance .container { grid-template-columns:1fr; }.product-assurance article { border-bottom:1px solid rgba(199,160,82,.1); }.order-heading { padding:52px 0 46px; }.cart-panel { padding:19px; }.cart-item { grid-template-columns:92px 1fr; }.cart-item > img { width:92px; height:92px; }.cart-item__actions { grid-column:1/-1; flex-direction:row; justify-content:space-between; }.cart-item__actions button,.location-picker button,.fulfillment-switch label > span,.payment-options label > span { min-height:44px; }.checkout-section { padding:24px 18px; }.fulfillment-switch,.payment-options,.checkout-fields { grid-template-columns:1fr; }.checkout-fields__wide { grid-column:auto; }.location-picker { align-items:flex-start; flex-direction:column; }.location-picker button { width:100%; }.checkout-layout { padding-top:35px; }.checkout-fields input,.checkout-fields select { font-size:16px; color-scheme:dark; } }
@media (max-width:430px) { .product-gallery { min-height:350px; }.product-order-bar { grid-template-columns:112px 1fr; }.product-add { padding-inline:16px; }.product-add span { font-size:.62rem; }.choice-card { grid-template-columns:auto 1fr; }.choice-card > strong { grid-column:2; }.cart-panel__title { align-items:flex-start; flex-direction:column; gap:6px; } }

/* Customer account v1 — orders, addresses, profile and dine-in experiences. */
.account-page { min-height:70vh; padding-bottom:110px; background:linear-gradient(180deg,#0b0b0a,#080808); color:var(--shan-cream); }
.account-hero { padding:62px 0; border-bottom:1px solid rgba(199,160,82,.13); background:radial-gradient(circle at 50% 0,rgba(199,160,82,.07),transparent 40%),#0b0b0a; }.account-hero > .container { display:flex; align-items:end; justify-content:space-between; gap:30px; }.account-hero .shan-kicker { margin-bottom:13px; }.account-hero h1 { margin:0; color:#f7efe2; font:600 clamp(2.2rem,3.7vw,3.55rem)/1.4 var(--font-display); letter-spacing:-.04em; }.account-hero h1 em { color:var(--shan-gold-soft); font-style:normal; }.account-hero .container > div > p:last-child { margin:12px 0 0; color:#91897e; font-size:.74rem; }.account-hero--compact { padding:48px 0; }.account-hero--compact h1 { font-size:clamp(1.9rem,3vw,2.9rem); }
.account-layout { display:grid; grid-template-columns:255px minmax(0,1fr); gap:28px; align-items:start; padding-top:38px; }.account-nav { position:sticky; top:138px; overflow:hidden; border:1px solid rgba(199,160,82,.17); border-radius:0 27px 0 0; background:#10100f; }.account-nav__identity { display:flex; align-items:center; gap:12px; padding:22px 19px; border-bottom:1px solid rgba(199,160,82,.12); }.account-nav__identity > span,.profile-avatar { width:43px; height:43px; display:grid; place-items:center; flex:none; border:1px solid rgba(231,202,136,.42); border-radius:50%; background:rgba(199,160,82,.1); color:#e1bf70; font:600 .9rem var(--font-display); }.account-nav__identity strong,.account-nav__identity small { display:block; }.account-nav__identity strong { color:#e8e0d3; font-size:.72rem; }.account-nav__identity small { margin-top:4px; color:#8b8276; font-size:.5rem; }.account-nav nav { display:grid; padding:10px; }.account-nav nav a { min-height:48px; display:grid; grid-template-columns:27px 1fr auto; align-items:center; gap:9px; padding:0 11px; border-right:2px solid transparent; border-radius:9px; color:#999084; font-size:.65rem; transition:background-color .15s ease,color .15s ease,border-color .15s ease; }.account-nav nav a:hover,.account-nav nav a.is-active { border-right-color:var(--shan-gold); background:rgba(199,160,82,.08); color:#efd38a; }.account-nav nav i { color:#b99248; font:normal .8rem Georgia,serif; }.account-nav nav b { min-width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:#c8a14f; color:#070707; font-size:.5rem; }.account-nav__logout { min-height:50px; display:flex; align-items:center; justify-content:space-between; padding:0 20px; border-top:1px solid rgba(199,160,82,.11); color:#8d766b; font-size:.6rem; }.account-nav__logout:hover { color:#d59b75; }.account-nav > form { margin:0; }.account-nav button.account-nav__logout { width:100%; border-right:0; border-bottom:0; border-left:0; background:transparent; font-family:inherit; }
.account-content { min-width:0; display:grid; gap:22px; }.account-card { padding:27px; border:1px solid rgba(199,160,82,.15); border-radius:0 25px 0 0; background:#10100f; }.account-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:23px; }.account-card h2 { margin:2px 0 0; color:#eee6d9; font:600 1rem var(--font-display); }.account-card header > a { color:#cda955; font-size:.6rem; }.account-eyebrow { margin:0; color:#a7833f; font-size:.54rem; }.account-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.account-stats article { position:relative; min-height:135px; display:flex; flex-direction:column; justify-content:center; padding:23px; overflow:hidden; border:1px solid rgba(199,160,82,.14); border-radius:18px 0; background:linear-gradient(135deg,rgba(199,160,82,.06),transparent),#10100f; }.account-stats article::after { content:""; position:absolute; left:-25px; bottom:-45px; width:110px; height:110px; border:1px solid rgba(199,160,82,.08); border-radius:50%; }.account-stats span { color:#8e867b; font-size:.58rem; }.account-stats strong { margin:7px 0 3px; color:#e8c978; font:600 1.65rem var(--font-display); }.account-stats small { color:#716a61; font-size:.5rem; }
.status-badge { display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:0 11px; border-radius:99px; font-size:.54rem; white-space:nowrap; }.status-badge--progress { border:1px solid rgba(218,176,87,.42); background:rgba(199,160,82,.1); color:#e4c16d; }.status-badge--done { border:1px solid rgba(116,154,109,.35); background:rgba(116,154,109,.08); color:#9fc095; }
.order-progress { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr auto; align-items:start; gap:10px; padding:20px 0; }.order-progress > div { display:grid; justify-items:center; gap:8px; color:#6f685f; font-size:.53rem; text-align:center; }.order-progress i { width:32px; height:32px; display:grid; place-items:center; border:1px solid rgba(199,160,82,.2); border-radius:50%; color:#766c5d; font:normal .6rem Arial,sans-serif; }.order-progress > b { height:1px; margin-top:16px; background:rgba(199,160,82,.14); }.order-progress .is-done,.order-progress .is-current { color:#d8c49a; }.order-progress .is-done i { border-color:#c59c4b; background:#c59c4b; color:#070707; }.order-progress .is-current i { border-color:#e3c675; color:#e3c675; box-shadow:0 0 0 5px rgba(199,160,82,.07); }
.current-order__details { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:25px; margin-top:8px; padding-top:20px; border-top:1px solid rgba(199,160,82,.1); }.current-order__details span,.current-order__details strong { display:block; }.current-order__details span { color:#797168; font-size:.52rem; }.current-order__details strong { margin-top:5px; color:#d9d0c3; font-size:.68rem; }.current-order__details a { color:#e0bd6d; font-size:.62rem; font-weight:700; }.account-columns { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.reorder-card { display:grid; grid-template-columns:85px 1fr auto; align-items:center; gap:14px; }.reorder-card img { width:85px; height:70px; object-fit:cover; border-radius:0 12px 0 0; }.reorder-card strong,.reorder-card span,.reorder-card small { display:block; }.reorder-card strong { color:#e2d9cc; font-size:.68rem; }.reorder-card span { margin:5px 0; color:#766f66; font-size:.52rem; }.reorder-card small { color:#d3ad5b; font-size:.58rem; }.reorder-card > a { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#d0a752; color:#070707; }.saved-address { display:flex; gap:14px; }.saved-address > i { width:40px; height:40px; display:grid; place-items:center; flex:none; border:1px solid rgba(199,160,82,.3); border-radius:50%; color:#d2a955; font-style:normal; }.saved-address strong { color:#ded5c8; font-size:.68rem; }.saved-address p { margin:6px 0; color:#847c72; font-size:.56rem; line-height:1.8; }.saved-address span { color:#a98a4b; font-size:.5rem; }
.account-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }.account-tabs { display:flex; gap:5px; }.account-tabs button { min-height:39px; padding:0 16px; border:1px solid transparent; border-radius:99px; background:transparent; color:#8e867b; font-size:.6rem; }.account-tabs button.is-active { border-color:#cba452; background:#cba452; color:#070707; }.account-toolbar > label input { min-height:43px; padding:0 14px; border:1px solid rgba(199,160,82,.17); border-radius:99px; outline:0; background:#0c0c0b; color:#ded5c8; font-size:.62rem; }.orders-list { display:grid; gap:15px; }.order-row { padding:22px; border:1px solid rgba(199,160,82,.14); border-radius:0 22px 0 0; background:#10100f; }.order-row__head,.order-row__body,.order-row footer { display:flex; align-items:center; justify-content:space-between; gap:20px; }.order-row__head { padding-bottom:15px; border-bottom:1px solid rgba(199,160,82,.1); }.order-row__head div span,.order-row__head div small { display:block; }.order-row__head div span { color:#d9d0c4; font-size:.65rem; }.order-row__head div small { margin-top:4px; color:#777067; font-size:.5rem; }.order-row__body { padding:18px 0; }.order-thumbs { display:flex; min-width:92px; }.order-thumbs img { width:58px; height:58px; object-fit:cover; border:3px solid #10100f; border-radius:50%; }.order-thumbs img + img { margin-right:-20px; }.order-row__body > div:nth-child(2) { flex:1; }.order-row__body strong,.order-row__body span { display:block; }.order-row__body strong { color:#ded5c8; font-size:.67rem; }.order-row__body span { margin-top:5px; color:#7c746a; font-size:.53rem; }.order-row__body > b { color:#e0bf70; font-size:.72rem; }.order-row footer { justify-content:flex-end; padding-top:14px; border-top:1px solid rgba(199,160,82,.1); }.order-row footer a,.order-row footer button { min-height:34px; padding:0 13px; border:1px solid rgba(199,160,82,.28); border-radius:99px; background:transparent; color:#cba85b; font-size:.53rem; }
.account-columns--order { grid-template-columns:1.3fr .7fr; }.order-timeline > header > strong { color:#d8b664; font-size:.67rem; }.detail-item { display:grid; grid-template-columns:70px 1fr auto; align-items:center; gap:13px; padding:13px 0; border-bottom:1px solid rgba(199,160,82,.1); }.detail-item img { width:70px; height:58px; object-fit:cover; border-radius:0 10px 0 0; }.detail-item strong,.detail-item span,.detail-item small { display:block; }.detail-item strong { color:#ddd4c8; font-size:.64rem; }.detail-item span,.detail-item small { margin-top:4px; color:#746d64; font-size:.5rem; }.detail-item > b { color:#d8b461; font-size:.6rem; }.detail-total { margin:17px 0 0; }.detail-total div,.order-info dl div { display:flex; justify-content:space-between; gap:18px; padding:10px 0; color:#837b70; font-size:.58rem; }.detail-total dd,.order-info dd { margin:0; color:#cbc1b3; text-align:left; }.detail-total div:last-child { margin-top:6px; padding-top:15px; border-top:1px solid rgba(199,160,82,.15); color:#e0bd6d; font-weight:700; }.order-info dl { margin:0 0 20px; }.order-info dl div { align-items:flex-start; border-bottom:1px solid rgba(199,160,82,.08); }.order-info dt { flex:none; }.order-info dd { max-width:180px; line-height:1.8; }
.addresses-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.address-card,.address-add-card { overflow:hidden; border:1px solid rgba(199,160,82,.14); border-radius:0 24px 0 0; background:#10100f; }.address-card.is-default { border-color:rgba(231,202,136,.36); }.address-card > header { min-height:52px; display:flex; align-items:center; justify-content:space-between; padding:0 17px; }.address-card > header > span { color:#c9a451; font-size:.53rem; }.address-card header button { border:0; background:transparent; color:#817970; font-size:.5rem; }.address-card__map { position:relative; height:170px; overflow:hidden; background-color:#262620; background-image:linear-gradient(36deg,transparent 47%,rgba(199,160,82,.09) 48% 51%,transparent 52%),linear-gradient(126deg,transparent 45%,rgba(255,255,255,.04) 46% 49%,transparent 50%); background-size:75px 68px,95px 84px; }.address-card__map--second { background-position:25px 10px,0 15px; }.address-card__map i { position:absolute; top:47%; left:52%; width:24px; height:24px; border:6px solid #c9a451; border-radius:50% 50% 50% 0; transform:rotate(-45deg); }.address-card__map span { position:absolute; right:14px; bottom:12px; padding:6px 9px; background:#0b0b0a; color:#c8a24e; font-size:.48rem; }.address-card__copy { padding:20px; }.address-card__copy h2 { margin:0; color:#e5dccf; font:600 .8rem var(--font-display); }.address-card__copy p { margin:8px 0; color:#817970; font-size:.57rem; line-height:1.9; }.address-card__copy small { color:#a08349; font-size:.5rem; }.address-add-card { min-height:290px; display:grid; place-items:center; align-content:center; gap:8px; border-style:dashed; color:#867d72; }.address-add-card > span { width:45px; height:45px; display:grid; place-items:center; border:1px solid rgba(199,160,82,.35); border-radius:50%; color:#d0a652; font-size:1.2rem; }.address-add-card strong { color:#d9d0c3; font-size:.65rem; }.address-add-card small { font-size:.5rem; }
.profile-form > header { align-items:center; }.profile-form footer { display:flex; align-items:center; gap:18px; margin-top:25px; padding-top:20px; border-top:1px solid rgba(199,160,82,.1); }.profile-form footer small { color:#756e65; font-size:.52rem; }.preferences-card > label { min-height:65px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(199,160,82,.09); }.preferences-card label b,.preferences-card label small { display:block; }.preferences-card label b { color:#d8cfc2; font-size:.65rem; }.preferences-card label small { margin-top:5px; color:#756e65; font-size:.51rem; }.preferences-card input { appearance:none; position:relative; width:38px; height:21px; border:1px solid rgba(199,160,82,.32); border-radius:99px; background:#090909; }.preferences-card input::after { content:""; position:absolute; top:4px; right:4px; width:11px; height:11px; border-radius:50%; background:#777067; transition:transform .15s ease,background-color .15s ease; }.preferences-card input:checked::after { background:#d0a653; transform:translateX(-17px); }.preferences-card > a { display:inline-flex; gap:10px; margin-top:20px; color:#d0ac5b; font-size:.6rem; }
.visit-card { display:grid; grid-template-columns:1fr 1fr; padding:0; overflow:hidden; }.visit-card__image { position:relative; min-height:420px; }.visit-card__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.72) saturate(.75); }.visit-card__image .status-badge { position:absolute; top:18px; right:18px; }.visit-card__copy { align-self:center; padding:34px; }.visit-card__copy h2 { margin:7px 0 22px; }.visit-card__copy > div { display:flex; justify-content:space-between; gap:18px; padding:13px 0; border-bottom:1px solid rgba(199,160,82,.1); color:#777067; font-size:.55rem; }.visit-card__copy > div strong { color:#cec4b7; font-size:.58rem; text-align:left; }.visit-card__copy footer { display:flex; gap:9px; margin-top:24px; }.visit-card__copy footer a,.visit-card__copy footer button { min-height:38px; padding:0 13px; border:1px solid rgba(199,160,82,.3); border-radius:99px; background:transparent; color:#d0a957; font-size:.52rem; }.visits-history article { display:grid; grid-template-columns:1fr 1.5fr auto; gap:18px; padding:15px 0; border-bottom:1px solid rgba(199,160,82,.09); color:#80786e; font-size:.55rem; }.visits-history article strong { color:#d0c7ba; }.visits-history article small { color:#8fa087; }
@media (max-width:1000px) { .account-layout { grid-template-columns:1fr; }.account-nav { position:relative; top:auto; }.account-nav__identity,.account-nav__logout { display:none; }.account-nav nav { display:flex; overflow-x:auto; gap:5px; scrollbar-width:none; }.account-nav nav::-webkit-scrollbar { display:none; }.account-nav nav a { min-width:max-content; padding-inline:15px; border-right:0; border-bottom:2px solid transparent; }.account-nav nav a:hover,.account-nav nav a.is-active { border-right-color:transparent; border-bottom-color:var(--shan-gold); }.account-columns--order { grid-template-columns:1fr; } }
@media (max-width:760px) { .account-page { padding-bottom:75px; }.account-hero { padding:45px 0; }.account-hero > .container { align-items:flex-start; flex-direction:column; }.account-hero h1 { font-size:2rem; }.account-hero .button { width:100%; }.account-stats { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:5px; }.account-stats article { min-width:210px; scroll-snap-align:start; }.account-card { padding:20px 17px; }.order-progress { gap:4px; }.order-progress i { width:27px; height:27px; }.order-progress > b { margin-top:13px; }.order-progress span { font-size:.46rem; }.current-order__details { grid-template-columns:1fr 1fr; }.current-order__details a { grid-column:1/-1; }.account-columns,.addresses-grid { grid-template-columns:1fr; }.account-toolbar { align-items:stretch; flex-direction:column; }.account-tabs { overflow-x:auto; }.account-toolbar > label input { width:100%; }.order-row__body { align-items:flex-start; flex-wrap:wrap; }.order-row__body > b { width:100%; text-align:left; }.visit-card { grid-template-columns:1fr; }.visit-card__image { min-height:300px; }.visits-history article { grid-template-columns:1fr; gap:6px; }.profile-form footer { align-items:flex-start; flex-direction:column; }.profile-form footer .button { width:100%; } }
@media (max-width:430px) { .account-layout { padding-top:25px; }.account-nav nav a { min-height:44px; }.account-card > header { align-items:flex-start; flex-direction:column; }.current-order .status-badge { align-self:flex-start; }.order-row { padding:17px 14px; }.order-row__head { align-items:flex-start; }.order-thumbs { min-width:72px; }.order-thumbs img { width:48px; height:48px; }.detail-item { grid-template-columns:58px 1fr; }.detail-item img { width:58px; height:52px; }.detail-item > b { grid-column:2; }.visit-card__copy { padding:25px 18px; } }

/* Authentication lifetime and account sign-out confirmation. */
.password-hint { margin-top:8px; color:#80786d; font-size:.52rem; }
.account-hero__actions { display:flex; align-items:center; gap:10px; }
.account-logout-button { min-height:48px; display:inline-flex; align-items:center; gap:10px; padding:0 19px; border:1px solid rgba(199,160,82,.22); border-radius:999px; background:#0d0d0c; color:#c9bda9; font:600 .62rem var(--font-body); transition:border-color .18s ease,color .18s ease,background-color .18s ease,transform .18s ease; }
.account-logout-button:hover { border-color:var(--shan-gold); background:rgba(199,160,82,.08); color:#efd38a; transform:translateY(-1px); }
.account-logout-button__icon { width:25px; height:25px; display:grid; place-items:center; border:1px solid rgba(199,160,82,.35); border-radius:50%; color:var(--shan-gold); font-size:.72rem; }
.logout-dialog { width:min(92vw,520px); padding:34px; border:1px solid rgba(199,160,82,.38); border-radius:0 30px 0 30px; outline:0; background:linear-gradient(145deg,#151410,#090909 68%); color:#e9e0d3; text-align:center; box-shadow:0 28px 80px rgba(0,0,0,.68); }
.logout-dialog::backdrop { background:rgba(0,0,0,.78); }
.logout-dialog__mark { width:52px; height:52px; display:grid; place-items:center; margin:0 auto 15px; border:1px solid rgba(224,189,109,.45); border-radius:50%; background:rgba(199,160,82,.08); color:#dfbb69; font-size:1.1rem; }
.logout-dialog .account-eyebrow { text-align:center; }
.logout-dialog h2 { margin:8px 0 10px; color:#f4ecdf; font:600 1.45rem var(--font-display); }
.logout-dialog > p:not(.account-eyebrow) { max-width:390px; margin:0 auto; color:#91887c; font-size:.63rem; line-height:1.9; }
.logout-dialog__actions { display:flex; justify-content:center; gap:10px; margin-top:25px; }
.logout-dialog__actions form { margin:0; }
.logout-dialog__actions .button { min-width:170px; }
.logout-dialog__cancel { border:1px solid rgba(199,160,82,.22); background:transparent; color:#c9bda9; }
.logout-dialog__cancel:hover { border-color:#c7a052; color:#efd38a; }
@media (max-width:760px) {
    .account-hero__actions { width:100%; }
    .account-hero__actions .button,.account-logout-button { flex:1; justify-content:center; }
    .logout-dialog { padding:28px 20px; }
    .logout-dialog__actions { flex-direction:column; }
    .logout-dialog__actions form,.logout-dialog__actions .button { width:100%; }
}
