/* After-party page: restrained editorial extension of the existing MILK HALL design */
.after-party-page{background:#050403}
.after-party-page .site-header{background:rgba(5,4,3,.93)}

.after-party-hero{position:relative;min-height:72svh;display:grid;align-items:end;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line-soft)}
.after-party-hero-media{position:absolute;inset:0;z-index:-2;margin:0;background:#080504}
.after-party-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.82) contrast(1.08) brightness(.72)}
.after-party-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(5,4,3,.58)}
.after-party-hero-inner{width:min(calc(100% - 96px),1360px);margin-inline:auto;padding:clamp(112px,13vh,154px) 0 clamp(48px,6vw,72px)}
.after-party-kicker{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase}
.after-party-kicker::before{content:"";width:48px;height:1px;background:var(--amber)}
.after-party-title{max-width:980px;margin:0;font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(3.4rem,4.8vw,5.8rem);line-height:1.08;letter-spacing:.01em;text-wrap:balance}
.after-party-title .title-accent{color:var(--gold)}
.after-party-lead{max-width:780px;margin-top:24px;color:#e4d4bf;font-size:clamp(.98rem,1.15vw,1.08rem);line-height:1.9}
.after-party-hero .hero-actions{margin-top:28px}
.after-party-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.after-party-facts>div{padding:15px 18px 16px 0}
.after-party-facts>div+div{padding-left:18px;border-left:1px solid var(--line-soft)}
.after-party-facts dt{color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.after-party-facts dd{margin-top:4px;color:var(--text);font-size:.94rem;line-height:1.5;white-space:nowrap}

.party-section{padding:clamp(64px,7vw,96px) clamp(24px,5vw,72px);border-bottom:1px solid var(--line-soft)}
.party-inner{width:min(100%,1280px);margin-inline:auto}
.party-heading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,4vw,62px);align-items:start;margin-bottom:clamp(28px,4vw,46px)}
.party-heading.compact-heading{margin-bottom:28px}
.party-heading-label{padding-top:7px;color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase}
.party-heading-main{margin:0;font-family:"Noto Serif JP",serif;font-size:clamp(1.85rem,3vw,3.3rem);font-weight:500;line-height:1.25;letter-spacing:.015em}
.party-copy{max-width:760px;color:var(--muted);font-size:1rem;line-height:1.9}

