
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);background-color:var(--maroon);color:var(--cream);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(1200px 620px at 85% -10%,color-mix(in srgb,var(--wine) 55%,transparent),transparent 60%),
  radial-gradient(900px 520px at -10% 30%,color-mix(in srgb,var(--wine) 40%,transparent),transparent 60%),
  radial-gradient(1000px 700px at 50% 115%,color-mix(in srgb,var(--maroon-deep) 90%,transparent),transparent 65%)}
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
h1,h2,h3,h4,p{margin:0}
ul{list-style:none;margin:0;padding:0}
::selection{background:color-mix(in srgb,var(--cream) 30%,transparent)}
.num{font-family:var(--font-disp);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}
:focus-visible{outline:2px solid var(--sand);outline-offset:3px;border-radius:6px}

.wrap{position:relative;z-index:2;width:min(1200px,92vw);margin-inline:auto}
section{position:relative;z-index:2}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:.9rem;font-weight:800;font-size:1.02rem;padding:.85rem 1.6rem;transition:transform .2s,background-color .2s,box-shadow .2s;line-height:1.4}
.btn-cream{background:var(--cream);color:var(--maroon);box-shadow:0 10px 30px -8px rgba(0,0,0,.5)}
.btn-cream:hover{background:var(--sand);transform:translateY(-2px)}
.btn-outline{background:color-mix(in srgb,var(--cream) 7%,transparent);color:var(--cream);border:1px solid color-mix(in srgb,var(--cream) 30%,transparent);backdrop-filter:blur(6px)}
.btn-outline:hover{background:color-mix(in srgb,var(--cream) 14%,transparent);transform:translateY(-2px)}
.btn-wine{background:var(--wine);color:var(--on-accent);box-shadow:0 10px 26px -10px color-mix(in srgb,var(--wine) 80%,transparent)}
.btn-wine:hover{background:var(--wine-light);transform:translateY(-2px)}
.btn .ic-social{width:1.15em;height:1.15em}

.site-header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--maroon) 82%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--cream) 12%,transparent);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 12px 30px -14px rgba(0,0,0,.7)}
.navbar{display:flex;align-items:center;gap:1.1rem;padding:.72rem 0}
.nav-logo{display:flex;align-items:center;gap:.55rem;font-weight:900}
.nav-logo img{width:46px;height:auto;border-radius:10px}
.nav-logo b{font-size:1.05rem;letter-spacing:.5px}
.nav-logo b .ar2{display:block;font-size:.72rem;font-weight:700;color:var(--sand-line);letter-spacing:1px}
.nav-links{display:flex;align-items:center;gap:.1rem;margin-inline-start:auto;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{padding:.45rem .72rem;border-radius:.7rem;font-size:.92rem;font-weight:700;color:color-mix(in srgb,var(--sand) 85%,transparent);white-space:nowrap;transition:color .2s,background-color .2s}
.nav-links a:hover{color:var(--cream);background:color-mix(in srgb,var(--cream) 10%,transparent)}
.nav-end{display:flex;align-items:center;gap:.55rem}
.lang-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid color-mix(in srgb,var(--cream) 30%,transparent);background:color-mix(in srgb,var(--cream) 7%,transparent);color:var(--cream);font-weight:800;font-size:.85rem;border-radius:2rem;padding:.42rem .9rem;transition:.2s}
.lang-btn:hover{background:color-mix(in srgb,var(--cream) 16%,transparent)}
.lang-btn .dot{width:6px;height:6px;border-radius:50%;background:var(--sand-line)}
.lang-btn svg{width:15px;height:15px}
.ig-pill{display:inline-flex;align-items:center;gap:.45rem;border-radius:2rem;padding:.42rem .95rem;font-weight:800;font-size:.88rem;color:var(--on-accent);background:linear-gradient(135deg,var(--wine),var(--wine-light));border:1px solid color-mix(in srgb,var(--on-accent) 25%,transparent);transition:.2s}
.ig-pill:hover{transform:translateY(-1px);box-shadow:0 8px 22px -8px color-mix(in srgb,var(--wine-light) 90%,transparent)}
.ig-pill svg{width:15px;height:15px}
.menu-toggle{display:none;width:42px;height:42px;border-radius:.7rem;border:1px solid color-mix(in srgb,var(--cream) 25%,transparent);color:var(--cream);align-items:center;justify-content:center}
.menu-toggle svg{width:22px;height:22px}
.mobile-menu{display:none;flex-direction:column;gap:.3rem;padding:.6rem 0 1rem}
.mobile-menu.show{display:flex}
.mobile-menu a{padding:.7rem .9rem;border-radius:.7rem;background:color-mix(in srgb,var(--cream) 6%,transparent);font-weight:700}
.mobile-menu .ig-pill{justify-content:center;margin-top:.5rem;padding:.7rem}

.hero{padding:4.4rem 0 3.4rem}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--cream) 8%,transparent);border:1px solid color-mix(in srgb,var(--cream) 18%,transparent);padding:.4rem 1rem;border-radius:2rem;font-size:.85rem;font-weight:700;color:var(--sand-line);margin-bottom:1.4rem}
.eyebrow .spark{position:static;flex:none;width:15px;height:15px}
.eyebrow .spark:last-child{animation-delay:1.5s}
.hero h1{font-size:clamp(1.9rem,4.4vw,3.3rem);line-height:1.4;font-weight:900;margin-bottom:1.1rem}
.hero h1 .accent{color:var(--sand);white-space:nowrap}
.hero-sub{color:color-mix(in srgb,var(--cream) 82%,transparent);font-size:1.12rem;max-width:34rem;margin-bottom:2rem}
.hero-ctas{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:2.2rem}
.hero-trust{display:flex;gap:1.6rem;flex-wrap:wrap;color:color-mix(in srgb,var(--sand) 75%,transparent);font-size:.9rem;font-weight:600}
.hero-trust span{display:inline-flex;align-items:center;gap:.4rem}
.hero-trust svg{width:1.1em;height:1.1em;color:var(--sand)}

.hero-show{position:relative;display:flex;justify-content:center;align-items:center;min-height:520px}
.frame-main{position:relative;width:min(340px,82%);transform:rotate(-3deg);z-index:3;filter:drop-shadow(0 24px 40px rgba(0,0,0,.5))}
.frame-main .paper{background:var(--paper);padding:.8rem .8rem 2.2rem}
.frame-main img{width:100%;aspect-ratio:4/4.6;object-fit:cover;filter:saturate(1.05)}
.frame-main .cap{position:absolute;bottom:4px;right:0;left:0;text-align:center;font-family:var(--font-disp);color:var(--ink-soft);font-size:.8rem;font-style:italic}
.frame-tape{position:absolute;top:-13px;right:16%;z-index:4}
.frame-mini{position:absolute;width:min(150px,42%);z-index:4;bottom:-8px;left:-6px;filter:drop-shadow(0 16px 26px rgba(0,0,0,.5));animation:floaty 7s ease-in-out infinite}
.frame-mini .paper{background:var(--paper);padding:.45rem .45rem 1.5rem}
.frame-mini img{width:100%;aspect-ratio:1/1.15;object-fit:cover}
.frame-mini .tape{top:-9px;left:30%;right:auto}
.skew-card{position:absolute;z-index:5;background:var(--paper);color:var(--ink-soft);border-radius:.7rem;padding:.7rem 1rem;font-size:.82rem;font-weight:800;box-shadow:0 12px 26px -8px rgba(0,0,0,.5)}
.skew-card b{display:block;font-family:var(--font-disp);font-size:1.25rem}
.sk-card1{top:12%;right:-4%;animation:floaty 6.5s ease-in-out infinite}
.sk-card2{bottom:20%;left:-10%;animation:floaty 8s ease-in-out .8s infinite}
.spark{width:22px;height:22px;color:var(--sand);animation:twinkle 3.2s ease-in-out infinite;position:absolute;z-index:6}
.spark.s1{top:-4%;left:-8%}
.spark.s2{top:22%;left:86%;animation-delay:.9s;width:14px;height:14px}
.spark.s3{bottom:6%;right:88%;animation-delay:1.6s;width:16px;height:16px}
.flower{position:absolute;pointer-events:none}
.flower.f1{width:150px;bottom:-22px;left:-22px;transform:rotate(8deg);opacity:.85}
.flower.f2{width:110px;top:-30px;right:-8px;transform:scaleX(-1) rotate(-12deg);opacity:.7}
.flower.f3{width:116px;top:44%;left:-58px;transform:rotate(160deg);opacity:.5}

.marquee{position:relative;z-index:2;overflow:hidden;padding:1.6rem 0;border-top:1px dashed color-mix(in srgb,var(--cream) 18%,transparent);border-bottom:1px dashed color-mix(in srgb,var(--cream) 18%,transparent);background:color-mix(in srgb,var(--cream) 3.5%,transparent)}

.section{padding:5rem 0}
.sec-head{text-align:center;max-width:46rem;margin:0 auto 3rem}
.sec-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:800;letter-spacing:2px;color:var(--sand-line);text-transform:uppercase;margin-bottom:.8rem}
.sec-kicker .spark{position:static;width:15px;height:15px;animation:twinkle 3s infinite}
.sec-title{font-size:clamp(1.55rem,3.4vw,2.4rem);font-weight:900;line-height:1.45;margin-bottom:.7rem}
.sec-sub{color:color-mix(in srgb,var(--sand) 72%,transparent);font-size:1.02rem}

