/* =========================================================
   TRAVEL09 — TOUR FILTER
   ========================================================= */
.tf-page,.tf-page *{box-sizing:border-box}
.tf-page{
    --tf-deep:#03131F;--tf-navy:#071E32;--tf-navy-2:#0B2D46;
    --tf-teal:#087E8B;--tf-aqua:#16B8C4;--tf-gold:#D6AD60;
    --tf-white:#FFF;--tf-bg:#F5F8FA;--tf-text:#173447;
    --tf-muted:#718391;--tf-border:#DFE8ED;
    margin:0;color:var(--tf-text);background:#fff;font-size:16px;line-height:1.6;
    -webkit-font-smoothing:antialiased
}
.tf-page button,.tf-page input,.tf-page select{font:inherit}
.tf-shell{width:min(calc(100% - 80px),1280px);margin:0 auto}

/* HERO */
.tf-hero{position:relative;overflow:hidden;padding:46px 0 62px;color:#fff;background:radial-gradient(circle at 88% 12%,rgba(22,184,196,.19),transparent 30%),linear-gradient(145deg,var(--tf-deep),var(--tf-navy) 58%,var(--tf-navy-2))}
.tf-back{display:inline-flex;margin-bottom:28px;color:#B8CBD5;text-decoration:none;font-size:13px;font-weight:800}
.tf-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;align-items:end;gap:58px}
.tf-kicker,.tf-section-label{display:flex;align-items:center;gap:9px;color:#89E2E8;font-size:12px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.tf-kicker{margin-bottom:15px}
.tf-kicker span{width:8px;height:8px;border-radius:50%;background:var(--tf-aqua);box-shadow:0 0 0 5px rgba(22,184,196,.12)}
.tf-hero h1{max-width:820px;margin:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(50px,5vw,76px);font-weight:600;line-height:.99;letter-spacing:-.045em}
.tf-hero h1 span{display:block;margin-top:6px;background:linear-gradient(90deg,#A1EEF1,#72DCE3,#D7B66D);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tf-hero__grid>div>p{max-width:710px;margin:18px 0 0;color:#BCD0D9;font-size:16px;line-height:1.75}
.tf-hero__note{display:flex;align-items:flex-start;gap:16px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.05);backdrop-filter:blur(12px)}
.tf-hero__note-icon{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--tf-teal),var(--tf-aqua));color:#fff;font-weight:900}
.tf-hero__note strong{display:block;margin-bottom:6px;color:#fff;font-size:15px}
.tf-hero__note p{margin:0;color:#A8BEC9;font-size:13px;line-height:1.65}

/* PANELS */
.tf-content{padding:46px 0 72px;background:var(--tf-bg)}
.tf-form{display:flex;flex-direction:column;gap:16px}
.tf-panel{overflow:hidden;border:1px solid var(--tf-border);border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(7,30,50,.055)}
.tf-panel__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);align-items:end;gap:40px;padding:25px 26px 20px;border-bottom:1px solid var(--tf-border)}
.tf-section-label{color:var(--tf-teal)}
.tf-panel__head h2{margin:6px 0 0;color:var(--tf-navy);font-family:"Playfair Display",Georgia,serif;font-size:clamp(29px,2.8vw,40px);font-weight:600;line-height:1.12}
.tf-panel__head>p{margin:0;color:var(--tf-muted);font-size:14px;line-height:1.7}
.tf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:22px 26px 26px}
.tf-grid--primary{grid-template-columns:repeat(4,minmax(0,1fr))}
.tf-field{min-width:0;min-height:78px;display:flex;flex-direction:column;justify-content:center;padding:10px 14px;border:1px solid var(--tf-border);border-radius:11px;background:#FAFCFD}
.tf-field--wide{grid-column:span 2}
.tf-field>span{display:block;margin-bottom:6px;color:#758A97;font-size:12px;font-weight:800}
.tf-field>span small{margin-left:5px;color:#98A7B0;font-size:11px}
.tf-field input,.tf-field select{width:100%;min-width:0;min-height:38px;border:0;outline:0;background:transparent;color:var(--tf-text);font-size:15px;font-weight:650}

/* TOGGLES */
.tf-toggles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:22px 26px 26px}
.tf-toggle{position:relative;min-height:105px;display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid var(--tf-border);border-radius:12px;background:#FAFCFD;cursor:pointer}
.tf-toggle input{position:absolute;opacity:0;pointer-events:none}
.tf-toggle__check{width:21px;height:21px;flex:none;border:1px solid #B9CBD4;border-radius:6px;background:#fff}
.tf-toggle input:checked+.tf-toggle__check{border-color:var(--tf-teal);background:var(--tf-teal)}
.tf-toggle input:checked+.tf-toggle__check::after{content:"✓";display:grid;place-items:center;color:#fff;font-size:13px;line-height:19px}
.tf-toggle strong{display:block;color:var(--tf-text);font-size:14px}
.tf-toggle small{display:block;margin-top:4px;color:var(--tf-muted);font-size:12px;line-height:1.5}
.tf-toggle--compact{min-height:78px}

/* DETAILS */
.tf-panel--details>summary{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 26px;cursor:pointer;list-style:none}
.tf-panel--details>summary::-webkit-details-marker{display:none}
.tf-panel--details>summary strong{display:block;margin-top:5px;color:var(--tf-navy);font-size:17px}
.tf-panel--details>summary>b{width:30px;height:30px;display:grid;place-items:center;border:1px solid #CDE2E5;border-radius:8px;color:var(--tf-teal);font-size:18px;font-weight:500}
.tf-panel--details[open]>summary>b{transform:rotate(45deg)}
.tf-details-body{border-top:1px solid var(--tf-border)}

/* ACTIONS */
.tf-actions{position:sticky;z-index:20;bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 18px;border:1px solid #D3E0E5;border-radius:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);box-shadow:0 18px 55px rgba(7,30,50,.13)}
.tf-actions strong{display:block;color:var(--tf-navy);font-size:14px}
.tf-actions p{margin:3px 0 0;color:var(--tf-muted);font-size:12px}
.tf-actions__buttons{display:flex;align-items:center;gap:8px}
.tf-reset,.tf-submit{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:800}
.tf-reset{border:1px solid var(--tf-border);background:#fff;color:var(--tf-navy)}
.tf-submit{gap:8px;border:0;background:linear-gradient(135deg,var(--tf-teal),var(--tf-aqua));color:#fff;cursor:pointer;box-shadow:0 12px 28px rgba(22,184,196,.20)}

/* EMPTY/GUIDANCE */
.tf-empty{max-width:760px;margin:20px auto;padding:48px 30px;border:1px solid var(--tf-border);border-radius:20px;background:#fff;text-align:center}
.tf-guidance{padding:72px 0;background:radial-gradient(circle at 90% 8%,rgba(22,184,196,.13),transparent 27%),linear-gradient(145deg,var(--tf-deep),var(--tf-navy));color:#fff}
.tf-guidance__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tf-guidance article{min-height:220px;padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.04)}
.tf-guidance article>span{width:42px;height:42px;display:grid;place-items:center;margin-bottom:34px;border-radius:11px;background:rgba(22,184,196,.11);color:#7DDDE5;font-size:12px;font-weight:900}
.tf-guidance strong{display:block;margin-bottom:8px;color:#F3F9FB;font-size:18px}
.tf-guidance p{margin:0;color:#91A9B7;font-size:14px;line-height:1.7}

@media(max-width:1100px){
    .tf-shell{width:calc(100% - 40px)}
    .tf-hero__grid{grid-template-columns:1fr;gap:28px}
    .tf-hero__note{max-width:670px}
    .tf-grid--primary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tf-field--wide{grid-column:1/-1}
    .tf-toggles{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tf-panel__head{grid-template-columns:1fr;gap:12px}
    .tf-guidance__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
    .tf-shell{width:calc(100% - 24px)}
    .tf-hero{padding:38px 0 46px}
    .tf-hero h1{font-size:clamp(42px,12vw,54px)}
    .tf-hero__note{flex-direction:column}
    .tf-content{padding:30px 0 52px}
    .tf-panel{border-radius:16px}
    .tf-panel__head{padding:20px 18px 17px}
    .tf-grid,.tf-grid--primary{grid-template-columns:1fr;padding:16px 18px 20px}
    .tf-field--wide{grid-column:auto}
    .tf-field input,.tf-field select{font-size:16px}
    .tf-toggles{grid-template-columns:1fr;padding:16px 18px 20px}
    .tf-toggle{min-height:auto}
    .tf-panel--details>summary{padding:18px}
    .tf-actions{position:relative;bottom:auto;align-items:stretch;flex-direction:column}
    .tf-actions__buttons{width:100%;flex-direction:column}
    .tf-reset,.tf-submit{width:100%;min-height:50px}
    .tf-guidance{padding:54px 0}
    .tf-guidance__grid{grid-template-columns:1fr}
    .tf-guidance article{min-height:auto}
    .tf-guidance article>span{margin-bottom:23px}
}
