/*
Theme Name: Don Agustín Viajes y Turismo
Theme URI: https://eloisabarragan.com
Author: Eloísa Barragán
Author URI: https://eloisabarragan.com
Description: Tema a medida para agencia de viajes. Incluye tipo de contenido Paquete con salidas, itinerario y hoteles editables desde el panel.
Version: 2.9
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: donagustin
*/

:root{
  --titulos:'Archivo',system-ui,sans-serif;   /* ← titulares y precios */
  --texto:'Karla',system-ui,sans-serif;       /* ← textos e interfaz  */

  --naranja:#EB951C;
  --naranja-hondo:#A45D06;
  --naranja-claro:#FDF1DE;
  --tinta:#22201D;
  --gris:#6E6963;
  --gris-claro:#F4F2EF;
  --linea:#E3DFD9;
  --verde:#1E7A4C;
  --ancho:1240px;
  --radio:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--tinta);font-family:var(--texto);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--titulos);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0}
p{margin:0 0 .8rem}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}
.env{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 20px}
:focus-visible{outline:3px solid var(--naranja-hondo);outline-offset:2px}
.rotulo{font-family:var(--titulos);font-size:1.45rem;font-weight:700;margin-bottom:20px}

/* ---------- Barra superior ---------- */
.barra-sup{background:var(--tinta);color:#fff;font-size:.83rem}
.barra-sup .env{display:flex;align-items:center;gap:26px;height:38px;justify-content:flex-end}
.barra-sup a{color:rgba(255,255,255,.85)}
.barra-sup a:hover{color:var(--naranja)}
.barra-sup .tel{margin-right:auto;font-weight:600;color:#fff;display:flex;align-items:center;gap:7px}

/* ---------- Cabecera ---------- */
.cab{background:#fff;border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:70}
.cab .env{display:flex;align-items:center;gap:36px;height:74px}
.logo{display:flex;align-items:center;gap:10px}
.logo img{width:44px;height:44px}
.logo b{font-family:var(--titulos);font-weight:800;font-size:1rem;letter-spacing:-.02em;display:block;line-height:1.1}
.logo i{font-style:normal;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.nav{display:flex;gap:4px;margin-left:12px}
.nav a{padding:9px 16px;border-radius:8px;font-weight:600;font-size:.95rem}
.nav a:hover{background:var(--naranja-claro);color:var(--naranja-hondo)}
.nav a.on{background:var(--naranja-claro);color:var(--naranja-hondo)}
.cab .cta{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--naranja);color:var(--tinta);
  padding:11px 20px;border-radius:8px;font-weight:700;font-size:.92rem}
.cab .cta:hover{background:var(--tinta);color:#fff}
.burger{display:none;margin-left:auto;background:none;border:0;padding:8px}
.burger span{display:block;width:24px;height:2px;background:var(--tinta);margin:5px 0}

/* ---------- Portada con buscador ---------- */
.portada{position:relative;padding:54px 0 40px;background:linear-gradient(170deg,#33434E 0%,#1E2B34 100%)}
.portada::before{content:'';position:absolute;inset:0;background:
  radial-gradient(90% 70% at 88% 100%,rgba(235,149,28,.20),transparent 62%);pointer-events:none}
.portada .env{position:relative;z-index:2}
.portada h1{color:#fff;font-size:clamp(1.9rem,3.4vw,2.7rem);margin-bottom:8px}
.portada .sub{color:rgba(255,255,255,.84);font-size:1.02rem;margin-bottom:24px}

.nota-grilla{margin:18px 0 0;font-size:.85rem;color:var(--gris)}

/* atajos a destinos */
.portada-texto{max-width:54ch}
.atajos{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:26px}
.atajos-rotulo{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-right:4px}
.atajos a{color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
  padding:8px 15px;border-radius:999px;font-size:.92rem;font-weight:600}
.atajos a:hover{background:#fff;color:var(--tinta);border-color:#fff}
.atajos a.todos{background:none;border-color:transparent;color:var(--naranja);padding-left:4px}
.atajos a.todos:hover{background:none;color:#fff}
.portada-cta{margin-bottom:4px}

/* ---------- Placas completas (desktop) ---------- */
.placa{display:block;border-radius:14px;overflow:hidden;margin-top:20px}
.placa img{width:100%;height:auto}
.placa:hover{opacity:.94}
.movil{display:none}
.placas-dobles{display:grid;gap:20px;margin-top:40px}

/* ---------- Franja promo ---------- */
.promo{margin:20px 0 0;border-radius:14px;overflow:hidden;background:var(--naranja);color:var(--tinta);
  display:grid;grid-template-columns:1.5fr 1fr;align-items:center}
.promo .txt{padding:34px 38px}
.promo h2{font-size:1.7rem;margin-bottom:6px}
.promo p{margin-bottom:18px;max-width:44ch}
.promo .ph{min-height:190px}
.btn{display:inline-block;padding:12px 24px;border-radius:8px;font-weight:700;font-size:.95rem}
.btn.oscuro{background:var(--tinta);color:#fff}
.btn.oscuro:hover{background:#000}
.btn.claro{background:#fff;color:var(--tinta);border:1.5px solid var(--linea)}
.btn.claro:hover{border-color:var(--tinta)}
.btn.naranja{background:var(--naranja);color:var(--tinta)}
.btn.naranja:hover{background:var(--naranja-hondo);color:#fff}

/* ---------- Bloques de oferta ---------- */
.bloque{padding:56px 0 0}
.tit-fila{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px}
.tit-fila h2{font-size:1.45rem}
.ver-todo{font-weight:700;font-size:.92rem;color:var(--naranja-hondo)}
.ver-todo:hover{text-decoration:underline}

.grilla{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.oferta{border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:box-shadow .18s,transform .18s}
.oferta:hover{box-shadow:0 14px 30px -18px rgba(34,32,29,.45);transform:translateY(-3px)}
.oferta .tapa{aspect-ratio:16/10;position:relative}
.chip{position:absolute;top:10px;left:10px;background:#fff;color:var(--tinta);font-size:.68rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:5px}
.chip.dest{background:var(--naranja);color:var(--tinta)}
.chip.verde{background:var(--verde);color:#fff}
.oferta .cuerpo{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}
.oferta h3{font-size:1.12rem;margin-bottom:5px}
.oferta .incluye{font-size:.86rem;color:var(--gris);margin-bottom:10px;line-height:1.45}
.cuotas{font-size:.78rem;color:var(--naranja-hondo);font-weight:600;margin-bottom:10px}
.precio{margin-top:auto;padding-top:12px;border-top:1px solid var(--linea);display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.precio .desde{font-size:.78rem;color:var(--gris)}
.precio b{font-family:var(--titulos);font-size:1.5rem;font-weight:800;letter-spacing:-.03em}
.precio small{font-size:.72rem;color:var(--gris);display:block;text-align:right;line-height:1.2}

/* ---------- Tiras dobles ---------- */
.tiras{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.tira{border-radius:var(--radio);overflow:hidden;position:relative;min-height:170px;display:flex;align-items:center}
.tira .contenido{position:relative;z-index:2;padding:28px 30px;max-width:60%}
.tira h3{font-size:1.25rem;margin-bottom:4px;color:#fff}
.tira p{color:rgba(255,255,255,.9);font-size:.9rem;margin-bottom:14px}
.tira .fondo{position:absolute;inset:0;z-index:1}
.tira .fondo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,16,.86),rgba(20,18,16,.25))}
.tira .btn{font-size:.85rem;padding:10px 18px}

/* ---------- Inspiración ---------- */
.inspira{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.nota .tapa{aspect-ratio:3/2;border-radius:var(--radio);overflow:hidden;margin-bottom:12px}
.nota h3{font-size:1.02rem;margin-bottom:3px}
.nota p{font-size:.86rem;color:var(--gris);margin:0}

/* ---------- Newsletter ---------- */
.news{background:var(--gris-claro);margin-top:60px;padding:46px 0}
.news .env{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.news h2{font-size:1.5rem;margin-bottom:6px}
.news p{color:var(--gris);margin:0;font-size:.95rem}
.form-news{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.form-news input{border:1.5px solid var(--linea);border-radius:9px;padding:13px 15px;font-family:var(--texto);font-size:.95rem;background:#fff}
.form-news input:focus{outline:none;border-color:var(--naranja)}
.form-news button{background:var(--naranja);color:var(--tinta);border:0;border-radius:9px;padding:0 26px;font-family:var(--titulos);font-weight:700}
.form-news button:hover{background:var(--tinta);color:#fff}
.chico{grid-column:1/-1;font-size:.8rem;color:var(--gris);margin:2px 0 0}

/* ---------- Medios de pago ---------- */
.pagos{padding:34px 0;border-top:1px solid var(--linea)}
.pagos .env{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.pagos h4{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris);font-weight:700}
.tarjetas{display:flex;gap:10px;flex-wrap:wrap}
.tarjeta{width:64px;height:38px;border:1px solid var(--linea);border-radius:6px;display:grid;place-items:center;
  font-size:.62rem;color:var(--gris);font-weight:700;background:#fff}

/* ---------- Pie ---------- */
.pie{background:var(--tinta);color:#fff;padding:52px 0 26px}
.pie-links{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.14)}
.pie h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--naranja);margin-bottom:12px;font-weight:700}
.pie a{color:rgba(255,255,255,.82);display:block;padding:3px 0;font-size:.9rem}
.pie a:hover{color:var(--naranja)}
.pie-abajo{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px;padding-top:34px;align-items:start}
.pie .logo i{color:rgba(255,255,255,.55)}
.pie .desc{color:rgba(255,255,255,.68);font-size:.9rem;max-width:36ch;margin-top:14px}
.sellos{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.sello{border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:8px 11px;font-size:.68rem;color:rgba(255,255,255,.7);font-weight:600}
.legal{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:20px;font-size:.83rem;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* ---------- WhatsApp flotante ---------- */
.flotante{position:fixed;right:20px;bottom:20px;z-index:90;width:56px;height:56px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.28)}
.flotante svg{width:29px;height:29px;fill:#fff}

/* ---------- Marcadores de foto ---------- */
.ph{width:100%;height:100%;position:relative;background:var(--gris-claro)}
.ph[data-nombre]::after{content:attr(data-nombre);position:absolute;inset:auto 0 0 0;padding:10px 12px;
  color:#fff;font-family:var(--titulos);font-weight:600;font-size:.8rem;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph.mar{background:linear-gradient(150deg,#4E8FA8,#173F52)}
.ph.selva{background:linear-gradient(150deg,#6E9E63,#26543A)}
.ph.arena{background:linear-gradient(150deg,#E0B36A,#9A6415)}
.ph.tierra{background:linear-gradient(150deg,#C08768,#6E3626)}
.ph.noche{background:linear-gradient(150deg,#7B7BAE,#332F5E)}
.ph.piedra{background:linear-gradient(150deg,#9AA0A5,#43494E)}
.ph.coral{background:linear-gradient(150deg,#E38A6E,#8E3320)}
.ph.hielo{background:linear-gradient(150deg,#8FBFD0,#2F6A80)}

@media (max-width:1080px){
  .grilla,.inspira{grid-template-columns:repeat(2,1fr)}
  .pie-links{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .placa{display:none}
  .movil{display:block}
  .placas-dobles{margin-top:0}
  .barra-sup .env{justify-content:space-between}
  .barra-sup a:not(.tel){display:none}
  .nav{display:none}
  .burger{display:block}
  .cab .cta{display:none}
  .promo{grid-template-columns:1fr}
  .promo .ph{min-height:150px;order:-1}
  .tiras{grid-template-columns:1fr}
  .tira .contenido{max-width:78%}
  .news .env{grid-template-columns:1fr;gap:22px}
  .form-news{grid-template-columns:1fr}
  .pie-abajo{grid-template-columns:1fr}
}
@media (max-width:560px){
  .grilla,.inspira{grid-template-columns:1fr}
  .pie-links{grid-template-columns:1fr}
  .portada{padding-top:28px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}
/* =========================================================
   FICHA DE PAQUETE
   ========================================================= */
.migas{padding:18px 0;font-size:.86rem;color:var(--gris)}
.migas a:hover{color:var(--naranja-hondo)}
.migas span{margin:0 7px;opacity:.5}

.ficha-tit{padding-bottom:22px}
.ficha-tit h1{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:10px}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px}
.et{font-size:.78rem;font-weight:600;background:var(--gris-claro);padding:6px 12px;border-radius:999px}
.et.dest{background:var(--naranja-claro);color:var(--naranja-hondo)}

.galeria{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:38px}
.galeria .principal{border-radius:14px;overflow:hidden;aspect-ratio:16/10}
.galeria .lado{display:grid;grid-template-rows:1fr 1fr;gap:10px}
.galeria .lado div{border-radius:14px;overflow:hidden;position:relative}
.galeria img{width:100%;height:100%;object-fit:cover}
.mas-fotos{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.94);
  padding:7px 13px;border-radius:8px;font-size:.82rem;font-weight:600}

.ficha{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start;padding-bottom:70px}
.ficha section{padding-bottom:34px;margin-bottom:34px;border-bottom:1px solid var(--linea)}
.ficha section:last-child{border-bottom:0}
.ficha h2{font-size:1.25rem;margin-bottom:14px}
.ficha p{color:#3D3831}

/* salidas */
.tabla{width:100%;border-collapse:collapse;font-size:.94rem}
.tabla th{text-align:left;font-family:var(--titulos);font-size:.74rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gris);padding:0 12px 9px 0;font-weight:700}
.tabla td{padding:12px 12px 12px 0;border-top:1px solid var(--linea);vertical-align:middle}
.tabla td:last-child,.tabla th:last-child{text-align:right;padding-right:0}
.tabla .valor{font-family:var(--titulos);font-weight:700;font-size:1.05rem}
.cupo{font-size:.74rem;font-weight:700;padding:3px 8px;border-radius:5px;background:var(--gris-claro);color:var(--gris)}
.cupo.pocos{background:#FDECE6;color:#A33417}
.cupo.libre{background:#E7F3EC;color:var(--verde)}

/* incluye / no incluye */
.dos-col{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.lista{list-style:none;padding:0;margin:0}
.lista li{position:relative;padding:6px 0 6px 28px;font-size:.95rem}
.lista li::before{position:absolute;left:0;top:6px;font-weight:700}
.lista.si li::before{content:'✓';color:var(--verde)}
.lista.no li::before{content:'✕';color:#B4534A}
.sub{font-family:var(--titulos);font-size:.98rem;font-weight:700;margin-bottom:8px}

/* itinerario */
.dia{border:1px solid var(--linea);border-radius:10px;margin-bottom:9px;overflow:hidden}
.dia summary{padding:14px 18px;cursor:pointer;font-weight:600;display:flex;gap:12px;align-items:center;list-style:none}
.dia summary::-webkit-details-marker{display:none}
.dia summary::after{content:'+';margin-left:auto;font-size:1.3rem;color:var(--gris);font-weight:400}
.dia[open] summary::after{content:'−'}
.dia summary:hover{background:var(--gris-claro)}
.num{background:var(--naranja-claro);color:var(--naranja-hondo);font-family:var(--titulos);font-weight:700;
  font-size:.76rem;padding:5px 9px;border-radius:6px;white-space:nowrap}
.dia .texto{padding:2px 18px 18px 60px;font-size:.94rem;color:#3D3831}

/* hoteles */
.hotel{display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--linea);align-items:center}
.hotel:first-of-type{border-top:0}
.hotel .mini{width:92px;height:66px;border-radius:8px;overflow:hidden;flex-shrink:0}
.hotel .mini img{width:100%;height:100%;object-fit:cover}
.hotel b{display:block;font-family:var(--titulos);font-size:1rem}
.hotel small{color:var(--gris);font-size:.86rem}
.hotel .desde{margin-left:auto;text-align:right;white-space:nowrap}
.hotel .desde b{font-size:1.1rem}
.hotel .desde small{font-size:.74rem}

.notas{font-size:.88rem;color:var(--gris)}
.notas li{padding:4px 0 4px 16px;position:relative;list-style:none}
.notas li::before{content:'·';position:absolute;left:4px;font-weight:700}

/* caja lateral */
.caja{position:sticky;top:96px;border:1.5px solid var(--linea);border-radius:14px;padding:22px;
  box-shadow:0 16px 36px -28px rgba(34,32,29,.5);background:#fff}
.caja .precio-grande{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}
.caja .precio-grande b{font-family:var(--titulos);font-size:2rem;font-weight:800;letter-spacing:-.03em}
.caja .precio-grande span{font-size:.85rem;color:var(--gris)}
.caja .cuota{font-size:.85rem;color:var(--naranja-hondo);font-weight:600;margin-bottom:18px}
.caja label{display:block;font-size:.72rem;font-weight:700;color:var(--gris);letter-spacing:.05em;
  text-transform:uppercase;margin-bottom:5px}
.caja select{width:100%;border:1.5px solid var(--linea);border-radius:9px;padding:11px 13px;
  font-family:var(--texto);font-size:.95rem;font-weight:600;background:#fff;margin-bottom:14px}
.caja select:focus{outline:none;border-color:var(--naranja)}
.caja .btn{display:flex;width:100%;justify-content:center;align-items:center;gap:8px;padding:14px;margin-bottom:9px;box-sizing:border-box;text-align:center}
.caja .wsp-btn{background:#25D366;color:#fff}
.caja .wsp-btn:hover{background:#1DAF52}
.datos{list-style:none;padding:16px 0 0;margin:14px 0 0;border-top:1px solid var(--linea);font-size:.89rem}
.datos li{display:flex;gap:9px;padding:5px 0;color:#3D3831}
.datos b{font-weight:600}
.aviso-caja{font-size:.78rem;color:var(--gris);margin:12px 0 0;line-height:1.45}

/* formulario de consulta */
.consulta{background:var(--gris-claro);padding:46px 0}
.consulta .env{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;align-items:start}
.consulta h2{font-size:1.5rem;margin-bottom:8px}
.consulta p{color:var(--gris);font-size:.95rem}
.form-consulta{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-consulta input,.form-consulta textarea,.form-consulta select{border:1.5px solid var(--linea);border-radius:9px;
  padding:12px 14px;font-family:var(--texto);font-size:.95rem;background:#fff;width:100%}
.form-consulta input:focus,.form-consulta textarea:focus,.form-consulta select:focus{outline:none;border-color:var(--naranja)}
.form-consulta .ancho{grid-column:1/-1}
.form-consulta textarea{min-height:88px;resize:vertical}
.form-consulta button{grid-column:1/-1;background:var(--naranja);color:var(--tinta);border:0;border-radius:9px;
  padding:14px;font-family:var(--titulos);font-weight:700;font-size:1rem}
.form-consulta button:hover{background:var(--tinta);color:#fff}
.campo-min{font-size:.72rem;font-weight:700;color:var(--gris);letter-spacing:.05em;text-transform:uppercase;margin-bottom:5px;display:block}

@media (max-width:980px){
  .ficha{grid-template-columns:1fr;gap:0}
  .caja{position:static;margin-bottom:34px;order:-1}
  .dos-col{grid-template-columns:1fr;gap:24px}
  .consulta .env{grid-template-columns:1fr;gap:24px}
}
@media (max-width:620px){
  .galeria{grid-template-columns:1fr}
  .galeria .lado{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .form-consulta{grid-template-columns:1fr}
  .hotel{flex-wrap:wrap}
  .hotel .desde{margin-left:0;width:100%;text-align:left}
}

.credito{color:rgba(255,255,255,.5)}
@media (max-width:620px){.legal{flex-direction:column;gap:8px}}

/* =========================================================
   AÑADIDOS DE WORDPRESS
   ========================================================= */

/* accesibilidad */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static;width:auto;height:auto;margin:0;clip:auto;background:#fff;padding:10px 16px;z-index:200}

/* logo subido desde el panel */
.custom-logo-link{display:block}
.custom-logo{width:46px;height:46px;object-fit:contain}

/* menú de celular */
.menu-movil{display:none;border-top:1px solid var(--linea);background:#fff;padding:8px 0 14px}
.menu-movil a{display:block;padding:12px 20px;font-weight:600;max-width:var(--ancho);margin:0 auto}
.menu-movil a:hover{background:var(--naranja-claro);color:var(--naranja-hondo)}
@media (max-width:860px){
  .menu-movil:not([hidden]){display:block}
}

/* estado activo del menú que pone WordPress */
.nav .current-menu-item,.nav .current_page_item,
.nav .current-menu-parent,.nav .current-post-ancestor{background:var(--naranja-claro);color:var(--naranja-hondo);border-radius:8px}

/* paginación */
.paginacion{display:flex;gap:7px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.paginacion .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border:1px solid var(--linea);border-radius:9px;font-weight:600;font-size:.94rem}
.paginacion .page-numbers:hover{border-color:var(--tinta)}
.paginacion .current{background:var(--naranja);border-color:var(--naranja);color:var(--tinta)}
.paginacion .dots{border:0}

/* entradas y páginas sueltas */
.entrada{max-width:760px;padding:34px 20px 70px}
.entrada h1{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:10px}
.entrada .fecha{color:var(--gris);font-size:.9rem;margin-bottom:26px}
.tapa-entrada{border-radius:14px;overflow:hidden;margin-bottom:30px}
.tapa-entrada img{width:100%;height:auto}
.texto-entrada{font-size:1.05rem;line-height:1.75}
.texto-entrada h2{font-size:1.5rem;margin:34px 0 12px}
.texto-entrada h3{font-size:1.2rem;margin:26px 0 10px}
.texto-entrada ul,.texto-entrada ol{padding-left:22px}
.texto-entrada li{margin-bottom:7px}
.texto-entrada img{border-radius:12px;margin:22px 0}
.texto-entrada blockquote{border-left:3px solid var(--naranja);padding-left:20px;margin:26px 0;color:var(--gris);font-style:italic}
.texto-entrada a{color:var(--naranja-hondo);text-decoration:underline}
.texto-entrada figure{margin:26px 0}
.texto-entrada figcaption{font-size:.85rem;color:var(--gris);text-align:center;margin-top:8px}

/* alineaciones de Gutenberg */
.alignleft{float:left;margin:6px 24px 16px 0}
.alignright{float:right;margin:6px 0 16px 24px}
.aligncenter{margin-left:auto;margin-right:auto;display:block}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw)}
.wp-caption{max-width:100%}

/* formularios de Contact Form 7, si se usan */
.wpcf7 form.wpcf7-form p{margin:0 0 12px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],
.wpcf7 textarea,.wpcf7 select{width:100%;border:1.5px solid var(--linea);border-radius:9px;
  padding:12px 14px;font-family:var(--texto);font-size:.95rem;background:#fff}
.wpcf7 input[type=submit]{background:var(--naranja);color:var(--tinta);border:0;border-radius:9px;
  padding:14px 28px;font-family:var(--titulos);font-weight:700;font-size:1rem;cursor:pointer;width:100%}
.wpcf7 input[type=submit]:hover{background:var(--tinta);color:#fff}
.wpcf7-not-valid-tip{color:#b32d2e;font-size:.85rem}
.wpcf7 .wpcf7-response-output{border-radius:9px;border-width:1.5px;font-size:.92rem;margin:14px 0 0;padding:12px 16px}

/* la barra de admin no debe tapar la cabecera fija */
.admin-bar .cab{top:32px}
@media screen and (max-width:782px){.admin-bar .cab{top:46px}}
.admin-bar .caja{top:128px}

/* galería sin fotos laterales: la principal ocupa todo el ancho */
.galeria.sola{grid-template-columns:1fr}
.galeria.sola .principal{aspect-ratio:21/9}
@media (max-width:620px){.galeria.sola .principal{aspect-ratio:16/10}}

/* fondo de las placas en celular */
.tira .fondo img{width:100%;height:100%;object-fit:cover;display:block}

/* =========================================================
   BUSCADOR Y MENÚ DE CELULAR
   ========================================================= */
.lupa{background:none;border:0;padding:9px;margin-left:6px;border-radius:8px;color:var(--tinta);
  display:grid;place-items:center;line-height:0}
.lupa:hover{background:var(--naranja-claro);color:var(--naranja-hondo)}
.lupa[aria-expanded=true]{background:var(--naranja-claro);color:var(--naranja-hondo)}

.panel-buscar{border-top:1px solid var(--linea);background:var(--gris-claro)}
.panel-buscar[hidden]{display:none}
.panel-buscar .interior{display:flex;align-items:center;gap:10px;width:100%;max-width:var(--ancho);margin:0 auto;padding:14px 20px}
.panel-buscar svg{flex:0 0 auto;color:var(--gris)}
.panel-buscar input{flex:1;min-width:0;border:1.5px solid var(--linea);border-radius:10px;
  padding:12px 14px;font-family:var(--texto);font-size:1rem;background:#fff}
.panel-buscar input:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px var(--naranja-claro)}
.panel-buscar button{background:var(--naranja);color:var(--tinta);border:0;border-radius:10px;
  padding:12px 26px;font-family:var(--titulos);font-weight:700;font-size:.97rem;white-space:nowrap}
.panel-buscar button:hover{background:var(--tinta);color:#fff}

.wsp-movil{display:block;margin:10px 20px 0;background:#25D366;color:#fff;text-align:center;
  padding:13px;border-radius:9px;font-weight:700}
.wsp-movil:hover{background:#1DAF52;color:#fff}

@media (max-width:860px){
  .cab .env{gap:10px}
  .lupa{margin-left:auto}
  .burger{margin-left:0}
  .panel-buscar .interior{padding:12px 20px}
  .panel-buscar button{padding:12px 18px}
}
@media (max-width:480px){
  .panel-buscar .interior{flex-wrap:wrap}
  .panel-buscar input{flex:1 1 100%}
  .panel-buscar button{flex:1 1 100%}
  .panel-buscar svg{display:none}
}

/* resultados de búsqueda */
.sin-resultados{background:var(--gris-claro);border-radius:14px;padding:30px;max-width:56ch}
.sin-resultados h3{margin:0 0 8px;font-size:1.1rem}
.sin-resultados p{color:var(--gris);margin:0}
.grupo-resultados{margin-bottom:44px}
.grupo-resultados h3{font-family:var(--titulos);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gris);margin:0 0 16px}

/* =========================================================
   BARRA DE CATEGORÍAS
   ========================================================= */
.categorias{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;padding-bottom:22px;border-bottom:1px solid var(--linea)}
.categorias a{border:1.5px solid var(--linea);border-radius:999px;padding:9px 17px;font-weight:600;font-size:.94rem;white-space:nowrap}
.categorias a:hover{border-color:var(--tinta)}
.categorias a.on{background:var(--naranja);border-color:var(--naranja);color:var(--tinta)}
.tit-fila p{color:var(--gris);margin:8px 0 0;max-width:58ch;font-size:.96rem}
@media (max-width:620px){
  .categorias{flex-wrap:nowrap;overflow-x:auto;padding-bottom:16px;margin-bottom:22px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .categorias::-webkit-scrollbar{display:none}
}

/* =========================================================
   PLACAS: una sola versión por pantalla
   Va al final para ganarle a las reglas de .tira y .promo.
   ========================================================= */
.tira.movil,.promo.movil,.movil{display:none}
.placa{display:block}
@media (max-width:860px){
  .placa{display:none}
  .movil{display:block}
  .tira.movil{display:flex}
  .promo.movil{display:grid}
}

/* =========================================================
   FORMULARIOS PROPIOS
   ========================================================= */
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso-form{grid-column:1/-1;margin:10px 0 0;padding:12px 16px;border-radius:9px;font-size:.93rem;font-weight:600}
.aviso-form.ok{background:#E7F3EC;color:#1E7A4C}
.aviso-form.mal{background:#FBEDEB;color:#A33417}

/* la primera categoría de la portada va destacada */
.bloque.destacada{background:var(--gris-claro);padding-top:52px;padding-bottom:52px;margin-bottom:8px}
.bloque.destacada .oferta{background:#fff}

/* viajes que se arman a pedido, sin fechas fijas */
.caja .sin-fechas{background:var(--naranja-claro);color:var(--naranja-hondo);font-weight:600;
  font-size:.92rem;border-radius:9px;padding:11px 14px;margin:0 0 14px;text-align:center}

/* =========================================================
   PORTADA: dos columnas, para no dejar medio hero vacío
   ========================================================= */
.portada-cols{display:grid;grid-template-columns:1fr 290px;gap:44px;align-items:start}
.portada-texto{max-width:none}
.portada-texto h1{max-width:18ch}
.portada-texto .sub{max-width:46ch}
.atajos{max-width:none}

.portada-contacto{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);
  border-radius:14px;padding:22px;color:#fff}
.portada-contacto .titulo{font-family:var(--titulos);font-weight:700;font-size:1.12rem;margin:0 0 5px}
.portada-contacto .texto{color:rgba(255,255,255,.78);font-size:.92rem;margin:0 0 16px;line-height:1.45}
.portada-contacto .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px}
.portada-contacto .tel-grande{display:block;text-align:center;font-family:var(--titulos);font-weight:700;
  font-size:1.22rem;color:#fff;margin-top:14px;letter-spacing:-.01em}
.portada-contacto .tel-grande:hover{color:var(--naranja)}
.portada-contacto .dir{text-align:center;color:rgba(255,255,255,.7);font-size:.85rem;margin:6px 0 0;line-height:1.4}

@media (max-width:980px){
  .portada-cols{grid-template-columns:1fr;gap:26px}
  .portada-contacto{max-width:420px}
}
.portada-contacto .wsp-btn{background:#25D366;color:#fff}
.portada-contacto .wsp-btn:hover{background:#1DAF52;color:#fff}

/* =========================================================
   CABECERA: nada se parte en dos renglones
   ========================================================= */
.cab .env{gap:22px}
.nav{gap:2px}
.nav a{white-space:nowrap;padding:9px 12px;font-size:.93rem}
.cab .cta{white-space:nowrap;flex-shrink:0;padding:10px 16px}
.logo b{white-space:nowrap}

/* con seis o más categorías el menú no entra: se pasa a hamburguesa antes */
@media (max-width:1180px){
  .nav{display:none}
  .burger{display:block;margin-left:0}
  .lupa{margin-left:auto}
}
@media (max-width:1180px) and (min-width:861px){
  .menu-movil:not([hidden]){display:block}
}
@media (max-width:620px){
  .cab .cta span,.cab .cta{font-size:.88rem}
  .cab .cta{padding:9px 13px}
}

/* =========================================================
   WHATSAPP FLOTANTE: ajuste fino
   ========================================================= */
.flotante{
  position:fixed;z-index:95;
  right:max(18px, env(safe-area-inset-right));
  bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  width:58px;height:58px;border-radius:50%;
  background:#25D366;display:grid;place-items:center;
  box-shadow:0 6px 18px rgba(37,211,102,.38), 0 2px 6px rgba(0,0,0,.18);
  transition:transform .18s ease, box-shadow .18s ease;
}
.flotante svg{width:32px;height:32px;fill:#fff;display:block}
.flotante:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 10px 24px rgba(37,211,102,.45), 0 3px 8px rgba(0,0,0,.2)}
.flotante:active{transform:scale(.96)}
.flotante:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* que no tape el final de la página ni el botón de enviar */
.pie{padding-bottom:92px}

/* en el celular, un toque más chico y pegado al borde */
@media (max-width:620px){
  .flotante{width:54px;height:54px;right:max(14px, env(safe-area-inset-right));
    bottom:calc(14px + env(safe-area-inset-bottom, 0px))}
  .flotante svg{width:30px;height:30px}
}

/* con la barra de administración de WordPress en el celular */
@media screen and (max-width:782px){
  .admin-bar .flotante{bottom:calc(14px + env(safe-area-inset-bottom, 0px))}
}

@media (prefers-reduced-motion:reduce){
  .flotante{transition:none}
  .flotante:hover{transform:none}
}

/* =========================================================
   PORTADA: equilibrio final
   ========================================================= */
.portada{padding:48px 0 36px}
.portada-cols{grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:center}
.portada-texto h1{max-width:16ch}
.portada-texto .sub{max-width:52ch;margin-bottom:26px}
.atajos{margin-bottom:22px}
.portada-cta{margin-bottom:0}

/* En el celular la tarjeta sobra: el WhatsApp ya está en el botón flotante,
   en el menú y en la barra de arriba. Sacarla acorta la portada a la mitad. */
@media (max-width:980px){
  .portada-contacto{display:none}
  .portada-cols{grid-template-columns:1fr;gap:0}
  .portada{padding:34px 0 28px}
  .portada-texto h1{max-width:none}
  .atajos{gap:7px;margin-bottom:20px}
  .atajos a{padding:7px 13px;font-size:.88rem}
  .atajos-rotulo{font-size:.68rem}
  .portada-cta{display:inline-flex;justify-content:center}
}
@media (max-width:480px){
  .portada-cta{width:100%;max-width:340px}
}

/* aire entre el botón de la portada y el banner que sigue */
.placa{margin-top:28px}
.tira.movil,.promo.movil{margin-top:26px}
.placas-dobles .tira.movil,.placas-dobles .promo.movil{margin-top:0}
@media (max-width:980px){
  .portada-cta{margin-bottom:4px}
}



/* =========================================================
   Boton flotante instagram
   ========================================================= */


.floating-btn-instagram {
  position: fixed;
  right: 20px;
  bottom: 85px; /* Ajustá esta altura según dónde quede el botón de WhatsApp */
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 50px;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-family: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.floating-btn-instagram:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
  color: #ffffff;
}

.floating-btn-instagram .instagram-icon {
  width: 22px;
  height: 22px;
}

.floating-btn-instagram .instagram-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  text-align: left;
}

.floating-btn-instagram .instagram-title {
  font-size: 13px;
  font-weight: 700;
}

.floating-btn-instagram .instagram-handle {
  font-size: 10px;
  opacity: 0.9;
}

/* En móviles chicos, si estorba, podés ocultar el texto y dejar solo la píldora corta */
@media (max-width: 480px) {
  .floating-btn-instagram .instagram-handle {
    display: none;
  }
}




/* ===================================================
   Botón flotante WhatsApp (Estilo cápsula)
=================================================== */
.floating-btn-whatsapp {
  position: fixed;
  right: 20px;
  bottom: 20px; /* Anclado abajo */
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 50px;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  font-family: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.floating-btn-whatsapp:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
  color: #ffffff;
}

.floating-btn-whatsapp .whatsapp-icon {
  width: 22px;
  height: 22px;
  fill: #ffffff;
}

.floating-btn-whatsapp .whatsapp-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  text-align: left;
}

.floating-btn-whatsapp .whatsapp-title {
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
}

.floating-btn-whatsapp .whatsapp-subtitle {
  font-size: 10px;
  color: #ffffff;
  opacity: 0.9;
}

/* Opcional en móviles para no tapar contenido */
@media (max-width: 480px) {
  .floating-btn-whatsapp .whatsapp-subtitle {
    display: none;
  }
}




/* ===================================================
   Versión circular en móviles (más arriba del borde)
=================================================== */
@media (max-width: 600px) {
  /* 1. Ocultar los textos interiores */
  .floating-btn-instagram .instagram-text,
  .floating-btn-whatsapp .whatsapp-text,
  a.flotante .whatsapp-text {
    display: none !important;
  }

  /* 2. Círculos perfectos y margen derecho */
  a.floating-btn-instagram,
  a.floating-btn-whatsapp,
  a.flotante {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    right: 35px !important; /* Separación del borde derecho */
    left: auto !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  /* 3. Alturas verticales despegadas del borde inferior */
  a.floating-btn-whatsapp,
  a.flotante {
    bottom: 70px !important; /* Despega WhatsApp 50px del piso de la pantalla */
  }

  a.floating-btn-instagram {
    bottom: 130px !important; /* 60px más arriba para dejar espacio exacto */
  }

  /* 4. Dimensiones centradas de los íconos */
  a.floating-btn-instagram svg,
  a.floating-btn-whatsapp svg,
  a.flotante svg {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    display: block !important;
  }
}