.paper{position:relative;background:var(--paper);color:var(--ink);border-radius:.4rem;box-shadow:var(--shadow-card)}
.tear{clip-path:polygon(
 0.6% 2.8%,2.2% 1.2%,3.6% 2.2%,5.4% .8%,7.1% 2.6%,9% 1.4%,10.7% 2.7%,12.5% .9%,14.2% 2.4%,16% 1.1%,17.8% 2.5%,19.6% .7%,21.4% 2.2%,23.2% 1%,25% 2.6%,27% .9%,28.8% 2.4%,30.6% 1.2%,32.5% 2.8%,34.3% 1%,36.1% 2.5%,37.9% .8%,39.7% 2.3%,41.6% 1.1%,43.4% 2.7%,45.2% .9%,47% 2.5%,48.8% 1.3%,50.7% 2.8%,52.5% 1%,54.3% 2.4%,56.1% .8%,57.9% 2.2%,59.8% 1.2%,61.6% 2.6%,63.4% .9%,65.2% 2.5%,67% 1.1%,68.8% 2.7%,70.7% 1%,72.5% 2.3%,74.3% .7%,76.1% 2.4%,77.9% 1.3%,79.8% 2.8%,81.6% 1%,83.4% 2.5%,85.2% 1.2%,87% 2.6%,88.8% .9%,90.6% 2.2%,92.4% 1.1%,94.2% 2.7%,96% 1%,97.7% 2.4%,99.3% 1.5%,100% 3.4%,99.4% 5.2%,100% 7%,99.5% 9%,100% 11%,99.4% 13%,100% 15%,99.5% 17%,100% 19%,99.4% 21%,100% 23%,99.6% 25%,100% 27%,99.5% 29%,100% 31%,99.4% 33%,100% 35%,99.5% 37%,100% 39%,99.4% 41%,100% 43%,99.5% 45%,100% 47%,99.6% 49%,100% 51%,99.4% 53%,100% 55%,99.5% 57%,100% 59%,99.4% 61%,100% 63%,99.6% 65%,100% 67%,99.5% 69%,100% 71%,99.4% 73%,100% 75%,99.5% 77%,100% 79%,99.4% 81%,100% 83%,99.5% 85%,100% 87%,99.4% 89%,100% 91%,99.6% 93%,100% 95%,99.5% 97%,99.4% 98.2%,97.6% 99.3%,95.9% 97.8%,94.1% 99.4%,92.3% 98%,90.5% 99.2%,88.7% 97.9%,86.9% 99.5%,85.1% 98.1%,83.3% 99.3%,81.5% 97.7%,79.6% 99.4%,77.8% 98.2%,76% 99.5%,74.2% 97.9%,72.4% 99.3%,70.6% 98%,68.8% 99.4%,67% 97.8%,65.2% 99.2%,63.3% 97.9%,61.5% 99.5%,59.7% 98.2%,57.9% 99.4%,56.1% 97.7%,54.2% 99.3%,52.4% 98%,50.6% 99.4%,48.8% 97.8%,47% 99.5%,45.2% 98.1%,43.4% 99.3%,41.5% 97.9%,39.7% 99.5%,37.9% 98.3%,36.1% 99.4%,34.3% 97.8%,32.5% 99.2%,30.6% 98%,28.8% 99.5%,27% 98.2%,25.2% 99.3%,23.4% 97.8%,21.5% 99.4%,19.7% 98.1%,17.9% 99.5%,16.1% 97.9%,14.3% 99.3%,12.5% 98%,10.7% 99.4%,8.8% 98.2%,7% 99.4%,5.2% 97.8%,3.4% 99.2%,1.7% 98%,.5% 99%,0% 96.5%,.6% 94%,0% 91%,.5% 89%,0% 87%,.5% 85%,0% 83%,.5% 81%,0% 79%,.6% 77%,0% 75%,.5% 73%,0% 71%,.6% 69%,0% 67%,.7% 65%,0% 63%,.5% 61%,0% 59%,.6% 57%,0% 55%,.6% 53%,0% 51%,.6% 49%,0% 47%,.6% 45%,0% 43%,.5% 41%,0% 39%,.6% 37%,0% 35%,.6% 33%,0% 31%,.5% 29%,0% 27%,.6% 25%,0% 23%,.5% 21%,0% 19%,.6% 17%,0% 15%,.5% 13%,0% 11%,.6% 9%,0% 7%,.5% 5%,0% 3%,.6% 2.8%)}
.tear-top{clip-path:polygon(
 0.6% 2.8%,2.2% 1.2%,3.6% 2.2%,5.4% .8%,7.1% 2.6%,9% 1.4%,10.7% 2.7%,12.5% .9%,14.2% 2.4%,16% 1.1%,17.8% 2.5%,19.6% .7%,21.4% 2.2%,23.2% 1%,25% 2.6%,27% .9%,28.8% 2.4%,30.6% 1.2%,32.5% 2.8%,34.3% 1%,36.1% 2.5%,37.9% .8%,39.7% 2.3%,41.6% 1.1%,43.4% 2.7%,45.2% .9%,47% 2.5%,48.8% 1.3%,50.7% 2.8%,52.5% 1%,54.3% 2.4%,56.1% .8%,57.9% 2.2%,59.8% 1.2%,61.6% 2.6%,63.4% .9%,65.2% 2.5%,67% 1.1%,68.8% 2.7%,70.7% 1%,72.5% 2.3%,74.3% .7%,76.1% 2.4%,77.9% 1.3%,79.8% 2.8%,81.6% 1%,83.4% 2.5%,85.2% 1.2%,87% 2.6%,88.8% .9%,90.6% 2.2%,92.4% 1.1%,94.2% 2.7%,96% 1%,97.7% 2.4%,99.3% 1.5%,100% 3%,100% 100%,0% 100%)}
.tear-bottom{clip-path:polygon(0 0,100% 0,100% 3%,99.4% 5.2%,100% 7%,99.5% 9%,100% 11%,99.4% 13%,100% 15%,99.5% 17%,100% 19%,99.4% 21%,100% 23%,99.6% 25%,100% 27%,99.5% 29%,100% 31%,99.4% 33%,100% 35%,99.5% 37%,100% 39%,99.4% 41%,100% 43%,99.5% 45%,100% 47%,99.6% 49%,100% 51%,99.4% 53%,100% 55%,99.5% 57%,100% 59%,99.4% 61%,100% 63%,99.6% 65%,100% 67%,99.5% 69%,100% 71%,99.4% 73%,100% 75%,99.5% 77%,100% 79%,99.4% 81%,100% 83%,99.5% 85%,100% 87%,99.4% 89%,100% 91%,99.6% 93%,100% 95%,99.5% 97%,99.4% 98.2%,97.6% 99.3%,95.9% 97.8%,94.1% 99.4%,92.3% 98%,90.5% 99.2%,88.7% 97.9%,86.9% 99.5%,85.1% 98.1%,83.3% 99.3%,81.5% 97.7%,79.6% 99.4%,77.8% 98.2%,76% 99.5%,74.2% 97.9%,72.4% 99.3%,70.6% 98%,68.8% 99.4%,67% 97.8%,65.2% 99.2%,63.3% 97.9%,61.5% 99.5%,59.7% 98.2%,57.9% 99.4%,56.1% 97.7%,54.2% 99.3%,52.4% 98%,50.6% 99.4%,48.8% 97.8%,47% 99.5%,45.2% 98.1%,43.4% 99.3%,41.5% 97.9%,39.7% 99.5%,37.9% 98.3%,36.1% 99.4%,34.3% 97.8%,32.5% 99.2%,30.6% 98%,28.8% 99.5%,27% 98.2%,25.2% 99.3%,23.4% 97.8%,21.5% 99.4%,19.7% 98.1%,17.9% 99.5%,16.1% 97.9%,14.3% 99.3%,12.5% 98%,10.7% 99.4%,8.8% 98.2%,7% 99.4%,5.2% 97.8%,3.4% 99.2%,1.7% 98%,.5% 99%,0% 96.5%)}
.tape{position:absolute;top:-11px;right:16px;width:88px;height:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--sand) 78%,transparent),color-mix(in srgb,var(--paper) 72%,transparent));border-left:.5px dashed color-mix(in srgb,var(--ink-soft) 25%,transparent);border-right:.5px dashed color-mix(in srgb,var(--ink-soft) 25%,transparent);box-shadow:0 2px 6px rgba(0,0,0,.25);transform:rotate(-3deg);z-index:2}
.tape::before,.tape::after{content:"";position:absolute;top:0;bottom:0;width:7px;background:linear-gradient(180deg,color-mix(in srgb,var(--sand) 78%,transparent),color-mix(in srgb,var(--paper) 72%,transparent))}
.tape::before{left:-6px;clip-path:polygon(0 40%,45% 0,100% 55%,55% 100%)}
.tape::after{right:-6px;clip-path:polygon(0 15%,40% 0,100% 70%,60% 100%)}

.feature-card{padding:1.9rem 1.6rem 2.2rem;transition:transform .35s}
.feature-card:hover{transform:translateY(-6px)}
.feature-card .fnum{font-family:var(--font-disp);font-size:2.6rem;font-weight:800;color:color-mix(in srgb,var(--wine) 85%,transparent);line-height:1;margin-bottom:.4rem}
.feature-card h3{font-size:1.15rem;font-weight:900;color:var(--ink);margin-bottom:.5rem}
.feature-card p{font-size:.93rem;color:var(--ink-soft);line-height:1.8}
.feature-card .ficon{width:38px;height:38px;margin-top:.4rem;color:var(--wine)}
@media (max-width:900px){.feature-card .ficon{position:absolute;bottom:1.2rem;left:1.4rem}}

.sand-section{background:var(--sand);color:var(--ink);position:relative;z-index:2}
.sand-linen{position:absolute;inset:0;pointer-events:none;opacity:.55;background:repeating-linear-gradient(0deg,color-mix(in srgb,var(--ink-soft) 5%,transparent) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,color-mix(in srgb,var(--ink-soft) 4%,transparent) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}
.sand-section .sec-title{color:var(--ink)}
.sand-section .sec-sub{color:var(--ink-soft)}
.sand-section .sec-kicker{color:var(--wine)}
.menu-wedge{height:46px;position:relative;z-index:2;background:var(--sand);clip-path:polygon(0 0,12% 100%,26% 12%,40% 100%,54% 18%,68% 100%,82% 10%,100% 100%,100% 100%,0 100%);margin-top:-2px}
.menu-wedge.rev{clip-path:polygon(0 100%,12% 0,26% 88%,40% 0,54% 82%,68% 0,82% 90%,100% 0);margin-bottom:-2px}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem}
.menu-card{transition:transform .35s;overflow:hidden}
.menu-card:hover{transform:translateY(-6px)}
.menu-card .photo{position:relative;overflow:hidden}
.menu-card .photo img{width:100%;aspect-ratio:4/4.3;object-fit:cover;transition:transform .5s}
.menu-card:hover .photo img{transform:scale(1.06)}
.menu-tag{position:absolute;top:12px;inset-inline-end:12px;background:var(--wine);color:var(--on-accent);font-size:.72rem;font-weight:800;padding:.3rem .7rem;border-radius:2rem;letter-spacing:.5px}
.menu-body{padding:1.3rem 1.3rem 1.6rem}
.menu-body h3{font-size:1.12rem;font-weight:900;color:var(--ink);margin-bottom:.4rem}
.menu-body .desc{font-size:.9rem;color:var(--ink-soft);margin-bottom:1rem;line-height:1.8}
.size-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;font-size:.9rem;font-weight:700;color:var(--ink-soft);padding:.34rem 0;border-bottom:1px dashed color-mix(in srgb,var(--ink-soft) 35%,transparent)}
.size-list li:last-child{border-bottom:none}
.size-list .dots{flex:1;border-bottom:2px dotted color-mix(in srgb,var(--ink-soft) 40%,transparent);min-width:10px}
.size-list b{font-family:var(--font-disp);color:var(--ink-soft);white-space:nowrap}
.menu-order{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:800;color:var(--ink-soft);border-bottom:2px solid color-mix(in srgb,var(--wine) 60%,transparent);padding-bottom:2px;transition:.2s}
.menu-order:hover{color:var(--wine);border-color:var(--wine)}
.menu-order svg{width:15px;height:15px}
.photo-note{background:var(--wine);color:var(--on-accent);font-size:.8rem;font-weight:700;padding:.5rem .8rem;border-radius:.6rem;display:flex;gap:.45rem;align-items:center;margin-top:.9rem}
.photo-note svg{flex:none;width:16px;height:16px}

