/* ===== Private Events — bold blocks, packages, FAQ ===== */

body{background:var(--sand)}

/* space cards */
.spaces{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:clamp(2.5rem,5vw,4rem)}
.space{position:relative;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:2.2rem;color:var(--paper);overflow:hidden;isolation:isolate}
.space::before{content:"";position:absolute;inset:0;z-index:-1;transition:transform 1s var(--ease)}
.space:hover::before{transform:scale(1.07)}
.space::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(21,18,16,.15),rgba(21,18,16,.88))}
.space__cap{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.space h3{font-size:2rem;margin:.6rem 0 .7rem}
.space p{color:rgba(246,240,231,.75);font-size:.93rem;margin:0 0 1.2rem}
.space dl{display:flex;gap:2rem;margin:0;padding-top:1.1rem;border-top:1px solid var(--line-dark)}
.space dt{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,240,231,.5)}
.space dd{margin:.25rem 0 0;font-family:var(--display);font-size:1.5rem}
/* each card gets its photo through a .img-* class on this element */
.space.img{background-size:cover;background-position:center}

/* packages */
.packs{background:var(--ink);color:var(--sand)}
.packs h2{color:var(--paper)}
.packs .eyebrow{color:var(--gold)}
.packs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3.5rem;align-items:start}
.pack{border:1px solid var(--line-dark);padding:2.4rem;display:grid;gap:1.2rem;transition:.45s var(--ease)}
.pack:hover{border-color:var(--gold);transform:translateY(-6px)}
.pack--featured{background:var(--clay);border-color:var(--clay)}
.pack--featured .pack__price,.pack--featured h3{color:var(--paper)}
.pack--featured li{color:rgba(255,253,249,.85)}
.pack__flag{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.pack--featured .pack__flag{color:var(--paper);opacity:.8}
.pack h3{color:var(--paper);font-size:1.9rem}
.pack__price{font-family:var(--display);font-size:2.8rem;color:var(--gold);line-height:1}
.pack__price small{display:block;font-family:var(--body);font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;opacity:.7;margin-top:.4rem}
.pack ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.pack li{display:flex;gap:.7rem;font-size:.9rem;color:rgba(246,240,231,.68)}
.pack li::before{content:"—";opacity:.5}

/* enquiry split */
.enquire{background:var(--sand-deep)}
.enquire__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.enquire__form{background:var(--paper);padding:clamp(1.8rem,3.5vw,3rem);border:1px solid var(--line)}
.enquire__form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:1.4rem}
.enquire__form .field{margin-bottom:1.4rem}
.enquire__facts{display:grid;gap:1.4rem;margin-top:2.5rem}
.fact{display:flex;gap:1.2rem;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:1.2rem}
.fact b{font-family:var(--display);font-size:1.6rem;color:var(--clay);min-width:4ch}
.fact span{font-size:.94rem;color:var(--ink-soft)}

/* accordion */
.acc{margin-top:2.5rem;border-top:1px solid var(--line)}
.acc__item{border-bottom:1px solid var(--line)}
.acc__head{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  padding:1.5rem 0;font-family:var(--display);font-size:1.25rem
}
.acc__head::after{content:"+";font-family:var(--body);font-size:1.3rem;color:var(--clay);transition:transform .35s var(--ease)}
.acc__item.is-open .acc__head::after{transform:rotate(45deg)}
/* No max-height here on purpose: JS measures each answer and sets it inline,
   so nothing can ever be clipped — and with JS off every answer stays open. */
.acc__body{overflow:hidden;transition:max-height .45s var(--ease)}
.acc__body p{padding-bottom:1.5rem;margin:0;color:var(--ink-soft);max-width:74ch}

@media (max-width:980px){
  .spaces,.packs__grid,.enquire__grid{grid-template-columns:1fr}
  .enquire__form .row{grid-template-columns:1fr}
}
