
/* =========================================================
   LIGHTBOX (Historias)
========================================================= */
.site-lightbox {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 9999;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.site-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.site-lightbox__overlay {
    position: absolute;
    inset: 0;
    background: #000;
}

.site-lightbox__dialog {
    position: relative;
    /* 👇 caja fija tipo “story” */
    width: min(480px, 100vw - 32px);
    height: min(90vh, (100vw - 32px) * 16 / 9);
    max-width: 90vw;
    max-height: 90vh;
    background: #000;
    border-radius: 8px;
    overflow: visible;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-lightbox__body {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    /* caja fija tipo “historia vertical” */
    width: min(420px, 90vw);
    aspect-ratio: 9 / 16;
    max-height: 90vh;
    background: #000;
    overflow: hidden;      /* recorta imagen/video */
    border-radius: 8px;    /* mismo redondeo que el diálogo */
}



.site-lightbox__media {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

.site-lightbox__media img,
.site-lightbox__media video {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;   /* muestra todo, sin recortar */
    background: #000;      /* barras negras si sobra espacio */
}


.site-lightbox__close {
    position: absolute;     /* importante para que quede flotando como las flechas */
    top: 16px;              /* baja la X a la altura del nombre ("sef") */
    right: 24px;            /* o el valor que ya tengas para la derecha */
    border: none;
    background: transparent;
    color: #ffd76a;
    font-size: 25px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}



body.site-lightbox-open {
    overflow: hidden;
}

.site-lightbox__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;   /* sin círculo */
    color: #ffd76a;
    font-size: 42px;
    line-height: 1;
    width: 52px;
    height: 52px;
    cursor: pointer;
    z-index: 2;
    display: none;
    align-items: center;
    justify-content: center;
}

.site-lightbox[data-context="catalogo_historia"] .site-lightbox__nav {
    display: flex;
}

/* Ahora van “por fuera” del recuadro */
.site-lightbox__nav--prev {
    left: -40px;   /* más afuera hacia la izquierda */
}

.site-lightbox__nav--next {
    right: -40px;  /* más afuera hacia la derecha */
}

.site-lightbox__nav:disabled {
    opacity: 0.3;
    cursor: default;
}
/* ====== UI tipo historias (progreso + header) ====== */

.site-lightbox__top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 8px 10px 6px;
    z-index: 3;
    pointer-events: none; /* los hijos sí tendrán pointer-events */
}

.site-lightbox__progress {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
    pointer-events: none;
}

.site-lightbox__progress-segment {
    flex: 1 1 0;
    height: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.25);
    overflow: hidden;
}

.site-lightbox__progress-fill {
    width: 100%;
    height: 100%;
    background: #ffffff;
    transform-origin: left center;
    transform: scaleX(0); /* se anima con JS */
}

.site-lightbox__progress-segment.is-past .site-lightbox__progress-fill {
    transform: scaleX(1);
}