.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-bottom:2.6rem}
.review-card{padding:1.5rem 1.5rem 1.7rem;transition:transform .35s}
.review-card:hover{transform:translateY(-6px)}
.review-card .stars{display:flex;gap:3px;margin-bottom:.7rem}
.review-card .stars svg{width:17px;height:17px;fill:var(--star);stroke:none}
.review-card .qt{font-family:var(--font-disp);font-size:2.4rem;line-height:1;color:color-mix(in srgb,var(--wine) 35%,transparent)}
.review-card p{font-size:.94rem;color:var(--ink-soft);line-height:1.85;margin:.2rem 0 1rem}
.review-card .who{display:flex;align-items:center;gap:.6rem;border-top:1px dashed color-mix(in srgb,var(--ink-soft) 40%,transparent);padding-top:.8rem}
.review-card .avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--wine),var(--wine-light));color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.9rem}
.review-card .who b{display:block;font-size:.92rem;color:var(--ink)}
.review-card .who span{font-size:.75rem;color:var(--ink-soft)}

.form-shell{padding:2rem 2.2rem 2.4rem;max-width:34rem;margin:0 auto}
.form-shell h3{font-size:1.35rem;font-weight:900;color:var(--ink);margin-bottom:.6rem;position:relative;z-index:2}
.form-shell>p{font-size:.92rem;color:var(--ink-soft);margin-bottom:1.3rem;position:relative;z-index:2}
.field{margin-bottom:1.1rem;position:relative;z-index:2}
.field label{display:block;font-size:.86rem;font-weight:800;color:var(--ink-soft);margin-bottom:.4rem}
.field input,.field textarea{width:100%;background:rgba(255,255,255,.65);border:1.5px solid color-mix(in srgb,var(--ink-soft) 35%,transparent);border-radius:.7rem;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;color:var(--ink);transition:border-color .2s,background-color .2s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--wine);background:#fff}
.field textarea{resize:vertical;min-height:96px}
.rating-pick{display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:2px}
.rating-pick input{position:absolute;opacity:0;pointer-events:none}
.rating-pick label svg{width:30px;height:30px;fill:none;stroke:var(--star);stroke-width:1.6;cursor:pointer;transition:transform .15s,fill .2s}
.rating-pick:hover label svg{fill:color-mix(in srgb,var(--star) 25%,transparent)}
.rating-pick label.on svg,.rating-pick label:hover svg{fill:var(--star)}
.rating-pick label:hover svg{transform:scale(1.15)}
.form-submit{width:100%;justify-content:center;margin-top:.4rem;position:relative;z-index:2}
.form-note{font-size:.75rem;color:var(--ink-soft);text-align:center;margin-top:.7rem;position:relative;z-index:2}

.tips-box{padding:2.2rem 2.4rem;display:grid;grid-template-columns:auto 1fr;gap:1.6rem;align-items:start}
.tips-box .t-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:1.6rem;font-weight:900;color:var(--ink);margin-bottom:1rem;font-family:var(--font-disp)}
.tips-list{display:grid;gap:1rem}
.tips-list li{display:flex;gap:.85rem;align-items:flex-start}
.tips-list .t-ico{flex:none;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--wine) 10%,transparent);color:var(--wine);display:flex;align-items:center;justify-content:center;margin-top:2px}
.tips-list .t-ico svg{width:20px;height:20px}
.tips-list b{display:block;font-size:1.02rem;color:var(--ink);margin-bottom:.2rem}
.tips-list span{font-size:.9rem;color:var(--ink-soft);line-height:1.8}
.tip-warn{background:var(--wine);color:var(--on-accent);border-radius:.9rem;padding:1.2rem 1.4rem;font-size:.92rem;font-weight:700;display:flex;gap:.7rem;align-items:center;line-height:1.7}
.tip-warn svg{flex:none;width:24px;height:24px}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative}
.steps::before{content:"";position:absolute;top:52px;left:12%;right:12%;border-top:2px dashed color-mix(in srgb,var(--cream) 28%,transparent)}
.step{position:relative;text-align:center}
.step .snum{position:relative;z-index:2;width:72px;height:72px;margin:0 auto 1.1rem;border-radius:50%}
.step .snum::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--wine-light),var(--wine) 65%);box-shadow:0 10px 22px -8px color-mix(in srgb,var(--wine) 90%,transparent)}
.step .snum b{position:relative;z-index:2;display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-family:var(--font-disp);font-size:1.8rem;color:var(--on-accent)}
.step h3{font-size:1.12rem;font-weight:900;margin-bottom:.4rem}
.step p{font-size:.92rem;color:color-mix(in srgb,var(--sand) 72%,transparent);max-width:15rem;margin:0 auto;line-height:1.8}
.step .mini-tape{position:absolute;top:-6px;inset-inline-start:26%;width:54px;height:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--sand) 70%,transparent),color-mix(in srgb,var(--paper) 65%,transparent));transform:rotate(-8deg);border-radius:2px}

.site-footer{background:var(--maroon-deep);border-top:1px solid color-mix(in srgb,var(--cream) 12%,transparent);position:relative;z-index:2;padding:3.4rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.4rem;align-items:start}
.foot-brand img{width:60px;margin-bottom:.8rem;border-radius:12px}
.foot-brand b{font-size:1.15rem;font-weight:900}
.foot-brand .tag{color:var(--sand-line);font-size:.85rem;font-weight:600;margin-top:.2rem;display:inline-block}
.foot-brand p{color:color-mix(in srgb,var(--sand) 65%,transparent);font-size:.9rem;margin-top:.8rem;max-width:20rem;line-height:1.9}
.foot-col h4{font-size:.8rem;font-weight:800;letter-spacing:2px;color:var(--sand-line);text-transform:uppercase;margin-bottom:1rem}
.foot-col a{display:flex;align-items:center;gap:.5rem;color:color-mix(in srgb,var(--sand) 75%,transparent);font-size:.93rem;font-weight:600;padding:.28rem 0;transition:color .2s}
.foot-col a:hover{color:var(--sand)}
.foot-col a svg{width:16px;height:16px;color:var(--sand-line)}
.foot-bottom{margin-top:2.6rem;padding-top:1.4rem;border-top:1px dashed color-mix(in srgb,var(--cream) 16%,transparent);text-align:center;color:color-mix(in srgb,var(--sand) 55%,transparent);font-size:.85rem}

.toast{position:fixed;bottom:1.4rem;inset-inline-start:50%;transform:translate(-50%,20px);z-index:120;background:var(--paper);color:var(--ink);font-weight:800;border-radius:.9rem;padding:.85rem 1.4rem;box-shadow:0 16px 40px -10px rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;font-size:.95rem;display:flex;gap:.6rem;align-items:center;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast svg{width:20px;height:20px;color:#1d7a3a;flex:none}

.feedback-banner{position:fixed;bottom:1.3rem;inset-inline-start:1.3rem;z-index:110;max-width:330px;background:var(--paper);color:var(--ink);border-radius:1rem;box-shadow:0 22px 50px -12px rgba(0,0,0,.7);padding:1.1rem 1.2rem;transform:translateY(140%);opacity:0;transition:transform .55s cubic-bezier(.2,.9,.25,1.1),opacity .4s}
.feedback-banner.show{transform:translateY(0);opacity:1}
.fb-close{position:absolute;top:.5rem;inset-inline-end:.5rem;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--wine) 10%,transparent);color:var(--wine);display:flex;align-items:center;justify-content:center}
.fb-close svg{width:14px;height:14px}
.fb-body{display:flex;gap:.8rem;align-items:flex-start}
.fb-icon{flex:none;width:42px;height:42px;border-radius:.8rem;background:linear-gradient(135deg,var(--wine),var(--wine-light));color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.fb-body p{font-size:.92rem;font-weight:700;line-height:1.7;margin-bottom:.7rem}
.fb-cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--wine);color:var(--on-accent);font-weight:800;font-size:.88rem;border-radius:2rem;padding:.5rem 1rem;transition:.2s}
.fb-cta:hover{background:var(--wine-light)}
.fb-cta svg{width:15px;height:15px}

@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
@keyframes pop{0%{opacity:0;transform:scale(.92)}100%{opacity:1;transform:scale(1)}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--fr,6deg))}50%{transform:translateY(-10px) rotate(var(--fr,6deg))}}
@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.7) rotate(0deg)}50%{opacity:1;transform:scale(1.1) rotate(30deg)}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
.new-card{animation:pop .5s ease both}

