@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Poppins:wght@400;600;700;800;900&display=swap');

/* ------------------------------------------------------------------------------------------------------------------------------
   SDF VOYAGE --- main.css
------------------------------------------------------------------------------------------------------------------------------ */

/* ------ FONT HELPERS ------ */
.font-heading{font-family:'Montserrat','Segoe UI',sans-serif}

/* ------ TOP BAR ------ */
.topbar{background:var(--navy);color:rgba(255,255,255,.75);font-size:.75rem;letter-spacing:.3px;
  display:flex;justify-content:flex-end;align-items:center;gap:20px;padding:6px 5%}
.topbar a{color:rgba(255,255,255,.75);transition:color .2s}
.topbar a:hover{color:var(--yellow)}
.topbar .sep{opacity:.35}

/* ------ NAVBAR ------ */
.sdf-nav{background:var(--white);box-shadow:0 1px 8px rgba(0,0,0,.08);
  position:sticky;top:0;z-index:900;padding:0 5%}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:62px}
.nav-logo a{display:flex;align-items:center;gap:8px;font-size:1.35rem;font-weight:800;color:var(--navy);font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.5px}
.nav-logo .logo-icon,.nav-logo .logo-text{display:inline-flex;align-items:center}
.nav-logo .logo-text em{color:var(--yellow);font-style:normal}
.nav-logo img{height:42px;width:auto}
.nav-tabs{display:flex;height:100%;gap:0;flex:1;justify-content:center}
.nav-tabs .nav-link,.nav-tabs a{display:flex;align-items:center;gap:6px;padding:0 11px;
  font-size:.82rem;font-weight:600;color:var(--gray);letter-spacing:.2px;
  border-bottom:3px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.nav-tabs .nav-link:hover,.nav-tabs a:hover,.nav-tabs .nav-link.active{color:var(--navy);border-color:var(--yellow)}
.nav-right{display:flex;align-items:center;gap:12px}
.btn-lang{background:var(--light);color:var(--navy);border:1px solid var(--border);
  border-radius:20px;padding:5px 14px;font-size:.78rem;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:.2s;font-family:'Montserrat','Segoe UI',sans-serif}
.btn-lang:hover{background:var(--yellow);border-color:var(--yellow);color:#fff}
.btn-nav-cta{background:var(--yellow);color:#fff;border:none;border-radius:6px;
  padding:8px 22px;font-size:.82rem;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:.2s;display:inline-block;font-family:'Montserrat','Segoe UI',sans-serif}
.btn-nav-cta:hover{opacity:.85}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{display:block;width:24px;height:2.5px;background:var(--navy);border-radius:2px}
.mobile-nav{display:none;flex-direction:column;background:var(--white);
  border-top:1px solid var(--border);padding:16px 5%}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:10px 0;font-size:.9rem;color:var(--navy);font-weight:500;
  border-bottom:1px solid var(--border)}
/* WP custom menu in nav */
.nav-tabs .nav-extra{display:contents}
.nav-tabs .nav-extra li{display:flex}
.nav-tabs .nav-extra a{display:flex;align-items:center;padding:0 11px;
  font-size:.87rem;font-weight:500;color:var(--gray);
  border-bottom:3px solid transparent;transition:.2s;white-space:nowrap}
.nav-tabs .nav-extra a:hover{color:var(--navy);border-color:var(--yellow)}

/* ------ HERO ------ */
.sdf-hero{background:linear-gradient(160deg,var(--navy) 0%,#1A3BB3 55%,#1565C0 100%);
  padding:52px 5% 80px;position:relative;overflow:hidden;min-height:420px}
.sdf-hero::before{content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='40' cy='40' r='3'/%3E%3C/g%3E%3C/svg%3E")}
.hero-plane{position:absolute;right:4%;top:10%;font-size:10rem;opacity:.06;
  animation:drift 10s ease-in-out infinite;pointer-events:none}
@keyframes drift{0%,100%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-18px) rotate(-10deg)}}
.hero-content{position:relative;max-width:680px;margin:0 auto;text-align:center;margin-bottom:40px}
.hero-tag{display:inline-block;background:rgba(26,107,255,.18);color:var(--yellow);
  border:1px solid rgba(26,107,255,.4);border-radius:4px;padding:5px 20px;
  font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;
  font-family:'Montserrat','Segoe UI',sans-serif}
.hero-title{font-size:clamp(1.9rem,4.5vw,3.1rem);font-weight:900;color:var(--white);
  line-height:1.15;margin-bottom:14px;font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.5px}
.hero-sub{color:rgba(255,255,255,.78);font-size:.97rem;line-height:1.7;font-weight:300}

/* ------ SEARCH BOX ------ */
.search-box{background:var(--white);border-radius:16px;box-shadow:0 8px 40px rgba(0,0,0,.25);
  max-width:960px;margin:0 auto;overflow:hidden;position:relative}
.search-tabs{display:flex;border-bottom:1px solid var(--border);overflow-x:auto}
.search-tab{flex:1;min-width:max-content;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:14px 12px;font-size:.8rem;font-weight:700;letter-spacing:.3px;color:var(--gray);
  cursor:pointer;border-bottom:3px solid transparent;transition:.2s;white-space:nowrap;font-family:'Montserrat','Segoe UI',sans-serif}
.search-tab:hover{color:var(--navy)}
.search-tab.active{color:var(--navy);border-color:var(--yellow);background:var(--light)}
.search-panel{display:none;padding:24px}
.search-panel.active{display:block}
.search-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.search-field{flex:1;min-width:130px;display:flex;flex-direction:column;gap:5px}
.search-field.sf-sm{flex:0 0 140px}
.search-field label{font-size:.68rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:1px;font-family:'Montserrat','Segoe UI',sans-serif}
.search-field input,.search-field select{
  padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;
  font-family:inherit;font-size:.9rem;color:var(--dark);outline:none;
  transition:border-color .2s,box-shadow .2s;background:var(--white)}
.search-field input:focus,.search-field select:focus{
  border-color:var(--sky);box-shadow:0 0 0 3px rgba(46,127,217,.12)}
.btn-search{background:var(--yellow);color:#fff;border:none;border-radius:6px;
  padding:12px 26px;font-size:.85rem;font-weight:700;letter-spacing:.4px;
  font-family:'Montserrat','Segoe UI',sans-serif;
  cursor:pointer;white-space:nowrap;transition:.2s;height:44px;align-self:flex-end}
.btn-search:hover{background:#0D52CC;transform:translateY(-1px)}

/* ------ TRUST STRIP ------ */
.trust-strip{background:var(--navy);border-bottom:none;
  display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding:14px 5%}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:.1px}
.trust-item span{font-size:1.1rem;color:var(--yellow)}

/* ------ SECTIONS ------ */
.sdf-section{padding:64px 5%}
.sdf-section-light{background:var(--light)}
.sec-head{margin-bottom:36px}
.sec-label{font-size:.65rem;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--yellow);background:rgba(26,107,255,.08);
  display:inline-block;padding:5px 14px;border-radius:4px;
  margin-bottom:14px;font-family:'Montserrat','Segoe UI',sans-serif;
  border-left:3px solid var(--yellow)}