/* Header superior: X + sonido + perfil */
.site-lightbox__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Controles izquierdos (X + mute) */
.site-lightbox__header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Botón de mute */
.site-lightbox__mute {
    border: none;
    background: transparent;
    color: #cfcfcf;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

/* Perfil a la derecha */
.site-lightbox__profile {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #ffffff;
    font-size: 13px;
}

.site-lightbox__profile-thumb {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    overflow: hidden;
    background: #333;
    flex-shrink: 0;
}

.site-lightbox__profile-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.site-lightbox__profile-name {
    font-weight: 600;
    max-width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Perfil a la izquierda */
.site-lightbox__profile {
    order: 1;
}

/* Controles (mute) a la derecha */
.site-lightbox__header-left {
    order: 2;
}
/* =========================================================
   BASE (versión web normal)
   - Variables, reset suave y layout general
========================================================= */
.catalogo-page-wrapper{
  width: 90%;
  max-width: 90%;
  margin: 0;
  padding: 0;
}

.agegate-overlay {
    position: fixed;
    inset: 0;
    background: #000000;      /* sin transparencia */
    z-index: 9000;
    display: flex;            /* visible por defecto */
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.agegate-overlay.agegate-oculto {
    display: none;
}

.agegate-box {
    max-width: 500px;
    width: 100%;
    background: #000000;
    border: 1px solid #d4af37;
    padding: 25px 20px;
    box-sizing: border-box;
    text-align: center;
    color: #ffffff;
}

.agegate-box h2 {
    color: #d4af37;
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 22px;
}

.agegate-box p {
    margin-bottom: 10px;
}

.agegate-botones {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 15px;
}

.agegate-boton {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 4px;
    border: 1px solid #d4af37;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
    background: #000000;
    color: #ffffff;
    letter-spacing: 0.5px;
}

.agegate-boton-si {
    background: #d4af37;
    color: #000000;
}

.agegate-boton-si:hover {
    opacity: 0.9;
}

.agegate-boton-no:hover {
    background: #444444;
}

body.agegate-bloque-body {
    overflow: hidden;
}

@media (max-width: 480px) {
    .agegate-box {
        max-width: 100%;
        padding: 20px 15px;
    }
    .agegate-botones {
        flex-direction: column;
    }
}

.panel-activo{
  display:block !important;
  width:100%;
  min-height: calc(100vh - 200px); 
}

.catalogo-grid{
  display:grid;
  grid-template-columns: repeat(8, 200px); /* 8 tarjetas */
  gap:3px;
  justify-content:center;
  width:100%;
  margin:0 auto;
}

.catalogo-item{
  position:relative;
  border-radius:12px;
  background:radial-gradient(circle at top, rgba(255,255,255,0.06), rgba(0,0,0,0.98));
  border:1px solid rgba(255,255,255,0.08);
  padding:6px 6px 16px;
  box-sizing:border-box;
  overflow:hidden;
  box-shadow:0 14px 30px rgba(0,0,0,0.8);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background .18s ease;
}

.catalogo-item:hover{
  box-shadow:0 18px 36px rgba(0,0,0,0.95);
  border-color:rgba(212,175,55,0.75);
  background:radial-gradient(circle at top, rgba(212,175,55,0.10), rgba(0,0,0,0.98));
}

/* Enlace interno: columna vertical (imagen arriba, textos abajo) */
.catalogo-item > a{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none;
  color:#fff;
}

/* Imagen superior (misma proporción que usabas antes) */
.catalogo-foto{
  width:100%;
  aspect-ratio:2 / 3;
  border-radius:10px;
  overflow:hidden;
  background:#050505;
}

.catalogo-foto img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Anular degradado y estilos antiguos por seguridad */
.catalogo-foto::after{
  content:none !important;
}

/* Texto inferior: nombre + comuna, estilo Sophie */
.catalogo-nombre,
.catalogo-ubicacion{
  position:static;
  left:auto;
  right:auto;
  margin:0;
  padding:0;
  text-align:center;
  text-shadow:none;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  z-index:auto;
}

.catalogo-nombre{ 
  margin-top:12px;
  margin-left:4px;
  margin-right:4px;
  font-weight:600;
  font-size:18px;
  letter-spacing:.4px;
  color:#ffffff;
}

.catalogo-ubicacion{ 
  margin-top:4px;
  margin-left:4px;
  margin-right:4px;
  font-size:14px;
  opacity:.9;
  color:#c9c9c9;
}

/* Fondo y contenedor principal */
body{
background-color:#121212;
}
.pagina-principal{
box-sizing:border-box;
max-width: 100%;
margin:0 auto;
width:100%;
}

.bloques-catalogo-santiago,
.bloques-catalogo-regiones{
  display:block;
}
.bloques-catalogo-santiago > div,
.bloques-catalogo-regiones > div{
  width:100%;
  float:none;
}
.columna-izquierda-catalogo-santiago,
.columna-centro-catalogo-santiago,
.columna-derecha-catalogo-santiago,
.columna-extra-catalogo-santiago,
.columna-izquierda-catalogo-regiones,
.columna-centro-catalogo-regiones,
.columna-derecha-catalogo-regiones,
.columna-extra-catalogo-regiones{
  width:100%;
}



/* =========================================================
   CABECERA (logo, menú hamburguesa, botones)
========================================================= */

.bloque-superior {
    display: flex;
    width: calc(8 * 200px + 7 * 3px); /* mismo ancho que el grid de 8 tarjetas */
    margin: 20px auto;
    background: url('/wp-content/themes/DivineEscorts/uploads/logos_imagenes/banner_divine.jpg')
                no-repeat center/cover;
    box-sizing: border-box;
    position: relative;
    z-index: 5000;
    height: 300px;
}

.columna_izq_superior,
.columna_centro_superior,
.columna_der_superior {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.columna_der_superior .saludo {
  font-weight: bold;
  color: #ffffff; 
  font-size: 15px;
  white-space: nowrap;
  margin: 0; 
}

.columna_izq_superior {
    width: 25%;
    justify-content: flex-start; 
    align-items: flex-start; 
    padding-top: 10px;
    padding-left: 10px;
}
.columna_izq_superior .logo-header {
    height: 110px;  
    width: auto;
    object-fit: contain;
}

.columna_centro_superior_a,
.columna_centro_superior_b {
    width: 100%;
}

/* Estilos del H1 principal */
.titulo-seo {
    font-family: "The Seasons", serif;
    font-size: 48px;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
    letter-spacing: 1px;
    margin: 0;
    line-height: 1.1;
    white-space: nowrap;
    position: relative;  /* Necesario para la línea */
    padding-bottom: 14px; /* deja espacio para la línea */
    margin-top: 60px;
}

/* Línea dorada difuminada */
.titulo-seo::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);

    width: 80%;      
    height: 3px;    

    background: linear-gradient(
        to right,
        rgba(255, 215, 130, 0) 0%,      /* transparente */
        rgba(255, 215, 130, 1) 50%,     /* dorado intenso en el centro */
        rgba(255, 215, 130, 0) 100%     /* transparente */
    );

    border-radius: 3px;
    opacity: 0.9;
}

/* Subtítulo */
.subtitulo-seo {
    font-family: "Poppins", sans-serif;
    font-size: 12px;
    color: #d9d9d9;
    margin-top: 8px; 
    width: auto;  
    text-align: center;                 
    opacity: 0.85;
}

.columna_centro_superior {
    width: 50%;
    min-width: 500px;
    display: flex;
    flex-direction: column;
    height: 100%; 
}

.columna_der_superior {
    width: 25%;
    min-width: 360px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-right: 15px;
    margin-top: 10px;
}

.columna_centro_superior_a {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center; 
    justify-content: flex-end;
    text-align: center;
    padding: 0;
}


.columna_centro_superior_b {
    height: 40%;
    display: flex;
    justify-content: center; 
    align-items: center; 
}

/* === BOTONES DERECHA HEADER === */

.columna_der_superior .fila-superior {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 6px;
}

.columna_der_superior .fila-superior .saludo {
    color: #FFE9A3;
    font-size: 14px;
    font-weight: 600;
}

/* Barra horizontal de botones */
.columna_der_superior .fila-inferior {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}


.columna_der_superior .fila-inferior a {
    max-width: max-content;
    padding: 7px 14px;
    background: linear-gradient(180deg, rgba(212,175,55,.35), rgba(212,175,55,.15));
    color: #FFE9A3;
    border: 1px solid #D4AF37;
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1;
    box-shadow: 0 0 12px rgba(212,175,55,.30);
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
    white-space: nowrap;
    overflow: hidden;
}

.columna_der_superior .fila-inferior a:hover {
    background: linear-gradient(180deg, rgba(212,175,55,.45), rgba(212,175,55,.22));
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(212,175,55,.18);
    color: #FFF4C9;
}

.columna_der_superior .fila-inferior a:active {
    transform: translateY(0);
}

/* Menú hamburguesa */
.menu-hamburguesa{
  color:var(--ui-accent);
  cursor:pointer;
  display:none;
  font-size:30px;
  padding:6px 12px;
  user-select:none;
}

.catalogo-footer {
    width: calc(8 * 200px + 7 * 3px); /* alineado al grid de 8 tarjetas */
    padding: 20px 15px;
    margin: 30px auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border-top: 1px solid #d4af37; 
    background: transparent;
}

.catalogo-footer-logo {
    display: flex;
    align-items: center;
    margin-left: 15px;
}

.catalogo-footer-logo img {
    height: 80px;
    width: auto;
    object-fit: contain;
}

.catalogo-footer-contacto {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-left: 40px;
    margin-bottom: 3px;
    width: 260px;
    min-width: 260px;
}

.catalogo-footer-links {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
    margin-right: 15px;
    margin-left: auto;
    font-size: 15px;
    white-space: nowrap;
}
.catalogo-footer-link {
    color: #ffffff;
    cursor: pointer;
    text-decoration: underline;
}


.catalogo-footer-contacto-detalle {
    display: none;
    margin-top: 8px;
    font-size: 13px;
    color: #f5f5f5;
}

/* Activo = dos columnas lado a lado */
.catalogo-footer-contacto-detalle.activo {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 40px;
    justify-content: flex-start;
    align-items: flex-start;
    animation: contactoFade 0.25s ease-out;
}

.catalogo-footer-contacto-detalle div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.catalogo-footer-contacto-detalle div::before {
    font-size: 20px;
    color: #d4af37;
    display: block;
    margin-bottom: 2px;
}

.catalogo-footer-contacto-detalle div:first-child::before {
    content: "📧";
}

.catalogo-footer-contacto-detalle div:last-child::before {
    content: "📱";
}

.catalogo-footer-contacto-detalle a {
    color: #f5f5f5;
    text-decoration: none;
    font-size: 13px;
    margin-top: 2px;
    white-space: nowrap;
}

.catalogo-footer-contacto-detalle a:hover {
    text-decoration: underline;
}
.catalogo-footer-link-contacto {
    align-self: flex-start;
    text-align: left;
}



@keyframes contactoFade {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.catalogo-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 6000;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.catalogo-modal-activo {
    display: flex;
}

.catalogo-modal-contenido {
    background: #111111;
    max-width: 800px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 20px;
    border: 1px solid #d4af37;
    color: #ffffff;
    box-sizing: border-box;
}

.catalogo-modal-contenido h2 {
    margin-top: 0;
}

.catalogo-modal-cerrar {
    float: right;
    font-size: 20px;
    cursor: pointer;
    margin-left: 10px;
}

/* =========================================================
   SWITCH SANTIAGO / REGIONES (bloque intermedio)
========================================================= */

#bloque-intermedio-ubicacion button{
  border:1px solid #444;
  border-radius:8px;
  color:#fff;
  cursor:pointer;
  font-size:14px;
  margin:0 5px;
  width:160px;              
  height:65px;              
  background-size:cover;    
  background-position:center;
  background-repeat:no-repeat;
  transition:all .3s ease; 
}

/* Fondo botón Santiago */
#btn-santiago{
  background-image:url('/wp-content/themes/DivineEscorts/uploads/logos_imagenes/escort_santiago.jpg');
}

/* Fondo botón Regiones */
#btn-regiones{
  background-image:url('/wp-content/themes/DivineEscorts/uploads/logos_imagenes/regiones_escort.jpg');
}

/* Hover */
#btn-santiago:hover,
#btn-regiones:hover{
  border-color:var(--ui-accent);
  box-shadow:0 0 8px var(--ui-accent);
}

/* Activo */
#btn-santiago.activo,
#btn-regiones.activo{
  box-shadow:0 0 12px var(--ui-accent);
  border-color:var(--ui-accent);
  color:#ffd86b;
}


/* =========================================================
   BOTONES “ZONAS / FILTROS” (solo Regiones en mobile)
========================================================= */

.btn-toggle-zonas,
.btn-toggle-filtros{
  background:#1e1e1e;
  border:1px solid #2a2a2a;
  border-radius:10px;
  color:#e7e7e7;
  cursor:pointer;
  display:none;  
  margin:8px auto 10px;
  max-width:420px;
  padding:10px 12px;
  text-align:center;
  transition:border-color .2s, box-shadow .2s, background .2s;
  width:100%;
}
.btn-toggle-zonas:hover,
.btn-toggle-filtros:hover{
  border-color:var(--ui-accent);
  box-shadow:0 0 8px var(--ui-accent);
}

/* El botón de zonas solo aparece en Regiones */
body:not(.vista-regiones) .btn-toggle-zonas{display:none !important;}


/* =========================================================
   Estilos del carrusel circular Historias (GLOBAL / DESKTOP)
========================================================= */
#de-historias-catalogo {
  width: 100%;
  max-width: calc(8 * 200px + 7 * 3px); /* alineado al grid de 8 tarjetas */
  margin: 0 auto;
  box-sizing: border-box;
}

.de-hc{
  position: relative;
  margin: 0 auto 26px;
  padding: 10px 64px 24px;    /* espacio lateral para flechas */
  background: transparent;
  border: none;
  overflow: hidden;
}

/* línea decorativa debajo del carrusel */
.de-hc::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:0;
  height:1px;
  width:var(--hc-line-width, 260px);
  background:linear-gradient(to right, transparent, rgba(212,175,55,0.8), transparent);
  opacity:0.9;
  pointer-events:none;
}

