/* TravelDesk — Web pública de la agencia. Una sola hoja de estilos para todas las agencias:
   los colores llegan como variables (--w-p primario, --w-a acento) desde web.js. */
:root{--w-p:#1e293b;--w-a:#f59e0b;--w-p-oscuro:#0f172a;--w-p-claro:#f1f5f9;--w-texto:#1e293b;--w-gris:#64748b;--w-borde:#e2e8f0;--w-fondo:#fff;--w-fuente:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--w-radio:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--w-fuente);color:var(--w-texto);background:var(--w-fondo);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--w-p)}
h1,h2,h3{line-height:1.2;margin:0}
.w-cargando{padding:4rem 1rem;text-align:center;color:var(--w-gris)}
.w-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.w-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--w-a);color:#fff;border:0;border-radius:999px;padding:.7rem 1.3rem;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:filter .15s,transform .15s}
.w-btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.w-btn.sec{background:var(--w-p)}
.w-btn.ghost{background:transparent;color:var(--w-p);border:2px solid var(--w-p)}
.w-btn:disabled{opacity:.6;cursor:default;transform:none}

/* Cabecera */
.w-nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--w-borde)}
.w-nav .w-wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}
.w-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--w-p);font-weight:800;font-size:1.15rem}
.w-logo img{height:44px;width:auto;max-width:180px;object-fit:contain}
.w-menu{display:flex;align-items:center;gap:1.3rem}
.w-menu a{color:var(--w-texto);text-decoration:none;font-weight:600;font-size:.95rem}
.w-menu a:hover{color:var(--w-p)}
.w-burger{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--w-p)}
@media (max-width:860px){
  .w-menu{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;flex-direction:column;align-items:stretch;padding:1rem 20px;border-bottom:1px solid var(--w-borde);gap:.9rem}
  .w-menu.abierto{display:flex}
  .w-burger{display:block}
}