.party-offer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(40px,6vw,88px);align-items:center}
.party-price{padding-left:clamp(22px,3vw,40px);border-left:1px solid var(--amber)}
.party-price small{display:block;color:var(--amber);font-family:"Cormorant Garamond",serif;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.party-price strong{display:block;margin-top:6px;color:var(--gold);font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(3rem,5vw,5.2rem);font-weight:500;line-height:1}
.party-price strong span{display:block;margin-top:10px;font-family:"Noto Serif JP",serif;font-size:.28em;color:var(--text);line-height:1.4;white-space:nowrap}
.party-price p{margin-top:12px;color:var(--muted);font-size:.9rem;line-height:1.7}

.occasion-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.occasion-item{padding:clamp(22px,2.5vw,32px) clamp(16px,2.4vw,28px)}
.occasion-item+li{border-left:1px solid var(--line-soft)}
.occasion-item small{display:block;color:var(--amber);font-family:"Cormorant Garamond",serif;letter-spacing:.14em;text-transform:uppercase}
.occasion-item strong{display:block;margin-top:6px;font-family:"Noto Serif JP",serif;font-size:clamp(1.25rem,1.8vw,1.7rem);font-weight:500}

.party-menu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.party-menu-block{background:linear-gradient(180deg,#100a07,#080504);padding:clamp(26px,3.4vw,42px)}
.party-menu-block h3{margin:0 0 14px;color:var(--gold);font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(1.55rem,2.2vw,2.2rem);font-weight:500}
.party-menu-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft)}
.party-menu-list li{padding:11px 0;border-bottom:1px solid var(--line-soft);color:#ead8bf;line-height:1.65}
.party-menu-note{margin-top:15px;color:var(--muted);font-size:.8rem;line-height:1.65}

.toast-section{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,84px);align-items:center}
.toast-photo{margin:0;overflow:hidden;border:1px solid var(--line);background:#080504;aspect-ratio:16/10}
.toast-photo img{display:block;width:100%;height:100%;object-fit:contain;filter:none;background:#080504}
.toast-copy .party-heading-main{max-width:700px}
.toast-copy .toast-number{margin:18px 0 10px;color:var(--gold);font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:clamp(2.8rem,4.3vw,4.5rem);line-height:1;font-weight:500}
.toast-copy .toast-number span{display:block;margin-top:9px;font-family:"Noto Serif JP",serif;font-size:.28em;color:var(--muted);line-height:1.4;white-space:nowrap}
.toast-copy p{color:var(--muted);line-height:1.8}

.party-reservation{background:#080504}
.party-reservation-inner{width:min(100%,1100px);margin-inline:auto}
.party-reservation .party-heading-main{margin-top:4px}
.party-reservation .party-copy{margin-top:18px}
.party-reservation .hero-actions{margin-top:26px}
.party-reservation-meta{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:.84rem}

@media(max-width:1050px){
  .after-party-hero-inner{width:min(calc(100% - 56px),1180px)}
  .after-party-facts{max-width:760px}
  .after-party-facts dd{white-space:normal}
  .party-heading{grid-template-columns:170px minmax(0,1fr);gap:34px}
  .party-offer,.toast-section{grid-template-columns:1fr}
  .party-price{max-width:620px}
  .toast-photo{max-width:760px}
}

@media(max-width:760px){
  .after-party-hero{min-height:auto}
  .after-party-hero::after{background:rgba(5,4,3,.56)}
  .after-party-hero-media img{object-position:62% center}
  .after-party-hero-inner{width:calc(100% - 32px);padding:clamp(240px,54vh,370px) 0 40px}
  .after-party-kicker{margin-bottom:14px;font-size:.7rem}
  .after-party-kicker::before{width:32px}
  .after-party-title{font-size:clamp(2.55rem,11.8vw,4rem);line-height:1.16}
  .after-party-title .title-prefix,.after-party-title .title-accent{display:block}
  .after-party-lead{margin-top:18px;font-size:.92rem;line-height:1.8}
  .after-party-facts{grid-template-columns:1fr;margin-top:26px}
  .after-party-facts>div{padding:12px 0}
  .after-party-facts>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line-soft)}
  .party-section{padding:54px 16px}
  .party-heading,.party-heading.compact-heading{grid-template-columns:1fr;gap:8px;margin-bottom:26px}
  .party-heading-label{padding-top:0}
  .party-heading-main{font-size:clamp(1.8rem,8vw,2.55rem);line-height:1.3}
  .party-copy{font-size:.93rem;line-height:1.82}
  .occasion-list{grid-template-columns:1fr}
  .occasion-item+li{border-left:0;border-top:1px solid var(--line-soft)}
  .party-menu{grid-template-columns:1fr}
  .party-price{padding-left:18px}
  .party-price strong span,.toast-copy .toast-number span{white-space:normal}
  .toast-photo{aspect-ratio:16/11}
  .party-reservation-meta{display:grid;gap:7px}
}

@media(max-width:390px){
  .after-party-hero-inner{width:calc(100% - 28px)}
  .after-party-title{font-size:2.6rem}
  .party-heading-main{font-size:2rem}
}

/* Reservation form minimal patch */
.reservation-form{margin-top:30px;padding:30px;border:1px solid var(--line);background:#0b0705}
.reservation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px}
.form-field{display:grid;gap:9px}
.form-field>span{color:#ead8bf;font-size:.86rem}
.form-field em{margin-left:7px;color:var(--amber);font-size:.68rem;font-style:normal}
.form-field input,.form-field textarea{width:100%;border:1px solid rgba(227,184,110,.3);border-radius:0;background:#080504;color:var(--text);padding:13px 14px;font:inherit;outline:none}
.form-field input:focus,.form-field textarea:focus{border-color:var(--amber)}
.form-field textarea{min-height:130px;resize:vertical}
.form-field-wide{grid-column:1/-1}
.form-consent{display:flex;gap:10px;align-items:flex-start;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.82rem;line-height:1.7}
.form-consent input[type="checkbox"]{
  width:26px;
  height:26px;
  flex:0 0 26px;
  margin:0;
  accent-color:#c68b43;
  cursor:pointer;
}
.reservation-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px}
.reservation-status{margin:0;color:var(--muted);font-size:.84rem}
.reservation-status.is-error{color:#e3a48d}
.reservation-status.is-success{color:#d8c09a}
.reservation-alt{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-size:.84rem}
.reservation-alt a{color:var(--gold);font-size:1.2rem}
@media(max-width:760px){
  .reservation-form{padding:22px 16px}
  .reservation-grid{grid-template-columns:1fr}
  .form-field-wide{grid-column:auto}
  .reservation-submit-row{display:grid;gap:10px}
  .reservation-submit{width:100%}
}

/* Reservation form usability patch */
.reservation-form{padding:clamp(24px,3vw,38px)}
.form-field>span,.time-field legend{
  color:#fff;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.02em;
}
.form-field em,.time-field em{
  color:#e6b86f;
  font-size:.76rem;
  font-weight:700;
}
.form-field input,
.form-field select,
.form-field textarea{
  min-height:52px;
  color:#fff;
  background:#0a0705;
  border:1px solid rgba(255,255,255,.28);
  font-size:1.05rem;
  font-weight:600;
  line-height:1.5;
  padding:13px 15px;
}
.form-field select{
  appearance:auto;
  cursor:pointer;
}
.form-field textarea{
  min-height:140px;
  font-weight:500;
}
.form-field input::placeholder,
.form-field textarea::placeholder{
  color:rgba(255,255,255,.55);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:#e3b86e;
  outline:2px solid rgba(227,184,110,.2);
  outline-offset:1px;
}
.time-field{
  border:0;
  padding:0;
  margin:0;
  min-width:0;
}
.time-field legend{
  margin-bottom:12px;
}
.time-options{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.time-options label{
  position:relative;
  cursor:pointer;
}
.time-options input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.time-options span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  border:1px solid rgba(255,255,255,.28);
  background:#0a0705;
  color:#fff;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.02em;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.time-options input:checked+span{
  background:#6b3f24;
  border-color:#e3b86e;
  color:#fff;
}
.time-options input:focus-visible+span{
  outline:2px solid #e3b86e;
  outline-offset:2px;
}
.form-consent{
  color:#fff;
  font-size:.92rem;
  font-weight:600;
}
.reservation-submit{
  font-size:1rem;
  font-weight:700;
}
@media(max-width:760px){
  .time-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .form-field>span,.time-field legend{font-size:1.02rem}
  .form-field input,.form-field select,.form-field textarea{font-size:1rem}
}

/* Easier date picking */
.form-field input[type="date"]{
  cursor:pointer;
  color-scheme:dark;
  min-height:58px;
  font-size:1.08rem;
}
.form-field input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  filter:invert(1);
  opacity:.9;
  width:24px;
  height:24px;
}


/* Reservation submit contrast */
.reservation-submit{color:#fff!important}
.reservation-submit:visited{color:#fff!important}


/* Easier reservation date selection */
.date-picker-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}
.date-picker-row input[type="date"]{min-height:62px;font-size:1.15rem;font-weight:700}
.date-picker-button{
  min-width:150px;
  border:1px solid #e3b86e;
  background:#6b3f24;
  color:#fff;
  padding:0 20px;
  font:inherit;
  font-size:1rem;
  font-weight:700;
  cursor:pointer;
}
.date-picker-button:hover,.date-picker-button:focus-visible{background:#7d4a2a;outline:2px solid rgba(227,184,110,.25);outline-offset:2px}
@media(max-width:760px){
  .date-picker-row{grid-template-columns:1fr}
  .date-picker-button{min-height:56px;width:100%}
}




/* Larger consent checkbox on phones */
@media(max-width:760px){
  .form-consent{gap:14px;min-height:48px;align-items:flex-start}
  .form-consent input[type="checkbox"]{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}