.sec-title{font-size:clamp(1.55rem,3vw,2.1rem);font-weight:800;color:var(--navy);margin-bottom:12px;
  font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.3px;line-height:1.2}
.sec-sub{color:var(--gray);font-size:.92rem;line-height:1.75;max-width:560px;font-weight:300}
.container{max-width:1160px;margin:0 auto;padding:0 5%}

/* ------ DESTINATIONS ------ */
.dest-cats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.dest-cat{padding:7px 18px;border-radius:20px;border:1.5px solid var(--border);
  font-size:.82rem;font-weight:600;color:var(--gray);cursor:pointer;transition:.2s}
.dest-cat.active,.dest-cat:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.dest-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.dest-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  transition:transform .25s,box-shadow .25s;cursor:pointer}
.dest-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(13,31,110,.18)}
.dest-img{height:180px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:6px;position:relative}
.dest-img .landmark{font-size:5rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.dest-img .landmark-name{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.9);
  letter-spacing:.5px;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.dest-badge{position:absolute;top:10px;left:10px;background:var(--yellow);color:#fff;
  font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:4px}
.dc-1{background:linear-gradient(135deg,#0D47A1,#42A5F5)}
.dc-2{background:linear-gradient(135deg,#1B5E20,#66BB6A)}
.dc-3{background:linear-gradient(135deg,#880E4F,#F48FB1)}
.dc-4{background:linear-gradient(135deg,#E65100,#FFCA28)}
.dc-5{background:linear-gradient(135deg,#4A148C,#9575CD)}
.dc-6{background:linear-gradient(135deg,#006064,#4DD0E1)}
.dc-7{background:linear-gradient(135deg,#37474F,#90A4AE)}
.dc-8{background:linear-gradient(135deg,#BF360C,#FF8A65)}
.dest-body{padding:14px 16px;background:var(--white)}
.dest-city{font-size:.98rem;font-weight:700;color:var(--navy);margin-bottom:3px;font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.2px}
.dest-country{font-size:.78rem;color:var(--gray);margin-bottom:8px;font-weight:400}
.dest-price{font-size:.92rem;font-weight:800;color:var(--blue);font-family:'Montserrat','Segoe UI',sans-serif}

/* ------ SERVICES ------ */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.svc-card{background:var(--white);border-radius:14px;padding:32px 28px;
  border:1px solid #E8EEFF;transition:.3s;cursor:pointer;
  box-shadow:0 2px 12px rgba(13,31,110,.06);position:relative;overflow:hidden}
.svc-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc-card:hover::after{transform:scaleX(1)}
.svc-card:hover{border-color:rgba(26,107,255,.2);box-shadow:0 12px 40px rgba(26,107,255,.14);transform:translateY(-4px)}
.svc-icon{width:52px;height:52px;background:linear-gradient(135deg,#EEF3FF,#DCE7FF);
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin-bottom:20px;color:var(--yellow);transition:.3s}
.svc-card:hover .svc-icon{background:var(--yellow);color:#fff}
.svc-title{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:10px;font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.1px}
.svc-desc{font-size:.84rem;color:var(--gray);line-height:1.72;font-weight:400}
.svc-link{display:inline-flex;align-items:center;gap:6px;margin-top:16px;
  font-size:.8rem;font-weight:700;color:var(--yellow);
  padding:7px 16px;border:1.5px solid rgba(26,107,255,.25);border-radius:6px;transition:.2s}
.svc-link:hover{background:var(--yellow);color:#fff;border-color:var(--yellow)}

/* ------ WHY US ------ */
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.why-card{text-align:center;padding:32px 24px;background:var(--white);
  border-radius:14px;border:1px solid #E8EEFF;
  box-shadow:0 2px 12px rgba(13,31,110,.05);transition:.3s}
.why-card:hover{box-shadow:0 8px 32px rgba(26,107,255,.12);transform:translateY(-3px)}
.why-icon{width:60px;height:60px;background:linear-gradient(135deg,#EEF3FF,#DCE7FF);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;margin:0 auto 18px;color:var(--yellow);transition:.3s}
.why-card:hover .why-icon{background:var(--yellow);color:#fff}
.why-title{font-size:.97rem;font-weight:700;color:var(--navy);margin-bottom:8px;font-family:'Montserrat','Segoe UI',sans-serif}
.why-desc{font-size:.84rem;color:var(--gray);line-height:1.7;font-weight:400}

/* ------ PROMO BANNER ------ */
.promo-banner{background:linear-gradient(135deg,var(--navy),var(--sky));border-radius:16px;
  padding:48px 40px;display:grid;grid-template-columns:1fr auto;gap:30px;
  align-items:center;max-width:1100px;margin:0 auto}
.promo-banner h2{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:800;color:var(--white);margin-bottom:10px;font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.3px}
.promo-banner p{color:rgba(255,255,255,.78);font-size:.92rem;line-height:1.72;font-weight:300}
.btn-promo{background:var(--yellow);color:#fff;border:none;border-radius:6px;
  padding:14px 34px;font-size:.88rem;font-weight:700;letter-spacing:.4px;cursor:pointer;
  white-space:nowrap;transition:.2s;font-family:'Montserrat','Segoe UI',sans-serif;display:inline-block}
.btn-promo:hover{background:#0D52CC}

/* ------ NEWSLETTER ------ */
.nl-wrap{max-width:560px;margin:0 auto;text-align:center}
.nl-wrap h2{font-size:1.5rem;font-weight:800;color:var(--navy);margin-bottom:10px;font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.3px}
.nl-wrap p{color:var(--gray);font-size:.88rem;margin-bottom:24px;line-height:1.7;font-weight:300}
.nl-form{display:flex;gap:8px}
.nl-form input{flex:1;padding:12px 16px;border:1.5px solid var(--border);
  border-radius:8px;font-family:inherit;font-size:.9rem;outline:none;transition:.2s}
.nl-form input:focus{border-color:var(--sky)}
.nl-form button{background:var(--navy);color:var(--white);border:none;border-radius:8px;
  padding:12px 24px;font-weight:700;font-family:inherit;cursor:pointer;transition:.2s}
.nl-form button:hover{background:var(--blue)}

/* ------ CONTACT BAR ------ */
.contact-bar{background:var(--navy);padding:22px 5%;
  display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.cb-item{display:flex;align-items:center;gap:10px;color:var(--white)}
.cb-item .ci{font-size:1.5rem}
.cb-item strong{display:block;font-size:.9rem}
.cb-item span{font-size:.8rem;opacity:.7}

/* ------ FOOTER ------ */
.site-footer{background:var(--dark);color:rgba(255,255,255,.92);padding:56px 5% 28px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-logo{font-size:1.4rem;font-weight:800;color:var(--white);margin-bottom:12px;font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.4px}
.footer-logo span{color:var(--yellow)}
.footer-brand p{font-size:.83rem;line-height:1.75;max-width:240px;margin-bottom:16px;font-weight:300;color:rgba(255,255,255,.85)}
.footer-socials{display:flex;gap:10px}
.footer-social{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;font-size:1rem;transition:.2s}
.footer-social:hover{background:var(--yellow);color:#fff}
.footer-col h4,.footer-col .widget-title{font-size:.72rem;font-weight:700;color:var(--white);
  text-transform:uppercase;letter-spacing:1.5px;margin-bottom:18px;font-family:'Montserrat','Segoe UI',sans-serif}
.footer-col a{display:block;font-size:.82rem;color:rgba(255,255,255,.88);
  margin-bottom:10px;transition:color .2s;font-weight:400}
.footer-col a:hover{color:var(--yellow)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:.8rem}
.legal,.footer-legal-menu{display:flex;gap:20px;list-style:none}
.legal a,.footer-legal-menu a{font-size:.8rem;color:rgba(255,255,255,.75)}
.legal a:hover,.footer-legal-menu a:hover{color:var(--yellow)}

/* ------ BLOG / PAGES ------ */
.sdf-main-content{padding:64px 5%;min-height:60vh}
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.post-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.post-thumb img{width:100%;height:200px;object-fit:cover}
.post-body{padding:24px}
.post-meta{font-size:.78rem;color:var(--gray);margin-bottom:8px}
.post-title{font-size:1.08rem;font-weight:700;color:var(--navy);margin-bottom:10px;line-height:1.35;font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.1px}
.post-title a:hover{color:var(--sky)}
.post-excerpt{font-size:.86rem;color:var(--gray);line-height:1.72;margin-bottom:16px;font-weight:400}
.btn-read-more{font-size:.85rem;font-weight:600;color:var(--sky)}
.btn-read-more:hover{color:var(--navy)}
.page-content{max-width:800px;margin:0 auto}
.page-title{font-size:2rem;font-weight:800;color:var(--navy);margin-bottom:28px;
  padding-bottom:16px;border-bottom:3px solid var(--yellow);font-family:'Montserrat','Segoe UI',sans-serif;letter-spacing:-.4px;padding-left:16px;border-left:5px solid var(--yellow)}
.entry-content{font-size:.93rem;line-height:1.82;color:var(--dark);font-weight:400}
.entry-content h2,.entry-content h3{color:var(--navy);margin:28px 0 12px}
.entry-content p{margin-bottom:16px}
.pagination{margin-top:40px;text-align:center}
.no-posts{text-align:center;color:var(--gray);padding:40px}

/* ------ SCROLL TOP ------ */
#sdf-scroll-top{position:fixed;bottom:24px;right:24px;background:var(--yellow);
  color:#fff;width:42px;height:42px;border-radius:8px;border:none;
  font-size:1.1rem;cursor:pointer;box-shadow:0 4px 20px rgba(26,107,255,.35);
  display:none;align-items:center;justify-content:center;font-weight:700;transition:.2s;z-index:800}
#sdf-scroll-top:hover{transform:scale(1.1)}

/* ------ BANNER SLIDER (fade) ------ */
.sdf-banner-slider{position:relative;overflow:hidden;width:100%;background:#000;line-height:0}
.banner-track{position:relative}
.banner-slide{width:100%;transition:opacity .9s ease}
.banner-slide + .banner-slide{position:absolute;top:0;left:0;width:100%;z-index:1;opacity:0}
.banner-slide.active{opacity:1 !important;z-index:2}
.banner-slide:not(.active){opacity:0}
.banner-slide img{width:100%;display:block;object-fit:cover;max-height:520px}
.banner-prev,.banner-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);
  border:none;color:#fff;font-size:2.8rem;line-height:1;padding:.1rem .8rem;cursor:pointer;
  z-index:10;border-radius:6px;transition:background .2s}
.banner-prev:hover,.banner-next:hover{background:rgba(0,0,0,.65)}
.banner-prev{left:1rem}.banner-next{right:1rem}
.banner-dots{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:10}
.banner-dots .bdot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);
  cursor:pointer;border:none;transition:background .2s;padding:0}
.banner-dots .bdot.active{background:#fff}

/* ------ RESPONSIVE ------ */
@media(max-width:900px){
  .nav-tabs{display:none}
  .hamburger{display:flex}
  .footer-grid{grid-template-columns:1fr 1fr}
  .promo-banner{grid-template-columns:1fr;text-align:center}
}
@media(max-width:600px){
  .search-row{flex-direction:column}
  .search-field.sf-sm{flex:1}
  .btn-search{width:100%}
  .footer-grid{grid-template-columns:1fr}
  .nl-form{flex-direction:column}
  .contact-bar{gap:20px}
  .trust-strip{gap:16px}
}

/* ------ R--SULTATS DE RECHERCHE ------ */
.sdf-results-overlay{position:fixed;inset:0;background:rgba(5,14,58,.7);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.sdf-results-overlay.open{display:flex}
.sdf-results-modal{background:#fff;border-radius:20px;width:100%;max-width:860px;max-height:90vh;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:srmIn .3s ease}
@keyframes srmIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.srm-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 16px;border-bottom:1px solid #eef0f7;position:sticky;top:0;background:#fff;z-index:2;border-radius:20px 20px 0 0}
.srm-title{font-family:Montserrat,sans-serif;font-weight:800;font-size:1.15rem;color:#0d1f6e;display:flex;align-items:center;gap:10px}
.srm-title i{color:#fff;background:#1A6BFF;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem}
.srm-close{background:none;border:none;font-size:1.6rem;color:#888;cursor:pointer;line-height:1;padding:0 4px;transition:color .2s}
.srm-close:hover{color:#0d1f6e}
.srm-sub{padding:12px 28px;font-size:.88rem;color:#666;background:#f8f9ff;border-bottom:1px solid #eef0f7}
.srm-sub b{color:#0d1f6e}
.srm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;padding:24px 28px}
.srf-card{border:2px solid #eef0f7;border-radius:14px;padding:20px;transition:border-color .2s,box-shadow .2s;cursor:default;display:flex;flex-direction:column;gap:10px}
.srf-card:hover{border-color:#0d1f6e;box-shadow:0 4px 16px rgba(13,31,110,.12);}
/* -- HERO V2 (front-page template) -- */
.sdf-hero-v2{position:relative;min-height:580px;display:flex;flex-direction:column;align-items:center;overflow:hidden;background:#050E3A;}
.hero-slides-bg{position:absolute;inset:0;z-index:0;}
.hslide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;}
.hslide.active{opacity:1;}
.sdf-hero-v2::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,14,58,.5) 0%,rgba(5,14,58,.72) 50%,rgba(5,14,58,.88) 100%);z-index:1;}
.hero-particles{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;}
.particle{position:absolute;width:2px;height:2px;background:rgba(255,255,255,.35);border-radius:50%;animation:fp 10s infinite linear;}
.particle:nth-child(odd){animation-duration:14s;width:3px;height:3px;}
@keyframes fp{0%{transform:translateY(100vh);opacity:0;}10%{opacity:1;}90%{opacity:.4;}100%{transform:translateY(-20px);opacity:0;}}
.hero-v2-inner{position:relative;z-index:3;text-align:center;padding:82px 5% 36px;max-width:860px;margin:0 auto;width:100%;}
.hero-badge-v2{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:8px 20px;font-size:.72rem;font-weight:600;color:rgba(255,255,255,.9);letter-spacing:.5px;margin-bottom:28px;font-family:'Poppins',sans-serif;}
.badge-dot{width:8px;height:8px;background:#1A6BFF;border-radius:50%;animation:pdot 2s infinite;flex-shrink:0;}
@keyframes pdot{0%,100%{box-shadow:0 0 0 0 rgba(26,107,255,.7);}50%{box-shadow:0 0 0 6px rgba(26,107,255,0);}}
.hero-h1{font-size:clamp(2.1rem,5.5vw,3.8rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:20px;font-family:'Poppins',sans-serif;letter-spacing:-1px;text-shadow:0 2px 20px rgba(0,0,0,.3);}
.hero-accent{color:#1A6BFF;display:inline-block;}
.hero-desc{font-size:1.05rem;color:rgba(255,255,255,.82);line-height:1.75;max-width:580px;margin:0 auto 36px;font-weight:300;font-family:'Inter','Segoe UI',sans-serif;}
.hero-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:52px;}
.hero-btn-primary{display:inline-flex;align-items:center;gap:8px;background:#1A6BFF;color:#fff;padding:14px 32px;border-radius:8px;font-size:.92rem;font-weight:700;font-family:'Poppins',sans-serif;letter-spacing:.3px;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 4px 20px rgba(26,107,255,.45);}
.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(26,107,255,.6);background:#0D52CC;color:#fff;}
.hero-btn-secondary{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:14px 28px;border-radius:8px;font-size:.92rem;font-weight:600;border:1.5px solid rgba(255,255,255,.3);transition:all .2s;font-family:'Poppins',sans-serif;}
.hero-btn-secondary:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.6);color:#fff;transform:translateY(-2px);}
.hero-stats-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:20px 32px;width:fit-content;margin:0 auto;}
.h-stat{text-align:center;padding:0 28px;}
.h-num{font-size:2rem;font-weight:800;color:#fff;font-family:'Poppins',sans-serif;line-height:1;display:inline-block;}
.h-plus{font-size:1.4rem;font-weight:700;color:#1A6BFF;margin-left:2px;}
.h-label{display:block;font-size:.7rem;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-weight:500;}
.h-divider{width:1px;height:40px;background:rgba(255,255,255,.2);flex-shrink:0;}
.sdf-hero-v2 .search-box{position:relative;z-index:3;width:calc(100% - 10%);max-width:1040px;margin:0 auto;margin-bottom:-30px;}
/* -- IMPROVED BODY FONT -- */
body{font-family:'Inter','Segoe UI',system-ui,sans-serif;}
/* -- BADGE FIX -- */
.dest-badge{background:#1A6BFF !important;color:#fff !important;}
/* -- TRIP PILLS -- */
.trip-type-row{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.trip-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:20px;border:1.5px solid var(--border);font-size:.82rem;font-weight:600;color:var(--gray);cursor:pointer;transition:all .2s;}
.trip-pill input[type=radio]{display:none;}
.trip-pill.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.sf-pax{position:relative;margin-left:auto;}
.pax-trigger{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--navy);white-space:nowrap;transition:border-color .2s;}
.pax-trigger:hover{border-color:var(--yellow);}
.pax-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:16px;min-width:260px;box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:100;display:none;}
.pax-dropdown.open{display:block;}
.pax-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);}
.pax-info strong{display:block;font-size:.87rem;color:var(--navy);}
.pax-info small{font-size:.75rem;color:var(--gray);}
.pax-counter{display:flex;align-items:center;gap:12px;}
.pax-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border);background:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--navy);transition:all .2s;}
.pax-btn:hover{background:var(--yellow);border-color:var(--yellow);color:#fff;}
.pax-val{font-weight:700;color:var(--navy);min-width:20px;text-align:center;}
.pax-class-row{padding:12px 0;}
.pax-class-row select{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:.88rem;color:var(--navy);}
.pax-confirm{width:100%;padding:10px;background:var(--yellow);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-family:inherit;font-size:.88rem;margin-top:8px;transition:background .2s;}
.pax-confirm:hover{background:#0D52CC;}
.search-field.sf-city{flex:1.5;}
@media(max-width:768px){.hero-v2-inner{padding:60px 5% 24px;}.hero-h1{font-size:2rem;letter-spacing:-.5px;}.hero-stats-strip{padding:16px;}.h-stat{padding:0 14px;}.hero-cta-row{flex-direction:column;align-items:center;}.hero-btn-primary,.hero-btn-secondary{width:100%;justify-content:center;}.sdf-hero-v2 .search-box{width:calc(100% - 6%);margin-bottom:0;}}
