/* Visitor presentation is independent of catalog eligibility and checkout state. */
.marketplace-home .gs-marketplace-consent { position:fixed;z-index:1000;inset:auto 16px 16px;max-width:640px;margin:auto;padding:20px;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow); }
.marketplace-home .gs-marketplace-consent h2 { margin:0 0 10px;font-size:20px; }
.marketplace-home .gs-marketplace-consent p { margin:0 0 16px;line-height:1.5; }
.marketplace-home .gs-marketplace-consent__actions { display:flex;flex-wrap:wrap;gap:10px; }
.marketplace-home .gs-marketplace-consent button,.marketplace-home .gs-marketplace-consent-trigger { min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font:inherit;cursor:pointer; }
.marketplace-home .gs-marketplace-consent-trigger { position:fixed;z-index:60;bottom:12px;left:16px; }
.marketplace-home .gs-marketplace-consent[hidden],.marketplace-home .gs-marketplace-consent-trigger[hidden] { display:none; }
.home-preferences { width:min(1220px,calc(100% - 64px)); margin:18px auto 0; display:flex; justify-content:flex-end; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.home-preferences[hidden] { display:none; }
.home-preferences label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:13px; }
.home-preferences select,.home-preferences button { min-height:40px; padding:7px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--white); font:inherit; font-size:13px; }
.home-preferences button { cursor:pointer; }
.home-showcase { display:none; min-width:0; }
html[data-home-enhanced][data-home-template="showcase"] .home-showcase { display:block; }
html[data-home-enhanced][data-home-template="showcase"] .home-essential { display:none; }
html[data-home-enhanced][data-home-template="showcase"] .marketplace-home .hero { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
html[data-home-enhanced][data-home-template="showcase"] .marketplace-home .hero-vegan { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.showcase-stage { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:12px; }
.showcase-card { position:relative; flex:0 0 260px; width:260px; scroll-snap-align:center; }
.showcase-open { display:block; position:relative; width:100%; height:420px; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.5); border-radius:20px; background:#17252a; color:#fff; cursor:pointer; text-align:left; font:inherit; }
.showcase-open img { display:block; width:100%; height:100%; object-fit:cover; }
.showcase-caption { position:absolute; inset:auto 0 0; display:grid; gap:8px; padding:64px 22px 24px; background:linear-gradient(transparent,rgba(8,16,20,.92) 48%); }
.showcase-caption strong { font-size:25px; line-height:1.15; font-weight:700; letter-spacing:-.025em; overflow-wrap:anywhere; }
.showcase-caption > span:last-child { font-size:13px; color:#e2e7e9; }
.showcase-kind { font-size:12px; color:#f1dcc0; }
.showcase-direct { display:inline-flex; min-height:36px; align-items:center; padding:4px 8px; font-size:13px; color:var(--accent-link); }
.is-ready .showcase-stage { position:relative; display:block; height:480px; overflow:hidden; perspective:1100px; touch-action:pan-y; user-select:none; }
.is-ready .showcase-card { position:absolute; top:16px; left:50%; width:63%; max-width:310px; transform:translateX(calc(-50% + var(--slot)*46%)) translateZ(calc(var(--depth)*-85px)) rotateY(calc(var(--slot)*-13deg)); z-index:calc(10 - var(--depth)); transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s ease; }
.is-ready .showcase-card.is-outside { opacity:0; pointer-events:none; }
.is-ready .showcase-card:not(.is-active) { pointer-events:none; }
.is-ready .showcase-card.is-active .showcase-open { border-color:var(--focus); }
.is-ready .showcase-card .showcase-open { height:430px; }
.is-ready .showcase-card .showcase-direct { display:none; }
.showcase-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:0; }
.showcase-controls[hidden] { display:none; }
.showcase-controls button,.showcase-close { display:grid; place-items:center; width:46px; height:46px; flex:none; padding:10px; border:1px solid var(--line); border-radius:50%; background:var(--white); color:var(--ink); cursor:pointer; }
.showcase-controls button:hover { border-color:var(--accent-link); }
.showcase-controls p { margin:0; max-width:25ch; font-size:13px; text-align:center; color:var(--muted); }
.showcase-controls svg,.showcase-close svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.showcase-hint { margin:16px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.showcase-empty { padding:46px 30px; border:1px solid var(--line); border-radius:18px; background:var(--white); }
.showcase-empty h2 { font-size:32px; line-height:1.12; }
.showcase-empty p { color:var(--muted); }
.showcase-dialog { width:min(780px,calc(100% - 32px)); max-height:90dvh; padding:0; border:1px solid var(--line); border-radius:20px; color:var(--ink); background:var(--white); overflow:auto; }
.showcase-dialog[open] { display:grid; grid-template-columns:.9fr 1.1fr; }
.showcase-dialog::backdrop { background:rgba(6,16,22,.78); }
.showcase-dialog > img { width:100%; height:100%; min-height:400px; object-fit:cover; }
.showcase-close { position:absolute; top:12px; right:12px; z-index:1; }
.showcase-detail { min-width:0; padding:64px 28px 32px; }
.showcase-detail h2 { font-size:30px; line-height:1.1; overflow-wrap:anywhere; }
.showcase-detail p { white-space:pre-line; overflow-wrap:anywhere; }
.showcase-restaurant { font-weight:650; }
.showcase-condition { font-size:13px; color:var(--muted); }
.showcase-detail .button { height:auto; min-height:48px; padding-block:12px; text-align:center; }
html[data-home-theme="light"] body { color-scheme:light; --ink:#122b3a;--muted:#496170;--paper:#f5f3ec;--white:#fffefa;--line:#d8dedb;--accent:#075f9c;--accent-dark:#064a79;--accent-link:#064a79;--accent-bright:#5ac8fa;--sun:#f2c46d;--green:#234f48;--focus:#075f9c;--shadow:0 14px 34px rgba(18,43,58,.14);--status-background:#e6f1f2;--status-ink:#104951;--warning-background:#fff0d5;--warning-ink:#654313; }
html[data-home-theme="dark"] body { color-scheme:dark;--ink:#e7eff2;--muted:#b1c3ca;--paper:#101f29;--white:#182c36;--line:#354a54;--accent:#075f9c;--accent-dark:#064a79;--accent-link:#83d1f4;--accent-bright:#2c6d8b;--sun:#9b7436;--green:#173d32;--focus:#9bdcf6;--shadow:0 14px 34px rgba(0,0,0,.4);--status-background:#17343d;--status-ink:#c4e6ec;--warning-background:#44391f;--warning-ink:#f4dfa8; }
@media(max-width:680px) {
    .home-preferences { width:calc(100% - 36px); margin-top:16px; justify-content:flex-start; gap:8px 12px; }
    .home-preferences label { font-size:12px; }
    .home-preferences button { font-size:12px; }
    .is-ready .showcase-stage { height:400px; }
    .is-ready .showcase-card { width:72%; max-width:280px; }
    .is-ready .showcase-card .showcase-open { height:360px; }
    .showcase-caption { padding:55px 18px 22px; }
    .showcase-caption strong { font-size:23px; }
    .showcase-dialog[open] { display:block; }
    .showcase-dialog > img { height:220px; min-height:0; }
    .showcase-detail { padding:26px 24px; }
}
@media(prefers-reduced-motion:reduce) { .is-ready .showcase-card { transition:none; } }
