/* Pizza Kuta Lombok internal page. Global Candlelight Deco tokens and the shared
   shell stay authoritative; this file assembles the approved page plan only.
   Surface sequence: hero photo, pancake veil, open silk, menu plain, drinks silk,
   night plain, book silk. No two silk sections ever sit next to each other
   (Josh 20.09.26): every second curtain section is a flat espresso ground. */

.pz-page{overflow-x:hidden}
.pz-page main{display:block}
.pz-page :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--champagne);outline-offset:4px}
.pz-page input[type="date"]{color-scheme:dark}
.pz-page .site-nav a[href="/pizza-kuta-lombok/"]{color:var(--cream)}

/* Hero: full-bleed real photograph, one H1, lead, two single-line actions. */
.pz-hero{position:relative;min-height:calc(100svh - var(--fold-rule));padding:0;overflow:hidden;
  display:flex;align-items:flex-end;background:var(--field)}
.pz-hero-photo{position:absolute;inset:0;z-index:0}
.pz-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.pz-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(98deg,rgba(18,11,5,.92) 0%,rgba(18,11,5,.74) 38%,rgba(18,11,5,.26) 70%,rgba(18,11,5,.08) 100%),
    linear-gradient(180deg,rgba(18,11,5,.44) 0%,transparent 32%,transparent 58%,rgba(18,11,5,.8) 100%)}
.pz-hero::after{content:"";position:absolute;inset:0;z-index:1;background:var(--grain);opacity:.55;pointer-events:none}
.pz-hero-shell{position:relative;z-index:2;width:min(100%,var(--shell));margin:0 auto;
  padding:calc(var(--header-h) + 60px) var(--gutter) clamp(64px,9vh,110px)}
.pz-hero-copy{max-width:720px}
.pz-hero h1{font-size:clamp(44px,5.8vw,84px);line-height:.98;letter-spacing:.085em;margin:0 0 20px;
  text-shadow:var(--text-shadow-display)}
.pz-hero-lead{font-family:var(--font-display);font-size:clamp(21px,2.1vw,30px);line-height:1.35;
  color:var(--brand-soft);max-width:600px;margin:0;text-shadow:var(--text-shadow-small)}
.pz-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(196px,1fr));width:max-content;max-width:100%;gap:12px;margin-top:32px}
.pz-hero-actions .btn{width:100%;min-width:0;white-space:nowrap}
.pz-hero-actions .btn svg{width:18px;height:18px}
.js .pz-hero-copy{opacity:0;transform:translateY(14px)}
.js .pz-page-ready .pz-hero-copy{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.16,.84,.44,1)}

/* Pancake band: the shared booking card over a plain espresso veil. */
.pz-pancake-wrap{position:relative;isolation:isolate;padding:clamp(34px,4.4vw,56px) var(--gutter);
  background:var(--field-2);border-top:1px solid var(--rule-quiet)}
.pz-pancake-wrap::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--silk-veil),var(--grain);pointer-events:none}
.pz-pancake-wrap .pancake{max-width:var(--shell)}
.pz-pancake-wrap .pancake form{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.2fr)}
.pz-pancake-wrap .pancake .submit{grid-column:auto}

/* One mount family for every content figure on this page. */
.pz-tall-figure,.pz-plate-figure,.pz-wide-figure{margin:0;position:relative;overflow:hidden;
  border-radius:var(--r-plate);box-shadow:var(--shadow-plate)}
.pz-tall-figure::after,.pz-plate-figure::after,.pz-wide-figure::after{content:"";position:absolute;inset:0;pointer-events:none;
  border:1px solid var(--rule-quiet);border-radius:inherit;box-shadow:inset 0 0 48px rgba(18,11,5,.26)}
.pz-tall-figure picture,.pz-plate-figure picture,.pz-wide-figure picture,
.pz-tall-figure img,.pz-plate-figure img,.pz-wide-figure img{display:block;width:100%;height:100%}
.pz-tall-figure img,.pz-plate-figure img,.pz-wide-figure img{object-fit:cover}
.pz-tall-figure{aspect-ratio:3/4;width:min(100%,430px);justify-self:end;align-self:center}
.pz-plate-figure{aspect-ratio:1;width:min(100%,380px);justify-self:start;align-self:center}
.pz-wide-figure{aspect-ratio:3/2;width:100%;align-self:center}

/* Opening: reading column beside the candlelit dining room. */
.pz-open-grid{display:grid;grid-template-columns:minmax(0,58fr) minmax(280px,42fr);gap:clamp(40px,6vw,88px);align-items:center}
.pz-reading{max-width:760px}
.pz-reading p+p{margin-top:18px}

/* Menu: lead block beside the top-down plate, then the six pizzas as one grid. */
.pz-menu-head{display:grid;grid-template-columns:minmax(260px,34fr) minmax(0,66fr);gap:clamp(36px,5vw,76px);align-items:center}
.pz-menu-copy{max-width:720px}
.pz-menu-copy h2{margin:0 0 20px}
.pz-menu-copy p+p{margin-top:16px}
.pz-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,30px);
  margin-top:clamp(44px,5.4vw,78px)}