/* Portada */
.w-hero{position:relative;color:#fff;background:linear-gradient(135deg,var(--w-p),var(--w-p-oscuro));overflow:hidden}
.w-hero.con-foto{background:var(--w-p-oscuro)}
.w-hero .w-foto{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.45}
.w-hero .w-wrap{position:relative;padding:4.5rem 20px 3.5rem;text-align:center}
.w-hero h1{font-size:clamp(1.7rem,4.2vw,2.9rem);font-weight:800;text-wrap:balance;max-width:820px;margin:0 auto .6rem}
.w-hero p{font-size:1.1rem;opacity:.92;max-width:640px;margin:0 auto 1.6rem}
.w-hero .w-acciones{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.w-motor{background:#fff;color:var(--w-texto);border-radius:var(--w-radio);padding:1rem;max-width:960px;margin:1.6rem auto 0;box-shadow:0 12px 40px rgba(0,0,0,.25);text-align:left}
.w-motor.vacio{display:none}
.w-motor-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.8rem}
.w-motor-tabs a{text-decoration:none;color:var(--w-texto);font-weight:700;font-size:.9rem;padding:.45rem .9rem;border-radius:999px;background:var(--w-p-claro)}
.w-motor-tabs a:hover{background:var(--w-p);color:#fff}
.w-mini{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:.6rem}
.w-mini input{font:inherit;padding:.75rem .8rem;border:1px solid var(--w-borde);border-radius:10px;min-width:0}
@media (max-width:720px){.w-mini{grid-template-columns:1fr 1fr}.w-mini .w-btn{grid-column:1/3;justify-content:center}}

/* Secciones */
.w-sec{padding:3.5rem 0}
.w-sec.alt{background:var(--w-p-claro)}
.w-sec h2{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;margin-bottom:.3rem;text-wrap:balance}
.w-sec .w-intro{color:var(--w-gris);margin:0 0 1.6rem;max-width:680px}
.w-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.2rem}
.w-card{background:#fff;border:1px solid var(--w-borde);border-radius:var(--w-radio);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.w-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(15,23,42,.10)}
.w-card .w-img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--w-p),var(--w-a));background-size:cover;background-position:center;position:relative}
.w-card .w-img .w-etq{position:absolute;left:.7rem;top:.7rem;background:#fff;color:var(--w-p);font-size:.75rem;font-weight:800;border-radius:999px;padding:.2rem .6rem}
.w-card .w-img .w-etq.pocas{background:#fef3c7;color:#92400e}.w-card .w-img .w-etq.confirmado{background:#dcfce7;color:#166534}.w-card .w-img .w-etq.completo{background:#fee2e2;color:#991b1b}
.w-card .w-cuerpo{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.w-card small{color:var(--w-gris)}
.w-card h3{font-size:1.1rem;font-weight:800}
.w-card .w-precio{margin-top:auto;padding-top:.6rem;display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem}
.w-card .w-precio b{font-size:1.25rem;color:var(--w-p)}
.w-card .w-precio span{color:var(--w-gris);font-size:.8rem}
.w-card .w-resumen{color:#475569;font-size:.92rem}
.w-vacio{color:var(--w-gris);background:#fff;border:1px dashed var(--w-borde);border-radius:var(--w-radio);padding:1.4rem;text-align:center}

/* Quiénes somos */
.w-quienes{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center}
.w-quienes .w-texto{white-space:pre-line;font-size:1.03rem}
.w-quienes img{border-radius:var(--w-radio);width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:820px){.w-quienes{grid-template-columns:1fr}}
.w-sellos{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}
.w-sello{background:#fff;border:1px solid var(--w-borde);border-radius:10px;padding:.5rem .8rem;font-size:.85rem;font-weight:600}

/* Opiniones */
.w-opis{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.w-opi{background:#fff;border:1px solid var(--w-borde);border-radius:var(--w-radio);padding:1.2rem}
.w-opi .w-estrellas{color:#f59e0b;letter-spacing:2px;margin-bottom:.4rem}
.w-opi p{margin:0 0 .6rem;font-style:italic}
.w-opi b{font-size:.9rem}

/* Contacto */
.w-contacto{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem}
@media (max-width:820px){.w-contacto{grid-template-columns:1fr}}
.w-form{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.w-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:600;color:#334155}
.w-form input,.w-form textarea,.w-form select{font:inherit;padding:.7rem .8rem;border:1px solid var(--w-borde);border-radius:10px;background:#fff}
.w-form .ancho{grid-column:1/3}
.w-form textarea{min-height:110px;resize:vertical}
.w-form .w-btn{grid-column:1/3;justify-content:center}
.w-form .w-aviso{grid-column:1/3;font-size:.78rem;color:var(--w-gris)}
.w-form .w-msg{grid-column:1/3;padding:.8rem 1rem;border-radius:10px;background:#dcfce7;color:#166534;font-weight:600}
.w-form .w-msg.err{background:#fee2e2;color:#991b1b}
@media (max-width:520px){.w-form{grid-template-columns:1fr}.w-form .ancho,.w-form .w-btn,.w-form .w-aviso,.w-form .w-msg{grid-column:1}}
.w-datos{display:flex;flex-direction:column;gap:.9rem}
.w-dato{display:flex;gap:.8rem;align-items:flex-start}
.w-dato i{font-style:normal;width:38px;height:38px;border-radius:10px;background:var(--w-p-claro);display:grid;place-items:center;flex:none}
.w-dato a{text-decoration:none;font-weight:600}
.w-dato small{display:block;color:var(--w-gris)}

/* Pie */
.w-pie{background:var(--w-p-oscuro);color:#cbd5e1;padding:2.5rem 0 5rem;font-size:.85rem}
.w-pie .w-wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
@media (max-width:820px){.w-pie .w-wrap{grid-template-columns:1fr}}
.w-pie h4{color:#fff;margin:0 0 .6rem;font-size:.95rem}
.w-pie a{color:#e2e8f0;text-decoration:none;display:block;margin:.25rem 0}
.w-pie a:hover{text-decoration:underline}
.w-pie .w-td{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem;color:#94a3b8;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.w-pie .w-td a{display:inline;color:#cbd5e1}

/* WhatsApp flotante */
.w-wa{position:fixed;right:18px;bottom:18px;z-index:30;width:56px;height:56px;border-radius:50%;background:#25d366;box-shadow:0 8px 24px rgba(0,0,0,.25);display:grid;place-items:center;text-decoration:none}
.w-wa svg{width:30px;height:30px;fill:#fff}

/* Aviso de vista previa */
.w-preview{background:#fef3c7;color:#92400e;text-align:center;font-size:.85rem;padding:.4rem 1rem;font-weight:600}
/* Modal legal */
.w-modal{position:fixed;inset:0;background:rgba(15,23,42,.6);z-index:50;display:none;align-items:center;justify-content:center;padding:20px}
.w-modal.abierto{display:flex}
.w-modal .w-caja{background:#fff;color:var(--w-texto);border-radius:var(--w-radio);max-width:720px;width:100%;max-height:85vh;overflow:auto;padding:1.6rem}
.w-modal h3{margin-bottom:.8rem}
.w-modal .w-cerrar{float:right;background:none;border:0;font-size:1.4rem;cursor:pointer;color:var(--w-gris)}
.w-modal p{font-size:.92rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}

/* Banda de cabecera de sección (imagen opcional) */
.w-banda{height:220px;background:center/cover no-repeat;margin:-3.5rem 0 2.2rem;border-bottom:4px solid var(--w-a)}
/* Banners rotativos */
.w-banners{padding:1.5rem 0 0}
.w-carrusel{position:relative;aspect-ratio:16/5;min-height:160px;border-radius:var(--w-radio);overflow:hidden;background:var(--w-p-claro)}
.w-banner{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transition:opacity .6s;display:flex;align-items:flex-end;text-decoration:none}
.w-banner.on{opacity:1}
.w-banner span{margin:1.2rem;background:rgba(15,23,42,.72);color:#fff;padding:.5rem .9rem;border-radius:8px;font-weight:700;font-size:1.05rem}
.w-puntos{position:absolute;right:1rem;bottom:1rem;display:flex;gap:.4rem;z-index:2}
.w-puntos button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.6);cursor:pointer;padding:0}.w-puntos button.on{background:#fff}
/* Ventajas */
.w-ventajas{padding:2.5rem 0}
.w-vent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem}
.w-vent{text-align:center;padding:1.2rem 1rem;border:1px solid var(--w-borde);border-radius:var(--w-radio)}
.w-vent-ic{display:block;font-size:2rem;margin-bottom:.4rem}.w-vent b{display:block;color:var(--w-p);margin-bottom:.3rem}.w-vent p{margin:0;color:var(--w-gris);font-size:.92rem}
/* Quiénes somos: cita, equipo, mapa */
.w-cita{margin:1rem 0;padding:.6rem 1rem;border-left:4px solid var(--w-a);font-size:1.15rem;font-style:italic;color:var(--w-p)}
.w-equipo{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.2rem;margin-top:2.2rem}
.w-persona{text-align:center;display:flex;flex-direction:column;gap:.15rem;align-items:center}
.w-persona img,.w-persona-ini{width:96px;height:96px;border-radius:50%;object-fit:cover;margin-bottom:.4rem}
.w-persona-ini{background:var(--w-p);color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:800}
.w-persona small{color:var(--w-gris)}.w-persona a{font-size:.85rem;text-decoration:none}
.w-mapa{margin-top:2.2rem;border-radius:var(--w-radio);overflow:hidden;border:1px solid var(--w-borde)}
.w-mapa iframe{width:100%;height:320px;border:0;display:block}
/* Novedades */
.w-news{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center}
@media (max-width:820px){.w-news{grid-template-columns:1fr}}
.w-news-form{display:grid;grid-template-columns:1fr auto;gap:.6rem;position:relative}
.w-news-form input[type=email]{font:inherit;padding:.8rem .9rem;border:1px solid var(--w-borde);border-radius:10px}
.w-news-form small{grid-column:1/3;color:var(--w-gris);font-size:.78rem}
.w-news-form .w-msg{grid-column:1/3;padding:.8rem 1rem;border-radius:10px;background:#dcfce7;color:#166534;font-weight:600}
/* Aviso de cookies */
.w-cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;background:#fff;color:var(--w-texto);border:1px solid var(--w-borde);border-radius:var(--w-radio);box-shadow:0 12px 40px rgba(15,23,42,.18);padding:1rem 1.2rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:.9rem;max-width:960px;margin:0 auto}
.w-cookies-btns{display:flex;gap:.5rem}
.w-card,.w-vent,.w-opi,.w-motor,.w-mapa,.w-carrusel{border-radius:var(--w-radio)}
/* Widget del proveedor y enlaces de afiliado */
.w-widget{background:#fff;border:1px solid var(--w-borde);border-radius:var(--w-radio);padding:1rem;min-height:80px}
.w-afil{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.8rem}
.w-afil-btn{display:flex;align-items:center;gap:.7rem;background:#fff;border:1px solid var(--w-borde);border-radius:var(--w-radio);padding:1rem 1.1rem;text-decoration:none;color:var(--w-texto);font-weight:700;transition:transform .15s,box-shadow .15s}
.w-afil-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.1);color:var(--w-p)}
.w-afil-btn span{font-size:1.5rem}
