/* =========================================================
   Private events — /{lang}/private-events
   Cream, sand and a lot of whitespace. Calm, elegant, quiet.
   Tokens live in style.css, shared components in pages.css.
   ========================================================= */

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* The header is fixed, so in-page anchors need a landing offset. */
#venue,#inquiry{scroll-margin-top:110px}

/* Hero ---------------------------------------------------- */
.page-hero.private-hero{padding:178px 0 84px}
.private-hero .page-hero-img{object-position:center 55%;filter:saturate(.82) contrast(1.02) brightness(.94)}
.private-hero .page-hero-shade{background:linear-gradient(180deg,rgba(12,14,11,.62) 0%,rgba(12,14,11,.3) 42%,rgba(12,14,11,.74) 100%)}
.private-hero .page-title{max-width:13ch;font-weight:800;letter-spacing:-.045em}
.private-hero .page-title .accent{color:var(--sand)}
.private-hero .hero-facts{margin-top:40px}
.private-hero .hero-facts dt{font-weight:800}

/* Event types --------------------------------------------- */
.type-grid{gap:22px}
.type-card{display:flex;flex-direction:column;padding:32px 30px 34px;border-radius:22px;background:#fff;border:1px solid var(--line);transition:transform .3s,box-shadow .3s,border-color .3s}
.type-card:hover{transform:translateY(-4px);border-color:rgba(200,178,138,.7);box-shadow:var(--shadow)}
.type-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:24px;border-radius:50%;background:var(--cream);color:var(--green)}
.type-icon .i{width:22px;height:22px}
.type-card h3{font-size:24px;font-weight:800;letter-spacing:-.03em}
.type-card p{margin-top:10px;font-size:15px;line-height:1.6;color:var(--muted)}

/* Venue --------------------------------------------------- */
.venue-split{align-items:start}
.venue-split .split-media{position:sticky;top:110px;aspect-ratio:5/5.4}
.venue-area{display:flex;align-items:baseline;gap:12px;margin-top:30px}
.venue-area strong{font-size:46px;font-weight:800;line-height:1;letter-spacing:-.05em;color:var(--green)}
.venue-area span{font-size:13.5px;color:var(--muted)}
.venue-table{margin-top:24px;padding:8px 6px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.venue-table .data-table th[scope="row"]{font-size:16px;font-weight:700;letter-spacing:-.01em;text-transform:none;color:var(--ink)}
.venue-table .data-table td{white-space:nowrap;color:var(--muted)}
.venue-table .data-table td strong{font-size:19px;color:var(--ink)}
.venue-note{margin-top:14px;font-size:13.5px;color:var(--muted)}
.venue-highlight{display:flex;align-items:center;gap:16px;margin-top:64px;padding:30px 36px;border-radius:22px;background:var(--green);color:#fff;font-size:clamp(19px,2.1vw,26px);font-weight:700;line-height:1.35;letter-spacing:-.02em}
.venue-highlight .i{flex:none;width:24px;height:24px;color:var(--sand)}

/* What we take care of ------------------------------------ */
.care-split .split-media{aspect-ratio:5/4.6}
.care-list li{padding:13px 0;font-size:16px}

/* Inquiry builder ----------------------------------------- */
.inquiry-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.inquiry-grid>*{min-width:0}
.inquiry-intro{position:sticky;top:110px}
.inquiry-note{display:flex;align-items:flex-start;gap:12px;margin-top:30px;padding:18px 20px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:14.5px;font-weight:600;line-height:1.5}
.inquiry-note .i{flex:none;margin-top:1px;width:18px;height:18px;color:var(--green)}

/* Fieldsets inside the demo form.
   The legend floats so it stays inside the box instead of sitting on the border. */
.form-fieldset{padding:16px 20px 18px;border:1px solid var(--line);border-radius:16px;background:var(--cream)}
.form-fieldset.full{grid-column:1/-1}
.form-legend{float:left;width:100%;margin-bottom:12px;padding:0;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.form-fieldset>.check-grid,.form-fieldset>.stay-line,.form-fieldset>.form-check{clear:both}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
.form-fieldset .form-check{padding:4px 0}
.form-fieldset .form-check input{flex:none}
.stay-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 26px}
.rooms-field{display:inline-flex;align-items:center;gap:12px}
.rooms-field label{font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
/* Same padding and radius as .form-row input, so the field heights match */
.rooms-field input{width:104px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;font:inherit;font-size:15.5px;font-weight:600;color:var(--ink)}
.rooms-field input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(31,61,43,.12)}

/* Testimonial --------------------------------------------- */
.quote{max-width:860px;margin:0 auto 96px;padding:48px 52px;border-radius:26px;background:var(--cream-2);text-align:center}
.quote .eyebrow{justify-content:center;color:var(--green)}
.quote blockquote{font-size:clamp(21px,2.5vw,30px);font-weight:700;line-height:1.4;letter-spacing:-.025em;text-wrap:balance}
.quote blockquote::before{content:"“"}
.quote blockquote::after{content:"”"}
.quote figcaption{margin-top:26px;font-size:14px;color:var(--muted)}
.quote figcaption strong{display:block;font-size:16px;font-weight:800;color:var(--ink)}

/* Gallery row --------------------------------------------- */
.pe-gallery-head .section-head{margin-bottom:34px}
.pe-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pe-gallery figure{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:4/3.4}
.pe-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03);transition:transform .9s ease}
.pe-gallery figure:hover img{transform:scale(1.04)}
.pe-gallery figcaption{position:absolute;left:16px;bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(244,239,230,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-size:12.5px;font-weight:700}

/* Responsive ---------------------------------------------- */
@media (max-width:1100px){
  .page-hero.private-hero{padding:146px 0 62px}
  .venue-split .split-media,.inquiry-intro{position:static}
  .inquiry-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:860px){
  .page-hero.private-hero{padding:126px 0 54px}
  .private-hero .page-title{max-width:none}
  .type-grid,.pe-gallery{grid-template-columns:1fr}
  .type-card{padding:26px 24px 28px}
  .venue-split .split-media,.care-split .split-media{aspect-ratio:4/3}
  .venue-area strong{font-size:38px}
  .venue-highlight{margin-top:40px;padding:24px 22px;font-size:18px;gap:12px}
  .quote{margin-bottom:60px;padding:32px 24px}
  #venue,#inquiry{scroll-margin-top:92px}
  .stay-line{flex-direction:column;align-items:flex-start}
  .check-grid{grid-template-columns:1fr;gap:4px 20px}
  /* 44px tap targets on the checkbox rows */
  .form-fieldset .form-check{min-height:44px;padding:0}
  .rooms-field{width:100%;justify-content:space-between}
  .pe-gallery figure{aspect-ratio:4/3}
}