.pz-card{padding:clamp(22px,2.4vw,30px);border:1px solid var(--gold-45);border-radius:var(--r-card);
  background:linear-gradient(150deg,rgba(230,164,88,.13),rgba(41,28,15,.55));box-shadow:var(--shadow-plate);
  transition:transform .16s ease,border-color .16s ease,background .16s ease}
.pz-card:hover{transform:translateY(-3px);border-color:var(--brand);
  background:linear-gradient(150deg,rgba(230,164,88,.2),rgba(41,28,15,.66))}
.pz-card h3{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--rule-quiet)}
.pz-card p{margin:0;color:var(--on-deep-soft)}

/* Drinks: the two paragraphs, a named pour list, the cocktail beside them. */
.pz-drinks-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:clamp(40px,6vw,88px);align-items:center}
.pz-drinks-copy{max-width:660px}
.pz-drinks-copy h2{margin:0 0 20px}
.pz-drinks-copy p+p{margin-top:16px}
.pz-pour-list{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}
.pz-pour-list li{display:flex;flex-direction:column;gap:4px;padding:12px 0 12px 16px;border-left:1px solid var(--brand);
  background:linear-gradient(90deg,rgba(230,164,88,.09),transparent)}
.pz-pour-list span{color:var(--on-deep-soft);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.pz-pour-list strong{font-family:var(--font-display);font-size:clamp(18px,1.6vw,22px);line-height:1.2;
  color:var(--champagne);font-weight:700}

/* Live music: the evening room on the left, copy on the right. */
.pz-night-grid{display:grid;grid-template-columns:minmax(0,52fr) minmax(0,48fr);gap:clamp(40px,6vw,86px);align-items:center}
.pz-night-copy{max-width:600px}
.pz-night-copy h2{margin:0 0 20px}
.pz-night-copy p+p{margin-top:16px}

/* Book: contact lines left, the shared bottom form right. */
.pz-book .contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(42px,6vw,90px);align-items:center}
.pz-book h2{margin:0 0 20px}
.pz-book p a.nowrap{white-space:nowrap;display:inline-block}
.pz-book .contact-lines a{color:var(--on-deep-soft)}
.pz-book .contact-lines a:hover{color:var(--cream)}

/* rk:text-image-balance - the text column drives the row height, the figure fills it. */
@media (min-width:901px){
  .pz-drinks-grid,.pz-night-grid{align-items:stretch}
  .pz-drinks-grid .pz-tall-figure{aspect-ratio:auto;height:100%;align-self:stretch;min-height:clamp(420px,34vw,560px)}
  .pz-night-grid .pz-wide-figure{aspect-ratio:auto;height:100%;align-self:stretch;min-height:clamp(320px,26vw,440px)}
}

@media (max-width:1180px){
  .pz-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:1080px){
  .header-book{display:none}
  .pz-open-grid{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:38px}
  .pz-pancake-wrap .pancake form{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pz-pancake-wrap .pancake .submit{grid-column:span 2}
}

@media (max-width:900px){
  .pz-hero-photo img{object-position:50% 44%}
  .pz-hero-scrim{background:linear-gradient(180deg,rgba(18,11,5,.52) 0%,rgba(18,11,5,.28) 38%,rgba(18,11,5,.92) 100%)}
  .pz-hero-shell{padding-top:calc(var(--header-h-sm) + 70px)}
  .pz-open-grid,.pz-menu-head,.pz-drinks-grid,.pz-night-grid,.pz-book .contact-grid{grid-template-columns:1fr}
  .pz-night-grid .pz-wide-figure{order:-1}
  .pz-tall-figure{justify-self:start;width:min(100%,460px);aspect-ratio:4/5}
  .pz-plate-figure{width:min(100%,420px)}
  .pz-reading,.pz-menu-copy,.pz-drinks-copy,.pz-night-copy{max-width:720px}
}

@media (max-width:760px){
  .pz-hero h1{font-size:clamp(40px,10.4vw,60px)}
  .pz-hero-lead{font-size:clamp(19px,4.8vw,24px)}
  .pz-pancake-wrap .pancake form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pz-pancake-wrap .pancake .submit{grid-column:span 2}
  .pz-menu-grid{grid-template-columns:1fr;gap:18px}
}

@media (max-width:520px){
  .pz-hero-shell{padding-left:18px;padding-right:18px}
  .pz-hero-actions{grid-template-columns:1fr;width:100%}
  .pz-hero-actions .btn{width:100%;min-width:0}
  .pz-pancake-wrap{padding-left:12px;padding-right:12px}
  .pz-pancake-wrap .pancake{padding:18px 12px}
  .pz-pour-list{grid-template-columns:1fr}
  .pz-tall-figure{aspect-ratio:3/4}
}

@media (max-width:390px){
  .pz-hero h1{font-size:37px}
}

@media (prefers-reduced-motion:reduce){
  .js .pz-hero-copy,.js .pz-page-ready .pz-hero-copy{opacity:1;transform:none;transition:none}
  .pz-card{transition:none}
  .pz-card:hover{transform:none}
}
html:not(.js) .pz-hero-copy{opacity:1;transform:none}
