/* Προσθήκες για το γενικό πρότυπο: κείμενο στο bento, φωτογραφίες, μενού ταβέρνας. */
.b-p { color: var(--ink); max-width: 58ch; margin: 0; }

.gal-sec { background: var(--paper); }
.gal-sec h2 { margin: 0 0 clamp(20px, 3vw, 32px); }
.gal { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: clamp(150px, 18vw, 240px); gap: 10px; }
.g-item { display: block; overflow: hidden; border-radius: var(--radius); background: var(--stone-2); }
.g-item:nth-child(6n+1) { grid-column: span 2; grid-row: span 2; }
.g-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.g-item:hover img { transform: scale(1.04); }
@media (max-width: 860px) {
  .gal { grid-template-columns: 1fr 1fr; grid-auto-rows: 42vw; }
  .g-item:nth-child(6n+1) { grid-column: span 2; grid-row: span 1; }
}

/* ταβέρνα: μενού */
.menu-sec { background: var(--paper); }
.menu-sec h2 { margin: 0 0 8px; }
.menu-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(28px, 4vw, 56px); margin-top: clamp(24px, 3vw, 40px); }
.menu-cat h3 { font: 500 22px/1.2 var(--display); margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.menu-cat ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.menu-cat li b { display: block; font-weight: 600; }
.menu-cat li span { color: var(--muted); font-size: 15px; }
.menu-note { color: var(--muted); font-size: 14px; margin-top: 24px; }
.hours { display: grid; gap: 6px; font-variant-numeric: tabular-nums; }
.hours div { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); padding: 8px 0; }

/* ταβέρνα: κράτηση τραπεζιού */
.tb-wrap { position: fixed; inset: 0; z-index: 80; display: grid; place-items: end center; visibility: hidden; }
.tb-wrap.open { visibility: visible; }
.tb-wrap .scrim { position: absolute; inset: 0; background: rgba(18, 26, 36, .55); opacity: 0; transition: opacity .3s; }
.tb-wrap.open .scrim { opacity: 1; }
.tb { position: relative; width: min(560px, 100%); max-height: 92svh; overflow: auto; background: var(--paper); color: var(--ink); border-radius: 20px 20px 0 0; padding: 22px var(--gutter-r) max(24px, env(safe-area-inset-bottom)) var(--gutter-l); transform: translateY(100%); transition: transform .35s cubic-bezier(.2, .8, .2, 1); display: grid; gap: 18px; }
.tb-wrap.open .tb { transform: none; }
@media (min-width: 700px) { .tb-wrap { place-items: center; } .tb { border-radius: 20px; padding: 28px; } }
.tb h3 { font: 500 26px/1.15 var(--display); margin: 0; }
.tb .x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--stone); cursor: pointer; font-size: 16px; }
.tb-label { font: 600 12px var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips button { font: 500 15px var(--body); border: 1px solid var(--line); background: #fff; color: var(--ink); border-radius: 12px; padding: 10px 14px; cursor: pointer; font-variant-numeric: tabular-nums; }
.chips button small { display: block; font-size: 12px; color: var(--muted); }
.chips button.sel { background: var(--night); color: #fff; border-color: var(--night); }
.chips button.sel small { color: rgba(255, 255, 255, .7); }
.chips button:disabled { opacity: .35; cursor: default; }
.tb .form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tb .form label { display: grid; gap: 6px; font-size: 14px; color: var(--muted); }
.tb .form input { font: 400 16px var(--body); padding: 12px; border-radius: 10px; border: 1px solid var(--line); background: #fff; color: var(--ink); }
.tb .done { text-align: center; display: grid; gap: 10px; justify-items: center; padding: 20px 0; }
.tb .done .tick { width: 64px; height: 64px; border-radius: 50%; background: var(--lamp); display: grid; place-items: center; font-size: 30px; }
.tb .demo-note { font-size: 13px; color: var(--muted); margin: 0; }
