/* Plaza — ofis kafeteryası ve kurumsal kantin: uygulama başlığı, alt çizgili sekmeler, her sekme ayrı sayfa, sade satır kartları (neon şablonu) */
.theme-plaza {
  --bg: #f3f4f6; --surface: #ffffff; --surface-2: #eceef1; --text: #1b1f24; --muted: #59616d; --faint: #959ba5;
  --line: rgba(27, 31, 36, .1); --line-strong: rgba(27, 31, 36, .2); --radius: 8px; --price: var(--text);
  --card: 0 0 0 1px rgba(27, 31, 36, .08), 0 2px 4px rgba(27, 31, 36, .04);
}
.theme-plaza [data-section] { scroll-margin-top: 70px; }

/* Uygulama başlığı */
.sign { position: relative; overflow: hidden; padding: calc(12px + var(--safe-t)) 16px 18px; background: var(--surface); box-shadow: 0 1px 0 var(--line); }
.sky, .floor { display: none; }
.sign-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.n-logo { width: 46px; height: 46px; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: var(--primary); color: var(--on-primary); font-family: var(--font-head); font-weight: 800; font-size: 22px; }
.sign .tool { border-radius: 8px; background: var(--surface-2); color: var(--text); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.open-sign { display: inline-flex; align-items: center; gap: 7px; margin-top: 18px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.sign h1 { font-size: clamp(26px, 7.6vw, 36px); font-weight: 800; letter-spacing: -.015em; line-height: 1.1; margin-top: 4px; text-wrap: balance; }
.tagline { color: var(--muted); margin-top: 6px; font-size: 15px; }
.meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.meta:not(:has(.table-pill)) { display: none; }
.meta .status-pill { display: none; }
.meta .table-pill { height: 30px; border-radius: 6px; background: var(--primary-soft); color: var(--primary-ink); font-weight: 700; }
.screen { position: relative; margin-top: 16px; aspect-ratio: 16 / 7; border-radius: 10px; overflow: hidden; }
.screen img { width: 100%; height: 100%; object-fit: cover; }

/* Hızlı işlemler: eşit kutucuklar */
.acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(76px, 1fr)); gap: 8px; padding: 14px 16px 0; overflow: visible; }
.act { flex-direction: column; justify-content: center; gap: 6px; min-height: 70px; padding: 10px 6px; border-radius: 8px; background: var(--surface); box-shadow: var(--card); }
.act-ic { color: var(--primary-ink); }
.act-ic .icon { width: 20px; height: 20px; }
.act-l { font-size: 11.5px; font-weight: 600; max-width: 100%; white-space: normal; text-align: center; line-height: 1.2; overflow-wrap: anywhere; }
.banner { margin: 14px 16px 0; border-radius: 8px; background: var(--surface); box-shadow: var(--card), inset 4px 0 0 var(--primary); }
.banner-ic { border-radius: 8px; }
.camps { padding-inline: 16px; }
.camp { border-radius: 8px; box-shadow: var(--card); }
.camp-ic { border-radius: 8px; }

/* Sekmeler: alt çizgili */
.tabs { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; margin-top: 16px; background: var(--surface); box-shadow: 0 1px 0 var(--line), 0 6px 14px -12px rgba(27, 31, 36, .3); }
.tabs-row { flex: 1; display: flex; overflow-x: auto; padding: 0 6px; }
.tabs-row a { flex-shrink: 0; position: relative; padding: 15px 12px 13px; font-size: 15px; font-weight: 600; color: var(--muted); white-space: nowrap; transition: color .2s; }
.tabs-row a::after { content: ''; position: absolute; inset-inline: 12px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--primary); transform: scaleX(0); transition: transform .25s var(--ease); }
.tabs-row a.active { color: var(--text); font-weight: 700; }
.tabs-row a.active::after { transform: none; }
.tabs-search { width: 48px; height: 48px; display: grid; place-items: center; color: var(--text); flex-shrink: 0; }

/* Sekme içeriği */
.board { max-width: 900px; margin: 0 auto; padding: 0 16px 30px; min-height: 60vh; }
.sec { padding-top: 20px; }
.sec:not([hidden]) { animation: tabin .35s var(--ease); }
@keyframes tabin { from { opacity: 0; transform: translateY(6px); } }
.sec-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding-bottom: 14px; }
.sec-art { width: 52px; height: 52px; border-radius: 10px; overflow: hidden; flex-shrink: 0; }
.sec-art img { width: 100%; height: 100%; object-fit: cover; }
.sec-head h2 { flex: 1; min-width: 0; font-size: 24px; font-weight: 800; letter-spacing: -.015em; }
.sec-head p { flex-basis: 100%; color: var(--muted); font-size: 14px; }
.sec-head .sec-closed { flex-basis: auto; }
.items { display: grid; grid-template-columns: 1fr; gap: 8px; }
.ticket { display: flex; align-items: stretch; border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: var(--card); transition: transform .2s var(--ease); }
.ticket:active { transform: scale(.99); }
.t-img { width: 96px; flex-shrink: 0; overflow: hidden; background: var(--surface-2); }
.t-img img { width: 100%; height: 100%; object-fit: cover; }
.t-img .ph b { font-size: 30px; }
.t-body { flex: 1; min-width: 0; display: flex; flex-direction: column; padding: 11px 12px; }
.ticket h3 { font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 1.25; }
.ticket .desc { font-size: 13px; color: var(--muted); margin-top: 2px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.t-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.ticket .price { font-size: 15.5px; font-weight: 700; }
.ticket .add { width: 32px; height: 32px; border-radius: 8px; }
.tag { border-radius: 6px; }
@media (min-width: 640px) { .items { grid-template-columns: 1fr 1fr; } }

/* Pencereler */
.sheet-panel { border-radius: 14px 14px 0 0; }
@media (min-width: 640px) { .sheet-panel { border-radius: 14px; } }
.cta { border-radius: 8px; }
.pill-btn, .stepper, .segmented, .search-box, .inp, .variants, .choice-list, .criteria, .call-btn, .fact, .fchip, .promo-on, .wifi-card, .table-chip, .search-cats a, .sr-img, .pair, .filter-open { border-radius: 8px; }
.segmented button { border-radius: 6px; }
.call-ic, .done-check, .wifi-ic { border-radius: 10px; }
.cart-bar { background: var(--text); border-radius: 10px; }
.cart-count { border-radius: 8px; }
.foot-logo { border-radius: 10px; }
.foot-social a { border-radius: 8px; box-shadow: var(--card); }
.footer { margin-top: 10px; }
/* Happy hour rozeti açık zeminlerde AA kontrastta */
.tag.b-happy { color: #92400e; }