/* CONTENEDOR DE LAS HISTORIAS → FILA HORIZONTAL */
.de-hc__track{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 8px 4px 12px;
  scrollbar-width: none;
  align-items: flex-start;
  justify-content: center;
}



.de-hc.de-hc--compact .de-hc__track{
  justify-content: center;
}

.de-hc__track::-webkit-scrollbar{ 
  display:none; 
}

/* CADA BURBUJA */
.de-hc__item{
  flex:0 0 auto;
  width:90px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-decoration:none;
  color:#ffffff;                 /* color blanco para el texto */
}
.de-hc__item:link,
.de-hc__item:visited{
  color:#ffffff;
  text-decoration:none;
}

/* pequeño margen para que no queden pegadas a las flechas */
.de-hc__item:first-child{
  margin-left:8px;
}
.de-hc__item:last-child{
  margin-right:8px;
}

/* CÍRCULO */
.de-hc__thumb{
  order: 1;
  width: 74px;
  height: 74px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
  border: 4px solid #d4af37;
  box-shadow: 0 0 6px rgba(212,175,55,0.5);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    opacity .18s ease;
}


/* Estado: todas las historias vistas */
.de-hc__item--seen-all .de-hc__thumb{
  border-color: rgba(212,175,55,0.4);
  opacity: 0.7;
}

/* Hover solo para NO vistas (opcional, si quieres diferenciar más) */
.de-hc__item:not(.de-hc__item--seen-all):hover .de-hc__thumb{
  box-shadow: 0 0 10px rgba(212,175,55,0.8);
}

/* NOMBRE BAJO EL CÍRCULO → BLANCO */
.de-hc__name{
  order:2;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  font-family:inherit;
  color:#ffffff;              /* blanco */
  margin-top:6px;
  margin-bottom:0;
  text-align:center;
  max-width:78px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* IMAGEN / VIDEO DENTRO DEL CÍRCULO */
.de-hc__media{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* FLECHAS – diseño global dorado */
.de-hc__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:50%;
  line-height:36px;
  font-size:20px;
  text-align:center;
  cursor:pointer;
  user-select:none;

  background:rgba(0,0,0,0.8);
  border:1px solid #d4af37;
  color:#d4af37;
  box-shadow:0 0 10px rgba(212,175,55,0.6);
}

.de-hc__nav:hover{
  background:#d4af37;
  color:#000;
}

.de-hc__nav--prev{ left:18px; }
.de-hc__nav--next{ right:18px; }
.de-hc__nav[disabled]{ opacity:.35; cursor:default; }

.de-hc--no-arrows .de-hc__nav{
  display:none;
}


/* Hover solo cuando NO está todo visto */
.de-hc__item:not(.de-hc__item--seen-all):hover .de-hc__thumb{
  transform: translateY(-1px) scale(1.02);
  box-shadow: 0 0 10px rgba(212,175,55,0.8);
}


/* TODAS LAS STORIES VISTAS */
.de-hc__item--seen-all .de-hc__thumb{
  border: 2px solid rgba(255, 216, 107, 0.45);
  box-shadow: none;
  opacity: 0.6;
}

/* opcional: desactivar hover en vistas */
.de-hc__item--seen-all .de-hc__thumb:hover{
  box-shadow: none;
}

/* opcional: nombre también más apagado cuando ya viste todo */
.de-hc__item--seen-all .de-hc__name{
  color: #b7b7b7;
}



  
/* =========================================================
   REGIONES — selector de zonas
========================================================= */

#selector-regiones{
  background:transparent;
  box-sizing:border-box;
  margin:0 auto 12px;
  max-width:1000px;
  padding:12px;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:start;
}

#selector-regiones:not(.is-open){
  display:none !important;
}

#zona-norte{background-color:rgba(255,193,7,.05);}
#zona-centro{background-color:rgba(0,123,255,.05);}
#zona-sur{background-color:rgba(40,167,69,.05);}
#selector-regiones .btn-region{
  background:#1a1a1a;
  border:1px solid #444;
  border-radius:8px;
  color:#fff;
  cursor:pointer;
  margin:0;
  padding:8px 12px;
  transition:all .3s ease;
}
#selector-regiones .btn-region:hover{border-color:#007bff;box-shadow:0 0 8px #007bff;}
#zona-norte .btn-region:hover,
#zona-norte .btn-region.activo{border-color:#ffcc66;box-shadow:0 0 8px #ffcc66;color:#ffcc66;}
#zona-centro .btn-region:hover,
#zona-centro .btn-region.activo{border-color:#66b3ff;box-shadow:0 0 8px #66b3ff;color:#66b3ff;}
#zona-sur .btn-region:hover,
#zona-sur .btn-region.activo{border-color:#00ff99;box-shadow:0 0 8px #00ff99;color:#00ff99;}

/* Ampliación estética y centrado del selector */

.grupo-zona{
  align-items:stretch;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 6px;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}
.titulo-zona{
  color:#e7e7e7;
  font-size:16px;
  font-weight:700;
  margin:0 0 8px;
  text-align:center;
  text-transform:uppercase;
  width:100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  grid-column: 1 / -1;
}
.grupo-zona .btn-region{
  display: flex;
  align-items: center;
  justify-content: center;
  background:#1a1a1a;
  border:1px solid #444;
  border-radius:10px;
  color:#fff;
  font-size:13px;
  line-height:1.2;
  min-height:38px;
  padding:6px 8px;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  width:100%;
}

/* =========================================================
   REGIONES — contenedores y grillas
========================================================= */

.titulo-region{
  color:#fff;
  font-size:22px;
  margin-bottom:20px;
  text-align:center;
  text-transform:uppercase;
}
.bloque-region{margin-top:40px;padding-top:20px;}
#seccion-regiones .bloque-region{display:none;}
#seccion-regiones .bloque-region.activo-region{display:block !important;}

/* =========================================================
   TABS (Santiago + Regiones)
========================================================= */

.tabs-santiago__controls,
.tabs-regiones__controls{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin:22px auto 26px;
}

.tab-santiago,
.tab-regiones{
  background:rgba(0,0,0,.6);
  border:1px solid rgba(212,175,55,.7); /* dorado */
  border-radius:999px;                  /* pill */
  color:#d4af37;
  cursor:pointer;
  font-size:14px;
  padding:8px 22px;
  letter-spacing:.4px;
  transition:
    background .2s ease,
    color .2s ease,
    box-shadow .2s ease,
    transform .1s ease,
    border-color .2s ease;
}

.tab-santiago:hover,
.tab-regiones:hover{
  background:#d4af37;
  color:#000;
  border-color:#d4af37;
  box-shadow:0 0 10px rgba(212,175,55,.75);
  transform:translateY(-1px);
}

.tab-santiago.activo,
.tab-regiones.activo{
  background:#d4af37;
  color:#000;
  border-color:#d4af37;
  box-shadow:0 0 14px rgba(212,175,55,.9);
}

/* =========================================================
   MODO TABS UNIFICADO (Santiago + Regiones)
========================================================= */

/* Oculta wrappers de columnas */
#seccion-santiago.modo-tabs .columna-izq-titulo-santiago,
#seccion-santiago.modo-tabs .columna-centro-titulo-santiago,
#seccion-santiago.modo-tabs .columna-der-titulo-santiago,
#seccion-santiago.modo-tabs .columna-extra-titulo-santiago,
#seccion-regiones.modo-tabs .columna-izq-titulo-regiones,
#seccion-regiones.modo-tabs .columna-centro-titulo-regiones,
#seccion-regiones.modo-tabs .columna-der-titulo-regiones,
#seccion-regiones.modo-tabs .columna-extra-titulo-regiones{display:none;}

/* Muestra solo panel activo */
#seccion-santiago.modo-tabs .panel-activo,
#seccion-regiones.modo-tabs .panel-activo{display:block !important;width:100%;}


/* =========================================================
   SCROLLBARS (decorativo)
========================================================= */

