/* wDestinos 2026 — paleta del logo: azul rey + rojo */
:root{
  --wd-blue:        #1a4f9e;
  --wd-blue-dark:   #103770;
  --wd-blue-soft:   #e7eef9;
  --wd-red:         #c8252c;
  --wd-red-dark:    #a01a20;
  --wd-red-soft:    #fdeaeb;
  --wd-gold:        #f0b410;
  --wd-cream:       #f6f8fc;
  --wd-ink:         #15233a;
  --wd-muted:       #5e6b80;
  --wd-line:        #e3e7ef;
  --wd-success:     #1d8a4f;
  --wd-radius:      14px;
  --wd-shadow:      0 12px 40px rgba(26,79,158,.10);
  --wd-shadow-lg:   0 24px 60px rgba(26,79,158,.18);
  --wd-trans:       .35s cubic-bezier(.2,.7,.2,1);

  /* aliases legacy para no romper clases viejas */
  --wd-teal:        var(--wd-blue);
  --wd-teal-dark:   var(--wd-blue-dark);
  --wd-teal-soft:   var(--wd-blue-soft);
  --wd-amber:       var(--wd-red);
  --wd-amber-dark:  var(--wd-red-dark);
}

*{ box-sizing:border-box }
html{ scroll-behavior:smooth }
body{
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color:var(--wd-ink);
  background:#fff;
  font-size:16px;
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:'Playfair Display', Georgia, serif;
  font-weight:700;
  color:var(--wd-ink);
  letter-spacing:-.01em;
}
h1{ font-size:clamp(2rem, 4.5vw, 3.5rem); line-height:1.1 }
h2{ font-size:clamp(1.6rem, 3vw, 2.4rem); line-height:1.2 }
h3{ font-size:1.35rem }

a{ color:var(--wd-teal); text-decoration:none; transition:color var(--wd-trans) }
a:hover{ color:var(--wd-amber) }
.text-muted{ color:var(--wd-muted)!important }

