/* ============================================================
   Touréxito Planes – estilos de los módulos
   ============================================================ */

:root{
  --te-rojo:#B30F16;
  --te-rojo-osc:#8E0B11;
  --te-vino:#5E1205;
  --te-azul:#00468A;
  --te-azul-osc:#003269;
  --te-wa:#25D366;
  --te-texto:#241614;
  --te-suave:#6B6461;
  --te-borde:#E7E1DF;
  --te-crema:#F7F4F2;
  --te-sombra:0 12px 34px rgba(94,18,5,.10);
  --te-sombra-alta:0 26px 60px rgba(94,18,5,.20);
}

/* ---------- Botones ---------- */
.te-btn{
  display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
  padding:13px 24px; border-radius:999px; font-weight:700; font-size:14.5px; line-height:1;
  text-decoration:none !important; border:2px solid transparent; white-space:nowrap;
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease, background .28s ease, color .28s ease, border-color .28s ease;
}
.te-btn svg{ width:17px; height:17px; fill:currentColor; flex:none; }
.te-btn--solido{ background:var(--te-rojo); color:#fff !important; }
.te-btn--solido:hover{ background:var(--te-rojo-osc); transform:translateY(-3px); box-shadow:0 14px 28px rgba(179,15,22,.35); }
.te-btn--azul{ background:var(--te-azul); color:#fff !important; }
.te-btn--azul:hover{ background:var(--te-azul-osc); transform:translateY(-3px); }
.te-btn--linea{ border-color:var(--te-borde); color:var(--te-vino) !important; background:#fff; }
.te-btn--linea:hover{ border-color:var(--te-rojo); background:var(--te-rojo); color:#fff !important; }
.te-btn--blanco{ background:#fff; color:var(--te-vino) !important; }
.te-btn--blanco:hover{ background:var(--te-vino); color:#fff !important; }
.te-btn--wa{ background:var(--te-wa); color:#fff !important; }
.te-btn--wa:hover{ background:#1FB855; transform:translateY(-3px); box-shadow:0 14px 28px rgba(37,211,102,.4); }
.te-btn--grande{ padding:16px 32px; font-size:15.5px; }
.te-wa-suelto{ margin-top:22px; }

/* ---------- Aparición al scroll ---------- */
.te-reveal{
  opacity:0; transform:translateY(34px);
  transition:opacity .8s ease var(--te-delay,0ms), transform .8s cubic-bezier(.2,.75,.25,1) var(--te-delay,0ms);
}
.te-reveal.te-visible{ opacity:1; transform:none; }
.te-reveal--izq{ transform:translateX(-40px); }
.te-reveal--der{ transform:translateX(40px); }
.te-reveal--zoom{ transform:scale(.94); }
.te-reveal--izq.te-visible,.te-reveal--der.te-visible,.te-reveal--zoom.te-visible{ transform:none; }
@media (prefers-reduced-motion:reduce){ .te-reveal{ opacity:1 !important; transform:none !important; } }

/* ---------- Parrilla de planes ---------- */
.te-planes{ display:grid; gap:26px; align-items:start; }
.te-cols-2{ grid-template-columns:repeat(2,1fr); }
.te-cols-3{ grid-template-columns:repeat(3,1fr); }
.te-cols-4{ grid-template-columns:repeat(4,1fr); }
.te-planes > .te-card:nth-child(even){ margin-top:46px; }

.te-card{
  position:relative; border-radius:26px; overflow:hidden;
  min-height:440px; display:flex; isolation:isolate;
  background:var(--te-vino); box-shadow:var(--te-sombra);
  transition:opacity .8s ease var(--te-delay,0ms), transform .55s cubic-bezier(.2,.75,.25,1) var(--te-delay,0ms), box-shadow .45s ease;
}
.te-card.te-visible:hover{ transform:translateY(-10px); box-shadow:var(--te-sombra-alta); }

.te-card__media{ position:absolute; inset:0; display:block; z-index:0; }
.te-card__foto{ width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s cubic-bezier(.2,.7,.3,1); }
.te-card:hover .te-card__foto{ transform:scale(1.09); }
.te-card__foto--vacia{ background:linear-gradient(150deg,var(--te-azul),var(--te-rojo)); }
.te-card__media:after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(36,10,4,.94) 0%, rgba(36,10,4,.70) 34%, rgba(36,10,4,.12) 66%, rgba(36,10,4,.28) 100%);
}

.te-card__badge{
  position:absolute; top:18px; left:18px; z-index:3;
  background:var(--te-rojo); color:#fff;
  font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase;
  padding:8px 15px; border-radius:999px; box-shadow:0 6px 16px rgba(179,15,22,.45);
}

.te-card__info{ position:relative; z-index:2; margin-top:auto; width:100%; padding:24px 22px; }
.te-card__cat{
  display:inline-block; margin-bottom:10px;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28);
  backdrop-filter:blur(6px); color:#fff; font-size:10.5px; font-weight:800;
  letter-spacing:.13em; text-transform:uppercase; padding:6px 12px; border-radius:999px;
}
.te-card__title{ font-size:23px !important; font-weight:800 !important; line-height:1.2 !important; margin:0 0 8px !important; }
.te-card__title a{ color:#fff !important; text-decoration:none !important; }
.te-card__place{ display:flex; align-items:center; gap:6px; font-size:13px !important; color:rgba(255,255,255,.78) !important; margin:0 0 14px !important; }
.te-card__place svg{ width:14px; height:14px; fill:#F3B7B4; flex:none; }

.te-card__linea{
  display:flex; align-items:flex-end; justify-content:space-between; gap:12px;
  padding-top:14px; border-top:1px solid rgba(255,255,255,.22);
}
.te-card__dur{ display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.82); }
.te-card__dur svg{ width:14px; height:14px; fill:#F3B7B4; flex:none; }
.te-card__precio{ text-align:right; display:flex; flex-direction:column; }
.te-card__precio small{ font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.65); font-weight:700; }
.te-card__precio strong{ font-size:21px; font-weight:800; color:#fff; line-height:1.2; white-space:nowrap; }

.te-card__extra{
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .5s cubic-bezier(.2,.75,.25,1), opacity .35s ease, margin-top .5s ease;
}
.te-card:hover .te-card__extra,
.te-card:focus-within .te-card__extra{ max-height:230px; opacity:1; margin-top:16px; }
.te-card__desc{ font-size:13.5px !important; line-height:1.6 !important; color:rgba(255,255,255,.80) !important; margin:0 0 14px !important; }
.te-card__acciones{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.te-card__acciones .te-btn{ padding:11px 8px; font-size:13.5px; }

.te-vertodos{ text-align:center; margin-top:52px; }
.te-planes--oscuro .te-card{ box-shadow:0 18px 44px rgba(0,0,0,.32); }

/* ---------- Contadores ---------- */
.te-contadores{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch; }
.te-contador{
  background:#fff; border:1px solid var(--te-borde); border-radius:18px;
  padding:28px 26px; box-shadow:var(--te-sombra); position:relative; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center; min-height:158px;
  transition:transform .35s cubic-bezier(.2,.75,.25,1), box-shadow .35s ease;
}
.te-contador:hover{ transform:translateY(-6px); box-shadow:var(--te-sombra-alta); }
.te-contador:before{ content:""; position:absolute; top:0; left:0; width:5px; height:100%; background:var(--te-rojo); }
.te-contador__num{
  display:block; font-size:40px; font-weight:800; line-height:1;
  color:var(--te-vino); margin-bottom:6px; white-space:nowrap; letter-spacing:-.03em;
}
.te-contador__lbl{ display:block; font-size:14px; font-weight:600; color:var(--te-suave); line-height:1.4; }
.te-contadores .te-contador:first-child{
  background:var(--te-rojo); border-color:var(--te-rojo); box-shadow:0 16px 38px rgba(179,15,22,.30);
}
.te-contadores .te-contador:first-child:before{ background:rgba(255,255,255,.55); }
.te-contadores .te-contador:first-child .te-contador__num{ color:#fff; }
.te-contadores .te-contador:first-child .te-contador__lbl{ color:rgba(255,255,255,.88); }

/* ---------- Mapa ---------- */
.te-mapa{ position:relative; height:100%; min-height:var(--te-mapa-alto,620px); }
.te-mapa iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; filter:grayscale(.25) contrast(1.05); }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .te-cols-3,.te-cols-4{ grid-template-columns:repeat(2,1fr); }
  .te-card__extra{ max-height:230px; opacity:1; margin-top:16px; }
  .te-mapa{ min-height:420px; }
}
@media (max-width:767px){
  .te-cols-2,.te-cols-3,.te-cols-4{ grid-template-columns:1fr; }
  .te-planes > .te-card:nth-child(even){ margin-top:0; }
  .te-card{ min-height:400px; }
  .te-contadores{ grid-template-columns:1fr 1fr; gap:12px; }
  .te-contador{ padding:20px 16px; min-height:0; }
  .te-contador__num{ font-size:30px; }
}

/* ============================================================
   PÁGINA DEL PLAN  (plantilla automática)
   ============================================================ */
.te-plan{ --te-ancho-plan:1200px; color:var(--te-texto); }

/* ---- Cabecera ---- */
.te-plan__hero{
  position:relative; min-height:460px; display:flex; align-items:flex-end;
  background:var(--te-vino) center/cover no-repeat;
  padding:60px max(24px, calc((100vw - var(--te-ancho-plan)) / 2)) 54px;
  margin-bottom:0;
}
.te-plan__hero:before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(36,10,4,.92) 0%, rgba(36,10,4,.62) 45%, rgba(36,10,4,.30) 100%);
}
.te-plan__hero-cont{ position:relative; z-index:2; width:100%; }
.te-plan__miga{ font-size:13px; color:rgba(255,255,255,.72); margin-bottom:18px; display:flex; gap:8px; flex-wrap:wrap; }
.te-plan__miga a{ color:rgba(255,255,255,.85) !important; text-decoration:none !important; }
.te-plan__miga a:hover{ color:#fff !important; text-decoration:underline !important; }
.te-plan__badge{
  display:inline-block; background:var(--te-rojo); color:#fff;
  font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  padding:8px 16px; border-radius:999px; margin-bottom:14px;
}
.te-plan__titulo{
  color:#fff !important; font-size:clamp(32px,4.4vw,54px) !important; font-weight:800 !important;
  line-height:1.08 !important; letter-spacing:-.03em; margin:0 0 22px !important; max-width:18ch;
}
.te-plan__meta{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex; flex-wrap:wrap; gap:12px; }
.te-plan__meta li{
  display:flex; align-items:center; gap:8px; margin:0;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(6px); color:#fff; font-size:14px; font-weight:600;
  padding:10px 16px; border-radius:999px;
}
.te-plan__meta svg{ width:16px; height:16px; fill:#F3B7B4; flex:none; }

/* ---- Cuerpo ---- */
.te-plan__cuerpo{
  display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:48px;
  padding:64px max(24px, calc((100vw - var(--te-ancho-plan)) / 2));
  align-items:start;
}
.te-bloque{ margin-bottom:52px; }
.te-bloque:last-child{ margin-bottom:0; }
.te-bloque__titulo{
  color:var(--te-vino) !important; font-size:27px !important; font-weight:800 !important;
  letter-spacing:-.02em; margin:0 0 22px !important; position:relative; padding-bottom:14px;
}
.te-bloque__titulo:after{
  content:""; position:absolute; left:0; bottom:0; width:56px; height:3px;
  background:var(--te-rojo); border-radius:2px;
}
.te-bloque__titulo--centro{ text-align:center; }
.te-bloque__titulo--centro:after{ left:50%; transform:translateX(-50%); }
.te-bloque__texto p{ font-size:16px; line-height:1.85; color:var(--te-suave); }

/* ---- Galería ---- */
.te-galeria{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.te-galeria__item{
  position:relative; display:block; border-radius:16px; overflow:hidden;
  aspect-ratio:7/5; background:var(--te-crema);
}
.te-galeria__item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s cubic-bezier(.2,.7,.3,1); }
.te-galeria__item:hover img{ transform:scale(1.08); }
.te-galeria__lupa{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(94,18,5,.55); opacity:0; transition:opacity .3s ease;
}
.te-galeria__item:hover .te-galeria__lupa{ opacity:1; }
.te-galeria__lupa svg{ width:30px; height:30px; fill:#fff; }

/* ---- Itinerario ---- */
.te-itinerario{ border:1px solid var(--te-borde); border-radius:18px; overflow:hidden; }
.te-itinerario__dia{ border-bottom:1px solid var(--te-borde); }
.te-itinerario__dia:last-child{ border-bottom:0; }
.te-itinerario__dia summary{
  display:flex; align-items:center; gap:16px; padding:18px 22px; cursor:pointer;
  list-style:none; background:#fff; transition:background .25s ease;
}
.te-itinerario__dia summary::-webkit-details-marker{ display:none; }
.te-itinerario__dia summary:hover{ background:var(--te-crema); }
.te-itinerario__dia[open] summary{ background:var(--te-crema); }
.te-itinerario__num{
  flex:none; width:36px; height:36px; border-radius:50%;
  background:var(--te-rojo); color:#fff; font-weight:800; font-size:15px;
  display:flex; align-items:center; justify-content:center;
}
.te-itinerario__cab{ display:flex; flex-direction:column; gap:2px; }
.te-itinerario__cab strong{ color:var(--te-vino); font-size:16.5px; font-weight:800; }
.te-itinerario__cab em{ color:var(--te-suave); font-size:14px; font-style:normal; }
.te-itinerario__dia p{ margin:0 !important; padding:0 22px 22px 74px; font-size:15px; line-height:1.75; color:var(--te-suave); }

/* ---- Incluye / No incluye ---- */
.te-incluye{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.te-incluye__col{ background:var(--te-crema); border-radius:18px; padding:26px 24px; }
.te-incluye__col h3{ font-size:17px !important; font-weight:800 !important; margin:0 0 16px !important; }
.te-incluye__col--si h3{ color:#1F7A3D !important; }
.te-incluye__col--no h3{ color:var(--te-rojo) !important; }
.te-incluye__col ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.te-incluye__col li{
  position:relative; padding-left:28px; margin-bottom:11px;
  font-size:14.8px; line-height:1.6; color:var(--te-suave);
}
.te-incluye__col li:before{
  position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:800; color:#fff;
}
.te-incluye__col--si li:before{ content:"✓"; background:#1F7A3D; }
.te-incluye__col--no li:before{ content:"×"; background:var(--te-rojo); }

/* ---- Condiciones ---- */
.te-condiciones{ list-style:none !important; margin:0 !important; padding:0 !important; }
.te-condiciones li{
  position:relative; padding-left:20px; margin-bottom:9px;
  font-size:14px; line-height:1.7; color:var(--te-suave);
}
.te-condiciones li:before{ content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--te-rojo); }

/* ---- Tarjeta de reserva ---- */
.te-plan__lado{ position:sticky; top:110px; }
.te-reserva{
  background:#fff; border:1px solid var(--te-borde); border-radius:22px;
  padding:28px 26px; box-shadow:var(--te-sombra-alta);
}
.te-reserva__precio{ padding-bottom:20px; border-bottom:1px solid var(--te-borde); margin-bottom:20px; }
.te-reserva__precio small{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--te-suave); }
.te-reserva__precio strong{ display:block; font-size:34px; font-weight:800; color:var(--te-vino); line-height:1.15; letter-spacing:-.02em; margin:4px 0 2px; }
.te-reserva__precio span{ font-size:13px; color:var(--te-suave); }
.te-reserva__datos{ list-style:none !important; margin:0 0 22px !important; padding:0 !important; }
.te-reserva__datos li{ display:flex; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px dashed var(--te-borde); font-size:14px; }
.te-reserva__datos li:last-child{ border-bottom:0; }
.te-reserva__datos span{ color:var(--te-suave); }
.te-reserva__datos b{ color:var(--te-vino); text-align:right; font-weight:700; }
.te-reserva__btn{ width:100%; margin-bottom:10px; }
.te-reserva__nota{ margin:14px 0 0 !important; font-size:12.5px; line-height:1.6; color:var(--te-suave); text-align:center; }

/* ---- Relacionados ---- */
.te-plan__relacionados{
  background:var(--te-crema);
  padding:72px max(24px, calc((100vw - var(--te-ancho-plan)) / 2));
}

/* ---- Barra móvil ---- */
.te-barra-movil{
  display:none; position:fixed; left:0; right:0; bottom:0; z-index:999;
  background:#fff; border-top:1px solid var(--te-borde);
  box-shadow:0 -8px 26px rgba(36,10,4,.14);
  padding:12px 16px; align-items:center; justify-content:space-between; gap:14px;
}
.te-barra-movil__precio small{ display:block; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--te-suave); font-weight:700; }
.te-barra-movil__precio strong{ font-size:19px; font-weight:800; color:var(--te-vino); }

/* ---- Visor de galería ---- */
.te-visor{
  position:fixed; inset:0; z-index:100000;
  background:rgba(18,5,2,.95);
  display:grid; grid-template-columns:auto 1fr auto; align-items:center;
  gap:14px; padding:78px 24px 70px;
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.te-visor.abierto{ opacity:1; pointer-events:auto; }
body.admin-bar .te-visor{ padding-top:110px; }

.te-visor__marco{
  margin:0 !important; grid-column:2; position:relative;
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; min-height:0;
}
.te-visor__marco img{
  max-width:100%; max-height:100%; width:auto; height:auto;
  border-radius:14px; box-shadow:0 30px 70px rgba(0,0,0,.6);
  display:block; transition:opacity .25s ease;
}
.te-visor__marco.cargando img{ opacity:.25; }
.te-visor__carga{
  position:absolute; width:38px; height:38px; border-radius:50%;
  border:3px solid rgba(255,255,255,.25); border-top-color:#fff;
  opacity:0; transition:opacity .2s ease;
}
.te-visor__marco.cargando .te-visor__carga{ opacity:1; animation:te-girar .8s linear infinite; }
@keyframes te-girar{ to{ transform:rotate(360deg); } }

.te-visor__cerrar{
  position:fixed; top:22px; right:22px; z-index:3;
  width:46px; height:46px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(255,255,255,.14);
  display:flex; align-items:center; justify-content:center;
  transition:background .25s ease, transform .25s ease;
}
body.admin-bar .te-visor__cerrar{ top:54px; }
.te-visor__cerrar svg{ width:22px; height:22px; fill:#fff; }
.te-visor__cerrar:hover{ background:var(--te-rojo); transform:rotate(90deg); }

.te-visor__nav{
  width:52px; height:52px; border-radius:50%; border:0; cursor:pointer;
  background:rgba(255,255,255,.14);
  display:flex; align-items:center; justify-content:center; flex:none;
  transition:background .25s ease, transform .25s ease;
}
.te-visor__nav svg{ width:26px; height:26px; fill:#fff; }
.te-visor__nav:hover{ background:var(--te-rojo); }
.te-visor__nav--prev{ grid-column:1; }
.te-visor__nav--prev:hover{ transform:translateX(-3px); }
.te-visor__nav--next{ grid-column:3; }
.te-visor__nav--next:hover{ transform:translateX(3px); }

.te-visor__contador{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%);
  color:rgba(255,255,255,.7); font-size:14px; letter-spacing:.06em;
  background:rgba(255,255,255,.10); padding:8px 18px; border-radius:999px;
}
.te-visor__contador b{ color:#fff; font-weight:800; }

@media (max-width:767px){
  .te-visor{ padding:70px 8px 76px; gap:6px; }
  .te-visor__nav{ width:42px; height:42px; }
  .te-visor__nav svg{ width:22px; height:22px; }
  .te-visor__cerrar{ top:14px; right:14px; width:40px; height:40px; }
  body.admin-bar .te-visor__cerrar{ top:60px; }
}

/* ---- Alto configurable de las tarjetas ---- */
.te-planes .te-card{ min-height:var(--te-card-alto,440px); }

/* ---- Responsive de la página del plan ---- */
@media (max-width:1024px){
  .te-plan__cuerpo{ grid-template-columns:1fr; gap:40px; padding-top:48px; padding-bottom:48px; }
  .te-plan__lado{ position:static; }
  .te-plan__hero{ min-height:380px; }
  .te-galeria{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767px){
  .te-plan__hero{ min-height:320px; padding:44px 20px 36px; }
  .te-plan__cuerpo{ padding:36px 20px 96px; }
  .te-plan__relacionados{ padding:48px 20px 96px; }
  .te-plan__meta li{ font-size:13px; padding:8px 13px; }
  .te-incluye{ grid-template-columns:1fr; }
  .te-galeria{ grid-template-columns:1fr 1fr; gap:10px; }
  .te-itinerario__dia p{ padding-left:22px; }
  .te-barra-movil{ display:flex; }
}

/* ============================================================
   BOTÓN DE PDF
   ============================================================ */
.te-card__pdf{
  position:absolute; top:16px; right:16px; z-index:4;
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.92); backdrop-filter:blur(6px);
  box-shadow:0 6px 18px rgba(36,10,4,.28);
  transition:transform .28s ease, background .28s ease;
}
.te-card__pdf svg{ width:19px; height:19px; fill:var(--te-rojo); }
.te-card__pdf:hover{ background:var(--te-rojo); transform:translateY(-2px) scale(1.06); }
.te-card__pdf:hover svg{ fill:#fff; }

.te-reserva__pdf svg{ width:17px; height:17px; fill:currentColor; }

/* ============================================================
   LISTADO DE UN DESTINO  (taxonomy-te_destino.php)
   ============================================================ */
.te-archivo{ --te-ancho-arch:1200px; }

/* ---- Cabecera ---- */
.te-archivo__hero{
  position:relative; min-height:380px; display:flex; align-items:center;
  background:var(--te-vino) center/cover no-repeat;
  padding:70px max(24px, calc((100vw - var(--te-ancho-arch)) / 2));
  text-align:center;
}
.te-archivo__hero:before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(115deg, rgba(94,18,5,.94) 0%, rgba(36,10,4,.78) 55%, rgba(179,15,22,.62) 100%);
}
.te-archivo__hero:after{
  content:""; position:absolute; inset:0; opacity:.5;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 2px, transparent 2px 14px);
}
.te-archivo__hero-cont{ position:relative; z-index:2; width:100%; }
.te-archivo__hero .te-plan__miga{ justify-content:center; }
.te-archivo__titulo{
  color:#fff !important; font-size:clamp(34px,4.6vw,56px) !important; font-weight:800 !important;
  line-height:1.08 !important; letter-spacing:-.03em; margin:0 auto 18px !important; max-width:16ch;
}
.te-archivo__desc{ max-width:62ch; margin:0 auto 20px; }
.te-archivo__desc p{ color:rgba(255,255,255,.82) !important; font-size:16.5px !important; line-height:1.75 !important; margin:0 !important; }
.te-archivo__conteo{
  display:inline-flex; align-items:center; gap:7px; margin:0 !important;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(6px); color:rgba(255,255,255,.9);
  font-size:14px; padding:9px 20px; border-radius:999px;
}
.te-archivo__conteo strong{ color:#fff; font-weight:800; font-size:16px; }

/* ---- Filtros por destino ---- */
.te-filtros{
  background:#fff; border-bottom:1px solid var(--te-borde);
  padding:0 max(24px, calc((100vw - var(--te-ancho-arch)) / 2));
  position:sticky; top:0; z-index:20;
  box-shadow:0 4px 18px rgba(94,18,5,.05);
}
.te-filtros__cont{ display:flex; align-items:center; gap:20px; padding:18px 0; flex-wrap:wrap; }
.te-filtros__etq{
  font-size:11.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:var(--te-suave); flex:none;
}
.te-filtros__lista{ display:flex; gap:9px; flex-wrap:wrap; }
.te-chip{
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 17px; border-radius:999px;
  border:1.5px solid var(--te-borde); background:#fff;
  color:var(--te-vino) !important; font-size:14px; font-weight:700;
  text-decoration:none !important;
  transition:border-color .25s ease, background .25s ease, color .25s ease, transform .25s ease;
}
.te-chip b{
  font-size:11.5px; font-weight:800; min-width:20px; height:20px; padding:0 6px;
  border-radius:999px; background:var(--te-crema); color:var(--te-suave);
  display:flex; align-items:center; justify-content:center;
  transition:background .25s ease, color .25s ease;
}
.te-chip:hover{ border-color:var(--te-rojo); color:var(--te-rojo) !important; transform:translateY(-2px); }
.te-chip--activo{ background:var(--te-rojo); border-color:var(--te-rojo); color:#fff !important; }
.te-chip--activo b{ background:rgba(255,255,255,.24); color:#fff; }

/* ---- Cuerpo ---- */
.te-archivo__cuerpo{
  background:var(--te-crema);
  padding:66px max(24px, calc((100vw - var(--te-ancho-arch)) / 2)) 80px;
}

/* ---- Paginación ---- */
.te-paginacion{
  display:flex; justify-content:center; align-items:center; gap:8px;
  flex-wrap:wrap; margin-top:56px;
}
.te-paginacion .page-numbers{
  min-width:44px; height:44px; padding:0 15px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:12px; border:1.5px solid var(--te-borde); background:#fff;
  color:var(--te-vino) !important; font-weight:700; font-size:14.5px;
  text-decoration:none !important; transition:.25s ease;
}
.te-paginacion .page-numbers:hover{ border-color:var(--te-rojo); color:var(--te-rojo) !important; }
.te-paginacion .page-numbers.current{ background:var(--te-rojo); border-color:var(--te-rojo); color:#fff !important; }
.te-paginacion .page-numbers.dots{ border:0; background:transparent; }

/* ---- Sin resultados ---- */
.te-vacio{
  background:#fff; border:1px dashed var(--te-borde); border-radius:24px;
  padding:64px 32px; text-align:center; max-width:640px; margin:0 auto;
}
.te-vacio h2{ color:var(--te-vino) !important; font-size:24px !important; font-weight:800 !important; margin:0 0 10px !important; }
.te-vacio p{ color:var(--te-suave) !important; font-size:16px !important; margin:0 0 8px !important; }

/* ---- Cierre ---- */
.te-archivo__cierre{
  background:linear-gradient(120deg,var(--te-rojo) 0%,var(--te-vino) 100%);
  padding:72px max(24px, calc((100vw - var(--te-ancho-arch)) / 2));
  position:relative; overflow:hidden; text-align:center;
}
.te-archivo__cierre:before{
  content:""; position:absolute; inset:0; opacity:.6;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 16px);
}
.te-archivo__cierre-cont{ position:relative; z-index:1; }
.te-archivo__cierre h2{ color:#fff !important; font-size:32px !important; font-weight:800 !important; margin:0 0 12px !important; letter-spacing:-.02em; }
.te-archivo__cierre p{ color:rgba(255,255,255,.9) !important; font-size:16.5px !important; margin:0 auto 4px !important; max-width:56ch; }

/* ---- Responsive ---- */
@media (max-width:1024px){
  .te-archivo__hero{ min-height:320px; padding-top:56px; padding-bottom:56px; }
  .te-archivo__cuerpo{ padding-top:48px; padding-bottom:56px; }
  .te-filtros{ position:static; }
}
@media (max-width:767px){
  .te-archivo__hero{ min-height:0; padding:44px 20px; }
  .te-archivo__cuerpo{ padding:36px 20px 48px; }
  .te-archivo__cierre{ padding:52px 20px; }
  .te-archivo__cierre h2{ font-size:25px !important; }
  .te-filtros{ padding:0 20px; }
  .te-filtros__cont{ gap:12px; padding:14px 0; }
  .te-filtros__lista{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; -webkit-overflow-scrolling:touch; }
  .te-filtros__lista::-webkit-scrollbar{ display:none; }
  .te-chip{ flex:none; }
}