*{scrollbar-width:auto;scrollbar-color:#bbb #222;}
*::-webkit-scrollbar{height:14px;width:14px;}
*::-webkit-scrollbar-track{background:#222;}
*::-webkit-scrollbar-thumb{background:#bbb;border-radius:7px;}
*::-webkit-scrollbar-thumb:hover{background:#fff;}








/* 7 tarjetas */
@media (max-width:1599px){
  .catalogo-grid{
    grid-template-columns: repeat(7, 200px);
  }
  /* ===== HEADER ===== */

  .bloque-superior{
    width:100%;
    max-width:100%;
    margin:10px auto;
    height:auto !important;
    min-height:250px;
    padding:16px 24px 18px;
    background-position:center center;
    box-sizing:border-box;
    display:flex;
  }

  .columna_izq_superior,
  .columna_centro_superior,
  .columna_der_superior{
    height:100%;
    display:flex;
    flex-direction:column;
    min-width:0 !important;
    width:auto;
  }
  
  .columna_izq_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:flex-start;
    align-items:flex-start;
    padding:0;
  }

  .columna_izq_superior .logo-header{
    height:100px;
    width:auto;
    max-width:100%;
    object-fit:contain;
    margin-top:0;
  }

  .columna_centro_superior{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
    height:100%;
  }

  .columna_centro_superior_a{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0;
    text-align:center;
  }

  .columna_centro_superior_b{
    flex:0 0 auto;
    height:auto;
    margin-top:6px;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  .titulo-seo{
    font-size:35px !important;
    margin-top:12px;
    padding-bottom:6px;
    white-space:normal;
    line-height:1.2;
  }

  .subtitulo-seo{
    font-size:14px;
    margin-top:4px;
  }

  .columna_centro_superior_b{
    height:auto;
    margin-top:6px;
    justify-content:center;
    align-items:center;
  }

  #bloque-intermedio-ubicacion{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
  }

  #bloque-intermedio-ubicacion button{
    width:150px;
    height:50px;
    font-size:14px;
    margin:0;
  }

  .columna_der_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:flex-end;
    margin:0;
    display:flex;
    flex-direction:column;
  }

  .columna_der_superior .fila-superior,
  .columna_der_superior .fila-inferior{
    display:flex !important;
    width:100%;
  }

  .columna_der_superior .fila-superior{
    justify-content:flex-end;
    text-align:right;
    margin-bottom:8px;
  }

  .columna_der_superior .fila-inferior{
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
  }

  .menu-hamburguesa{
    display:none !important;
  }

  #de-historias-catalogo{
  width: 100%;
  margin: 0 auto;
}

/* deja buen espacio lateral para las flechas */
.de-hc{
  padding: 10px 60px 26px;   /* 60px por lado para flechas */
  margin: 0 auto 26px;
  box-sizing: border-box;
  overflow: hidden;
}

/* scroll + barrita visible + separación cómoda */
.de-hc__track{
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  padding: 8px 6px 14px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  
}
  /* scrollbar visible en este rango */
  scrollbar-width: thin;
}

.de-hc__track::-webkit-scrollbar{
  height: 4px;
}

.de-hc__track::-webkit-scrollbar-track{
  background: #111;
}

.de-hc__track::-webkit-scrollbar-thumb{
  background: #d4af37;
  border-radius: 4px;
}

/* tamaño de cada historia para pantallas grandes (7 columnas) */
.de-hc__item{
  flex: 0 0 auto;
  width: 92px;
}

/* margen extra para que no queden justo bajo la flecha */
.de-hc__item:first-child{
  margin-left: 8px;
}
.de-hc__item:last-child{
  margin-right: 8px;
}

/* solo tamaño/posición: colores de flechas vienen del global */
.de-hc__nav{
  width: 36px;
  height: 36px;
  line-height: 34px;
  font-size: 20px;
}

.de-hc__nav--prev{ left: 14px; }
.de-hc__nav--next{ right: 14px; }
  
  .tabs-santiago__controls,
  .tabs-regiones__controls{
    flex-wrap: nowrap !important;
    overflow-x: auto;
    justify-content: flex-start;
    padding: 8px 6px;
    justify-content: center !important;
    gap: 8px;
    scrollbar-width: none;
  }

  .tabs-santiago__controls::-webkit-scrollbar,
  .tabs-regiones__controls::-webkit-scrollbar{
    display: none;
  }

  .tab-santiago,
  .tab-regiones{
    flex: 0 0 auto;
    white-space: nowrap;
    font-size:16px;
    padding:9px 26px;
  }

  .tab-santiago:hover,
  .tab-regiones:hover {
    background: rgba(212,175,55,0.25);
    color: #d4af37;
    border-color: #d4af37;
    box-shadow: 0 0 10px rgba(212,175,55,0.35);
    transform: translateY(-1px);
  }

  .tab-santiago.activo,
  .tab-regiones.activo{
    background:#d4af37;
    color:#000;
    border-color:#d4af37;
    box-shadow:0 0 6px rgba(212,175,55,.45);
  }

  .catalogo-footer{
    width:100%;
    margin:25px auto 0 auto;
    padding:15px 20px;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    border-top:1px solid #d4af37;
    box-sizing:border-box;
  }

  .catalogo-footer-logo{
    display:block !important;
    flex:0 0 auto;
  }

 .catalogo-footer-contacto{
    margin:0;
    padding:0;
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
  }

  .catalogo-footer-link-contacto{
    font-size:14px;
    margin-bottom:6px;
    width:auto;
    text-align:left;
  }

   .catalogo-footer-contacto-detalle{
    display:none;
    flex-direction:row !important;   /* 2 columnas: email / teléfono */
    gap:30px;
    margin-top:8px;
    width:auto;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
    margin:8px 0 0;
  }

  .catalogo-footer-contacto-detalle div{
    width:auto;
    display:flex;
    flex-direction:column;           /* ícono arriba, texto abajo */
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }

  .catalogo-footer-contacto-detalle.activo{
    display:flex !important;
    animation: contactoFade 0.25s ease-out;
    justify-content:flex-start;
    margin:8px 0 0;
    width:auto;
  }

  .catalogo-footer-contacto-detalle div:first-child{
    display:flex !important;
  }

  .catalogo-footer-links{
    flex:0 0 auto;
    display:flex;
    flex-direction:row;
    gap:24px;
    align-items:center;
    justify-content:flex-end;
    white-space:nowrap;
    font-size:14px;
  }

  .catalogo-footer-link{
    text-decoration:underline;
    color:#fff;
  }

  #selector-regiones{
    width:100%;
    max-width:1000px;
    padding:12px;
    margin:0 auto 16px;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    align-items:start;
    box-sizing:border-box;
  }

  .grupo-zona{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    padding:8px;
    justify-items:stretch;
    box-sizing:border-box;
  }

  .titulo-zona{
    font-size:14px;
    margin:0 0 6px;
    text-align:center;
  }

  .grupo-zona .btn-region{
    font-size:11px;
    min-height:40px;
    padding:6px 4px;
    text-align:center;
    white-space:normal;
    word-break:break-word;
    overflow:hidden;
    text-overflow:clip;
    width:100%;
    box-sizing:border-box;
  }
}



/* 6 tarjetas */
@media (max-width:1399px){
  .catalogo-grid{
    grid-template-columns: repeat(6, 200px);
  }
  /* ===== HEADER ===== */

  .bloque-superior{
    width:100%;
    max-width:100%;
    margin:10px auto;
    height:auto !important;
    min-height:230px;
    padding:16px 24px 18px;
    background-position:center center;
    box-sizing:border-box;
    display:flex;
  }

  .columna_izq_superior,
  .columna_centro_superior,
  .columna_der_superior{
    height:100%;
    display:flex;
    flex-direction:column;
    min-width:0 !important;
    width:auto;
  }
  
  .columna_izq_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:flex-start;
    align-items:flex-start;
    padding:0;
  }

  .columna_izq_superior .logo-header{
    height:100px;
    width:auto;
    max-width:100%;
    object-fit:contain;
    margin-top:0;
  }

  .columna_centro_superior{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
    height:100%;
  }

  .columna_centro_superior_a{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0;
    text-align:center;
  }

  .columna_centro_superior_b{
    flex:0 0 auto;
    height:auto;
    margin-top:6px;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  .titulo-seo{
    font-size:32px !important;
    margin-top:12px;
    padding-bottom:6px;
    white-space:normal;
    line-height:1.2;
  }

  .subtitulo-seo{
    font-size:14px;
    margin-top:4px;
  }

  .columna_centro_superior_b{
    height:auto;
    margin-top:6px;
    justify-content:center;
    align-items:center;
  }

  #bloque-intermedio-ubicacion{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
  }

  #bloque-intermedio-ubicacion button{
    width:130px;
    height:44px;
    font-size:14px;
    margin:0;
  }

  .columna_der_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:flex-end;
    margin:0;
    display:flex;
    flex-direction:column;
  }

  .columna_der_superior .fila-superior,
  .columna_der_superior .fila-inferior{
    display:flex !important;
    width:100%;
  }

  .columna_der_superior .fila-superior{
    justify-content:flex-end;
    text-align:right;
    margin-bottom:8px;
  }

  .columna_der_superior .fila-inferior{
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
  }

  .menu-hamburguesa{
    display:none !important;
  }

  #de-historias-catalogo{
  width: 100%;
  margin: 0 auto;
}

