/* Ekspres — fast food kiosku: siyah başlık, sarı vurgular, üçlü ürün ızgarası ve iri fiyat etiketleri (raf şablonu) */
.theme-ekspres {
  --bg: #f3f3f1; --surface: #ffffff; --surface-2: #ebebe8; --text: #111111; --muted: #545454; --faint: #9b9b9b;
  --line: rgba(0, 0, 0, .09); --line-strong: rgba(0, 0, 0, .2); --radius: 12px; --price: var(--text);
  --ink: #111111; --hot: #d7261e;
  --card: 0 1px 2px rgba(0, 0, 0, .06), 0 8px 18px -14px rgba(0, 0, 0, .35);
}
.theme-ekspres [data-section] { scroll-margin-top: 66px; }
.theme-ekspres h1, .theme-ekspres h2 { font-weight: 400; text-transform: uppercase; }

/* Başlık: siyah blok, sarı logo, kapak fotoğrafı altta */
.shop { --pad: max(16px, calc((100vw - 680px) / 2)); position: relative; padding: calc(12px + var(--safe-t)) var(--pad) 0; background: var(--ink); color: #fff; }
.shop:not(:has(.window)) { padding-bottom: 22px; }
.shop-tools { display: flex; justify-content: flex-end; }
.shop .tool { background: rgba(255, 255, 255, .1); color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.sign { display: block; margin-top: 8px; animation: none; }
.rope { display: none; }
.sign-board { display: flex; align-items: center; gap: 14px; padding: 0; background: none; box-shadow: none; color: #fff; }
.sign-board::before { content: none; }
.sign-logo { width: 60px; height: 60px; border-radius: 50%; overflow: hidden; flex-shrink: 0; display: grid; place-items: center; background: var(--primary); color: var(--on-primary); font-family: var(--font-head); font-size: 28px; box-shadow: 0 0 0 3px var(--ink), 0 0 0 5px var(--primary); }
.shop h1 { font-size: clamp(30px, 9.4vw, 46px); line-height: .98; letter-spacing: .01em; text-align: start; }
.tagline { color: rgba(255, 255, 255, .82); font-size: 15px; margin-top: 12px; }
.meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.meta .status-pill { height: 30px; border-radius: 6px; background: rgba(255, 255, 255, .1); color: #fff; }
.meta .table-pill { height: 30px; border-radius: 6px; background: var(--primary); color: var(--on-primary); font-weight: 700; }
.window { margin: 18px calc(-1 * var(--pad)) 0; aspect-ratio: 16 / 8; overflow: hidden; border-bottom: 6px solid var(--primary); }
.window img { width: 100%; height: 100%; object-fit: cover; }

/* İşlemler: kiosk düğmeleri */
.acts { max-width: 680px; margin: 0 auto; padding: 14px 16px 0; gap: 8px; }
.act { height: 44px; padding: 0 14px 0 10px; border-radius: 10px; background: var(--surface); box-shadow: var(--card); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.act-ic { width: 26px; height: 26px; border-radius: 7px; background: var(--primary); color: var(--on-primary); }
.act-ic .icon { width: 15px; height: 15px; }
.banner { max-width: 648px; margin: 14px 16px 0; border-radius: 12px; background: var(--primary); color: var(--on-primary); box-shadow: none; font-weight: 700; }
.banner-ic { background: var(--ink); color: var(--primary); }
.camps { padding-inline: 16px; }
.camp { border-radius: 12px; }
.camp-ic { border-radius: 9px; background: var(--ink); color: var(--primary); }
@media (min-width: 680px) { .banner { margin-inline: auto; } }

/* Kategori şeridi: siyah bant, sarı etkin sekme */
.aisles { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 6px; margin-top: 18px; padding: 8px 0 8px 10px; background: var(--ink); }
.aisles-row { flex: 1; display: flex; gap: 4px; overflow-x: auto; }
.aisles-row a { flex-shrink: 0; height: 40px; display: grid; place-items: center; padding: 0 14px; border-radius: 8px; font-size: 13.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: rgba(255, 255, 255, .78); white-space: nowrap; transition: background .2s, color .2s; }
.aisles-row a.active { background: var(--primary); color: var(--on-primary); }
.aisles-btn { width: 46px; height: 40px; margin-inline-end: 8px; border-radius: 8px; display: grid; place-items: center; flex-shrink: 0; background: rgba(255, 255, 255, .12); color: #fff; }

/* Ürün ızgarası: üçlü kiosk kartları */
.store { max-width: 680px; margin: 0 auto; padding: 0 12px 30px; }
.unit { padding-top: 28px; }
.plaque { display: flex; align-items: center; gap: 10px; padding: 0 4px; }
.plaque h2 { font-size: clamp(26px, 8vw, 34px); line-height: 1; letter-spacing: .01em; }
.plaque::after { content: ''; flex: 1; height: 6px; border-radius: 3px; background: var(--primary); }
.unit-desc { color: var(--muted); font-size: 14px; margin: 8px 4px 0; }
.unit > .sec-closed { display: flex; width: fit-content; max-width: 100%; margin: 8px 4px 0; }
.items { margin-top: 12px; }
.shelf { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 8px; align-items: stretch; }
.good { position: relative; display: flex; flex-direction: column; align-items: flex-start; text-align: start; padding-bottom: 10px; border-radius: 12px; overflow: hidden; background: var(--surface); box-shadow: var(--card); transition: transform .2s var(--spring); }
.good:active { transform: scale(.97); }
.jar { position: relative; width: 100%; aspect-ratio: 1; overflow: hidden; background: var(--surface-2); }
.jar img { width: 100%; height: 100%; object-fit: cover; }
.jar .ph { background: color-mix(in srgb, var(--primary) 22%, var(--surface)); color: var(--ink); }
.jar .ph b { font-size: 34px; }
.jar .add { position: absolute; bottom: 6px; inset-inline-end: 6px; width: 30px; height: 30px; background: var(--ink); color: var(--primary); box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .5); }
.jar .add .icon { width: 16px; height: 16px; stroke-width: 3; }
.tag-hang { position: relative; z-index: 1; margin: -13px 0 0 6px; margin-inline: 6px 0; padding: 3px 8px; border-radius: 6px; background: var(--primary); color: var(--on-primary); font-size: 13px; font-weight: 800; line-height: 1.4; box-shadow: 0 0 0 2px var(--surface); }
.tag-hang:has(.price:empty) { display: none; }
.hole { display: none; }
.tag-hang small { font-weight: 700; }
.good h3 { padding: 0 8px; margin-top: 7px; font-family: var(--font-body); font-size: 12.5px; font-weight: 600; line-height: 1.25; text-transform: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sold { margin: 4px 8px 0; font-size: 10px; font-weight: 800; text-transform: uppercase; color: var(--hot); }
.unavailable .items { opacity: .55; }
@media (min-width: 560px) { .good h3 { font-size: 14px; } }

/* Pencereler */
.sheet-body > h2, .p-body h2 { font-family: var(--font-head); font-weight: 400; text-transform: uppercase; letter-spacing: .01em; }
.p-price { font-weight: 800; }
.cta { border-radius: 12px; text-transform: uppercase; font-weight: 700; letter-spacing: .02em; box-shadow: none; }
.cart-bar { background: var(--ink); border-radius: 14px; }
.cart-count { border-radius: 10px; background: var(--primary); color: var(--on-primary); }
.tag { border-radius: 6px; font-weight: 700; }
.foot-name { font-weight: 400; text-transform: uppercase; font-size: 22px; }
.foot-social a { box-shadow: var(--card); }
body:is(.dm-on) .cart-bar { background: var(--primary); color: var(--on-primary); }
body:is(.dm-on) .cart-count { background: var(--ink); color: var(--primary); }
/* Happy hour rozeti açık zeminlerde AA kontrastta */
.tag.b-happy { color: #92400e; }