@media (max-width:1024px){.menu-grid,.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:2.6rem}
  .hero-show{order:-1;min-height:430px}
  .sk-card1{right:0}.sk-card2{left:-2%}
  .steps{grid-template-columns:1fr;gap:2.4rem}
  .steps::before{display:none}
  .foot-grid{grid-template-columns:1fr;gap:1.8rem}
  .nav-links,.ig-pill{display:none}
  /* The links (which pushed these buttons to the far side) are hidden here, so push them ourselves. */
  .nav-end{margin-inline-start:auto}
  .menu-toggle{display:inline-flex}
  .tips-box{grid-template-columns:1fr;padding:1.8rem 1.6rem}
  .form-shell{padding:1.7rem 1.4rem 1.9rem}
}
@media (max-width:620px){
  .menu-grid,.reviews-grid{grid-template-columns:1fr}
  .section{padding:4rem 0}
  .feedback-banner{inset-inline:1rem;max-width:none}
  .hero{padding:3rem 0 2.6rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}

/* ================= additions for the editable homepage ================= */
.hero-grid.no-show{grid-template-columns:1fr}
.hero-grid.no-show .hero-sub{max-width:46rem}
.sk-card1 b{color:var(--wine)}
.sk-card2 b{color:var(--wine-light)}
.flower{color:var(--sand-line)}
.flower .fc{fill:color-mix(in srgb,var(--sand-line) 70%,var(--ink-soft))}
.sand-section .spark{color:var(--wine)}
.t-kicker svg{color:var(--wine);flex:none}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1.8rem}
.steps{grid-template-columns:repeat(var(--cols,3),1fr)}
.center-cta{display:flex;justify-content:center;align-items:center;gap:.9rem;flex-wrap:wrap;margin-top:3.4rem;position:relative;z-index:2}
.menu-card.no-photo .menu-tag{position:static;display:inline-block;margin-bottom:.7rem}
.menu-card.no-photo .menu-body{padding-top:1.8rem}
.menu-order svg{stroke-width:2}
.tape-center{right:50%;transform:translateX(50%) rotate(-2deg)}
.reviews-empty{text-align:center;color:color-mix(in srgb,var(--sand) 72%,transparent);margin:0 auto 2.6rem;max-width:34rem}
.review-card .who b{margin:0}
/* visually hidden (no off-screen offset: that widened the RTL page) */
.hp{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.form-error{position:relative;z-index:2;background:color-mix(in srgb,var(--wine) 12%,transparent);color:var(--wine);border-radius:.7rem;padding:.6rem .9rem;font-size:.88rem;font-weight:700;margin-bottom:.8rem}
.form-error[hidden]{display:none}
.form-submit:disabled{opacity:.65;cursor:progress;transform:none}
.foot-col .item{display:flex;align-items:center;gap:.5rem;color:color-mix(in srgb,var(--sand) 75%,transparent);font-size:.93rem;font-weight:600;padding:.28rem 0}
.foot-col .item svg{width:16px;height:16px;color:var(--sand-line)}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
/* decorations may poke past the edges; never let the page pan sideways (incl. iOS Safari) */
@supports (overflow:clip){html,body{overflow-x:clip}}
/* ================= photo strip (gallery) — see renderGallery() in render.js ================= */
.marquee{direction:ltr;--mq-w:196px;--mq-gap:16px}
.mq-small{--mq-w:150px}
.mq-large{--mq-w:250px}
@media (max-width:620px){.marquee{--mq-w:150px}.mq-small{--mq-w:115px}.mq-large{--mq-w:200px}}
.mq-row{display:flex;width:max-content;animation:mq-left var(--mq-duration,30s) linear infinite;will-change:transform}
.mq-row+.mq-row{margin-top:var(--mq-gap)}
.mq-row.mq-reverse{animation-name:mq-right}
.mq-set{display:flex;flex:none;gap:var(--mq-gap);padding-inline-end:var(--mq-gap)}
.mq-pause:hover .mq-row{animation-play-state:paused}
@keyframes mq-left{from{transform:translateX(0)}to{transform:translateX(calc(-100% / var(--mq-copies)))}}
@keyframes mq-right{from{transform:translateX(calc(-100% / var(--mq-copies)))}to{transform:translateX(0)}}
.marquee-item{flex:none;width:var(--mq-w);aspect-ratio:4/4.6;object-fit:cover;border-radius:.6rem;box-shadow:0 12px 24px -10px rgba(0,0,0,.6);transform:rotate(var(--rot,0deg));user-select:none}
.mq-polaroid .marquee-item{background:var(--paper);padding:.45rem .45rem 1.7rem;border-radius:.25rem}
.mq-circle .marquee-item{aspect-ratio:1;border-radius:50%;border:4px solid var(--paper)}
.mq-fade{-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.mq-still-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--mq-gap);padding-inline:4vw}
@media (prefers-reduced-motion:reduce){.mq-row{animation:none}}
/* ================= themable sections: announcement + FAQ ================= */
.theme-dark{--sec-bg:transparent;--sec-box:color-mix(in srgb,var(--cream) 8%,transparent);--sec-text:var(--cream);--sec-muted:color-mix(in srgb,var(--cream) 74%,transparent);--sec-accent:var(--sand);--sec-on-accent:var(--maroon);--sec-card:color-mix(in srgb,var(--cream) 6%,transparent);--sec-line:color-mix(in srgb,var(--cream) 16%,transparent)}
.theme-wine{--sec-bg:var(--wine);--sec-box:linear-gradient(135deg,var(--wine),var(--wine-light));--sec-text:var(--on-accent);--sec-muted:color-mix(in srgb,var(--on-accent) 82%,transparent);--sec-accent:var(--sand);--sec-on-accent:var(--wine);--sec-card:color-mix(in srgb,var(--on-accent) 9%,transparent);--sec-line:color-mix(in srgb,var(--on-accent) 24%,transparent)}
.theme-sand{--sec-bg:var(--sand);--sec-box:var(--sand);--sec-text:var(--ink);--sec-muted:var(--ink-soft);--sec-accent:var(--wine);--sec-on-accent:var(--on-accent);--sec-card:var(--paper);--sec-line:color-mix(in srgb,var(--ink-soft) 28%,transparent)}
.theme-paper{--sec-bg:var(--paper);--sec-box:var(--paper);--sec-text:var(--ink);--sec-muted:var(--ink-soft);--sec-accent:var(--wine);--sec-on-accent:var(--on-accent);--sec-card:color-mix(in srgb,var(--ink-soft) 7%,transparent);--sec-line:color-mix(in srgb,var(--ink-soft) 24%,transparent)}
.theme-gold{--sec-bg:color-mix(in srgb,var(--star) 80%,#fff);--sec-box:linear-gradient(135deg,color-mix(in srgb,var(--star) 72%,#fff),color-mix(in srgb,var(--star) 92%,#000));--sec-text:var(--maroon-deep);--sec-muted:color-mix(in srgb,var(--maroon-deep) 80%,transparent);--sec-accent:var(--maroon);--sec-on-accent:var(--sand);--sec-card:color-mix(in srgb,#fff 32%,transparent);--sec-line:color-mix(in srgb,var(--maroon-deep) 22%,transparent)}
.theme-custom{--sec-bg:var(--c-bg);--sec-box:var(--c-bg);--sec-text:var(--c-text);--sec-muted:color-mix(in srgb,var(--c-text) 80%,transparent);--sec-accent:var(--c-accent);--sec-on-accent:var(--c-bg);--sec-card:color-mix(in srgb,var(--c-text) 8%,transparent);--sec-line:color-mix(in srgb,var(--c-text) 22%,transparent)}

/* ---- announcement / promotion ---- */
.announce{position:relative;z-index:2;padding:1.8rem 0 1.4rem;animation:annIn .8s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes annIn{from{opacity:0;transform:translateY(-14px) scale(.98)}to{opacity:1;transform:none}}
.announce-box{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;background:var(--sec-box);color:var(--sec-text);border:1px solid var(--sec-line);border-radius:1.4rem;padding:1.4rem 1.7rem;box-shadow:0 20px 46px -20px rgba(0,0,0,.65)}
.announce-body{position:relative;z-index:1;flex:1 1 20rem;min-width:0}
.announce-badge{display:inline-flex;align-items:center;border-radius:2rem;padding:.22rem .85rem;font-size:.78rem;font-weight:900;background:var(--sec-accent);color:var(--sec-on-accent)}
.announce-title{font-size:clamp(1.2rem,2.7vw,1.75rem);font-weight:900;line-height:1.5;margin:.5rem 0 .25rem;color:var(--sec-text)}
.announce-text{color:var(--sec-muted);font-size:.98rem;line-height:1.85}
.announce-countdown{margin-top:.7rem;display:inline-flex;align-items:center;gap:.4rem;border-radius:.7rem;padding:.3rem .75rem;font-weight:800;font-size:.88rem;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--sec-accent) 18%,transparent);color:var(--sec-text)}
.announce-countdown[hidden]{display:none}
.announce-cta{position:relative;z-index:1;flex:none;display:inline-flex;align-items:center;gap:.5rem;border-radius:.9rem;padding:.8rem 1.4rem;font-weight:900;background:var(--sec-accent);color:var(--sec-on-accent);transition:transform .2s,box-shadow .2s}
.announce-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(0,0,0,.6)}
.announce-cta svg{width:16px;height:16px}
@media (max-width:620px){.announce-box{padding:1.2rem}.announce-cta{width:100%;justify-content:center}}
.fx-shine .announce-box::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.32) 48%,rgba(255,255,255,.08) 55%,transparent 70%);transform:translateX(-130%);animation:annShine 4.2s ease-in-out infinite}
@keyframes annShine{0%,25%{transform:translateX(-130%)}70%,100%{transform:translateX(130%)}}
.fx-glow .announce-box{animation:annGlow 2.8s ease-in-out infinite}
@keyframes annGlow{0%,100%{box-shadow:0 0 0 0 transparent,0 20px 46px -20px rgba(0,0,0,.65)}50%{box-shadow:0 0 38px 4px color-mix(in srgb,var(--sec-accent) 55%,transparent),0 20px 46px -20px rgba(0,0,0,.65)}}
.ann-spark{position:absolute;z-index:0;color:var(--sec-accent);opacity:.85;animation:twinkle 2.8s ease-in-out infinite;pointer-events:none}
.ann-ticker{position:relative;z-index:1;flex:0 0 calc(100% + 3.4rem);width:calc(100% + 3.4rem);direction:ltr;overflow:hidden;margin:.2rem -1.7rem -1.4rem;padding:.6rem 0;background:color-mix(in srgb,var(--sec-accent) 14%,transparent);border-top:1px solid var(--sec-line)}
.ann-ticker-track{display:flex;width:max-content;animation:annTicker 45s linear infinite}
.ann-ticker-copy{display:flex;flex:none;align-items:center}
.ann-ticker-copy span{padding-inline:1rem;white-space:nowrap;font-weight:800;font-size:.92rem;direction:rtl}
.ann-ticker .ann-dot{color:var(--sec-accent);padding-inline:0}
@keyframes annTicker{to{transform:translateX(-50%)}}
@media (max-width:620px){.ann-ticker{flex-basis:calc(100% + 2.4rem);width:calc(100% + 2.4rem);margin:.2rem -1.2rem -1.2rem}}

/* ---- FAQ ---- */
.faq-section{background:var(--sec-bg);color:var(--sec-text)}
.faq-section .sec-title{color:var(--sec-text)}
.faq-section .sec-sub{color:var(--sec-muted)}
.faq-section .sec-kicker,.faq-section .spark{color:var(--sec-accent)}
.faq-list{max-width:52rem;margin:0 auto;display:grid;gap:.8rem}
.faq-item{background:var(--sec-card);color:var(--sec-text);border:1px solid var(--sec-line);border-radius:1rem;overflow:hidden;transition:border-color .25s,background-color .25s}
.faq-item[open]{border-color:color-mix(in srgb,var(--sec-accent) 55%,transparent)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 1.3rem;font-weight:800;font-size:1.02rem;line-height:1.6}
.faq-item summary::-webkit-details-marker{display:none}
.faq-toggle{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sec-accent) 18%,transparent);color:var(--sec-accent);transition:transform .3s}
.faq-toggle svg{width:16px;height:16px}
.faq-item[open] .faq-toggle{transform:rotate(45deg)}
.faq-answer{padding:0 1.3rem 1.2rem;color:var(--sec-muted);line-height:1.9;font-size:.95rem;white-space:pre-line}
.faq-item[open] .faq-answer{animation:faqIn .35s ease}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.2rem}
.faq-card{background:var(--sec-card);color:var(--sec-text);border:1px solid var(--sec-line);border-radius:1rem;padding:1.3rem 1.4rem}
.faq-card h3{display:flex;gap:.5rem;font-size:1.05rem;font-weight:900;line-height:1.6;margin-bottom:.5rem}
.faq-card h3::before{content:"؟";color:var(--sec-accent);font-family:var(--font-disp);font-weight:800}
.faq-card p{color:var(--sec-muted);font-size:.93rem;line-height:1.9;white-space:pre-line}