/* deja espacio lateral para las flechas, sin pisar historias */
.de-hc{
  padding: 10px 56px 24px;   /* 56px por lado para las flechas */
  margin: 0 auto 24px;
  box-sizing: border-box;
  overflow: hidden;
}

/* scroll + barrita visible + separación cómoda */
.de-hc__track{
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  padding: 8px 6px 14px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;

  /* scrollbar visible en este rango */
  scrollbar-width: thin;
}

.de-hc__track::-webkit-scrollbar{
  height: 4px;
}

.de-hc__track::-webkit-scrollbar-track{
  background: #111;
}

.de-hc__track::-webkit-scrollbar-thumb{
  background: #d4af37;
  border-radius: 4px;
}

/* ancho de cada historia para 6 columnas */
.de-hc__item{
  flex: 0 0 auto;
  width: 88px;
}

/* pequeño margen para no quedar debajo de la flecha en los extremos */
.de-hc__item:first-child{
  margin-left: 6px;
}
.de-hc__item:last-child{
  margin-right: 6px;
}

/* solo tamaño/posición: colores de flechas vienen del global */
.de-hc__nav{
  width: 34px;
  height: 34px;
  line-height: 32px;
  font-size: 19px;
}

.de-hc__nav--prev{ left: 12px; }
.de-hc__nav--next{ right: 12px; }
  
  .tabs-santiago__controls,
  .tabs-regiones__controls{
    flex-wrap: nowrap !important;
    overflow-x: auto;
    justify-content: flex-start;
    padding: 8px 6px;
    justify-content: center !important;
    gap: 8px;
    scrollbar-width: none;
  }

  .tabs-santiago__controls::-webkit-scrollbar,
  .tabs-regiones__controls::-webkit-scrollbar{
    display: none;
  }

  .tab-santiago,
  .tab-regiones{
    flex: 0 0 auto;
    white-space: nowrap;
    font-size:16px;
    padding:9px 26px;
  }

  .tab-santiago:hover,
  .tab-regiones:hover {
    background: rgba(212,175,55,0.25);
    color: #d4af37;
    border-color: #d4af37;
    box-shadow: 0 0 10px rgba(212,175,55,0.35);
    transform: translateY(-1px);
  }

  .tab-santiago.activo,
  .tab-regiones.activo{
    background:#d4af37;
    color:#000;
    border-color:#d4af37;
    box-shadow:0 0 6px rgba(212,175,55,.45);
  }

  .catalogo-footer{
    width:100%;
    margin:25px auto 0 auto;
    padding:15px 20px;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    border-top:1px solid #d4af37;
    box-sizing:border-box;
  }

  .catalogo-footer-logo{
    display:block !important;
    flex:0 0 auto;
  }

  .catalogo-footer-contacto{
  margin:0;
  padding:0;
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}

.catalogo-footer-link-contacto{
  font-size:14px;
  margin-bottom:6px;
  width:auto;
  text-align:left;
}

/* EMAIL Y TELÉFONO EN 2 COLUMNAS */
.catalogo-footer-contacto-detalle{
  display:none;
  flex-direction:row !important;   /* 2 columnas: email / teléfono */
  gap:30px;
  margin-top:8px;
  width:auto;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  margin:8px 0 0;
}

.catalogo-footer-contacto-detalle div{
  width:auto;
  display:flex;
  flex-direction:column;           /* ícono arriba, texto abajo */
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}

.catalogo-footer-contacto-detalle.activo{
  display:flex !important;
  animation: contactoFade 0.25s ease-out;
  justify-content:flex-start;
  margin:8px 0 0;
  width:auto;
}


  .catalogo-footer-contacto-detalle div:first-child{
    display:flex !important;
  }

  .catalogo-footer-links{
    flex:0 0 auto;
    display:flex;
    flex-direction:row;
    gap:24px;
    align-items:center;
    justify-content:flex-end;
    white-space:nowrap;
    font-size:14px;
  }

  .catalogo-footer-link{
    text-decoration:underline;
    color:#fff;
  }

  #selector-regiones{
    width:100%;
    max-width:1000px;
    padding:12px;
    margin:0 auto 16px;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    align-items:start;
    box-sizing:border-box;
  }

  .grupo-zona{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    padding:8px;
    justify-items:stretch;
    box-sizing:border-box;
  }

  .titulo-zona{
    font-size:14px;
    margin:0 0 6px;
    text-align:center;
  }

  .grupo-zona .btn-region{
    font-size:11px;
    min-height:40px;
    padding:6px 4px;
    text-align:center;
    white-space:normal;
    word-break:break-word;
    overflow:hidden;
    text-overflow:clip;
    width:100%;
    box-sizing:border-box;
  }
}



/* 5 tarjetas */
@media (max-width:1199px){
  .catalogo-grid{
    grid-template-columns: repeat(5, 200px);
  }
  /* ===== HEADER ===== */

  .bloque-superior{
    width:100%;
    max-width:100%;
    margin:10px auto;
    height:auto !important;
    min-height:210px;              /* un poco más alto */
    padding:16px 24px 18px;
    background-position:center center;
    box-sizing:border-box;
    display:flex;
  }

  .columna_izq_superior,
  .columna_centro_superior,
  .columna_der_superior{
    height:100%;
    display:flex;
    flex-direction:column;
    min-width:0 !important;
    width:auto;
  }
  
  .columna_izq_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:flex-start;    /* pegado arriba */
    align-items:flex-start;        /* más hacia la esquina izquierda */
    padding:0;
  }

  .columna_izq_superior .logo-header{
    height:100px;                  /* logo más grande */
    width:auto;
    max-width:100%;
    object-fit:contain;
    margin-top:0;
  }
  .columna_centro_superior{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
    height:100%;
  }

  .columna_centro_superior_a{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0;
    text-align:center;
  }

  .columna_centro_superior_b{
    flex:0 0 auto;
    height:auto;
    margin-top:6px;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  .titulo-seo{
    font-size:32px !important;     /* título más grande */
    margin-top:12px;
    padding-bottom:6px;
    white-space:normal;
    line-height:1.2;
  }

  .subtitulo-seo{
    font-size:14px;
    margin-top:4px;
  }

  .columna_centro_superior_b{
    height:auto;
    margin-top:6px;
    justify-content:center;
    align-items:center;
  }

  #bloque-intermedio-ubicacion{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
  }

  #bloque-intermedio-ubicacion button{
    width:130px;
    height:44px;
    font-size:14px;
    margin:0;
  }

  .columna_der_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:flex-end;
    margin:0;
    display:flex;
    flex-direction:column;
  }

  .columna_der_superior .fila-superior,
  .columna_der_superior .fila-inferior{
    display:flex !important;
    width:100%;
  }

  .columna_der_superior .fila-superior{
    justify-content:flex-end;
    text-align:right;
    margin-bottom:8px;
  }

  .columna_der_superior .fila-inferior{
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
  }

  .menu-hamburguesa{
    display:none !important;
  }

  #de-historias-catalogo{
  width: 100%;
  margin: 0 auto;
}

/* deja espacio lateral cómodo para las flechas */
.de-hc{
  padding: 10px 56px 24px;   /* 56px a cada lado para las flechas */
  margin: 0 auto 26px;
  box-sizing: border-box;
  overflow: hidden;
}

/* scroll + barrita visible + separación un poco mayor */
.de-hc__track{
  display: flex;
  justify-content: flex-start;
  gap: 12px;                
  padding: 8px 6px 14px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;

  /* mostramos scrollbar también en este breakpoint */
  scrollbar-width: thin;
}

.de-hc__track::-webkit-scrollbar{
  height: 4px;
}
.de-hc__track::-webkit-scrollbar-track{
  background: #111;
}
.de-hc__track::-webkit-scrollbar-thumb{
  background: #d4af37;
  border-radius: 4px;
}

/* historias un poco más grandes que en el rango anterior */
.de-hc__item{
  flex: 0 0 auto;
  width: 90px;
}

/* pequeño margen extra para no quedar justo bajo la flecha */
.de-hc__item:first-child{
  margin-left: 6px;
}
.de-hc__item:last-child{
  margin-right: 6px;
}

/* flechas: solo tamaño y posición (colores ya los tienes globales) */
.de-hc__nav{
  width: 34px;
  height: 34px;
  line-height: 32px;
  font-size: 19px;
}

