/* Private fares page. Builds on clear.css tokens and the flight page form components (flights.css). */
.private-page{background:#fff}
.pf-h2{font-size:clamp(1.7rem,1.2rem + 1.4vw,2.4rem);font-weight:800;letter-spacing:-.04em;line-height:1.05;color:var(--ink)}

/* Hero: the one bold moment, a deep wine band */
.pf-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(56px,7vw,96px) 0;color:#fff;background:color-mix(in srgb,var(--accent) 70%,var(--ink))}
.pf-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url('/images/sky-dusk-2400.webp') center 75%/cover;opacity:.22}
.pf-hero::after{content:"";position:absolute;inset:auto 0 0;height:40%;z-index:-1;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ink) 45%,transparent))}
.pf-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
.pf-kicker{font-family:Marcellus,Georgia,serif;font-size:1.1rem;letter-spacing:.04em;color:#f3d9de}
.pf-hero h1{margin-top:14px;font-size:clamp(2.4rem,1.3rem + 3.2vw,4.2rem);font-weight:800;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.pf-hero h1 span{font-family:Marcellus,Georgia,serif;font-weight:400;letter-spacing:-.01em;color:#fff;white-space:nowrap}
.pf-lead{margin-top:20px;max-width:34em;font-size:1.08rem;line-height:1.65;color:#f2e6e9}
.pf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:28px}
.pf-btn-light{background:#fff;color:var(--ink);min-height:52px;padding:0 26px}
.pf-btn-light:hover{background:#f6eef0}
.pf-link-light{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff80;min-height:44px;display:inline-flex;align-items:center}
.pf-promises{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:22px 0 0;padding:0;font-size:.9rem;color:#f2e6e9}
.pf-promises li::before{content:"✓ ";font-weight:700;color:#fff}
.pf-sources{padding:26px 26px 22px;border-radius:20px;background:#ffffff14;border:1px solid #ffffff2e}
.pf-sources h2{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}
.pf-sources ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:14px}
.pf-sources li{display:grid;gap:2px;padding-left:16px;border-left:2px solid #ffffff59}
.pf-sources li b{font-weight:600}
.pf-sources li span{font-size:.9rem;color:#ead9dd;line-height:1.5}
.pf-sources>p{margin-top:16px;padding-top:14px;border-top:1px solid #ffffff2e;font-size:.86rem;color:#ead9dd}

/* How it works: four sequential steps */
.pf-how{padding:clamp(64px,7vw,96px) 0 clamp(48px,6vw,72px)}
.pf-steps{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:40px}

/* Request: tips beside the form */
.pf-request{padding:clamp(48px,6vw,80px) 0;background:var(--tint)}
.pf-request-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);gap:clamp(28px,4vw,56px);align-items:start}
.pf-tips{position:sticky;top:calc(var(--header-h) + 24px)}
.pf-tips h2{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.pf-tips ol{margin:18px 0 0;padding-left:20px;display:grid;gap:12px;color:var(--ink-2);line-height:1.55}
.pf-tips ol b{color:var(--ink)}
.pf-honest{margin-top:20px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--hair);font-size:.92rem;color:var(--ink-2);line-height:1.55}
.pf-card{padding:clamp(22px,3vw,36px);background:#fff;border:1px solid var(--hair);border-radius:20px;box-shadow:0 30px 60px -44px color-mix(in srgb,var(--ink) 40%,transparent)}
.pf-card-lead{margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--save-soft);color:var(--save);font-weight:600;line-height:1.5}
.pf-group{border:0;margin:26px 0 0;padding:0}
.pf-group legend{font-size:1rem;font-weight:700;margin-bottom:12px;color:var(--ink)}
.pf-grid{display:grid;gap:8px;margin-top:8px}
.pf-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pf-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pf-group .fx-field[data-stops-field]{margin-top:8px}
.pf-cabins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pf-cabin{position:relative;cursor:pointer}
.pf-cabin input{position:absolute;opacity:0;pointer-events:none}
.pf-cabin span{display:grid;gap:3px;min-height:72px;padding:14px 16px;border:1px solid var(--hair);border-radius:12px;background:#fff;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.pf-cabin b{font-weight:700}
.pf-cabin small{font-size:.84rem;color:var(--muted)}
.pf-cabin input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.pf-cabin input:focus-visible+span{outline:2px solid var(--accent-text);outline-offset:2px}
.pf-checks{display:grid;gap:4px;margin-bottom:6px}
.pf-checks label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:.95rem;cursor:pointer}
.pf-checks input{width:20px;height:20px;accent-color:var(--accent)}
.pf-submit-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:20px;border-top:1px solid var(--hair)}
.pf-submit-row p{font-size:.9rem;color:var(--muted)}
.pf-submit-row .btn{min-height:52px;padding:0 28px}
.pf-done{display:grid;gap:14px;justify-items:start}
.pf-done:focus{outline:none}
.pf-faq{padding:clamp(56px,6vw,88px) 0}
.pf-faq .faq-head .pf-h2{font-size:clamp(1.8rem,1.3rem + 1.4vw,2.4rem)}

@media(max-width:1100px){.pf-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.pf-steps li+li{border-left:0;padding-left:0}.pf-steps li:nth-child(even){padding-left:28px;border-left:1px solid var(--hair)}}
@media(max-width:899px){
  .pf-hero-grid,.pf-request-grid{grid-template-columns:minmax(0,1fr)}
  .pf-tips{position:static;order:2}
  .pf-steps{grid-template-columns:minmax(0,1fr)}
  .pf-steps li,.pf-steps li:nth-child(even){padding:22px 0 0;border-left:0}
}
@media(max-width:640px){
  .pf-hero h1 span{white-space:normal}
  .pf-grid-2,.pf-grid-3,.pf-cabins{grid-template-columns:minmax(0,1fr)}
  .pf-submit-row .btn{width:100%}
  .pf-actions .btn{width:100%}
}
.pf-nb{white-space:nowrap}
