/* Buffet builder page. Layout only: tokens, base, header and footer come from site.css. Logical properties make it RTL/LTR safe. */
.page-buffet .wrap{width:min(1240px,calc(100% - 36px));margin-inline:auto}
/* scoped to main: these must not restyle the shared header/footer controls */
.page-buffet main button,.page-buffet main input,.page-buffet main select{font:inherit;color:inherit}
.page-buffet main button{cursor:pointer}

/* hero */
.page-buffet .hero{display:grid;grid-template-columns:1fr minmax(260px,42%);align-items:center;gap:clamp(20px,4vw,48px);padding:clamp(24px,4vw,48px);background:var(--mq-banner-green);border-radius:26px;margin-block:18px 28px}
.page-buffet .eyebrow{color:var(--mq-gold);letter-spacing:.17em;font:800 .78rem/1 var(--mq-font)}
.page-buffet .hero h1{font-size:clamp(1.9rem,4vw,3.4rem);line-height:1.25;margin:10px 0 14px;color:var(--mq-forest)}
.page-buffet .hero p{font-size:1.02rem;max-width:56ch;color:var(--mq-muted);margin:0 0 16px}
.page-buffet .pill{display:inline-block;border:1px solid var(--mq-sage-line);border-radius:999px;padding:6px 14px;background:var(--mq-mint);font-size:.82rem;font-weight:600}
.page-buffet .hero-photo{width:100%;height:clamp(200px,26vw,320px);border-radius:28px;object-fit:cover;box-shadow:var(--mq-shadow)}

/* builder layout */
.page-buffet .main-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start;padding-bottom:clamp(24px,4vw,56px)}
.page-buffet .content{display:grid;gap:18px}
.page-buffet .panel{background:#fff;border:1px solid var(--mq-line);border-radius:24px;padding:clamp(18px,2.4vw,28px);box-shadow:var(--mq-shadow)}
.page-buffet .section-header{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.page-buffet .section-header>span{display:grid;place-items:center;flex:none;background:var(--mq-mint);border-radius:13px;width:38px;height:38px;font-weight:800;color:var(--mq-forest)}   /* direct child only: the text span inside h2 must stay inline */
.page-buffet h2{font-size:1.25rem;margin:0;color:var(--mq-forest)}

/* packages */
.page-buffet .packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.page-buffet .package{border:1.5px solid var(--mq-line);background:var(--mq-cream);border-radius:18px;padding:18px;text-align:start;transition:border-color .15s,background .15s,transform .15s}
.page-buffet .package:hover{transform:translateY(-2px);border-color:var(--mq-sage-line)}
.page-buffet .package strong{display:block;font-size:1.08rem;color:var(--mq-forest)}
.page-buffet .package small{display:block;font-size:.8rem;color:var(--mq-muted);margin-top:6px;line-height:1.6}
.page-buffet .package.active{border-color:var(--mq-forest);background:var(--mq-mint);box-shadow:0 0 0 3px #173b2620}

/* guests + delivery */
.page-buffet .guest-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.page-buffet .guest-row button{background:var(--mq-cream);border:1px solid var(--mq-line);border-radius:14px;padding:11px 26px;font-weight:600}
.page-buffet .guest-row button.active{background:var(--mq-forest);color:#fff;border-color:var(--mq-forest)}
.page-buffet .guest-row label{font-weight:600}
.page-buffet .guest-row input{width:min(180px,100%);padding:11px 14px;border:1px solid var(--mq-line);border-radius:14px;background:#fff}
.page-buffet .region-label{display:block;margin-top:20px;font-size:.88rem;color:var(--mq-muted);font-weight:700}
.page-buffet .region-label select{display:block;width:100%;margin-top:8px;border:1px solid var(--mq-line);background:var(--mq-cream);border-radius:14px;padding:12px 14px;color:var(--mq-ink)}

/* dishes */
.page-buffet .tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.page-buffet .tabs button{border:1px solid var(--mq-line);background:var(--mq-cream);border-radius:999px;padding:8px 16px;font-weight:600;font-size:.9rem}
.page-buffet .tabs button.active{border-color:var(--mq-forest);background:var(--mq-forest);color:#e4f4b5}
.page-buffet .group{margin-top:20px;border-top:1px solid var(--mq-line);padding-top:18px}
.page-buffet .group-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.page-buffet .group-head strong{font-size:1.05rem;color:var(--mq-forest)}
.page-buffet .group-head small{font-weight:700;color:var(--mq-muted);background:var(--mq-cream);border-radius:999px;padding:3px 12px}
.page-buffet .items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.page-buffet .item{display:flex;gap:12px;border:1.5px solid var(--mq-line);background:#fff;border-radius:16px;padding:14px;align-items:flex-start;cursor:pointer;transition:border-color .15s,background .15s}
.page-buffet .item:hover{border-color:var(--mq-sage-line)}
.page-buffet .item:has(input:checked){background:#f1f8e8;border-color:var(--mq-forest)}
.page-buffet .item input{accent-color:var(--mq-forest);width:18px;height:18px;margin-top:4px;flex:none;cursor:pointer}
.page-buffet .item-body{flex:1;min-width:0}
.page-buffet .item-body strong{display:block;font-size:.95rem;line-height:1.5}
.page-buffet .item-body small{display:block;color:var(--mq-muted);font-size:.8rem}
.page-buffet .item .price{display:block;color:var(--mq-forest);font-size:.9rem;font-weight:800;margin-top:6px}
.page-buffet .item select{max-width:160px;width:100%;padding:6px 8px;border:1px solid var(--mq-line);border-radius:10px;margin-top:8px;background:#fff}

/* basket */
.page-buffet .basket{position:sticky;top:96px}
.page-buffet .basket h2{margin-bottom:14px}
.page-buffet .summary-line{padding:9px 0;border-bottom:1px solid #eef1e8;font-size:.88rem}
.page-buffet .summary-line span{display:block;color:var(--mq-muted);font-size:.78rem}
.page-buffet .totals{border-top:1px solid var(--mq-line);padding-top:12px;margin-top:16px}
.page-buffet .totals>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:.92rem}
.page-buffet .totals .grand{font-weight:800;font-size:1.15rem;border-top:1px solid var(--mq-line);padding-top:12px;margin-top:10px;color:var(--mq-forest)}
.page-buffet .notice{color:var(--mq-muted);font-size:.8rem;line-height:1.8}
.page-buffet #validation{min-height:1.4em;margin:6px 0;font-size:.88rem}
.page-buffet .error{color:#a1361f}.page-buffet .success{color:#2a6d43}
.page-buffet .action{display:block;width:100%;border:0;background:var(--mq-accent);border-radius:999px;color:#fff;padding:15px;font-weight:800;font-size:1rem;transition:background .15s}
.page-buffet .action:hover:not(:disabled){background:var(--mq-accent-2)}
.page-buffet .action:disabled{background:#b9c4b2;cursor:not-allowed}
.page-buffet .back{display:block;text-align:center;margin-top:12px;font-size:.9rem;color:var(--mq-forest);font-weight:600}

@media(max-width:980px){.page-buffet .main-grid{grid-template-columns:1fr}.page-buffet .basket{position:static}.page-buffet .hero{grid-template-columns:1fr}.page-buffet .hero-photo{grid-row:1;height:200px}}
@media(max-width:650px){.page-buffet .packages,.page-buffet .items{grid-template-columns:1fr}.page-buffet .hero h1{font-size:1.9rem}}