.de-hc__nav--prev{ left: 12px; }
.de-hc__nav--next{ right: 12px; }
  
  .tabs-santiago__controls,
  .tabs-regiones__controls{
    flex-wrap: nowrap !important;
    overflow-x: auto;
    justify-content: flex-start;
    padding: 8px 6px;
    justify-content: center !important;
    gap: 8px;
    scrollbar-width: none;
  }

  .tabs-santiago__controls::-webkit-scrollbar,
  .tabs-regiones__controls::-webkit-scrollbar{
    display: none;
  }

  .tab-santiago,
  .tab-regiones{
    flex: 0 0 auto;
    white-space: nowrap;
    font-size:16px;                /* un poco más pequeños */
    padding:9px 26px;
  }

  .tab-santiago:hover,
  .tab-regiones:hover {
    background: rgba(212,175,55,0.25);
    color: #d4af37;
    border-color: #d4af37;
    box-shadow: 0 0 10px rgba(212,175,55,0.35);
    transform: translateY(-1px);
  }

  .tab-santiago.activo,
  .tab-regiones.activo{
    background:#d4af37;
    color:#000;
    border-color:#d4af37;
    box-shadow:0 0 6px rgba(212,175,55,.45);
  }

   .catalogo-footer{
    width:100%;
    margin:25px auto 0 auto;
    padding:15px 20px;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    border-top:1px solid #d4af37;
    box-sizing:border-box;
  }

  .catalogo-footer-logo{
    display:block !important;
    flex:0 0 auto;
  }

   .catalogo-footer-contacto{
  margin:0;
  padding:0;
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;   /* alineado a la izquierda */
  text-align:left;
}

.catalogo-footer-link-contacto{
  font-size:14px;
  margin-bottom:6px;
  width:auto;
  text-align:left;          /* "Contacto" a la izquierda */
}

/* EMAIL Y TELÉFONO EN 2 COLUMNAS */
.catalogo-footer-contacto-detalle{
  display:none;
  flex-direction:row !important;   /* 2 columnas: email / teléfono */
  gap:30px;
  margin-top:8px;
  width:auto;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  margin:8px 0 0;
}

.catalogo-footer-contacto-detalle div{
  width:auto;
  display:flex;
  flex-direction:column;           /* ícono arriba, texto abajo */
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}

.catalogo-footer-contacto-detalle.activo{
  display:flex !important;
  animation: contactoFade 0.25s ease-out;
  justify-content:flex-start;
  margin:8px 0 0;
  width:auto;
}

  .catalogo-footer-contacto-detalle div:first-child{
    display:flex !important;
  }

  .catalogo-footer-links{
    flex:0 0 auto;
    display:flex;                  
    flex-direction:row;
    gap:24px;
    align-items:flex-start;
    justify-content:flex-end;
    align-items:center;
    white-space:nowrap;
    font-size:14px;
  }

  .catalogo-footer-link{
    text-decoration:underline;
    color:#fff;
  }

  #selector-regiones{
    width:100%;
    max-width:1000px;
    padding:12px;
    margin:0 auto 16px;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    align-items:start;
    box-sizing:border-box;
  }

  .grupo-zona{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    padding:8px;
    justify-items:stretch;
    box-sizing:border-box;
  }

  .titulo-zona{
    font-size:14px;
    margin:0 0 6px;
    text-align:center;
  }

  .grupo-zona .btn-region{
    font-size:11px;
    min-height:40px;
    padding:6px 4px;
    text-align:center;
    white-space:normal;
    word-break:break-word;
    overflow:hidden;
    text-overflow:clip;
    width:100%;
    box-sizing:border-box;
  }
}



/* 4 tarjetas */
@media (max-width:999px){
  .catalogo-grid{
    grid-template-columns: repeat(4, 200px);
  }
    /* ===== HEADER ===== */

  .bloque-superior{
  width:100%;
  max-width:100%;
  margin:10px auto;
  height:auto !important;
  min-height:190px;
  padding:12px 16px 14px;
  background-position:center center;
  box-sizing:border-box;
  display:flex;
}

  .columna_izq_superior,
  .columna_centro_superior,
  .columna_der_superior{
    height:100%;
    display:flex;
    flex-direction:column;
    min-width:0 !important;
    width:auto;
  }
  
  .columna_izq_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:center;
    padding:0;
  }

  .columna_izq_superior .logo-header{
    height:90px;
    width:auto;
    max-width:100%;
    object-fit:contain;
    margin-top:10px;
  }

  .columna_centro_superior{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
    height:100%;
  }

  .columna_centro_superior_a{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0;
    text-align:center;
  }

  .columna_centro_superior_b{
    flex:0 0 auto;
    height:auto;
    margin-top:6px;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  .titulo-seo{
  font-size:32px !important;
  margin-top:12px;
  padding-bottom:6px;
  white-space:normal;
  line-height:1.2;
}

  .subtitulo-seo{
  font-size:14px;
  margin-top:4px;
}

  .columna_centro_superior_b{
    height:auto;
    margin-top:6px;
    justify-content:center;
    align-items:center;
  }

  #bloque-intermedio-ubicacion{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
  }

  #bloque-intermedio-ubicacion button{
  width:130px;
  height:44px;
  font-size:14px;
  margin:0;
}

  .columna_der_superior{
  flex:0 0 25%;
  max-width:25%;
  justify-content:center;
  align-items:flex-end;
  margin:0;
  display:flex;
  flex-direction:column;
}

 .columna_der_superior .fila-superior,
.columna_der_superior .fila-inferior{
  display:flex !important;
  width:100%;
}
.columna_der_superior .fila-superior{
  justify-content:flex-end;
  text-align:right;
  margin-bottom:8px;
}

.columna_der_superior .fila-inferior{
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}
  .menu-hamburguesa{
  display:none !important;
}

 /* ====== carrusel historias (4 tarjetas / 800–999px) ====== */
#de-historias-catalogo{
  width: 100%;
  margin: 0 auto;
}

/* deja espacio lateral para que las flechas no pisen las historias */
.de-hc{
  padding: 8px 48px 22px;   /* 48px a cada lado para las flechas */
  margin: 0 auto 24px;
  box-sizing: border-box;
  overflow: hidden;
}

/* scroll + barrita visible + separación prudente */
.de-hc__track{
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  padding: 6px 4px 12px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;

  /* mostramos scrollbar en este breakpoint */
  scrollbar-width: thin;
}

.de-hc__track::-webkit-scrollbar{
  height: 4px;
}

.de-hc__track::-webkit-scrollbar-track{
  background: #111;
}

.de-hc__track::-webkit-scrollbar-thumb{
  background: #d4af37;
  border-radius: 4px;
}

/* ancho de cada historia en este rango */
.de-hc__item{
  flex: 0 0 auto;
  width: 82px;
}

/* un pequeño margen para que no queden justo bajo la flecha */
.de-hc__item:first-child{
  margin-left: 4px;
}
.de-hc__item:last-child{
  margin-right: 4px;
}

/* solo ajustamos tamaño/posición, colores vienen del global */
.de-hc__nav{
  width: 32px;
  height: 32px;
  line-height: 30px;
  font-size: 18px;
  background: rgba(0,0,0,0.8);      /* fondo negro semi */
  border: 1px solid #d4af37;        /* borde dorado */
  color: #d4af37;                   /* icono dorado */
  box-shadow: 0 0 8px rgba(212,175,55,0.55);
  }

  .de-hc__nav:hover{
    background: #d4af37;              /* dorado lleno al hover */
    color: #000;                       /* icono negro */
  }
  
.de-hc__nav--prev{ left: 8px; }
.de-hc__nav--next{ right: 8px; }

  .tabs-santiago__controls,
  .tabs-regiones__controls{
    flex-wrap: nowrap !important;
    overflow-x: auto;
    justify-content: flex-start;
    padding: 8px 6px;
    justify-content: center !important;
    gap: 8px;
    scrollbar-width: none;
  }

  .tabs-santiago__controls::-webkit-scrollbar,
  .tabs-regiones__controls::-webkit-scrollbar{
    display: none;
  }

  .tab-santiago,
  .tab-regiones{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:14px;
    padding:10px 30px;
  }

  .tab-santiago:hover,
  .tab-regiones:hover {
    background: rgba(212,175,55,0.25);
    color: #d4af37;
    border-color: #d4af37;
    box-shadow: 0 0 10px rgba(212,175,55,0.35);
    transform: translateY(-1px);
  }

  .tab-santiago.activo,
  .tab-regiones.activo{
    background:#d4af37;
    color:#000;
    border-color:#d4af37;
    box-shadow:0 0 6px rgba(212,175,55,.45);
  }

  .catalogo-footer{
  width:100%;
  margin:25px auto 0 auto;
  padding:15px 10px;
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  border-top:1px solid #d4af37;
  box-sizing:border-box;
}

.catalogo-footer-logo{
  display:block !important;
  flex:0 0 auto;
}

  .catalogo-footer-contacto{
  margin:0;
  padding:0;
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}

.catalogo-footer-link-contacto{
  font-size:14px;
  margin-bottom:6px;
  width:auto;
  text-align:left;
}