/* ---- FAQ button in the header ---- */
.faq-pill{display:inline-flex;align-items:center;gap:.45rem;border-radius:2rem;padding:.42rem .95rem;font-weight:800;font-size:.88rem;white-space:nowrap;color:var(--cream);border:1px solid color-mix(in srgb,var(--cream) 30%,transparent);background:color-mix(in srgb,var(--cream) 7%,transparent);transition:.2s}
.faq-pill:hover{background:color-mix(in srgb,var(--cream) 16%,transparent)}
.faq-pill .q{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cream);color:var(--maroon);font-size:.75rem;font-weight:900;line-height:1}
@media (max-width:860px){.faq-pill .faq-label{display:none}.faq-pill{padding:.5rem .6rem}}

/* shop strip on the homepage (server/site/shop.js renderHomeStrip) + picture protection shared with /shop */
/* design protection: pictures can't be dragged, long-pressed or right-clicked to save */
.protect{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.protect img{pointer-events:none;-webkit-user-drag:none;user-drag:none}
.protect .shield{position:absolute;inset:0;z-index:2;background:transparent}

/* header shop button — the same look as the shop's cart button (.cart-btn in shop.css) */
.shop-btn{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:.9rem;background:var(--cream);color:var(--maroon);box-shadow:0 8px 22px -10px rgba(0,0,0,.6);transition:transform .2s}
.shop-btn:hover{transform:translateY(-2px)}
.shop-btn svg{width:22px;height:22px}

/* «المتجر بلمحة» — in the old price menu's place */
.sg-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem}
.sg-grid>.sg-card{flex:0 1 calc((100% - 3.2rem)/3);min-width:0}
.sg-card{display:flex;flex-direction:column;overflow:hidden;transition:opacity .7s ease,transform .35s}
.sg-card.in{transform:rotate(var(--rot))}
.sg-card.in:hover{transform:rotate(0) translateY(-6px)}
.sg-art{position:relative;display:grid;aspect-ratio:4/3.4;background:#fff;overflow:hidden}
.sg-art img{width:100%;height:100%;object-fit:cover}
.sg-art.n2{grid-template-columns:1fr 1fr;gap:3px}
.sg-art.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:3px}
.sg-art.n3 img:first-child{grid-row:span 2}
.sg-emoji{place-items:center;font-size:3.4rem;background:color-mix(in srgb,var(--sand) 60%,#fff)}
.sg-body{display:flex;flex-direction:column;gap:.15rem;padding:1rem 1.2rem 1.4rem}
.sg-body i{font-style:normal;font-size:1.3rem}
.sg-body b{font-size:1.2rem;font-weight:900;color:var(--ink)}
.sg-body small{color:var(--ink-soft);font-weight:700;font-size:.86rem}
.sg-body .sg-from{color:var(--wine);font-weight:900}
.sg-h3{text-align:center;font-weight:900;font-size:1.2rem;color:var(--ink);margin:2.4rem 0 .2rem}
.sg-cta{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}
.sg-cta .btn svg{width:1.2em;height:1.2em}
.btn-ghost-ink{color:var(--ink);border:1.5px solid color-mix(in srgb,var(--ink) 30%,transparent)}
.btn-ghost-ink:hover{background:color-mix(in srgb,var(--ink) 7%,transparent);transform:translateY(-2px)}
@media (max-width:900px){.sg-grid{gap:1.1rem}.sg-grid>.sg-card{flex-basis:calc((100% - 1.1rem)/2)}}
@media (max-width:520px){.sg-body{padding:.75rem .8rem 1rem}.sg-body b{font-size:1.02rem}.sg-cta .btn{width:100%}}
@media (max-width:420px){.site-header:has(.shop-btn) .nav-end{gap:.4rem}.shop-btn{width:42px;height:42px}.site-header:has(.shop-btn) .lang-btn{padding:.42rem .7rem}.site-header:has(.shop-btn) .lang-btn .dot,.site-header:has(.shop-btn) .lang-btn svg{display:none}.site-header:has(.shop-btn) .navbar{gap:.6rem}}
@media (max-width:340px){.site-header:has(.shop-btn) .nav-logo b{display:none}}
.hs-row{display:flex;gap:1.2rem;overflow-x:auto;padding:1rem .4rem 1.4rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.hs-row::-webkit-scrollbar{display:none}
.hs-card{position:relative;flex:none;width:170px;scroll-snap-align:start;background:var(--paper);padding:.45rem .45rem .5rem;box-shadow:var(--shadow-card);transform:rotate(var(--tilt));transition:transform .3s;display:flex;flex-direction:column;gap:.4rem}
.hs-card:hover{transform:rotate(0) translateY(-4px)}
.hs-card img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#fff}
.hs-name{color:var(--ink);font-weight:800;font-size:.82rem;text-align:center;line-height:1.4}


/* ================= Sakuhin shop — same brand as the homepage (homepage.css is loaded first) ================= */
/* `hidden` must always win (a display rule on .badge/.cart-count showed «0» on empty badges) */
.shop-page [hidden]{display:none!important}
.shop-page{font-size:16px}
html[lang=ar] .shop-page{font-size:16.5px}
.shop-main{position:relative;z-index:2;padding-bottom:5rem;min-height:60vh}
.shop-main .wrap{width:100%;max-width:1232px;padding-inline:16px}
bdi{unicode-bidi:isolate}
.muted{color:color-mix(in srgb,var(--cream) 60%,transparent)}
.money{white-space:nowrap;font-weight:800}
.money bdi{font-variant-numeric:tabular-nums}
.money .cur{font-size:max(.8em,12px);font-weight:700;opacity:.8}

/* header */
.shop-header .nav-links a[aria-current=page]{color:var(--cream);background:color-mix(in srgb,var(--cream) 12%,transparent)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:.8rem;border:1px solid color-mix(in srgb,var(--cream) 22%,transparent);color:var(--cream);background:color-mix(in srgb,var(--cream) 6%,transparent);transition:background-color .2s}
.icon-btn:hover{background:color-mix(in srgb,var(--cream) 14%,transparent)}
.icon-btn svg{width:20px;height:20px}
.cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:.9rem;background:var(--cream);color:var(--maroon);box-shadow:0 8px 22px -10px rgba(0,0,0,.6);transition:transform .2s}
.cart-btn:hover{transform:translateY(-2px)}
.cart-btn svg{width:22px;height:22px}
.cart-btn.bump{animation:bump .45s ease}
.cart-count{position:absolute;top:-6px;inset-inline-end:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--wine);color:var(--on-accent);font-size:.72rem;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid var(--maroon)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18) rotate(-6deg)}100%{transform:scale(1)}}
@media (max-width:860px){.shop-header .nav-links{display:none}.shop-header .navbar{gap:.6rem}.shop-header .nav-end{margin-inline-start:auto}}