/* ===== Botones ===== */
.wd-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-weight:600; font-size:.95rem;
  padding:.7rem 1.4rem; border-radius:999px;
  border:1.5px solid transparent;
  transition:all var(--wd-trans);
  text-decoration:none; cursor:pointer; white-space:nowrap;
}
.wd-btn-primary{ background:var(--wd-blue); color:#fff }
.wd-btn-primary:hover{ background:var(--wd-blue-dark); color:#fff; transform:translateY(-1px); box-shadow:0 8px 24px rgba(26,79,158,.3) }
.wd-btn-amber{ background:var(--wd-red); color:#fff }
.wd-btn-amber:hover{ background:var(--wd-red-dark); color:#fff; transform:translateY(-1px); box-shadow:0 8px 24px rgba(200,37,44,.35) }
.wd-btn-outline{ background:transparent; color:var(--wd-blue); border-color:var(--wd-blue) }
.wd-btn-outline:hover{ background:var(--wd-blue); color:#fff }
.wd-btn-ghost{ background:rgba(255,255,255,.92); color:var(--wd-teal); backdrop-filter:blur(4px) }
.wd-btn-ghost:hover{ background:#fff }
.wd-btn-success{ background:var(--wd-success); color:#fff }
.wd-btn-lg{ padding:.9rem 1.8rem; font-size:1rem }

/* ===== Header ===== */
.wd-header{ position:sticky; top:0; z-index:1030; background:#fff; box-shadow:0 1px 0 var(--wd-line); transition:box-shadow var(--wd-trans) }
.wd-header.scrolled{ box-shadow:0 6px 20px rgba(15,82,87,.08) }

.wd-topbar{
  background:var(--wd-teal); color:#fff;
  font-size:.825rem; padding:.45rem 0;
}
.wd-topbar a{ color:rgba(255,255,255,.92) }
.wd-topbar a:hover{ color:var(--wd-amber) }

.wd-nav{ padding:.6rem 0 }
.wd-nav .navbar-brand img{ object-fit:contain }
.wd-nav .navbar-nav{ gap:.35rem }
.wd-nav .nav-link{
  color:var(--wd-ink); font-weight:600; font-size:.88rem;
  padding:.5rem 1rem; border-radius:999px;
  border:1.5px solid transparent;
  transition:all var(--wd-trans);
  white-space:nowrap;
}
.wd-nav .nav-link:hover{
  color:var(--wd-blue); background:var(--wd-blue-soft); border-color:var(--wd-blue-soft);
}
.wd-nav .nav-link.active{
  color:#fff; background:var(--wd-blue); border-color:var(--wd-blue);
}
.wd-nav .nav-link.active:hover{
  color:#fff; background:var(--wd-blue-dark); border-color:var(--wd-blue-dark);
}
@media (max-width:991.98px){
  .wd-nav .navbar-nav{ gap:.25rem; padding-top:.75rem }
  .wd-nav .nav-link{ width:100%; text-align:center; border-radius:10px }
  .wd-nav .wd-btn{ width:100%; margin-top:.5rem }
}

/* ===== Hero ===== */
.wd-hero{
  position:relative; min-height:88vh; display:flex; align-items:center;
  color:#fff; overflow:hidden;
  background:#0a1726;
}
.wd-hero .container{ position:relative; z-index:3 }
.wd-hero::after{
  content:''; position:absolute; inset:0; z-index:2;
  background:linear-gradient(180deg, rgba(8,14,28,.1) 0%, rgba(8,14,28,.5) 100%);
}
/* Texto del hero: borde negro real (8 direcciones) — letra blanca PURA, sin opacarse */
.wd-hero h1{
  color:#fff;
  text-shadow:
    -1.5px -1.5px 0 #000,
     1.5px -1.5px 0 #000,
    -1.5px  1.5px 0 #000,
     1.5px  1.5px 0 #000,
    -1.5px  0    0 #000,
     1.5px  0    0 #000,
     0    -1.5px 0 #000,
     0     1.5px 0 #000,
     0     3px   8px rgba(0,0,0,.4);
}
.wd-hero .lead{
  color:#fff;
  text-shadow:
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0    2px 6px rgba(0,0,0,.5);
}
.wd-hero .wd-hero-tag{
  text-shadow:0 1px 2px rgba(0,0,0,.6);
  background:rgba(0,0,0,.35);
  border-color:rgba(255,255,255,.4);
  backdrop-filter:blur(4px);
}
.wd-hero .wd-btn-ghost{
  text-shadow:none;
  background:rgba(255,255,255,.95);
}

/* Slider de fondo con fade puro CSS — 3 slides, 7s c/u, transición 1.5s */
.wd-hero-bgs{ position:absolute; inset:0; z-index:1 }
.wd-hero-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center; background-repeat:no-repeat;
  opacity:0;
  animation: wdHeroSlide 21s infinite;
  will-change: opacity, transform;
}
.wd-hero-bg:nth-child(1){ animation-delay: 0s }
.wd-hero-bg:nth-child(2){ animation-delay: 7s }
.wd-hero-bg:nth-child(3){ animation-delay: 14s }
@keyframes wdHeroSlide {
   0%  { opacity:0; transform:scale(1.05) }
   5%  { opacity:1 }
  33%  { opacity:1; transform:scale(1.10) }
  38%  { opacity:0; transform:scale(1.10) }
  100% { opacity:0; transform:scale(1.05) }
}
@media (prefers-reduced-motion: reduce){
  .wd-hero-bg{ animation:none }
  .wd-hero-bg:nth-child(1){ opacity:1 }
}
.wd-hero .container{ position:relative; z-index:2 }
.wd-hero h1{ color:#fff }
.wd-hero .lead{ color:rgba(255,255,255,.92); font-size:1.15rem }
@keyframes wdHero{ from{transform:scale(1.05)} to{transform:scale(1.12)} }

.wd-hero-tag{
  display:inline-block; padding:.4rem .9rem; background:rgba(255,255,255,.15);
  border:1px solid rgba(255,255,255,.25); border-radius:999px;
  font-size:.85rem; letter-spacing:.05em; text-transform:uppercase;
  backdrop-filter:blur(6px);
}

/* ===== Buscador hero ===== */
.wd-search{
  background:#fff; border-radius:var(--wd-radius);
  padding:.5rem; box-shadow:var(--wd-shadow-lg);
  display:flex; gap:.5rem; align-items:stretch;
}
.wd-search .form-control{
  border:0; box-shadow:none; padding:.9rem 1.1rem;
  font-size:1.05rem; color:var(--wd-ink);
}
.wd-search .form-control:focus{ box-shadow:none }
.wd-search .wd-btn{ flex-shrink:0 }
@media (max-width:575.98px){
  .wd-search{ flex-direction:column; padding:.75rem }
  .wd-search .wd-btn{ width:100% }
}

/* ===== Secciones ===== */
.wd-section{ padding:5rem 0 }
.wd-section-sm{ padding:3rem 0 }
.wd-section-bg{ background:var(--wd-cream) }

.wd-eyebrow{
  display:inline-block; font-size:.8rem; font-weight:600;
  color:var(--wd-amber-dark); letter-spacing:.15em; text-transform:uppercase;
  margin-bottom:.75rem;
}
.wd-section-head{ margin-bottom:3rem }
.wd-section-head p{ color:var(--wd-muted); font-size:1.05rem; max-width:640px }

/* ===== Tarjetas categoría (3 grandes) ===== */
.wd-cat-card{
  position:relative; border-radius:var(--wd-radius); overflow:hidden;
  aspect-ratio: 4/5;
  display:flex; align-items:flex-end;
  color:#fff; text-decoration:none;
  box-shadow:var(--wd-shadow);
  transition:transform var(--wd-trans), box-shadow var(--wd-trans);
}
.wd-cat-card:hover{ transform:translateY(-6px); box-shadow:var(--wd-shadow-lg); color:#fff }
.wd-cat-card img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition:transform 1s ease;
}
.wd-cat-card:hover img{ transform:scale(1.08) }
.wd-cat-card::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(10,58,62,.85) 100%);
}
.wd-cat-card .wd-cat-body{
  position:relative; z-index:2; padding:1.75rem; width:100%;
}
.wd-cat-card h3{ color:#fff; margin-bottom:.35rem }
.wd-cat-card .wd-cat-cta{
  display:inline-flex; align-items:center; gap:.4rem; margin-top:.5rem;
  font-weight:600; font-size:.9rem; opacity:.9;
}

/* ===== Tarjetas producto ===== */
.wd-prod{
  background:#fff; border-radius:var(--wd-radius); overflow:hidden;
  box-shadow:var(--wd-shadow); height:100%;
  display:flex; flex-direction:column;
  transition:transform var(--wd-trans), box-shadow var(--wd-trans);
  border:1px solid var(--wd-line);
}
.wd-prod:hover{ transform:translateY(-6px); box-shadow:var(--wd-shadow-lg) }
.wd-prod-img{
  position:relative; aspect-ratio: 4/3; overflow:hidden; background:#eee;
}
.wd-prod-img img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .8s ease;
}
.wd-prod:hover .wd-prod-img img{ transform:scale(1.06) }
.wd-prod-badge{
  position:absolute; top:.85rem; left:.85rem;
  background:var(--wd-amber); color:#fff;
  padding:.3rem .75rem; border-radius:999px;
  font-size:.75rem; font-weight:700; letter-spacing:.03em;
}
.wd-prod-body{ padding:1.25rem; flex:1; display:flex; flex-direction:column }
.wd-prod-body h4{
  font-family:'Inter', sans-serif; font-size:1.1rem; font-weight:600;
  margin-bottom:.5rem; color:var(--wd-ink);
}
.wd-prod-desc{
  color:var(--wd-muted); font-size:.9rem; flex:1;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.wd-prod-footer{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:1rem; padding-top:1rem; border-top:1px solid var(--wd-line);
}
.wd-prod-price{ font-weight:700; color:var(--wd-teal); font-size:1.15rem }
.wd-prod-price small{ font-weight:400; color:var(--wd-muted); font-size:.7rem; display:block }

/* ===== Features ===== */
.wd-feature{
  text-align:center; padding:1.5rem;
}
.wd-feature-icon{
  width:64px; height:64px; border-radius:50%;
  background:var(--wd-teal-soft); color:var(--wd-teal);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.75rem; margin-bottom:1rem;
}

/* ===== CTA Planificador ===== */
.wd-planner-cta{
  position:relative; border-radius:calc(var(--wd-radius) * 1.5);
  overflow:hidden; background:linear-gradient(135deg, var(--wd-teal), var(--wd-teal-dark));
  color:#fff; padding:4rem 3rem;
}
.wd-planner-cta::before{
  content:''; position:absolute; right:-100px; top:-100px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(212,160,23,.25), transparent 70%);
}
.wd-planner-cta h2{ color:#fff }
.wd-planner-cta p{ color:rgba(255,255,255,.85) }

/* ===== Testimonios ===== */
.wd-testi{
  background:#fff; border-radius:var(--wd-radius);
  padding:2rem; box-shadow:var(--wd-shadow); height:100%;
  border:1px solid var(--wd-line);
}
.wd-testi-stars{ color:var(--wd-amber); margin-bottom:.75rem }
.wd-testi-text{ font-style:italic; color:var(--wd-ink); margin-bottom:1.25rem }
.wd-testi-author{ display:flex; align-items:center; gap:.85rem }
.wd-testi-avatar{
  width:48px; height:48px; border-radius:50%; object-fit:cover;
  background:var(--wd-teal-soft);
}

/* ===== Footer ===== */
.wd-footer{
  background:linear-gradient(180deg, #0e2342 0%, #081a35 100%);
  color:rgba(255,255,255,.78);
  padding:4rem 0 2rem;
  position:relative;
}
.wd-footer::before{
  content:''; position:absolute; left:0; right:0; top:0; height:4px;
  background:linear-gradient(90deg, var(--wd-blue), var(--wd-red));
}
.wd-footer-logo-box{
  background:#fff; border-radius:12px; padding:1rem 1.25rem;
  display:inline-block; margin-bottom:1.25rem;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}
.wd-footer-logo-box img{ display:block; height:48px }
.wd-footer h6{
  color:#fff; font-weight:600; font-family:'Inter', sans-serif;
  text-transform:uppercase; letter-spacing:.08em; font-size:.85rem;
  margin-bottom:1.25rem;
}
.wd-footer-tag{ color:rgba(255,255,255,.7); margin-bottom:1.25rem }
.wd-footer-links li{ margin-bottom:.5rem }
.wd-footer-links a{ color:rgba(255,255,255,.7); font-size:.92rem }
.wd-footer-links a:hover{ color:var(--wd-amber) }
.wd-footer hr{ border-color:rgba(255,255,255,.15) }
.wd-footer a{ color:#fff }

.wd-newsletter .form-control{
  border:0; background:rgba(255,255,255,.1); color:#fff;
  padding:.7rem 1rem;
}
.wd-newsletter .form-control::placeholder{ color:rgba(255,255,255,.55) }
.wd-newsletter .form-control:focus{ background:rgba(255,255,255,.15); box-shadow:none; color:#fff }
@media (max-width:575.98px){
  .wd-newsletter .input-group{ flex-direction:column; gap:.5rem }
  .wd-newsletter .input-group > *{ border-radius:8px!important; width:100% }
}

.wd-social{ display:flex; gap:.5rem }
.wd-social a{
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.08); color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  transition:all var(--wd-trans);
}
.wd-social a:hover{ background:var(--wd-amber); color:#fff; transform:translateY(-2px) }

/* ===== Volver arriba ===== */
.wd-totop{
  position:fixed; right:1.5rem; bottom:1.5rem;
  width:44px; height:44px; border-radius:50%;
  background:var(--wd-teal); color:#fff;
  display:none; align-items:center; justify-content:center;
  box-shadow:var(--wd-shadow); z-index:100;
}
.wd-totop.show{ display:inline-flex }
.wd-totop:hover{ background:var(--wd-amber); color:#fff }

/* ===== Page hero (categoria, blog, cliente-frecuente) ===== */
.wd-page-hero{
  position:relative; padding:7rem 0 5rem; color:#fff; overflow:hidden;
  background:linear-gradient(135deg, var(--wd-blue-dark), var(--wd-blue));
}
.wd-page-hero::before{
  content:''; position:absolute; inset:0;
  background-image: var(--wd-hero-bg, none);
  background-size:cover; background-position:center;
  opacity:.9;
}
.wd-page-hero::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,14,28,.15), rgba(8,14,28,.55));
}
.wd-page-hero .container{ position:relative; z-index:2 }
.wd-page-hero h1{ color:#fff; margin-bottom:.4rem; text-shadow:0 2px 12px rgba(0,0,0,.45) }
.wd-page-hero p{ text-shadow:0 2px 8px rgba(0,0,0,.4) }
.wd-page-hero .wd-eyebrow{ color:var(--wd-gold)!important }

/* ===== Galería paquete ===== */
.wd-gallery{ border-radius:var(--wd-radius); overflow:hidden }
.wd-gallery-main{
  aspect-ratio: 16/10; border-radius:var(--wd-radius); overflow:hidden;
  background:var(--wd-teal-soft); margin-bottom:.75rem;
}
.wd-gallery-main img{ width:100%; height:100%; object-fit:cover; transition:transform .6s }
.wd-gallery-thumbs{ display:flex; gap:.5rem; overflow-x:auto; padding-bottom:.25rem }
.wd-thumb{
  flex:0 0 90px; height:70px; border:2px solid transparent;
  border-radius:8px; overflow:hidden; padding:0; background:none;
  transition:border .2s, transform .2s;
}
.wd-thumb img{ width:100%; height:100%; object-fit:cover }
.wd-thumb:hover{ transform:translateY(-2px) }
.wd-thumb.active{ border-color:var(--wd-amber) }

/* ===== Tabs detalle ===== */
.wd-tabs{ gap:.4rem; border-bottom:1px solid var(--wd-line); padding-bottom:.5rem }
.wd-tabs .nav-link{
  color:var(--wd-muted); font-weight:500; padding:.5rem 1rem;
  border-radius:999px; background:transparent;
}
.wd-tabs .nav-link.active{ background:var(--wd-teal); color:#fff }
.wd-tabs-content{
  background:var(--wd-cream); border-radius:var(--wd-radius);
  padding:1.5rem; min-height:120px; color:var(--wd-ink); line-height:1.7;
}
.wd-tabs-content img{ max-width:100%; height:auto; border-radius:8px }

/* ===== Cotiza (form lateral en paquete) ===== */
.wd-cotiza{
  position:sticky; top:120px;
  background:#fff; border:1px solid var(--wd-line);
  border-radius:var(--wd-radius); padding:1.75rem;
  box-shadow:var(--wd-shadow);
}
.wd-cotiza h3{ color:var(--wd-teal) }
.wd-cotiza .form-control,.wd-cotiza .form-select{ padding:.6rem .8rem; font-size:.95rem }

/* ===== Hero del Planificador ===== */
.wd-planner-hero{
  position:relative; overflow:hidden;
  padding:6rem 0 7rem; color:#fff;
  background:#0a1726;
}
.wd-planner-hero::before{
  content:''; position:absolute; inset:0;
  background-image: var(--wd-hero-bg, none);
  background-size:cover; background-position:center;
  opacity:1;
}
.wd-planner-hero::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(135deg, rgba(16,55,112,.65) 0%, rgba(8,14,28,.5) 60%, rgba(8,14,28,.7) 100%);
}
.wd-planner-hero .container{ position:relative; z-index:2 }
.wd-planner-hero h1{
  color:#fff; font-size:clamp(2rem, 4.5vw, 3.4rem); line-height:1.1;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
}
.wd-planner-hero h1 em{ color:var(--wd-gold); font-style:normal }
.wd-planner-hero .lead{
  color:rgba(255,255,255,.95); max-width:560px;
  text-shadow:0 2px 10px rgba(0,0,0,.4);
}
.wd-hero-badge{
  display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25);
  color:#fff; padding:.4rem .85rem; border-radius:999px;
  font-size:.82rem; font-weight:500; backdrop-filter:blur(6px);
}
.wd-hero-badge i{ color:var(--wd-gold) }

/* Tarjetas flotantes del hero */
.wd-planner-floating{
  position:relative; height:380px;
}
.wd-planner-floating > div{
  position:absolute; background:#fff; color:var(--wd-ink);
  border-radius:14px; padding:1rem 1.25rem;
  box-shadow:0 18px 40px rgba(0,0,0,.25);
  display:flex; flex-direction:column; gap:.15rem;
  min-width:220px;
  animation: wdFloat 6s ease-in-out infinite alternate;
}
.wd-planner-floating > div i{
  font-size:1.4rem; color:var(--wd-red); margin-bottom:.3rem;
}
.wd-planner-floating > div strong{
  font-family:'Playfair Display', serif; font-size:1.1rem; color:var(--wd-blue);
}
.wd-planner-floating > div span{ font-size:.82rem; color:var(--wd-muted) }
.wd-planner-card-1{ top:0; right:20%; animation-delay:0s }
.wd-planner-card-2{ top:130px; right:0; animation-delay:1.5s }
.wd-planner-card-3{ top:260px; right:30%; animation-delay:3s }
@keyframes wdFloat{
  from{ transform:translateY(0) }
  to  { transform:translateY(-10px) }
}

/* Cómo funciona */
.wd-how-step{
  background:#fff; border-radius:var(--wd-radius);
  padding:2rem 1.5rem; text-align:center; height:100%;
  border:1px solid var(--wd-line); position:relative;
  transition:transform var(--wd-trans), box-shadow var(--wd-trans);
}
.wd-how-step:hover{ transform:translateY(-5px); box-shadow:var(--wd-shadow-lg) }
.wd-how-num{
  position:absolute; top:-18px; left:50%; transform:translateX(-50%);
  width:36px; height:36px; border-radius:50%;
  background:var(--wd-red); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-family:'Inter'; font-size:.95rem;
  box-shadow:0 6px 16px rgba(200,37,44,.35);
}
.wd-how-step i{
  font-size:2rem; color:var(--wd-blue); margin:.5rem 0;
}
.wd-how-step h5{
  font-family:'Inter', sans-serif; font-weight:600;
  margin-bottom:.4rem; color:var(--wd-ink);
}
.wd-how-step p{ font-size:.85rem; color:var(--wd-muted); margin:0 }

/* ===== Planificador ===== */
.wd-planner-form .wd-step{
  background:#fff; border:1px solid var(--wd-line);
  border-radius:var(--wd-radius); padding:1.75rem;
  margin-bottom:1.25rem;
}
.wd-step-head{
  font-family:'Playfair Display', serif; font-size:1.25rem; font-weight:700;
  color:var(--wd-teal); margin-bottom:1.25rem;
  display:flex; align-items:center; gap:.75rem;
}
.wd-step-n{
  display:inline-flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:var(--wd-amber); color:#fff; font-family:'Inter';
  font-size:1rem; font-weight:700;
}
.wd-interests label.wd-chip{
  display:block; cursor:pointer; user-select:none;
}
.wd-chip input{ position:absolute; opacity:0; pointer-events:none }
.wd-chip span{
  display:flex; align-items:center; gap:.5rem;
  padding:.6rem .85rem; font-size:.88rem;
  background:var(--wd-cream); border:1.5px solid var(--wd-line);
  border-radius:10px; transition:all var(--wd-trans);
  color:var(--wd-ink);
}
.wd-chip span i{ color:var(--wd-amber-dark) }
.wd-chip:hover span{ border-color:var(--wd-amber) }
.wd-chip input:checked + span{
  background:var(--wd-teal); border-color:var(--wd-teal); color:#fff;
}
.wd-chip input:checked + span i{ color:var(--wd-amber) }

.wd-planner-aside{
  background:var(--wd-cream); border-radius:var(--wd-radius);
  padding:1.75rem; position:sticky; top:120px;
}
.wd-planner-aside-img{
  border-radius:var(--wd-radius); overflow:hidden; aspect-ratio: 4/3;
}
.wd-planner-aside-img img{ width:100%; height:100%; object-fit:cover }
.wd-list{ list-style:none; padding:0; margin:1rem 0 }
.wd-list li{
  padding:.4rem 0; display:flex; gap:.5rem; align-items:flex-start;
}
.wd-list li i{ color:var(--wd-success); font-size:1.2rem; flex-shrink:0 }
.wd-planner-stat{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem;
  text-align:center; padding-top:1rem; border-top:1px solid var(--wd-line);
}
.wd-planner-stat strong{ display:block; font-size:1.3rem; color:var(--wd-teal) }
.wd-planner-stat span{ font-size:.78rem; color:var(--wd-muted) }

/* ===== Contacto ===== */
.wd-contact-card{
  background:var(--wd-cream); border-radius:var(--wd-radius);
  padding:1.75rem; box-shadow:var(--wd-shadow); height:100%;
}
.wd-contact-list{ list-style:none; padding:0; margin:1rem 0 0 }
.wd-contact-list li{
  display:flex; gap:1rem; align-items:flex-start;
  padding:.85rem 0; border-bottom:1px solid var(--wd-line);
}
.wd-contact-list li:last-child{ border:0 }
.wd-contact-list li i{
  width:42px; height:42px; flex-shrink:0;
  border-radius:50%; background:#fff; color:var(--wd-teal);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.1rem;
}
.wd-contact-list li small{
  display:block; color:var(--wd-muted); font-size:.75rem;
  text-transform:uppercase; letter-spacing:.05em;
}
.wd-social-btn{
  width:42px; height:42px; border-radius:50%;
  background:#fff; color:var(--wd-teal); border:1px solid var(--wd-line);
  display:inline-flex; align-items:center; justify-content:center;
  transition:all var(--wd-trans);
}
.wd-social-btn:hover{ background:var(--wd-amber); color:#fff; border-color:var(--wd-amber) }

/* ===== Contacto hero con grid de imágenes ===== */
.wd-contact-hero{
  position:relative; min-height:62vh; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.wd-contact-hero-grid{
  position:absolute; inset:0;
  display:grid; grid-template-columns:repeat(4,1fr);
}
.wd-contact-hero-tile{
  position:relative; background-size:cover; background-position:center;
  transition:transform 1.2s ease;
}
.wd-contact-hero-tile::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,14,28,.2), rgba(8,14,28,.45));
}
.wd-contact-hero:hover .wd-contact-hero-tile{ transform:scale(1.04) }
.wd-contact-hero-tag{
  position:absolute; left:1rem; bottom:1rem; z-index:3;
  background:rgba(255,255,255,.95); color:var(--wd-blue);
  padding:.35rem .75rem; border-radius:999px;
  font-size:.75rem; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase;
}
.wd-contact-hero-overlay{
  position:relative; z-index:5; padding:3rem 1rem; width:100%;
  background:linear-gradient(180deg, rgba(8,14,28,0), rgba(8,14,28,.25));
}
.wd-contact-hero-overlay h1{
  color:#fff; max-width:780px; margin:0 auto;
  text-shadow:0 2px 14px rgba(0,0,0,.6);
}
.wd-contact-hero-overlay .lead, .wd-contact-hero-overlay .wd-eyebrow{
  text-shadow:0 2px 10px rgba(0,0,0,.55);
}
.wd-contact-hero-overlay em{ color:var(--wd-gold); font-style:normal }
@media (max-width:767.98px){
  .wd-contact-hero{ min-height:55vh }
  .wd-contact-hero-grid{ grid-template-columns:repeat(2,1fr) }
}

/* ===== Stats del contacto ===== */
.wd-contact-stats{ padding:3rem 0; background:#fff; position:relative; z-index:2; margin-top:-2rem }
.wd-contact-stats .wd-stat{
  background:var(--wd-cream); border-radius:var(--wd-radius);
  padding:1.5rem 1rem; transition:transform var(--wd-trans), box-shadow var(--wd-trans);
  height:100%;
}
.wd-contact-stats .wd-stat:hover{ transform:translateY(-4px); box-shadow:var(--wd-shadow) }
.wd-contact-stats .wd-stat i{
  font-size:1.75rem; color:var(--wd-red); display:block; margin-bottom:.5rem;
}
.wd-contact-stats .wd-stat strong{
  display:block; font-size:1.5rem; color:var(--wd-blue);
  font-family:'Playfair Display', serif; line-height:1;
}
.wd-contact-stats .wd-stat span{ font-size:.85rem; color:var(--wd-muted) }

/* ===== Mini cards de destinos (contacto) ===== */
.wd-mini-card{
  position:relative; aspect-ratio: 1/1;
  background-size:cover; background-position:center;
  border-radius:var(--wd-radius); overflow:hidden;
  display:flex; align-items:flex-end;
  box-shadow:var(--wd-shadow);
  transition:transform var(--wd-trans), box-shadow var(--wd-trans);
  cursor:default;
}
.wd-mini-card:hover{ transform:translateY(-5px); box-shadow:var(--wd-shadow-lg) }
.wd-mini-card::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(8,14,28,.85));
}
.wd-mini-card-body{
  position:relative; z-index:2; color:#fff;
  padding:1.25rem; width:100%;
}
.wd-mini-card-body h5{
  color:#fff; font-family:'Playfair Display', serif;
  margin-bottom:.15rem; font-size:1.1rem;
}
.wd-mini-card-body p{ color:rgba(255,255,255,.85); font-size:.82rem; margin:0 }

/* ===== Blog detalle ===== */
.wd-blog-img{
  border-radius:var(--wd-radius); overflow:hidden; aspect-ratio: 16/9;
}
.wd-blog-img img{ width:100%; height:100%; object-fit:cover }
.wd-blog-content{ font-size:1.05rem; line-height:1.8; color:var(--wd-ink) }
.wd-blog-content img{ max-width:100%; height:auto; border-radius:8px; margin:1rem 0 }
.wd-blog-content h2,.wd-blog-content h3{ margin-top:2rem; margin-bottom:.75rem }
.wd-blog-content p{ margin-bottom:1rem }

/* ===== Blog CTA y compartir ===== */
.wd-blog-cta{
  background:linear-gradient(135deg, var(--wd-blue-soft), #fff);
  border:1px solid var(--wd-line); border-left:4px solid var(--wd-red);
  border-radius:var(--wd-radius); padding:1.75rem;
}
.wd-blog-cta h3{
  font-family:'Inter', sans-serif; font-weight:600; font-size:1.2rem;
  color:var(--wd-blue); margin:0;
}
.wd-blog-share{ display:flex; align-items:center; flex-wrap:wrap; gap:.5rem }
.wd-blog-share a{
  width:42px; height:42px; border-radius:50%;
  background:var(--wd-cream); color:var(--wd-blue);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.1rem; transition:all var(--wd-trans);
  border:1px solid var(--wd-line);
}
.wd-blog-share a:hover{ background:var(--wd-red); color:#fff; border-color:var(--wd-red); transform:translateY(-2px) }

/* ===== Cliente frecuente ===== */
.wd-benefit{
  background:var(--wd-cream); border-radius:var(--wd-radius);
  padding:1.5rem; height:100%; transition:transform var(--wd-trans);
}
.wd-benefit:hover{ transform:translateY(-3px) }
.wd-benefit i{
  font-size:2rem; color:var(--wd-amber-dark);
  display:block; margin-bottom:.75rem;
}
.wd-benefit h5{ font-family:'Inter', sans-serif; font-weight:600; margin-bottom:.25rem }

/* ===== Form general ===== */
.wd-form .form-control,.wd-form .form-select{
  padding:.7rem .9rem; font-size:.95rem;
  border:1.5px solid var(--wd-line); border-radius:10px;
  transition:border .2s, box-shadow .2s;
}
.wd-form .form-control:focus,.wd-form .form-select:focus{
  border-color:var(--wd-teal);
  box-shadow:0 0 0 .2rem rgba(15,82,87,.12);
}
.wd-form .form-label{ font-weight:500; font-size:.88rem; color:var(--wd-ink) }

/* ===== Utilidades ===== */
.wd-divider{
  display:inline-block; width:60px; height:3px;
  background:var(--wd-amber); border-radius:3px; margin:.5rem 0 1rem;
}
.wd-fade-up{ opacity:0; transform:translateY(20px); transition:all .8s ease }
.wd-fade-up.in{ opacity:1; transform:none }
