/* Flight hub (/cheap-flights/) */
.didf-hub-main{width:100%;max-width:none;margin:0;padding:0;overflow-x:clip}
.didf-hub{color:#13263f;font-size:16px;line-height:1.6}
.didf-hub *{box-sizing:border-box}
.didf-hub-in{max-width:1280px;margin:0 auto;padding:0 20px}
.didf-hub-narrow{max-width:900px}

/* Hero */
.didf-hub-hero{position:relative;isolation:isolate;padding:64px 0 46px;color:#fff;background:radial-gradient(1200px 500px at 85% -10%,#3b82f6aa,transparent 60%),radial-gradient(900px 500px at -10% 110%,#0ea5e966,transparent 60%),linear-gradient(135deg,#0b1d3f 0%,#11306b 45%,#1d4ed8 100%)}
.didf-hub-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ffffff22 1px,transparent 1.4px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000 0%,#0000 85%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#0000 85%)}
.didf-hub-sky{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.didf-hub-sky svg{width:100%;height:100%}
.didf-hub-sky path{fill:none;stroke:#ffffff2e;stroke-width:1.6;stroke-dasharray:6 9;animation:didfDash 40s linear infinite}
.didf-hub-sky .a2{stroke:#7dd3fc33;animation-duration:55s}.didf-hub-sky .a3{stroke:#ffffff1f;animation-duration:70s}
@keyframes didfDash{to{stroke-dashoffset:-600}}
.didf-hub-sky .p{position:absolute;color:#ffffffb3;font-size:20px;animation:didfFly 22s linear infinite}
.didf-hub-sky .p1{top:22%;left:-5%}.didf-hub-sky .p2{top:64%;left:-5%;font-size:15px;animation-duration:30s;animation-delay:-12s;color:#bae6fd99}
@keyframes didfFly{to{left:105%;transform:translateY(-40px)}}
.didf-hub-kicker{display:inline-block;padding:6px 14px;border-radius:30px;background:#ffffff1a;border:1px solid #ffffff33;font-size:13px;font-weight:600;letter-spacing:.02em;backdrop-filter:blur(4px)}
.didf-hub-hero h1{color:#fff!important;font-size:clamp(34px,5.4vw,60px)!important;line-height:1.08!important;font-weight:800!important;letter-spacing:-.02em;margin:16px 0 12px!important;max-width:820px}
.didf-hub-lead{font-size:clamp(16px,1.8vw,19px);color:#dbe7ff;max-width:680px;margin:0 0 22px!important}
.didf-hub-stats{display:flex;flex-wrap:wrap;gap:10px;list-style:none!important;margin:0 0 28px!important;padding:0!important}
.didf-hub-stats li{display:flex;align-items:baseline;gap:7px;margin:0!important;padding:9px 16px;border-radius:14px;background:#ffffff14;border:1px solid #ffffff26}
.didf-hub-stats li::before{display:none!important}
.didf-hub-stats b{font-size:22px;font-weight:800;color:#fff}.didf-hub-stats span{font-size:13px;color:#c7d7f7}
.didf-hub-search{position:relative;z-index:5;background:#fff;color:#13263f;border-radius:22px;padding:18px;box-shadow:0 30px 60px -20px #020b2399,0 0 0 1px #ffffff40}
.didf-hub-search .didf{margin:0!important}

/* Sections */
.didf-hub-sec{padding:56px 0}
.didf-hub-alt{background:linear-gradient(180deg,#f3f7fd,#eef3fb)}
.didf-hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.didf-hub-eyebrow{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;color:#2563eb}
.didf-hub-head h2{font-size:clamp(25px,3vw,34px)!important;line-height:1.2!important;margin:6px 0 0!important;font-weight:800!important;color:#0f2242!important;letter-spacing:-.01em}
.didf-hub-more{flex-shrink:0;display:inline-flex;gap:6px;align-items:center;padding:10px 16px;border-radius:12px;background:#fff;border:1px solid #cfdcf0;color:#1d4ed8!important;font-weight:700;font-size:14px;text-decoration:none!important;transition:background .15s}
.didf-hub-more:hover{background:#eaf1ff}
.didf-hub-note{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#4b5f7c;margin:-8px 0 18px!important}

/* Route filters + grid */
.didf-hub-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.didf-hub-chip{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:30px;border:1px solid #cfdcf0;background:#fff;color:#1e3a66;font-size:14px;font-weight:600;cursor:pointer;line-height:1.2;transition:all .15s}
.didf-hub-chip small{font-size:11.5px;font-weight:700;color:#5b7196;background:#eef3fb;border-radius:20px;padding:1px 7px}
.didf-hub-chip:hover{border-color:#93b4ea}
.didf-hub-chip.is-on{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.didf-hub-chip.is-on small{background:#ffffff2e;color:#fff}
.didf-hub-routes{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.didf-hub-routes .didf-rc[hidden]{display:none!important}
.didf-hub-all{padding:12px 22px;border-radius:12px;border:1px solid #c9d6ea;background:#fff;color:#1d4ed8;font-weight:700;font-size:15px;cursor:pointer}
.didf-hub-all:hover{background:#eef3ff}

/* Airports rail */
.didf-hub-railwrap{position:relative}
.didf-hub-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.didf-ap{flex:0 0 250px;scroll-snap-align:start;display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;border:1px solid #d7e2f2;box-shadow:0 6px 18px #12306b12;transition:transform .18s,box-shadow .18s}
.didf-ap:hover{transform:translateY(-3px);box-shadow:0 16px 30px #12306b24}
.didf-ap-main{position:relative;display:flex;flex-direction:column;gap:2px;padding:18px 18px 16px;color:#fff!important;text-decoration:none!important;background:radial-gradient(260px 140px at 100% 0%,#60a5fa66,transparent 70%),linear-gradient(140deg,#0f2a5c,#1d4ed8);min-height:185px;flex:1}
.didf-ap:nth-child(3n+2) .didf-ap-main{background:radial-gradient(260px 140px at 100% 0%,#5eead466,transparent 70%),linear-gradient(140deg,#0b3b4f,#0e7490)}
.didf-ap:nth-child(3n+3) .didf-ap-main{background:radial-gradient(260px 140px at 100% 0%,#c4b5fd66,transparent 70%),linear-gradient(140deg,#2e1a5e,#6d28d9)}
.didf-ap-main::after{content:"✈";position:absolute;right:14px;bottom:8px;font-size:58px;line-height:1;color:#ffffff14;transform:rotate(-20deg)}
.didf-ap-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.didf-ap-top b{font-size:34px;font-weight:800;letter-spacing:.03em;line-height:1}
.didf-ap-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#ffffff26;border-radius:20px;padding:4px 9px}
.didf-ap-live i{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 #4ade80aa;animation:didfRfPulse 2s infinite}
.didf-ap-main strong{font-size:19px;font-weight:700}
.didf-ap-main small{font-size:12.5px;color:#d6e2ff;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.didf-ap-clock{margin-top:auto;padding-top:10px;font-size:13px;color:#e2eaff}.didf-ap-clock span{font-size:17px;font-weight:800;color:#fff}
.didf-ap-links{display:grid;grid-template-columns:1fr 1fr}.didf-ap-links.one{grid-template-columns:1fr}
.didf-ap-links a{display:flex;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:13.5px;font-weight:700;color:#1d4ed8!important;text-decoration:none!important;transition:background .15s}
.didf-ap-links a+a{border-left:1px solid #e3eaf5}
.didf-ap-links a:hover{background:#eef3ff}
.didf-ap-links em{font-style:normal;font-size:11px;background:#e6eeff;color:#1d4ed8;border-radius:10px;padding:1px 7px}
.didf-hub-nav{position:absolute;top:calc(50% - 30px);z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid #cfdcf0;background:#fff;color:#1d4ed8;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 16px #12306b22;display:grid;place-items:center}
.didf-hub-nav.prev{left:-14px}.didf-hub-nav.next{right:-14px}
.didf-hub-nav:disabled{opacity:0;pointer-events:none}

/* Live flights */
.didf-lf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px}
.didf-lf{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:18px;background:#fff;border:1px solid #dce6f3;color:#13263f!important;text-decoration:none!important;box-shadow:0 4px 14px #1637670a;transition:transform .18s,box-shadow .18s}
a.didf-lf:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1637671f}
.didf-lf.is-air{border-color:#bcd2f7;background:linear-gradient(170deg,#f0f6ff,#fff 55%)}
.didf-lf-top{display:flex;align-items:center;gap:11px}
.didf-lf-top .didf-rf-logo{width:40px;height:40px;border-radius:10px;object-fit:contain;flex-shrink:0}
.didf-lf-top .didf-rf-mono{display:grid;place-items:center;background:#eef3ff;color:#2852ad;font-weight:800;font-size:13px}
.didf-lf-id{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.didf-lf-id strong{font-size:16px}.didf-lf-id small{font-size:12px;color:#617086;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.didf-hub .dia-status{display:inline-block;flex-shrink:0;border-radius:8px;padding:5px 9px;background:#edf1f6;color:#344a65;font-size:11.5px;font-weight:700;line-height:1.3}
.didf-hub .dia-status-green{background:#e1f6eb;color:#137544}.didf-hub .dia-status-blue{background:#e8f0ff;color:#2057b0}.didf-hub .dia-status-amber{background:#fff2d6;color:#915700}.didf-hub .dia-status-red{background:#ffe5e5;color:#ac2020}.didf-hub .dia-status-purple{background:#f0e8ff;color:#683bb1}
.didf-lf-route{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.didf-lf-end{display:flex;flex-direction:column;line-height:1.2;min-width:62px}
.didf-lf-end:last-child{text-align:right}
.didf-lf-end b{font-size:22px;font-weight:800}
.didf-lf-end small{font-size:11.5px;color:#617086;white-space:nowrap}
.didf-lf-end em{font-style:normal;font-size:14px;font-weight:700;color:#1e3a66;margin-top:3px}
.didf-lf-track{position:relative;height:4px;border-radius:4px;background:#e3eaf5}
.didf-lf-track i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,#60a5fa,#1d4ed8)}
.didf-lf-plane{position:absolute;top:50%;transform:translate(-50%,-55%);font-size:17px;color:#1d4ed8;line-height:1;text-shadow:0 0 0 #fff,0 2px 6px #fff}
.didf-lf:not(.is-air) .didf-lf-plane{left:50%!important;color:#94a9c9}
.didf-lf-sub{font-size:12.5px;font-weight:600;color:#2852ad}

/* Activities */
.didf-hub-acts{margin:0!important;max-width:none!important;padding:0!important}
.didf-hub-acts .dias-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}

/* FAQ */
.didf-hub-faq details{background:#fff;border:1px solid #dce6f3;border-radius:14px;padding:4px 18px;margin:0 0 10px}
.didf-hub-faq summary{cursor:pointer;font-weight:700;padding:12px 0;color:#0f2242}
.didf-hub-faq details p{margin:0 0 14px!important;color:#3d5170}
.didf-hub-about{margin-bottom:36px}

@media(max-width:780px){
 .didf-hub-hero{padding:40px 0 30px}
 .didf-hub-search{padding:12px;border-radius:18px}
 .didf-hub-sec{padding:40px 0}
 .didf-hub-head{flex-direction:column;align-items:flex-start}
 .didf-hub-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
 .didf-hub-chip{flex-shrink:0}
 .didf-hub-nav{display:none}
 .didf-ap{flex-basis:78%}
 .didf-hub-in{padding:0 16px}
}
@media(prefers-reduced-motion:reduce){.didf-hub-sky path,.didf-hub-sky .p,.didf-ap-live i{animation:none}.didf-hub-sky .p{display:none}}