/* hero + sections */
.shop-hero{padding:2.6rem 0 1.4rem;text-align:center}
.shop-hero .eyebrow{margin-bottom:1rem}
.shop-hero h1{font-size:clamp(1.55rem,4.6vw,2.7rem);font-weight:900;line-height:1.45;max-width:46rem;margin:0 auto .8rem}
.shop-hero .hero-sub{margin:0 auto 1.6rem;max-width:36rem;color:color-mix(in srgb,var(--cream) 78%,transparent)}
.big-search{position:relative;max-width:34rem;margin:0 auto}
.big-search svg{position:absolute;inset-inline-start:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--ink-soft);pointer-events:none}
.big-search input{width:100%;padding:1rem 3rem 1rem 1rem;padding-inline-start:3rem;border-radius:1.1rem;border:0;background:var(--paper);color:var(--ink);font:inherit;font-weight:600;box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
.big-search input:focus{outline:3px solid color-mix(in srgb,var(--sand) 70%,transparent)}
.search-results{max-width:60rem;margin:1.4rem auto 0;text-align:start}
.shop-notice{max-width:40rem;margin:1.2rem auto 0;background:color-mix(in srgb,var(--sand) 14%,transparent);border:1px dashed color-mix(in srgb,var(--sand) 45%,transparent);border-radius:.9rem;padding:.7rem 1rem;font-weight:700}
.shop-section{padding:1.6rem 0}
.shop-h2{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:900;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.shop-h2::before{content:"";width:22px;height:3px;border-radius:2px;background:var(--sand)}
.sec-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.link-more{font-weight:800;color:var(--sand);font-size:.92rem}
.crumbs{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:1.1rem 0 .2rem;font-size:.88rem;color:color-mix(in srgb,var(--cream) 62%,transparent)}
.crumbs a:hover{color:var(--cream)}
.crumbs svg{width:14px;height:14px;opacity:.6}
[dir=ltr] .crumbs svg,[dir=ltr] .arrow-flip{transform:scaleX(-1)}

/* type tiles */
.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:1.4rem}
.type-tile{display:flex;flex-direction:column;gap:.9rem;padding:.6rem;transition:transform .3s}
.type-tile:hover{transform:translateY(-4px) rotate(0deg)}
.tile-paper{position:relative;display:block;aspect-ratio:4/3.2;background:var(--paper);padding:.6rem .6rem 1.4rem;transform:rotate(var(--tilt));box-shadow:var(--shadow-card);transition:transform .35s}
.type-tile:hover .tile-paper{transform:rotate(0)}
.tile-paper img{width:100%;height:100%;object-fit:cover}
.tile-paper .tape{top:-12px;right:50%;transform:translateX(50%) rotate(-3deg)}
.tile-collage{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:.35rem;width:100%;height:100%}
.tile-collage img{width:100%;height:100%;object-fit:cover;background:#fff}
.tile-collage img:first-child{grid-row:1/3}
.tile-collage.n1{grid-template-columns:1fr;grid-template-rows:1fr}
.tile-collage.n2{grid-template-rows:1fr}
.tile-collage.n2 img:first-child{grid-row:auto}
.tile-emoji{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:3.6rem;background:color-mix(in srgb,var(--sand) 25%,var(--paper))}
.tile-text{display:flex;flex-direction:column;gap:.1rem;padding-inline:.3rem}
.tile-text i{font-style:normal;font-size:1.3rem}
.tile-text b{font-size:1.25rem;font-weight:900}
.tile-text small{color:color-mix(in srgb,var(--cream) 66%,transparent);font-weight:600}
.tile-text .from{color:var(--sand);font-weight:800}

/* chips */
.chip-row{display:flex;gap:.55rem;flex-wrap:wrap}
.chip-row.sm{margin:.4rem 0 .8rem}
.chip-link{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border-radius:2rem;background:color-mix(in srgb,var(--cream) 8%,transparent);border:1px solid color-mix(in srgb,var(--cream) 18%,transparent);font-weight:700;font-size:.92rem;transition:background-color .2s,transform .2s}
.chip-link:hover{background:color-mix(in srgb,var(--cream) 16%,transparent);transform:translateY(-1px)}
.chip-link .n{font-size:.75rem;background:color-mix(in srgb,var(--cream) 14%,transparent);border-radius:1rem;padding:0 .45rem}
.chip-link.sm{padding:.3rem .75rem;font-size:.82rem}

/* product grid + card */
.p-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem .9rem}
@media (min-width:700px){.p-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 1.3rem}}
@media (min-width:1100px){.results .p-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-section .p-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.p-card{position:relative;display:flex;flex-direction:column;gap:.55rem;animation:cardIn .4s ease both}
@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.p-media{position:relative;display:block;aspect-ratio:4/5;background:var(--paper);padding:.45rem .45rem 1.1rem;box-shadow:var(--shadow-card);transform:rotate(var(--tilt,0deg));transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.p-media img{width:100%;height:100%;object-fit:contain;background:#fff;transition:opacity .35s}
.p-media img.alt{position:absolute;inset:.45rem .45rem 1.1rem;width:calc(100% - .9rem);height:calc(100% - 1.55rem);opacity:0}
.p-card:hover .p-media{transform:rotate(0) translateY(-4px);box-shadow:0 24px 44px -16px rgba(0,0,0,.7)}
@media (hover:hover){.p-card:hover .p-media img.alt{opacity:1}}
.p-media::after{content:"";position:absolute;top:-9px;inset-inline-start:38%;width:62px;height:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--sand) 75%,transparent),color-mix(in srgb,var(--paper) 70%,transparent));transform:rotate(-4deg);box-shadow:0 2px 5px rgba(0,0,0,.2);opacity:0;transition:opacity .3s}
.p-card:hover .p-media::after{opacity:1}
.p-body{display:flex;flex-direction:column;gap:.1rem;padding-inline:.15rem;padding-inline-end:2.8rem;min-width:0}
.p-code{font-size:max(.74rem,12px);font-weight:800;letter-spacing:.06em;color:var(--sand-line);font-family:ui-monospace,Menlo,monospace}
.p-code.big{font-size:.85rem}
.p-name{font-size:.98rem;font-weight:800;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.p-price{display:flex;flex-direction:column;font-size:.92rem;color:var(--sand)}
.p-price small{font-size:max(.76rem,12px);color:color-mix(in srgb,var(--cream) 60%,transparent);font-weight:600}
.p-add{position:absolute;inset-inline-end:.1rem;bottom:.35rem;width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--maroon);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px -8px rgba(0,0,0,.6);transition:transform .2s,background-color .2s}
.p-add:hover{transform:scale(1.08);background:var(--sand)}
.p-add svg{width:20px;height:20px}
.p-add.added{background:#2e8b57;color:#fff}
.ph-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2.4rem;color:var(--ink-soft);background:color-mix(in srgb,var(--sand) 22%,var(--paper))}
.ph-empty.big{aspect-ratio:1;font-size:4rem}

/* type page */
.type-head{display:grid;grid-template-columns:1fr auto;gap:1.4rem;align-items:end;padding:.8rem 0 1rem}
.type-head h1{font-size:clamp(1.6rem,4.4vw,2.5rem);font-weight:900;line-height:1.3}
.type-intro{color:color-mix(in srgb,var(--cream) 75%,transparent);max-width:40rem;margin-top:.4rem}
.pricing-card{background:var(--paper);color:var(--ink);border-radius:1rem;padding:.9rem 1rem;box-shadow:var(--shadow-card);max-width:28rem;transform:rotate(.6deg)}
.tier-strip{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center}
.tier-strip+.tier-strip{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed color-mix(in srgb,var(--ink-soft) 25%,transparent)}
.tier-name{font-size:.85rem;margin-inline-end:.3rem}
.tier-pill{display:inline-flex;align-items:center;gap:.3rem;background:color-mix(in srgb,var(--sand) 35%,transparent);border-radius:.6rem;padding:.2rem .55rem;font-size:.85rem}
.tier-pill b{font-weight:900}
.pricing-card .mix-note{margin-top:.6rem;color:var(--ink-soft)}
.min-note{font-size:.86rem;font-weight:800;color:var(--sand);margin-top:.35rem}
.pricing-card .min-note{color:var(--wine)}
.cg-short{font-size:.84rem;font-weight:800;color:#ffb4a8;margin:.2rem 0}
.cl-min{color:#ffb4a8;font-weight:800}
.short-box{background:#fde7e4;color:#8e2a1f;border-radius:.9rem;padding:.7rem .9rem;font-weight:800;font-size:.9rem;margin-bottom:.8rem}
.mix-note{font-size:.84rem;font-weight:700;color:color-mix(in srgb,var(--cream) 72%,transparent)}
@media (max-width:760px){.type-head{grid-template-columns:1fr}.pricing-card{max-width:none;transform:none}}
.cat-banner{font-weight:700;padding-bottom:.6rem}
.cat-banner a{color:var(--sand);margin-inline-start:.6rem}
.search-box{position:relative;display:block;margin:.2rem 0 .7rem}
.search-box svg{position:absolute;inset-inline-start:1rem;top:50%;transform:translateY(-50%);width:19px;height:19px;color:var(--ink-soft);pointer-events:none}
.search-box input{width:100%;height:50px;padding:0 1rem;padding-inline-start:2.9rem;border-radius:999px;border:0;background:var(--paper);color:var(--ink);font:inherit;font-weight:600;font-size:1rem;box-shadow:0 10px 26px -14px rgba(0,0,0,.7)}
.search-box input:focus{outline:3px solid color-mix(in srgb,var(--sand) 65%,transparent)}
.search-box input::-webkit-search-cancel-button{-webkit-appearance:none}
/* One slim row that sticks right under the header, edge to edge in the header's own colour */
.toolbar{position:sticky;top:var(--hdr-h,68px);z-index:30;display:flex;gap:.5rem;align-items:center;margin:0 -16px .4rem;padding:.55rem 16px;background:color-mix(in srgb,var(--maroon) 95%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:box-shadow .25s}
.toolbar.stuck{box-shadow:0 12px 24px -16px rgba(0,0,0,.8);border-bottom:1px solid color-mix(in srgb,var(--cream) 10%,transparent)}
.pill{display:inline-flex;align-items:center;gap:.4rem;height:42px;padding:0 1rem;border-radius:999px;background:color-mix(in srgb,var(--cream) 9%,transparent);border:1px solid color-mix(in srgb,var(--cream) 24%,transparent);color:var(--cream);font-weight:800;font-size:.92rem;white-space:nowrap;cursor:pointer;transition:background-color .2s}
.pill:hover{background:color-mix(in srgb,var(--cream) 15%,transparent)}
.pill svg{width:17px;height:17px}
.filter-btn{display:none}
.filter-btn.on{background:var(--cream);color:var(--maroon);border-color:var(--cream)}
.sort-pill{position:relative;padding-inline-end:.6rem}
.sort-label{font-weight:700;opacity:.75}
.sort-pill select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;padding:0 .2rem;padding-inline-end:1.2rem;height:100%;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4ECDD' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:14px;background-position:left center}
[dir=ltr] .sort-pill select{background-position:right center}
.sort-pill select option{color:#222;background:#fff}
.toolbar .result-count{margin:0;margin-inline-start:auto;white-space:nowrap}
.badge{min-width:20px;height:20px;border-radius:10px;background:var(--sand);color:var(--maroon);font-size:.75rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.filter-btn.on .badge{background:var(--wine);color:var(--on-accent)}
.applied{display:flex;gap:.45rem;flex-wrap:wrap;padding:.2rem 0 .8rem}
.applied button{display:inline-flex;align-items:center;gap:.35rem;border-radius:2rem;padding:.35rem .5rem .35rem .8rem;padding-inline:.8rem .5rem;background:var(--cream);color:var(--maroon);font-weight:800;font-size:.84rem}
.applied button svg{width:14px;height:14px}
.applied .clear{background:transparent;color:var(--sand);text-decoration:underline}
.catalog-body{display:grid;grid-template-columns:240px 1fr;gap:1.8rem;align-items:start}
.facets{position:sticky;top:140px;display:flex;flex-direction:column;gap:1.2rem;max-height:calc(100vh - 160px);overflow:auto;padding-inline-end:.3rem}
.facet h3{font-size:.8rem;font-weight:900;letter-spacing:.08em;color:var(--sand-line);margin-bottom:.45rem}
.facet-opt{display:flex;align-items:center;gap:.55rem;padding:.42rem .3rem;border-radius:.6rem;cursor:pointer;font-weight:700;font-size:.93rem}
.facet-opt:hover{background:color-mix(in srgb,var(--cream) 7%,transparent)}
.facet-opt input{width:18px;height:18px;accent-color:var(--sand);flex:none}
.facet-opt span{flex:1}
.facet-opt .n{font-size:12px;font-weight:800;min-width:26px;height:22px;padding:0 7px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--cream) 12%,transparent);color:color-mix(in srgb,var(--cream) 80%,transparent)}
.facet-opt.zero{opacity:.38}
.sheet-head,.sheet-foot{display:none}
/* the filter sheet's own backdrop: it must live inside the same stacking layer as the sheet */
.sheet-scrim{position:fixed;inset:0;z-index:104;background:rgba(0,0,0,.6);opacity:0;transition:opacity .25s}
.sheet-scrim.show{opacity:1}
.sheet-scrim[hidden]{display:none}
.result-count{font-size:.88rem;color:color-mix(in srgb,var(--cream) 62%,transparent);margin-bottom:.8rem;font-weight:700}
.more-wrap{display:flex;justify-content:center;padding:1.6rem 0 .4rem}
@media (max-width:860px){
  .catalog-body{grid-template-columns:1fr}
  .filter-btn{display:inline-flex}
  .facets{position:fixed;inset:auto 0 0 0;top:auto;z-index:105;max-height:82vh;background:var(--maroon-deep);border-radius:1.4rem 1.4rem 0 0;padding:0 1.1rem calc(1rem + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);box-shadow:0 -20px 50px -10px rgba(0,0,0,.7);gap:1rem}
  .facets.open{transform:none}
  .sheet-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--maroon-deep);padding:1rem 0 .4rem;z-index:1}
  .sheet-head::before{content:"";position:absolute;top:.45rem;inset-inline-start:50%;width:44px;height:4px;border-radius:2px;background:color-mix(in srgb,var(--cream) 30%,transparent);transform:translateX(-50%)}
  .sheet-foot{display:flex;gap:.8rem;align-items:center;justify-content:space-between;position:sticky;bottom:0;background:var(--maroon-deep);padding:.8rem 0 .2rem}
  .sheet-foot .btn{flex:1}
  .facet-opt{padding:.7rem .3rem;font-size:1rem}
}

/* custom band */
.custom-band{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--wine) 85%,transparent),color-mix(in srgb,var(--wine-light) 70%,transparent));color:var(--on-accent);border-radius:1.3rem;padding:1.3rem 1.4rem;box-shadow:var(--shadow-card);transition:transform .25s}
.custom-band:hover{transform:translateY(-3px)}
.custom-band b{display:block;font-size:1.15rem;font-weight:900}
.custom-band.small{grid-template-columns:auto 1fr;margin-top:2rem}
.cb-art{width:54px;height:54px;border-radius:50%;background:color-mix(in srgb,var(--on-accent) 16%,transparent);display:flex;align-items:center;justify-content:center;font-size:1.6rem}
@media (max-width:620px){.custom-band{grid-template-columns:auto 1fr}.custom-band .btn{grid-column:1/-1}}
.how-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;counter-reset:s}
.how-steps li{background:color-mix(in srgb,var(--cream) 6%,transparent);border:1px solid color-mix(in srgb,var(--cream) 12%,transparent);border-radius:1rem;padding:1.1rem;font-weight:600;line-height:1.8}
.how-steps b{display:flex;width:32px;height:32px;border-radius:50%;background:var(--sand);color:var(--maroon);align-items:center;justify-content:center;font-weight:900;margin-bottom:.5rem}
@media (max-width:760px){.how-steps{grid-template-columns:1fr}}
.empty-state{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;font-weight:700;grid-column:1/-1}
.empty-art{font-size:3rem;color:var(--sand);animation:twinkle 3s ease-in-out infinite}

