/* FAQ .78. Every selector is opt-in; no Home, header, footer or Booking overrides.
   .80: outer wrappers use the common container rules in main.css. */
.lat-faq-page { background:#f6f8fa; color:var(--lat-ink,#12253a); font-size:16px; line-height:1.65; }
.lat-faq-page [hidden] { display:none !important; }
.lat-faq-page *, .lat-faq-page *::before, .lat-faq-page *::after { box-sizing:border-box; }
.lat-faq-page h1,.lat-faq-page h2,.lat-faq-page p { margin:0; }
.lat-faq-hero { background:linear-gradient(120deg,#09243d,#03162b); color:#fff; padding:64px 0 52px; }
.lat-faq-eyebrow { text-transform:uppercase; font-size:11px; letter-spacing:.18em; color:var(--lat-yellow-500,#ffd000); margin-bottom:14px !important; }
.lat-faq-hero h1 { font-size:clamp(32px,4.4vw,52px); line-height:1.14; letter-spacing:-.035em; font-weight:600; overflow-wrap:anywhere; }
.lat-faq-intro { max-width:760px; color:#d7e3ef; margin-top:20px !important; font-size:17px; line-height:1.65; }
.lat-faq-body { padding-block:32px 70px; }
.lat-faq-note { padding:0 0 25px; max-width:980px; font-size:14px; color:#526477; }
.lat-faq-tools { margin:0 0 35px; padding:26px; border-radius:16px; background:#fff; border:1px solid #dde5ec; }
.lat-faq-search label { display:block; margin-bottom:10px; font-size:15px; font-weight:600; }
.lat-faq-search-row { display:flex; gap:12px; align-items:stretch; }
.lat-faq-search input { min-width:0; width:100%; border:1px solid #b8c7d6; border-radius:8px; padding:13px 15px; font:inherit; font-size:16px; background:#fff; color:#12253a; }
.lat-faq-page button { font-family:inherit; cursor:pointer; }
.lat-faq-tools button { border:1px solid #cad5df; border-radius:8px; padding:10px 14px; color:#12253a; background:#fff; font-size:13px; line-height:1.4; max-width:100%; overflow-wrap:anywhere; }
.lat-faq-search-row > button { flex:0 0 auto; max-width:100%; overflow-wrap:anywhere; }
.lat-faq-controls { display:flex; gap:15px; flex-wrap:wrap; align-items:center; justify-content:space-between; margin-top:16px; }
.lat-faq-controls > p { font-size:13px; color:#526477; }
.lat-faq-controls > div { display:flex; flex-wrap:wrap; gap:8px; }
.lat-faq-layout { display:grid; grid-template-columns:260px minmax(0,1fr); align-items:start; gap:45px; }
.lat-faq-topics { position:sticky; top:24px; }
.lat-faq-topics h2 { font-size:13px; font-weight:600; margin-bottom:13px; color:#526477; }
.lat-faq-topics ul { list-style:none; margin:8px 0 0; padding:0; }
.lat-faq-topics a,.lat-faq-all { display:block; width:100%; text-align:start; padding:10px 12px; font-size:14px; line-height:1.45; border-radius:8px; color:#314861; text-decoration:none; overflow-wrap:anywhere; }
.lat-faq-all { border:0; background:transparent; }
.lat-faq-topics a:hover,.lat-faq-all:hover { background:#e8edf3; color:#12253a; }
.lat-faq-topics a[aria-current="true"],.lat-faq-all[aria-pressed="true"] { background:#102d49; color:#fff; }
.lat-faq-section { margin-bottom:38px; scroll-margin-top:24px; }
.lat-faq-section > h2 { font-size:24px; line-height:1.3; font-weight:600; letter-spacing:-.02em; margin-bottom:18px; overflow-wrap:anywhere; }
.lat-faq-item { background:#fff; border:1px solid #dbe4ec; border-radius:12px; margin-top:9px; scroll-margin-top:24px; overflow:hidden; }
.lat-faq-item > summary { list-style:none; display:flex; gap:18px; align-items:center; justify-content:space-between; padding:18px 20px; font-size:16px; line-height:1.5; font-weight:600; cursor:pointer; overflow-wrap:anywhere; }
.lat-faq-item > summary::-webkit-details-marker { display:none; }
.lat-faq-item > summary::after { content:'+'; font-weight:400; font-size:25px; line-height:1; color:#536d86; flex:0 0 16px; text-align:center; }
.lat-faq-item[open] > summary::after { content:'−'; }
.lat-faq-item[open] { border-color:#aebfd0; }
.lat-faq-item[open] > summary { color:#0b579a; }
.lat-faq-answer { padding:0 20px 22px; color:#435b72; overflow-wrap:anywhere; }
.lat-faq-answer p { font-size:15px; line-height:1.75; }
.lat-faq-answer a { color:#145d9a; text-underline-offset:3px; }
.lat-faq-permalink { display:inline-block; font-size:12px; margin-top:14px; }
.lat-faq-empty { padding:26px; background:#fff; border:1px solid #dde5ec; border-radius:12px; }
.lat-faq-help { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:32px; border-radius:16px; background:#eaf0f5; margin-top:16px; }
.lat-faq-help > div:first-child { max-width:640px; }
.lat-faq-help h2 { font-size:25px; line-height:1.3; font-weight:600; margin-bottom:12px; }
.lat-faq-help p { font-size:15px; color:#435b72; }
.lat-faq-actions { display:flex; flex-direction:column; gap:10px; flex:0 0 auto; max-width:100%; }
.lat-faq-button { display:inline-flex; justify-content:center; text-align:center; align-items:center; min-height:46px; padding:12px 20px; border:1px solid transparent; border-radius:9px; background:var(--lat-yellow-500,#ffd000); color:#12253a; font-size:14px; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.lat-faq-button--secondary { background:#fff; border-color:#bfccd8; }
.lat-faq-page a:focus-visible,.lat-faq-page button:focus-visible,.lat-faq-page summary:focus-visible,.lat-faq-page input:focus-visible { outline:3px solid #0b73f6; outline-offset:3px; }
.lat-faq-page summary:focus-visible { outline-offset:-4px; }
@media(max-width:980px) {
 .lat-faq-layout { grid-template-columns:220px minmax(0,1fr); gap:24px; }
 .lat-faq-hero { padding-top:54px; }
 .lat-faq-help { align-items:flex-start; }
}
@media(max-width:760px) {
 .lat-faq-hero { padding:38px 0 34px; }
 .lat-faq-intro { font-size:16px; }
 .lat-faq-body { padding-block:24px 45px; }
 .lat-faq-layout { grid-template-columns:1fr; gap:28px; }
 .lat-faq-topics { position:static; }
 .lat-faq-topics ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; }
 .lat-faq-topics a { height:100%; background:#edf1f5; font-size:13px; padding:10px; }
 .lat-faq-all { width:auto; margin-bottom:10px; }
 .lat-faq-tools { padding:18px; margin-bottom:24px; }
 .lat-faq-search-row { flex-wrap:wrap; }
 .lat-faq-search input { flex:1 1 100%; }
 .lat-faq-controls { align-items:flex-start; }
 .lat-faq-controls > div { gap:6px; }
 .lat-faq-section > h2 { font-size:22px; }
 .lat-faq-item > summary { padding:16px; font-size:15px; }
 .lat-faq-answer { padding:0 16px 20px; }
 .lat-faq-help { flex-direction:column; padding:24px; gap:22px; }
 .lat-faq-actions { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .lat-faq-page * { scroll-behavior:auto; } }
