/* Homepage guided trip finder. Flat: borders, no shadows. Mobile first. */
.tf-entry{margin:14px auto 0;max-width:720px;background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:12px 12px 10px;text-align:left}
.tf-entry-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 2px 8px}
.tf-entry-title{font-weight:800;font-size:15px;color:#0F172A}
.tf-entry-sub{font-size:13px;color:#475569}
.tf-entry-months{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.tf-entry-months::-webkit-scrollbar{display:none}
.tf-mchip{flex:0 0 auto;min-width:62px;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid #CBD5E1;background:#fff;border-radius:12px;padding:6px 10px;cursor:pointer;color:#0F172A;font:inherit}
.tf-mchip b{font-size:15px;font-weight:700}.tf-mchip small{font-size:11px;color:#64748B}
.tf-mchip:hover,.tf-mchip:focus-visible{border-color:#0F766E;outline:none}
.tf-mchip-more{background:#F0FDFA;border-color:#99F6E4}
.tf-sheet{position:fixed;inset:0;z-index:2147483000;overscroll-behavior:contain;background:rgba(15,23,42,.55);display:flex;align-items:stretch;justify-content:center}
.tf-sheet[hidden]{display:none}
.tf-panel{text-align:left;background:#fff;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}
@media(min-width:760px){.tf-sheet{align-items:center;padding:24px}.tf-panel{max-width:760px;height:auto;max-height:min(88vh,860px);border-radius:18px;border:1px solid #E2E8F0}}
.tf-top{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #E2E8F0;background:#0F3D3A;color:#fff}
.tf-back,.tf-close{width:40px;height:40px;flex:0 0 40px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:18px;cursor:pointer}
.tf-back[disabled]{visibility:hidden}
.tf-steps{flex:1;display:flex;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;font-size:12px;font-weight:600}
.tf-steps li{padding:4px 8px;border-radius:999px;color:rgba(255,255,255,.6);border:1px solid transparent}
.tf-steps li.is-done{color:#99F6E4}.tf-steps li.is-on{color:#0F3D3A;background:#fff}
.tf-body{flex:1;overflow-y:auto;padding:20px 16px 28px;-webkit-overflow-scrolling:touch}
.tf-q{font-size:22px;line-height:1.25;font-weight:800;color:#0F172A;margin:0 0 6px}
.tf-hint{font-size:14px;color:#475569;margin:0 0 16px}
.tf-sub{font-size:13px;font-weight:700;color:#475569;margin:20px 0 8px;text-transform:uppercase;letter-spacing:.04em}
.tf-grid{display:grid;gap:10px}
.tf-grid-months{grid-template-columns:repeat(3,1fr)}
@media(min-width:520px){.tf-grid-months{grid-template-columns:repeat(4,1fr)}}
.tf-grid-months .tf-mchip{width:100%;min-height:64px}
.tf-grid-where,.tf-grid-who{grid-template-columns:1fr}
@media(min-width:520px){.tf-grid-who{grid-template-columns:1fr 1fr}.tf-grid-where{grid-template-columns:repeat(3,1fr)}}
.tf-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;min-height:64px;padding:14px 16px;border:1px solid #CBD5E1;border-radius:14px;background:#fff;cursor:pointer;font:inherit;color:#0F172A}
.tf-opt b{font-size:16px}.tf-opt small{font-size:13px;color:#64748B}
.tf-opt:hover,.tf-opt:focus-visible,.tf-mchip.is-on,.tf-opt.is-on{border-color:#0F766E;background:#F0FDFA;outline:none}
.tf-chips{display:flex;flex-wrap:wrap;gap:8px}
.tf-chip{min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid #CBD5E1;background:#fff;font:inherit;font-size:14px;font-weight:600;color:#0F172A;cursor:pointer}
.tf-chip:hover,.tf-chip.is-on{border-color:#0F766E;background:#F0FDFA}
.tf-link{margin-top:14px;background:none;border:0;padding:8px 0;color:#0F766E;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.tf-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.tf-summary button{min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid #0F766E;background:#F0FDFA;color:#0F3D3A;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.tf-summary button::after{content:" \270E";font-weight:400}
.tf-budget{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 14px;padding:0 16px}
.tf-budget::-webkit-scrollbar{display:none}
.tf-bchip{flex:0 0 auto;min-height:36px;padding:6px 12px;border-radius:999px;border:1px solid #CBD5E1;background:#fff;font:inherit;font-size:13px;font-weight:600;color:#334155;cursor:pointer}
.tf-bchip.is-on{background:#0F172A;border-color:#0F172A;color:#fff}
.tf-count{font-size:14px;color:#475569;margin:0 0 10px}
.tf-list{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:620px){.tf-list{grid-template-columns:1fr 1fr}}
.tf-card{display:flex;gap:12px;border:1px solid #E2E8F0;border-radius:14px;padding:10px;text-decoration:none;color:#0F172A;background:#fff}
.tf-card:hover{border-color:#0F766E}
.tf-card img{width:96px;height:96px;flex:0 0 96px;object-fit:cover;border-radius:10px;background:#F1F5F9}
.tf-card-b{min-width:0;display:flex;flex-direction:column;gap:3px}
.tf-card-t{font-weight:700;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tf-card-m{font-size:12.5px;color:#64748B}
.tf-card-p{font-size:15px;font-weight:800;margin-top:auto}.tf-card-p small{font-size:11.5px;font-weight:500;color:#64748B}
.tf-fit{align-self:flex-start;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px}
.tf-fit-departure{background:#ECFDF5;color:#047857}.tf-fit-private{background:#EFF6FF;color:#1D4ED8}.tf-fit-next{background:#FFF7ED;color:#C2410C}
.tf-h3{font-size:15px;font-weight:800;margin:22px 0 8px;color:#0F172A}
.tf-empty{border:1px dashed #CBD5E1;border-radius:14px;padding:18px;text-align:center;color:#475569}
.tf-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.tf-btn{flex:1 1 200px;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border-radius:12px;font-weight:700;text-decoration:none;border:1px solid #0F172A}
.tf-btn-dark{background:#0F172A;color:#fff}.tf-btn-light{background:#fff;color:#0F172A}
.tf-skel{height:116px;border-radius:14px;background:#F1F5F9;border:1px solid #E2E8F0}
html.tf-lock,body.tf-lock{overflow:hidden}
.tf-body{overscroll-behavior:contain}
@supports(height:100dvh){.tf-panel{height:100dvh}@media(min-width:760px){.tf-panel{height:auto}}}