/* product page */
.pdp{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:2.6rem;padding:1rem 0 2rem;align-items:start}
.gallery{position:sticky;top:90px}
.g-main{position:relative;background:var(--paper);padding:.8rem .8rem 2rem;box-shadow:var(--shadow-card);transform:rotate(var(--tilt));cursor:zoom-in}
.g-main img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff}
.g-main .tape{top:-12px;right:40%}
.thumbs{display:flex;gap:.6rem;margin-top:1.4rem;overflow-x:auto;padding-bottom:.3rem}
.thumb{flex:none;width:72px;height:72px;border-radius:.7rem;overflow:hidden;background:var(--paper);border:2px solid transparent;padding:3px;opacity:.7;transition:opacity .2s,border-color .2s}
.thumb.on,.thumb:hover{opacity:1;border-color:var(--sand)}
.thumb img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.copyright-note{font-size:.75rem;color:color-mix(in srgb,var(--cream) 50%,transparent);margin-top:.8rem;text-align:center}
.buy h1{font-size:clamp(1.5rem,3.6vw,2.2rem);font-weight:900;line-height:1.35;margin:.3rem 0 .4rem}
.size-cue{font-weight:700;color:var(--sand);margin-bottom:.6rem}
.desc{white-space:pre-line;color:color-mix(in srgb,var(--cream) 82%,transparent);margin-bottom:1.1rem;line-height:1.9}
.tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.6rem;margin:.6rem 0 .7rem}
.tier-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.75rem .4rem;border-radius:1rem;background:color-mix(in srgb,var(--cream) 7%,transparent);border:2px solid color-mix(in srgb,var(--cream) 16%,transparent);color:var(--cream);transition:border-color .2s,background-color .2s,transform .2s}
.tier-card b{font-size:1.15rem;font-weight:900}
.tier-card small{font-size:.74rem;color:color-mix(in srgb,var(--cream) 62%,transparent);font-weight:700}
.tier-card:hover{transform:translateY(-2px)}
.tier-card.on{border-color:var(--sand);background:color-mix(in srgb,var(--sand) 16%,transparent)}
.tier-card .best{position:absolute;top:-10px;inset-inline-end:8px;background:var(--wine);color:var(--on-accent);font-size:.66rem;font-weight:900;border-radius:1rem;padding:.1rem .5rem}
.qty-row{display:flex;gap:.7rem;align-items:stretch;margin:1rem 0 .4rem;flex-wrap:wrap}
.stepper{display:flex;align-items:center;border-radius:.95rem;background:var(--paper);color:var(--ink);overflow:hidden}
.stepper button{width:44px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.stepper button svg{width:18px;height:18px}
.stepper input{width:56px;text-align:center;border:0;background:transparent;font:inherit;font-weight:900;font-size:1.1rem;color:var(--ink);-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper.sm button{width:36px;height:38px}
.stepper.sm input{width:42px;font-size:1rem}
.add-btn{flex:1;min-width:12rem}
.add-btn svg{width:20px;height:20px}
.nudge{min-height:1.6em;font-weight:800;color:var(--sand);font-size:.92rem}
.cod-note{display:flex;gap:.55rem;align-items:flex-start;background:color-mix(in srgb,var(--cream) 6%,transparent);border-radius:.9rem;padding:.75rem .9rem;font-size:.86rem;font-weight:600;margin-top:.8rem;line-height:1.8}
.cod-note svg{width:18px;height:18px;flex:none;margin-top:.25rem;color:#7ed6a0}
.sticky-buy{position:fixed;inset:auto 0 0 0;z-index:70;display:flex;align-items:center;gap:.8rem;padding:.7rem 16px calc(.7rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--maroon-deep) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid color-mix(in srgb,var(--cream) 14%,transparent)}
.sticky-buy .sb-name{flex:1;font-weight:800;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lightbox{position:fixed;inset:0;z-index:150;background:rgba(10,4,5,.92);display:flex;align-items:center;justify-content:center;padding:16px}
.lightbox[hidden]{display:none}
.lb-frame{position:relative;max-width:min(96vw,1200px);max-height:90vh}
.lb-frame img{max-width:100%;max-height:90vh;object-fit:contain;background:#fff}
.lb-close{position:absolute;top:16px;inset-inline-end:16px;z-index:3}
@media (max-width:860px){.pdp{grid-template-columns:1fr;gap:1.6rem}.gallery{position:static}}

/* drawer + cart bar */
.drawer-scrim{position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.5);opacity:0;transition:opacity .25s}
.drawer-scrim.show{opacity:1}
.drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;z-index:100;width:min(420px,100vw);background:var(--maroon-deep);box-shadow:-20px 0 60px -10px rgba(0,0,0,.7);transform:translateX(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;visibility:hidden}
[dir=ltr] .drawer{transform:translateX(105%)}
.drawer.open{transform:none;visibility:visible}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border-bottom:1px solid color-mix(in srgb,var(--cream) 12%,transparent)}
.drawer-head b{font-size:1.15rem;font-weight:900}
.drawer-body{flex:1;overflow:auto;padding:1rem 1.1rem}
.drawer-foot{padding:1rem 1.1rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--cream) 12%,transparent);display:flex;flex-direction:column;gap:.6rem}
.drawer-foot .total{display:flex;justify-content:space-between;font-weight:900;font-size:1.1rem}
.cart-bar{position:fixed;inset:auto 12px calc(12px + env(safe-area-inset-bottom)) 12px;z-index:80;display:none;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1.1rem;border-radius:1.1rem;background:var(--cream);color:var(--maroon);font-weight:900;box-shadow:0 18px 40px -12px rgba(0,0,0,.75)}
.cart-bar .cb-next{font-size:.78rem;font-weight:700;opacity:.8;display:block}
@media (max-width:860px){.cart-bar:not([hidden]){display:flex}.shop-page.has-sticky .cart-bar{display:none}}

/* cart groups (drawer + cart page) */
.cgroup{background:color-mix(in srgb,var(--cream) 5%,transparent);border:1px solid color-mix(in srgb,var(--cream) 12%,transparent);border-radius:1.1rem;padding:.9rem;margin-bottom:1rem}
.cgroup-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.4rem}
.cgroup-head b{font-weight:900}
.progress{height:8px;border-radius:4px;background:color-mix(in srgb,var(--cream) 12%,transparent);overflow:hidden;margin:.45rem 0 .3rem}
.progress i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--sand),var(--sand-line));transition:width .4s}
.cg-next{font-size:.84rem;font-weight:800;color:var(--sand)}
.cg-next.max{color:#8fe0ae}
.cline{display:grid;grid-template-columns:56px 1fr auto;gap:.7rem;align-items:center;padding:.6rem 0;border-top:1px dashed color-mix(in srgb,var(--cream) 10%,transparent)}
.cline:first-of-type{border-top:0}
.cl-img{position:relative;width:56px;height:56px;background:var(--paper);border-radius:.5rem;overflow:hidden;padding:2px}
.cl-img img{width:100%;height:100%;object-fit:contain}
.cl-name{font-weight:800;font-size:.92rem;line-height:1.45}
.cl-name small{display:block;font-weight:600;font-size:.76rem;color:color-mix(in srgb,var(--cream) 58%,transparent)}
.cl-side{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}
.cl-remove{font-size:.76rem;color:color-mix(in srgb,var(--cream) 55%,transparent);text-decoration:underline}
.cart-empty{text-align:center;padding:2.4rem 1rem;font-weight:700}
.cart-empty .btn{margin-top:1rem}

/* cart page + forms */
.cart-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem;align-items:start;padding:.6rem 0 2rem}
.cart-page h1{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:900;margin-bottom:1rem}
@media (max-width:900px){.cart-page{grid-template-columns:1fr}}
.request-form{display:flex;flex-direction:column;gap:1.1rem;max-width:44rem}
.cart-page .request-form{max-width:none;position:sticky;top:90px}
.form-block{border:0;margin:0;padding:1.2rem;border-radius:1.2rem;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;gap:.85rem;box-shadow:var(--shadow-card)}
.form-block legend{font-weight:900;font-size:1.1rem;padding:0;float:right;width:100%;margin-bottom:.2rem}
[dir=ltr] .form-block legend{float:left}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
@media (max-width:620px){.grid-2{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.3rem;font-weight:800;font-size:.9rem}
.field small{font-weight:600;font-size:.76rem;color:var(--ink-soft)}
.field input,.field select,.field textarea,.with-prefix{width:100%;padding:.78rem .9rem;border-radius:.8rem;border:1.5px solid color-mix(in srgb,var(--ink-soft) 28%,transparent);background:#fff;color:var(--ink);font:inherit;font-weight:600;font-size:1rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px color-mix(in srgb,var(--wine) 18%,transparent)}
.field .bad,.field input.bad,.field select.bad,.field textarea.bad{border-color:#c0392b}
.with-prefix{display:flex;align-items:center;gap:.2rem;padding:0 .8rem}
.with-prefix i{font-style:normal;color:var(--ink-soft);font-weight:800}
.with-prefix input{border:0;padding:.78rem 0;box-shadow:none!important;outline:none}
.check{display:flex;gap:.5rem;align-items:center;font-weight:700;font-size:.88rem}
.check input{width:18px;height:18px;accent-color:var(--wine)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.seg label{position:relative}
.seg input{position:absolute;opacity:0}
.seg span{display:block;text-align:center;padding:.75rem;border-radius:.8rem;border:1.5px solid color-mix(in srgb,var(--ink-soft) 28%,transparent);font-weight:800;cursor:pointer;background:#fff}
.seg input:checked+span{border-color:var(--wine);background:color-mix(in srgb,var(--wine) 12%,#fff)}
.seg input:focus-visible+span{outline:2px solid var(--wine)}
.hp-field{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.link-btn{color:var(--wine);font-weight:800;text-decoration:underline;font-size:.92rem;padding:0}
.code-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.code-row input{flex:1;min-width:8rem;padding:.7rem .9rem;border-radius:.8rem;border:1.5px dashed color-mix(in srgb,var(--wine) 50%,transparent);font:inherit;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.code-msg{font-weight:800;font-size:.86rem}
.code-msg.ok{color:#1d7a3a}
.code-msg.err{color:#b03a2e}
.form-error{background:#fde7e4;color:#8e2a1f;border-radius:.9rem;padding:.8rem 1rem;font-weight:800}
.submit-btn{width:100%;padding:1.05rem;font-size:1.1rem}
.submit-btn[disabled]{opacity:.6;pointer-events:none}
.summary{background:var(--paper);color:var(--ink);border-radius:1.2rem;padding:1.1rem 1.2rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.35rem;font-weight:700}
.summary .row{display:flex;justify-content:space-between;gap:1rem}
.summary .save{color:#1d7a3a}
.summary .grand{font-size:1.2rem;font-weight:900;border-top:1px dashed color-mix(in srgb,var(--ink-soft) 30%,transparent);padding-top:.5rem;margin-top:.2rem}
.summary small{color:var(--ink-soft);font-weight:600}

/* uploads */
.drop{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.4rem 1rem;border-radius:1rem;border:2px dashed color-mix(in srgb,var(--wine) 40%,transparent);background:color-mix(in srgb,var(--sand) 18%,#fff);cursor:pointer;text-align:center;transition:background-color .2s,border-color .2s}
.drop:hover,.drop.over{background:color-mix(in srgb,var(--sand) 32%,#fff);border-color:var(--wine)}
.drop svg{width:34px;height:34px;color:var(--wine)}
.drop small{color:var(--ink-soft);font-weight:600}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.file-list{display:flex;flex-direction:column;gap:.6rem}
.file-row{display:grid;grid-template-columns:64px 1fr auto;gap:.7rem;align-items:center;background:#fff;border-radius:.9rem;padding:.5rem;border:1px solid color-mix(in srgb,var(--ink-soft) 18%,transparent)}
.file-row .fr-thumb{width:64px;height:64px;border-radius:.6rem;background:color-mix(in srgb,var(--sand) 25%,#fff);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:1.6rem}
.file-row .fr-thumb img{width:100%;height:100%;object-fit:cover}
.fr-name{font-weight:800;font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.fr-meta{font-size:.76rem;color:var(--ink-soft);font-weight:600}
.fr-meta.warn{color:#b9770e}
.fr-meta.err{color:#b03a2e;font-weight:800}
.fr-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin-top:.3rem}
.fr-controls select{padding:.35rem .5rem;border-radius:.6rem;border:1.5px solid color-mix(in srgb,var(--ink-soft) 28%,transparent);font:inherit;font-size:.85rem;font-weight:700;background:#fff}
.fr-bar{height:5px;border-radius:3px;background:color-mix(in srgb,var(--ink-soft) 14%,transparent);overflow:hidden;margin-top:.3rem}
.fr-bar i{display:block;height:100%;background:var(--wine);width:0;transition:width .2s}
.fr-del{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}
.fr-del:hover{background:#fde7e4;color:#b03a2e}
.fr-del svg{width:16px;height:16px}
.file-row.failed{background:#fff6f5;border-color:#f3c1bb}
.quote-box{background:var(--paper);color:var(--ink);border-radius:1.2rem;padding:1rem 1.2rem;box-shadow:var(--shadow-card)}
.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:1rem;margin-bottom:.8rem}
.size-card{background:var(--paper);color:var(--ink);border-radius:1rem;padding:1rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:.5rem}
.size-card b{font-size:1.2rem;font-weight:900}

/* request page */
.req-page{padding:1.6rem 0 2rem;display:flex;justify-content:center}
.req-card{width:min(640px,100%);background:color-mix(in srgb,var(--cream) 5%,transparent);border:1px solid color-mix(in srgb,var(--cream) 14%,transparent);border-radius:1.6rem;padding:1.6rem 1.3rem;display:flex;flex-direction:column;gap:1rem}
.req-card h1{font-size:clamp(1.5rem,4.4vw,2.1rem);font-weight:900;line-height:1.35}
.req-status{font-weight:700;color:color-mix(in srgb,var(--cream) 85%,transparent);line-height:1.9}
.timeline{display:flex;justify-content:space-between;gap:.3rem;position:relative;padding:.4rem 0}
.timeline::before{content:"";position:absolute;top:1.15rem;inset-inline:6%;height:2px;background:color-mix(in srgb,var(--cream) 18%,transparent)}
.timeline li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:1;text-align:center;font-size:.72rem;font-weight:800;color:color-mix(in srgb,var(--cream) 50%,transparent)}
.timeline .dot{width:26px;height:26px;border-radius:50%;background:var(--maroon-deep);border:2px solid color-mix(in srgb,var(--cream) 25%,transparent);display:flex;align-items:center;justify-content:center}
.timeline .dot svg{width:14px;height:14px}
.timeline li.done{color:var(--cream)}
.timeline li.done .dot{background:var(--sand);border-color:var(--sand);color:var(--maroon)}
.timeline li.now .dot{box-shadow:0 0 0 5px color-mix(in srgb,var(--sand) 30%,transparent);animation:pulseDot 2s ease-in-out infinite}
@keyframes pulseDot{50%{box-shadow:0 0 0 9px color-mix(in srgb,var(--sand) 10%,transparent)}}
.tg-cta{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;background:linear-gradient(135deg,#2aa3df,#1c7fc0);color:#fff;border-radius:1.2rem;padding:1.1rem 1.2rem;box-shadow:0 18px 40px -14px rgba(28,127,192,.7);transition:transform .2s}
.tg-cta:hover{transform:translateY(-2px)}
.tg-cta svg{width:42px;height:42px}
.tg-cta b{display:block;font-size:1.1rem;font-weight:900}
.tg-cta span span{font-size:.86rem;font-weight:600;opacity:.92}
.req-lines{display:flex;flex-direction:column;gap:.5rem}
.req-lines li{display:grid;grid-template-columns:auto 1fr auto auto;gap:.6rem;align-items:center;font-weight:700;font-size:.92rem}
.li-img{position:relative;width:48px;height:48px;background:var(--paper);border-radius:.5rem;overflow:hidden;padding:2px}
.li-img img{width:100%;height:100%;object-fit:contain}
.req-lines .p-code{grid-column:2;grid-row:2;margin-top:-.4rem}
.req-total{border-top:1px dashed color-mix(in srgb,var(--cream) 20%,transparent);padding-top:.8rem;display:flex;flex-direction:column;gap:.2rem}
.req-total p{display:flex;justify-content:space-between;gap:1rem;font-weight:700}
.req-total .big{font-size:1.15rem;font-weight:900}
.req-total small{color:color-mix(in srgb,var(--cream) 60%,transparent)}
.req-desc{white-space:pre-line;background:color-mix(in srgb,var(--cream) 6%,transparent);border-radius:.9rem;padding:.8rem 1rem}
.req-expire,.keep-link,.req-files{font-size:.86rem;font-weight:700;color:color-mix(in srgb,var(--cream) 70%,transparent)}
.req-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.req-actions .btn{flex:1;min-width:12rem}
.req-actions .btn svg{width:18px;height:18px}

@media (prefers-reduced-motion:reduce){.p-card,.empty-art{animation:none}.drawer,.facets,.p-media,.tile-paper{transition:none}}

.shop-header .nav-logo b .ar2{font-size:max(.72rem,12px)}
@media (max-width:400px){.sort-label{display:none}.toolbar{gap:.4rem}.pill{padding:0 .8rem}}
.chip-link.sm{min-height:40px}
.stepper input{height:100%;align-self:stretch}
.cart-count{font-size:12px}
.tier-card small{font-size:max(.74rem,12px)}
.tier-card .best{font-size:12px}
/* the floating cart bar never hides the end of a page, and its message stays on one line */
@media (max-width:860px){
  body.has-cart-bar .shop-main{padding-bottom:6.5rem}
  body.has-cart-bar .site-footer{padding-bottom:6rem}
  .cart-bar>span:first-child{min-width:0;flex:1}
  .cart-bar .cb-next{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
.tiers{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}
.stepper.sm button{width:40px;height:40px}
.stepper.sm input{width:44px;height:40px}
.timeline li{font-size:12px}
.shop-header{background:color-mix(in srgb,var(--maroon) 95%,transparent)}
/* narrow phones: a cart line is name on top, then stepper · price · remove underneath */
@media (max-width:430px){
  .cline{grid-template-columns:56px 1fr;row-gap:.5rem}
  .cl-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:.6rem}
  .cl-side .money{margin-inline-start:auto}
}
/* toast: truly centred in Arabic too, and at the top so it never covers the bottom buttons */
.shop-page .toast{left:50%;right:auto;inset-inline-start:auto;top:calc(var(--hdr-h,68px) + 12px);bottom:auto;transform:translate(-50%,-12px);z-index:130}
.shop-page .toast.show{transform:translate(-50%,0)}
.shop-page .toast{white-space:nowrap}

/* delivery fee under the governorate picker */
.fee-note{margin:-.2rem 0 .9rem;padding:.55rem .8rem;border-radius:.7rem;background:color-mix(in srgb,var(--wine) 9%,transparent);color:var(--ink);font-size:.88rem;font-weight:700;line-height:1.6}
.fee-note .money{color:var(--wine);font-weight:900}