.catalogo-footer-contacto-detalle{
  display:none;
  flex-direction:row !important;   /* 2 columnas: email / teléfono */
  gap:30px;
  margin-top:6px;
  width:auto;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
  margin:6px 0 0;
}


.catalogo-footer-contacto-detalle.activo{
  display:flex !important;
  animation: contactoFade 0.25s ease-out;
  justify-content:flex-start;
}

.catalogo-footer-contacto-detalle div{
  width:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}

/* mostrar email */
.catalogo-footer-contacto-detalle div:first-child{
  display:flex !important;
}

.catalogo-footer-links{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:flex-end;
  justify-content:flex-start;
  white-space:nowrap;
  font-size:14px;
}

.catalogo-footer-link{
  text-decoration:underline;
  color:#fff;
}

 .catalogo-footer-contacto-detalle div:first-child{
  display:flex !important;   
}

   #selector-regiones{
    width:100%;
    max-width:1000px;
    padding:12px;
    margin:0 auto 16px;
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:24px;
    align-items:start;
    box-sizing:border-box;
  }

  .grupo-zona{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:6px;
    padding:8px;
    justify-items:stretch;
    box-sizing:border-box;
  }

  .titulo-zona{
    font-size:14px;
    margin:0 0 6px;
    text-align:center;
  }

  .grupo-zona .btn-region{
    font-size:10px;
    min-height:40px;
    padding:6px 4px;
    text-align:center;
    white-space:normal;
    word-break:break-word;
    overflow:hidden;
    text-overflow:clip;
    width:100%;
    box-sizing:border-box;
  }
}


/* 3 tarjetas con ancho fijo (tablet / desktop chico) */
@media (max-width:799px){
  .catalogo-grid{
    grid-template-columns: repeat(3, 200px);
  }
  
   /* ===== HEADER ===== */

 .bloque-superior{
    width:100%;
    max-width:100%;
    margin:10px auto;
    height:auto !important;
    min-height:170px;
    padding:4px 8px 8px;
    background-position:center center;
    box-sizing:border-box;
    display:flex;
  }

  .columna_izq_superior,
  .columna_centro_superior,
  .columna_der_superior{
    height:100%;
    display:flex;
    flex-direction:column;
    min-width:0 !important;
    width:auto;
  }
  
  .columna_izq_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:center;
    padding:0;
  }

  .columna_izq_superior .logo-header{
    height:64px;
    width:auto;
    max-width:100%;
    object-fit:contain;
    margin-top:10px;
  }

  .columna_centro_superior{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
    height:auto;        /* antes: height:100%; */
    align-self:center;  /* centra verticalmente la columna en el header */
  }

  .columna_centro_superior_a{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0;
    text-align:center;
  }

  .columna_centro_superior_b{
    flex:0 0 auto;
    height:auto;
    margin-top:6px;
    display:flex;
    justify-content:center;
    align-items:center;
  }

  .titulo-seo{
    font-size:24px !important;
    margin-top:12px;
    padding-bottom:6px;
    white-space:normal;
    line-height:1.15;
  }

  .subtitulo-seo{
    font-size:12px;
    margin-top:2px;
  }

  .columna_centro_superior_b{
    height:auto;
    margin-top:6px;
    justify-content:center;
    align-items:center;
  }

  #bloque-intermedio-ubicacion{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
  }

  #bloque-intermedio-ubicacion button{
    width:104px;
    height:40px;
    font-size:13px;
    margin:0;
  }

  .columna_der_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:center;
    margin:0;
  }

  .columna_der_superior .fila-superior,
  .columna_der_superior .fila-inferior{
    display:none !important;
  }

 /* ====== carrusel historias ====== */
#de-historias-catalogo{
  width: 100%;
  margin: 0 auto;
}

/* padding lateral para que las flechas no pisen las historias */
.de-hc{
  padding: 8px 18px 18px;
  margin: 0 auto 20px;
  box-sizing: border-box;
  overflow: hidden;
}

/* separación + SCROLL + barrita visible */

.de-hc__track{
  display: flex;
  justify-content: flex-start;
  gap: 8px;                 /* menos separación entre historias */
  padding: 6px 8px 10px;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;

  /* mostramos scrollbar en mobile */
  scrollbar-width: thin;
}

.de-hc__track::-webkit-scrollbar{
  height: 4px;
}

.de-hc__track::-webkit-scrollbar-track{
  background: #111;
}

.de-hc__track::-webkit-scrollbar-thumb{
  background: #d4af37;
  border-radius: 4px;
}

/* historias un poco más angostas en mobile */
.de-hc__item{
  flex: 0 0 auto;
  width: 76px;
}

/* margen para que no queden JUSTO bajo la flecha */
.de-hc__item:first-child{
  margin-left: 8px;
}
.de-hc__item:last-child{
  margin-right: 8px;
}

/* flechas sin círculo, más grandes y centradas respecto al carrusel */
.de-hc__nav{
  width: 22px;          /* menos ancho, solo la flecha */
  height: 22px;
  line-height: 22px;    /* centra el símbolo dentro del botón */
  font-size: 22px;      /* flecha un poco más grande */

  background: transparent;  /* sin círculo */
  border: none;
  box-shadow: none;
  border-radius: 0;
}

/* acercamos un poco las flechas a las historias */
.de-hc__nav--prev{ left: 6px; }
.de-hc__nav--next{ right: 6px; }


  
 .tabs-santiago__controls,
.tabs-regiones__controls{
  flex-wrap: nowrap !important;
  overflow-x: auto;
  justify-content: flex-start;
  padding: 8px 6px;
  justify-content: center !important;
  gap: 8px;
  scrollbar-width: none;
}

.tabs-santiago__controls::-webkit-scrollbar,
.tabs-regiones__controls::-webkit-scrollbar{
  display: none;
}

.tab-santiago,
.tab-regiones{
  flex: 0 0 auto;
  white-space: nowrap;
  font-size:12px;
  padding:10px 28px;
}

.tab-santiago:hover,
.tab-regiones:hover {
  background: rgba(212,175,55,0.25);
  color: #d4af37;
  border-color: #d4af37;
  box-shadow: 0 0 10px rgba(212,175,55,0.35);
  transform: translateY(-1px);
}

.tab-santiago.activo,
.tab-regiones.activo{
  background:#d4af37;
  color:#000;
  border-color:#d4af37;
  box-shadow:0 0 6px rgba(212,175,55,.45);
}


    .catalogo-footer{
    width:100%;
    margin:25px auto 0 auto;
    padding:15px 10px;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    border-top:1px solid #d4af37;
    box-sizing:border-box;
  }

  .catalogo-footer-logo{
    display:block !important;
    flex:0 0 auto;
  }

  .catalogo-footer-contacto{
    margin:0;
    padding:0;
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
}

.catalogo-footer-link-contacto{
    font-size:14px;
    margin-bottom:6px;
    width:auto;
    text-align:left;
}

.catalogo-footer-contacto-detalle{
    display:none;
    flex-direction:row !important;   /* 2 columnas: email / teléfono */
    gap:30px;
    margin-top:6px;
    width:auto;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
}

.catalogo-footer-contacto-detalle.activo{
    display:flex !important;
    animation: contactoFade 0.25s ease-out;
}

.catalogo-footer-contacto-detalle div{
    width:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
}


.catalogo-footer-contacto-detalle div:first-child { 
   display:none !important; 
}

  .catalogo-footer-links{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    gap:4px;
    align-items:flex-end;
    justify-content:flex-start;
    white-space:nowrap;
    font-size:14px;
  }

  .catalogo-footer-link{
    text-decoration:underline;
    color:#fff;
  }

   #selector-regiones{
    width:100%;
    max-width:100%;
    padding:10px 8px;
    margin:0 auto 16px;
    display:grid !important;
    grid-template-columns:1fr !important; /* una sola columna, todo el ancho */
    gap:10px;
    align-items:stretch;
    box-sizing:border-box;
  }

  .grupo-zona{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr)); /* botones en grilla dentro de cada zona */
    gap:6px;
    padding:8px;
    justify-items:stretch;
    box-sizing:border-box;
  }

  .titulo-zona{
    font-size:14px;
    margin:0 0 6px;
    text-align:center;
  }

  .grupo-zona .btn-region{
    font-size:10px;
    min-height:40px;
    padding:6px 4px;
    text-align:center;
    white-space:normal;
    word-break:break-word;
    overflow:hidden;
    text-overflow:clip;
    width:100%;
    box-sizing:border-box;
  }
   /* La columna derecha se vuelve referencia para el dropdown */
  .columna_der_superior{
    position: relative;
  }

  /* Ocultamos el saludo en mobile */
  .columna_der_superior .fila-superior{
    display: none !important;
  }

  /* Por defecto los botones no se ven en mobile */
  .columna_der_superior .fila-inferior{
    display: none;
  }

  body.menu-abierto .columna_der_superior .fila-inferior{
    display: flex !important;
    position: absolute;
    top: 40px;
    right: 0;
    background: #000;
    border: 1px solid #d4af37;
    border-radius: 10px;
    padding: 8px 10px;
    flex-direction: column;
    gap: 6px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.85);
    z-index: 5090;
    width: max-content;
  }

  body.menu-abierto .columna_der_superior .fila-inferior a{
    width: 100%;
    justify-content: flex-start;
    text-align: left;
  }

  /* Forzamos a que la hamburguesa sí se vea en mobile */
  .menu-hamburguesa{
  display: block !important;
  font-size: 26px;
  padding: 4px 8px;
  position:absolute;
  right: 8px !important;
  top: 1px !important;
  color:#FFE9A3;
  z-index:5100;
 }
}






