.faq-page main { padding-top:0; }
.faq-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,1fr); gap:32px; align-items:start; }
.faq-content { padding-right:22px; }
.faq-heading { padding:28px 34px 12px; text-align:center; }
.faq-heading h1 { display:flex; align-items:center; gap:20px; margin:0 0 18px; font-size:clamp(33px,4.5vw,54px); line-height:.95; }
.faq-heading h1::before,.faq-heading h1::after { content:""; flex:1; height:2px; background:#080808; }
.faq-heading p { max-width:570px; margin:0 auto; font-size:13px; line-height:1.6; text-transform:uppercase; }

.faq-category { margin-top:34px; }
.faq-category h2 { margin:0 0 10px; font-size:18px; font-weight:600; letter-spacing:.05em; }
.faq-item { border-bottom:1px solid #d9d9d9; }
.faq-item summary { display:grid; grid-template-columns:32px 1fr 20px; gap:8px; align-items:start; padding:16px 0; list-style:none; font-size:13px; font-weight:600; line-height:1.45; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-number { color:#555; font-size:10px; font-weight:700; letter-spacing:.08em; }
.faq-chevron { justify-self:end; font-size:16px; transition:transform 220ms ease; }
.faq-item[open] .faq-chevron { transform:rotate(180deg); }
.faq-answer { margin:0 32px 18px 40px; font-size:13px; line-height:1.65; }

.faq-side { display:grid; gap:14px; }
.faq-booking { box-sizing:border-box; padding:26px; background:#090909; color:#fff; }
.faq-booking h2 { margin:0 0 22px; font-size:23px; text-transform:uppercase; }
.faq-booking .booking-grid { gap:13px 8px; }
.faq-booking label { display:grid; gap:4px; min-width:0; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.faq-booking input,.faq-booking select { box-sizing:border-box; width:100%; min-width:0; padding:8px; border:0; border-radius:0; background:#fff; color:#111; font:700 12px/1.2 Manrope,Arial,sans-serif; }
.faq-booking .promo { grid-column:1/-1; }
.faq-booking button { width:100%; margin-top:20px; padding:12px; border:0; background:#fff; color:#080808; font:800 18px/1 Manrope,Arial,sans-serif; text-transform:uppercase; }
.faq-side-card { position:relative; display:block; aspect-ratio:.82; overflow:hidden; background:#222; color:#111; text-decoration:none; }
.faq-side-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 450ms ease; }
.faq-side-card:hover img { transform:scale(1.025); }
.faq-side-card span { position:absolute; bottom:16px; left:50%; display:flex; align-items:center; justify-content:center; width:min(190px,82%); min-height:44px; padding:8px 14px; border-radius:4px; background:#fff; font-size:10px; font-weight:700; text-align:center; text-transform:uppercase; transform:translateX(-50%); }

@media(max-width:820px){
  .faq-layout { grid-template-columns:1fr; }
  .faq-content { padding-right:0; }
  .faq-side { grid-template-columns:1fr 1fr; align-items:start; }
}
@media(max-width:520px){
  .faq-heading { padding-inline:0; }
  .faq-heading h1 { font-size:31px; }
  .faq-heading h1::before,.faq-heading h1::after { display:none; }
  .faq-heading p { font-size:11px; }
  .faq-side { grid-template-columns:1fr; }
  .faq-answer { margin-left:0; margin-right:0; }
}
