.cooking-single{padding-bottom:40px}
.cooking-hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:48px;padding-block:32px 52px}
.cooking-hero h1{margin:14px 0 18px;font-size:clamp(40px,4.5vw,64px);line-height:1.05;letter-spacing:-.045em}
.cooking-hero h2{font-size:24px;line-height:1.3;color:var(--cj-neon-blue)}
.cooking-hero p{color:var(--cj-porcelain-muted);line-height:1.75}
.cooking-hero figure{margin:0;overflow:hidden;border-radius:22px;border:1px solid var(--cj-line)}
.cooking-hero img{display:block;width:100%;height:460px;object-fit:cover}
.cooking-facts{margin-block:0 56px}
.cooking-facts div{min-width:0}
.cooking-booking{scroll-margin-top:130px}
.cooking-booking>header h2,.cooking-overview h2,.cooking-copy h2,.cooking-flow h2{font-size:clamp(28px,3vw,40px);line-height:1.18;margin:12px 0 20px}
.cooking-booking>header>p:last-child{max-width:780px;color:var(--cj-porcelain-muted);line-height:1.7}
.cooking-age-notice{margin:28px 0;padding:24px;border:1px solid var(--cj-neon-orange);border-radius:16px;background:rgba(253,152,0,.075)}
.cooking-age-notice strong{font-size:20px;color:var(--cj-neon-orange)}
.cooking-age-notice p{margin:12px 0 0;line-height:1.7}
.cooking-booking-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:28px}
.cooking-options,.cooking-summary{min-width:0;padding:28px;border:1px solid var(--cj-line);border-radius:18px;background:#092338}
.cooking-date{display:grid;gap:10px;font-weight:700}
.cooking-date span,.cooking-price small{font-size:12px;color:var(--cj-porcelain-muted);font-weight:400;line-height:1.5}
.cooking-options input[type=date],.cooking-options input[type=number]{box-sizing:border-box;min-height:46px;max-width:100%;padding:10px;border:1px solid rgba(240,252,255,.35);border-radius:8px;background:#0d2b47;color:var(--cj-cyber-porcelain);font:inherit;color-scheme:dark}
.cooking-options fieldset{min-width:0;margin:28px 0;padding:0;border:0}
.cooking-options legend{margin-bottom:12px;font-weight:700;font-size:20px}
.cooking-price{display:grid;grid-template-columns:minmax(0,1fr) 55px 64px;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--cj-line)}
.cooking-price small{display:block;margin-top:7px}
.cooking-rate{font-weight:750;color:var(--cj-neon-orange)}
.cooking-consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.65}
.cooking-consent input{width:20px;height:20px;flex:none;accent-color:var(--cj-neon-orange)}
.cooking-options>button{box-sizing:border-box;width:100%;margin-top:18px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.45;white-space:normal;cursor:pointer}
.cooking-summary{align-self:start}
.cooking-summary h3{font-size:26px;line-height:1.2}
.cooking-summary dl{margin:24px 0}
.cooking-summary dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--cj-line)}
.cooking-summary dd{margin:0;font-weight:750}
.cooking-total{display:block;font-size:44px;color:var(--cj-neon-orange)}
.cooking-total-label,.cooking-small{font-size:12px;line-height:1.65;color:var(--cj-porcelain-muted)}
.cooking-error{color:#ffadad;line-height:1.6}
.cooking-overview{padding-block:70px;max-width:900px}
.cooking-overview>p:not(.place-eyebrow){color:var(--cj-porcelain-muted);line-height:1.85}
.cooking-copy{padding-block:50px}
.cooking-copy>section{padding-block:24px;scroll-margin-top:130px}
.cooking-copy p,.cooking-copy li{line-height:1.8;color:var(--cj-porcelain-muted)}
.cooking-copy li{margin-bottom:12px}
.cooking-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cooking-menu-grid article{overflow:hidden;border:1px solid var(--cj-line);border-radius:16px;background:#092338}
.cooking-menu-grid article>div{padding:22px}
.cooking-menu-grid figure{margin:0}
.cooking-menu-grid img{display:block;width:100%;height:260px;object-fit:cover}
.cooking-menu-grid h3{font-size:22px;line-height:1.3}
.cooking-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.cooking-photos{padding-block:25px 55px}
.cooking-photos summary{cursor:pointer;font-size:20px;font-weight:700;padding:18px;border:1px solid var(--cj-line);border-radius:12px}
.cooking-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:24px}
.cooking-photo-grid figure{margin:0}
.cooking-photo-grid img{display:block;width:100%;height:260px;object-fit:cover;border-radius:12px}
.cooking-options :focus-visible{outline:2px solid var(--cj-neon-blue);outline-offset:4px}
@media(max-width:900px){.cooking-hero{gap:24px}
.cooking-hero img{height:380px}
.cooking-booking-grid{grid-template-columns:1fr}
.cooking-menu-grid{gap:12px}
.cooking-menu-grid article>div{padding:16px}
.cooking-menu-grid img{height:200px}
.cooking-photo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cooking-hero{grid-template-columns:1fr;padding-top:10px;gap:24px}
.cooking-hero h1{font-size:42px}
.cooking-hero h2{font-size:22px}
.cooking-hero img{height:290px}
.cooking-facts{grid-template-columns:1fr 1fr}
.cooking-facts div{padding:16px}
.cooking-age-notice{padding:19px}
.cooking-booking-grid{gap:20px}
.cooking-options,.cooking-summary{padding:20px}
.cooking-price{grid-template-columns:minmax(0,1fr) 46px 56px;gap:8px}
.cooking-price strong{font-size:14px}
.cooking-options input[type=number]{width:56px;padding:8px}
.cooking-menu-grid,.cooking-inclusions{grid-template-columns:1fr}
.cooking-menu-grid img{height:260px}
.cooking-overview{padding-block:45px}
.cooking-copy{padding-block:20px}
.cooking-photo-grid img{height:180px}}

/* Buttons need explicit colours: a native button otherwise keeps its grey UI fill. */
.cooking-options > button {
  appearance: none;
  -webkit-appearance: none;
  min-height: 48px;
  padding: 14px 20px;
  transition: background-color .18s, color .18s, border-color .18s;
}
.cooking-options > .place-button-outline {
  background: transparent;
  color: var(--cj-neon-blue);
  border: 1px solid var(--cj-neon-blue);
}
.cooking-options > .place-button-outline:hover,
.cooking-options > .place-button-outline:active {
  background: var(--cj-neon-blue);
  color: var(--cj-deep-navy);
}
.cooking-options > button:focus-visible {
  outline: 3px solid var(--cj-cyber-porcelain);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  .cooking-options > button { transition: none; }
}