/* 3 tarjetas adaptadas al ancho de pantalla (mobile) */
@media (max-width:598px){
  .catalogo-grid{
    grid-template-columns: repeat(3, 1fr);
  }
 /* ===== HEADER ===== */

 .bloque-superior{
    width:100%;
    max-width:100%;
    margin:10px auto;
    height:auto !important;
    min-height:160px;
    padding:4px 8px 8px;
    background-position:center center;
    box-sizing:border-box;
    display:flex;
  }

  /* Todas las columnas pueden encogerse */
  .columna_izq_superior,
  .columna_centro_superior,
  .columna_der_superior{
    height:100%;
    display:flex;
    flex-direction:column;
    min-width:0 !important;
    width:auto;
  }
  
  .columna_izq_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:center;
    padding:0;
  }


    .columna_izq_superior .logo-header{
    height:40px;
    width:auto;
    max-width:100%;
    object-fit:contain;
    margin-top:10px;
  }

    .columna_centro_superior{
    flex:0 0 50%;
    max-width:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    min-width:0;
    height:auto;        /* antes: height:100%; */
    align-self:center;  /* centra verticalmente la columna en el header */
  }


  .columna_centro_superior_a{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0;
    text-align:center;
  }

  .columna_centro_superior_b{
    flex:0 0 auto;
    height:auto;
    margin-top:6px;
    display:flex;
    justify-content:center;
    align-items:center;
  }

    .titulo-seo{
    font-size:18px !important;
    margin-top:0; 
    padding-bottom:6px;
    white-space:normal;
    line-height:1.15;
  }


  .subtitulo-seo{
    font-size:10px;
    margin-top:2px;
  }

  .columna_centro_superior_b{
    height:auto;
    margin-top:6px;
    justify-content:center;
    align-items:center;
  }

  /* Contenedor de botones: siempre en una sola fila */
  #bloque-intermedio-ubicacion{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
  }

  /* Botones Santiago / Regiones más pequeños para que no bajen de línea */
  #bloque-intermedio-ubicacion button{
    width:104px;
    height:40px;
    font-size:12px;
    margin:0;
  }

  .columna_der_superior{
    flex:0 0 25%;
    max-width:25%;
    justify-content:center;
    align-items:center;
    margin:0;
  }


  body.menu-abierto .columna_der_superior .fila-inferior{
    display: flex !important;
    position: absolute;
    top: 40px;
    right: 0;
    background: #000;
    border: 1px solid #d4af37;
    border-radius: 10px;
    padding: 8px 10px;
    flex-direction: column;
    gap: 6px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.85);
    z-index: 5090;
    width: max-content;
  }

  body.menu-abierto .columna_der_superior .fila-inferior a{
    width: 100%;
    justify-content: flex-start;
    text-align: left;
  }

  /* Menú hamburguesa */
  .menu-hamburguesa{
    display:block !important;
    position:absolute;
    right: 8px !important;
    top: 1px !important;
    color:#FFE9A3;
    font-size:26px;
    padding:4px 8px;
    z-index:5100;
  }
  
  /* ====== MOBILE: carrusel historias ====== */
#de-historias-catalogo{
  width: 100%;
  margin: 0 auto;
}

.de-hc{
    padding: 5px 5px 18px;  
    margin: 0 0 20px;
  }

  .de-hc__track{
    justify-content: flex-start;
    gap: 10px; 
    scrollbar-width: thin;              
  }
  
  .de-hc__track::-webkit-scrollbar{
    display: block;
    height: 4px;                 /* grosor de la barrita */
  }
  .de-hc__track::-webkit-scrollbar-track{
    background: transparent;
  }

  .de-hc__track::-webkit-scrollbar-thumb{
    background: #d4af37;
    border-radius: 999px;
  }

/* opcional: un pelín más angostas en mobile */
.de-hc__item{
  width: 76px;              
}

/* Ocultar flechas en móvil */
  .de-hc__nav{
    display: none;
  }

.de-hc__nav--prev{ left: 4px; }
.de-hc__nav--next{ right: 4px; }

  
  .tabs-santiago__controls,
  .tabs-regiones__controls{
    flex-wrap: nowrap !important;   /* NO permite segunda fila */
    overflow-x: auto;               /* Si no caben → scroll horizontal */
    justify-content: flex-start;    /* Mejor alineación en móvil */
    padding: 6px 4px;
    justify-content: center !important;
    gap: 5px;
    scrollbar-width: none;          /* Oculta scroll Firefox */
}

.tabs-santiago__controls::-webkit-scrollbar,
.tabs-regiones__controls::-webkit-scrollbar{
  display: none;                  /* Oculta scroll Chrome */
}

/* Cada tab mantiene su tamaño y no se estira */
.tab-santiago,
.tab-regiones{
  flex: 0 0 auto;                 
  white-space: nowrap;            
  font-size: 12px;                
  padding: 7px 18px;
}
  .tab-santiago:hover,
  .tab-regiones:hover {
    background: rgba(212,175,55,0.25); /* dorado suave */
    color: #d4af37;
    border-color: #d4af37;
    box-shadow: 0 0 10px rgba(212,175,55,0.35);
    transform: translateY(-1px);
}
.tab-santiago.activo,
.tab-regiones.activo{
  background:#d4af37;
  color:#000;
  border-color:#d4af37;
  box-shadow:0 0 6px rgba(212,175,55,.45); /* brillo suave */
}
  .catalogo-footer{
    width:100%;
    margin:25px auto 0 auto;
    padding:15px 10px;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    border-top:1px solid #d4af37;
    box-sizing:border-box;
}

/* OCULTAR LOGO EN MOBILE */
.catalogo-footer-logo{
    display:none !important;
}

.catalogo-footer-contacto{
    margin:0;
    padding:0;
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
}

.catalogo-footer-link-contacto{
    font-size:14px;
    margin-bottom:6px;
}

.catalogo-footer-contacto-detalle{
    display:none;
    flex-direction:column !important;
    gap:6px;
    margin-top:6px;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
}

.catalogo-footer-contacto-detalle.activo{
    display:flex !important;
    animation: contactoFade 0.25s ease-out;
}

.catalogo-footer-contacto-detalle div{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    text-align:left;
    gap:6px;
}
.catalogo-footer-contacto-detalle div:first-child{
    display:none !important;   /* ocultar email en mobile */
}

.catalogo-footer-links{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    gap:4px;
    align-items:flex-end;
    justify-content:flex-start;
    white-space:nowrap;
    font-size:14px;
}

.catalogo-footer-link{
    text-decoration:underline;
    color:#fff;
}


 #selector-regiones{
    width:100%;
    max-width:100%;
    padding:10px 8px;
    margin:0 auto 16px;
    display:grid !important;
    grid-template-columns:1fr; /* una sola columna */
    gap:10px;                  /* separación vertical entre zonas */
    box-sizing:border-box;
  }

  .grupo-zona{
    width:100%;
    max-width:100%;
    grid-template-columns:repeat(3, minmax(0, 1fr)); /* botones en grilla dentro de cada zona */
    gap:6px;
    padding:8px;
    justify-items:stretch;
    box-sizing:border-box;
  }

  .titulo-zona{
    font-size:14px;
    margin:0 0 6px;
    text-align:center;
  }

  .grupo-zona .btn-region{
    font-size:10px;
    min-height:40px;
    padding:6px 4px;
    text-align:center;
    white-space:normal;        /* permite saltos de línea */
    word-break:break-word;     /* evita que el texto salga del botón */
    overflow:hidden;
    text-overflow:clip;
    width:100%;
    box-sizing:border-box;     /* botón no se sale del contenedor */
  }
}
 
