/* ==========================================================================
   SUBACABUR — modulo publico de GANADO.

   Se carga DESPUES de subacabur.css y reutiliza sus variables (--suba-*): la
   paleta del brief vive alli y aqui no se redefine ni un color suelto.
     azul marino #041B3B · azul medio #0F3A6B · dorado #C8A44D (del logo)
     blanco       #FFFFFF · gris claro  #F5F5F5

   MOVIL PRIMERO: todo el archivo describe la pantalla estrecha y solo tres
   consultas de medios (48rem, 64rem, 80rem) van anadiendo columnas.

   NINGUNA regla de este archivo se puede mover a un atributo style=""
   ni a una etiqueta <style> sin nonce: la CSP real prohibe 'unsafe-inline'.
   ========================================================================== */

:root {
    --gan-radio: 12px;
    --gan-radio-corto: 8px;
    --gan-sombra: 0 1px 2px rgba(4, 27, 59, .06), 0 10px 30px rgba(4, 27, 59, .09);
    --gan-sombra-alta: 0 2px 6px rgba(4, 27, 59, .10), 0 18px 44px rgba(4, 27, 59, .16);
    --gan-transicion: 160ms ease;

    --gan-proporcion: 4 / 3;
    --gan-proporcion-ficha: 3 / 2;

    --gan-rojo: #B23B2E;
    --gan-rojo-suave: rgba(178, 59, 46, .10);
    --gan-whatsapp: #1F8A46;
}

/* --- Ruta de navegacion --------------------------------------------------- */

.gan-migas {
    background: var(--suba-blanco);
    border-bottom: 1px solid var(--suba-borde);
    font-size: .86rem;
}

.gan-migas__lista {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .5rem;
    margin: 0;
    padding-block: .7rem;
    list-style: none;
}

.gan-migas__elemento + .gan-migas__elemento::before {
    content: "/";
    margin-right: .5rem;
    color: var(--suba-tinta-tenue);
}

.gan-migas__elemento a { text-decoration: none; font-weight: 600; }
.gan-migas__elemento a:hover,
.gan-migas__elemento a:focus-visible { text-decoration: underline; }
.gan-migas__elemento span { color: var(--suba-tinta-tenue); }

/* --- Cabecera del listado ------------------------------------------------- */

.gan-cabecera {
    background: linear-gradient(150deg, var(--suba-verde-oscuro), var(--suba-verde-medio));
    color: var(--suba-blanco);
    padding-block: 2.5rem;
}

.gan-cabecera__antetitulo {
    margin: 0 0 .4rem;
    color: var(--suba-dorado);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.gan-cabecera__titulo {
    margin: 0 0 .55rem;
    font-size: clamp(1.9rem, 6vw, 2.9rem);
    font-weight: 800;
    letter-spacing: .02em;
}

.gan-cabecera__bajada {
    margin: 0;
    max-width: 44rem;
    color: rgba(255, 255, 255, .92);
}

/* --- Secciones ------------------------------------------------------------ */

.gan-seccion { padding-block: 2.25rem; }

.gan-seccion--buscador {
    background: var(--suba-blanco);
    border-bottom: 1px solid var(--suba-borde);
}

.gan-seccion--tenue {
    background: var(--suba-blanco);
    border-top: 1px solid var(--suba-borde);
}

.gan-seccion__titulo {
    margin: 0 0 .4rem;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--suba-verde-oscuro);
}

.gan-seccion__intro {
    margin: 0 0 1.4rem;
    max-width: 44rem;
    color: var(--suba-tinta-tenue);
}

.gan-seccion__mas { margin: 1.5rem 0 0; }

/* --- Buscador ------------------------------------------------------------- */

.gan-filtros { margin-top: 1.1rem; }

.gan-filtros__busqueda { margin-bottom: 1rem; }

.gan-filtros__rejilla {
    display: grid;
    grid-template-columns: 1fr;
    gap: .9rem;
}

.gan-campo { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }

/* El rango va en <fieldset> por su <legend>. Se deja en display:block y no en
   flex: un <legend> dentro de un contenedor flex se maqueta de formas distintas
   en cada navegador. */
.gan-campo--rango {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    min-inline-size: 0;
}

.gan-campo--rango .gan-campo__rotulo { display: block; margin-bottom: .3rem; }

.gan-campo__rotulo {
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--suba-tinta-tenue);
    padding: 0;
}

.gan-campo__par {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
}

.gan-campo__control {
    width: 100%;
    min-height: 2.85rem;
    padding: .55rem .75rem;
    font: inherit;
    font-size: .95rem;
    color: var(--suba-tinta);
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-radius: var(--gan-radio-corto);
    transition: border-color var(--gan-transicion), box-shadow var(--gan-transicion);
}

.gan-campo__control:hover { border-color: var(--suba-verde-medio); }

.gan-campo__control:focus-visible {
    border-color: var(--suba-verde-medio);
    box-shadow: 0 0 0 3px rgba(15, 58, 107, .18);
}

.gan-campo__control--area { min-height: 8rem; resize: vertical; line-height: 1.55; }

.gan-campo__control.es-erroneo { border-color: var(--gan-rojo); background: var(--gan-rojo-suave); }

.gan-campo__error { margin: .1rem 0 0; font-size: .85rem; font-weight: 600; color: var(--gan-rojo); }

.gan-campo--ancho { grid-column: 1 / -1; }

.gan-filtros__acciones {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    margin-top: 1.1rem;
}

/* Senuelo antispam: fuera de la pantalla, nunca con el atributo hidden
   (un robot lo detectaria) y nunca con display:none (algunos lo saltan). */
.gan-senuelo {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* --- Botones -------------------------------------------------------------- */

.gan-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.85rem;
    padding: .6rem 1.25rem;
    border: 1px solid transparent;
    border-radius: var(--gan-radio-corto);
    font: inherit;
    font-size: .95rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--gan-transicion), border-color var(--gan-transicion), transform var(--gan-transicion);
}

.gan-boton:active { transform: translateY(1px); }

.gan-boton--principal {
    background: var(--suba-verde-oscuro);
    border-color: var(--suba-verde-oscuro);
    color: var(--suba-blanco);
}

.gan-boton--principal:hover,
.gan-boton--principal:focus-visible {
    background: var(--suba-verde-medio);
    border-color: var(--suba-verde-medio);
    color: var(--suba-blanco);
}

.gan-boton--tenue {
    background: var(--suba-blanco);
    border-color: var(--suba-borde);
    color: var(--suba-verde-oscuro);
}

.gan-boton--tenue:hover,
.gan-boton--tenue:focus-visible {
    background: var(--suba-gris-claro);
    border-color: var(--suba-verde-medio);
    color: var(--suba-verde-oscuro);
}

.gan-boton--whatsapp {
    background: var(--gan-whatsapp);
    border-color: var(--gan-whatsapp);
    color: var(--suba-blanco);
}

.gan-boton--whatsapp:hover,
.gan-boton--whatsapp:focus-visible {
    background: #177037;
    border-color: #177037;
    color: var(--suba-blanco);
}

/* --- Recuento y estado vacio ---------------------------------------------- */

.gan-resultados__recuento {
    margin: 0 0 1.1rem;
    font-size: .95rem;
    font-weight: 600;
    color: var(--suba-tinta-tenue);
}

.gan-vacio {
    padding: 2.5rem 1.5rem;
    text-align: center;
    background: var(--suba-blanco);
    border: 1px dashed var(--suba-borde);
    border-radius: var(--gan-radio);
}

.gan-vacio__titulo {
    margin: 0 0 .5rem;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--suba-verde-oscuro);
}

.gan-vacio__texto {
    margin: 0 auto;
    max-width: 34rem;
    color: var(--suba-tinta-tenue);
}

.gan-vacio__acciones {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .6rem;
    margin: 1.5rem 0 0;
    padding: 0;
    list-style: none;
}

/* --- Rejilla de tarjetas -------------------------------------------------- */

.gan-rejilla {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.15rem;
}

.gan-tarjeta {
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-radius: var(--gan-radio);
    box-shadow: var(--gan-sombra);
    overflow: hidden;
    transition: box-shadow var(--gan-transicion), transform var(--gan-transicion), border-color var(--gan-transicion);
}

.gan-tarjeta:hover,
.gan-tarjeta:focus-within {
    box-shadow: var(--gan-sombra-alta);
    border-color: var(--suba-verde-medio);
    transform: translateY(-2px);
}

.gan-tarjeta.es-destacada { border-top: 4px solid var(--suba-dorado); }

.gan-tarjeta__enlace {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.gan-tarjeta__marco {
    position: relative;
    aspect-ratio: var(--gan-proporcion);
    background: var(--suba-gris-claro);
    overflow: hidden;
}

/* width/height del HTML son la pista de tamano para el navegador; la
   proporcion real la manda el marco y object-fit evita la deformacion. */
.gan-tarjeta__imagen {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 260ms ease;
}

.gan-tarjeta:hover .gan-tarjeta__imagen { transform: scale(1.03); }

.gan-tarjeta__distintivos {
    position: absolute;
    inset-block-start: .6rem;
    inset-inline-start: .6rem;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.gan-estado {
    display: inline-block;
    padding: .25rem .65rem;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    background: var(--suba-blanco);
    color: var(--suba-verde-oscuro);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
}

.gan-estado--disponible { background: var(--suba-verde-medio); color: var(--suba-blanco); }
.gan-estado--reservado  { background: var(--suba-dorado);      color: var(--suba-verde-oscuro); }
.gan-estado--vendido    { background: var(--gan-rojo);         color: var(--suba-blanco); }
.gan-estado--destacado  { background: var(--suba-dorado);      color: var(--suba-verde-oscuro); }

.gan-tarjeta__cuerpo {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    flex: 1 1 auto;
    padding: 1rem 1.05rem 1.15rem;
}

.gan-tarjeta__titulo {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--suba-verde-oscuro);
    overflow-wrap: anywhere;
}

.gan-tarjeta__datos {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem .4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gan-tarjeta__dato {
    padding: .2rem .55rem;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    background: var(--suba-gris-claro);
    color: var(--suba-tinta-tenue);
}

.gan-tarjeta__dato--raza {
    background: rgba(15, 58, 107, .12);
    color: var(--suba-verde-oscuro);
}

.gan-tarjeta__ubicacion {
    margin: 0;
    font-size: .88rem;
    color: var(--suba-tinta-tenue);
}

.gan-tarjeta__precio {
    margin: auto 0 0;
    padding-top: .5rem;
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--suba-verde-oscuro);
    font-variant-numeric: tabular-nums;
}

.gan-tarjeta__precio-kilo {
    display: block;
    font-size: .8rem;
    font-weight: 600;
    color: var(--suba-tinta-tenue);
    font-variant-numeric: normal;
}

/* --- Paginacion ----------------------------------------------------------- */

.gan-paginacion {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin-top: 2rem;
}

.gan-paginacion__lista {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gan-paginacion__paso,
.gan-paginacion__numero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.6rem;
    min-height: 2.6rem;
    padding: .4rem .8rem;
    border: 1px solid var(--suba-borde);
    border-radius: var(--gan-radio-corto);
    background: var(--suba-blanco);
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
    color: var(--suba-verde-oscuro);
}

.gan-paginacion__paso:hover,
.gan-paginacion__paso:focus-visible,
.gan-paginacion__numero:hover,
.gan-paginacion__numero:focus-visible {
    background: var(--suba-verde-oscuro);
    border-color: var(--suba-verde-oscuro);
    color: var(--suba-blanco);
}

.gan-paginacion__numero.es-vigente {
    background: var(--suba-dorado);
    border-color: var(--suba-dorado);
    color: var(--suba-verde-oscuro);
}

.gan-paginacion__paso.es-inerte {
    opacity: .38;
    background: var(--suba-gris-claro);
    color: var(--suba-tinta-tenue);
}

.gan-paginacion__resumen {
    margin: .8rem 0 0;
    text-align: center;
    font-size: .86rem;
    color: var(--suba-tinta-tenue);
}

/* --- Ficha: rejilla general ----------------------------------------------- */

.gan-ficha { padding-block: 1.75rem 0; }

.gan-ficha__reja {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

/* --- Ficha: galeria ------------------------------------------------------- */

.gan-galeria__principal {
    position: relative;
    aspect-ratio: var(--gan-proporcion-ficha);
    background: var(--suba-gris-claro);
    border: 1px solid var(--suba-borde);
    border-radius: var(--gan-radio);
    overflow: hidden;
}

.gan-galeria__imagen {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gan-galeria__paso {
    position: absolute;
    inset-block-start: 50%;
    translate: 0 -50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.9rem;
    height: 2.9rem;
    border: 0;
    border-radius: 999px;
    background: rgba(4, 27, 59, .82);
    color: var(--suba-blanco);
    font-size: 1.9rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color var(--gan-transicion);
}

.gan-galeria__paso:hover,
.gan-galeria__paso:focus-visible { background: var(--suba-verde-oscuro); }

/* Los controles nacen con el atributo hidden y solo los descubre ganado.js.
   Hace falta declararlo aqui: el display:inline-flex de arriba es una regla de
   autor y ganaria a la del navegador para [hidden], dejando botones muertos en
   una pagina sin JavaScript. */
.gan-galeria__paso[hidden],
.gan-galeria__contador[hidden] { display: none; }

.gan-galeria__paso--atras     { inset-inline-start: .6rem; }
.gan-galeria__paso--adelante  { inset-inline-end: .6rem; }

.gan-galeria__contador {
    position: absolute;
    inset-block-end: .6rem;
    inset-inline-end: .6rem;
    margin: 0;
    padding: .25rem .7rem;
    border-radius: 999px;
    background: rgba(28, 36, 24, .74);
    color: var(--suba-blanco);
    font-size: .8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.gan-galeria__tiras {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .5rem;
    margin: .6rem 0 0;
    padding: 0;
    list-style: none;
}

.gan-galeria__enlace {
    display: block;
    aspect-ratio: 1 / 1;
    border: 2px solid transparent;
    border-radius: var(--gan-radio-corto);
    overflow: hidden;
    background: var(--suba-gris-claro);
}

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

.gan-galeria__enlace:hover,
.gan-galeria__enlace:focus-visible { border-color: var(--suba-verde-medio); }
.gan-galeria__enlace.es-vigente    { border-color: var(--suba-dorado); }

.gan-galeria__aviso {
    margin: 0;
    padding: 3rem 1.5rem;
    text-align: center;
    color: var(--suba-tinta-tenue);
    background: var(--suba-blanco);
    border: 1px dashed var(--suba-borde);
    border-radius: var(--gan-radio);
}

/* --- Ficha: resumen ------------------------------------------------------- */

.gan-ficha__resumen {
    padding: 1.25rem;
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-top: 4px solid var(--suba-verde-medio);
    border-radius: var(--gan-radio);
    box-shadow: var(--gan-sombra);
}

.gan-ficha__distintivos {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: .7rem;
}

.gan-ficha__titulo {
    margin: 0 0 .35rem;
    font-size: clamp(1.4rem, 4.5vw, 1.9rem);
    font-weight: 800;
    line-height: 1.22;
    color: var(--suba-verde-oscuro);
    overflow-wrap: anywhere;
}

.gan-ficha__ubicacion {
    margin: 0 0 .9rem;
    font-size: .95rem;
    color: var(--suba-tinta-tenue);
}

.gan-ficha__precio {
    margin: 0 0 1rem;
    font-size: clamp(1.6rem, 5vw, 2.1rem);
    font-weight: 800;
    color: var(--suba-verde-oscuro);
    font-variant-numeric: tabular-nums;
}

.gan-ficha__precio-kilo {
    display: block;
    font-size: .88rem;
    font-weight: 600;
    color: var(--suba-tinta-tenue);
    font-variant-numeric: normal;
}

.gan-ficha__rapidos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin: 0 0 1.1rem;
    padding: 0;
    list-style: none;
}

.gan-ficha__rapidos li {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    padding: .55rem .7rem;
    background: var(--suba-gris-claro);
    border-radius: var(--gan-radio-corto);
}

.gan-ficha__rapidos span {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--suba-tinta-tenue);
}

.gan-ficha__rapidos strong { font-size: .95rem; color: var(--suba-tinta); }

.gan-ficha__acciones {
    display: grid;
    gap: .5rem;
    margin-bottom: 1.1rem;
}

.gan-ficha__pie {
    margin: 1rem 0 0;
    padding-top: .8rem;
    border-top: 1px solid var(--suba-borde);
    font-size: .82rem;
    color: var(--suba-tinta-tenue);
}

/* --- Ficha: compartir ----------------------------------------------------- */

.gan-compartir { margin-top: .4rem; }

.gan-compartir__rotulo {
    margin: 0 0 .45rem;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--suba-tinta-tenue);
}

.gan-compartir__lista {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gan-compartir__enlace {
    display: inline-block;
    padding: .35rem .75rem;
    border: 1px solid var(--suba-borde);
    border-radius: 999px;
    background: var(--suba-blanco);
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
    color: var(--suba-verde-oscuro);
}

.gan-compartir__enlace:hover,
.gan-compartir__enlace:focus-visible {
    background: var(--suba-verde-oscuro);
    border-color: var(--suba-verde-oscuro);
    color: var(--suba-blanco);
}

/* --- Ficha: descripcion y datos ------------------------------------------- */

.gan-detalle__reja {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
}

.gan-detalle__parrafo {
    margin: 0 0 .9rem;
    max-width: 40rem;
    overflow-wrap: anywhere;
    white-space: pre-line;
}

.gan-detalle__video { margin: 1rem 0 0; font-weight: 600; }

.gan-datos {
    display: grid;
    grid-template-columns: minmax(8rem, auto) 1fr;
    gap: .5rem .9rem;
    margin: 0 0 1.75rem;
    padding: 1rem 1.1rem;
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-radius: var(--gan-radio);
    font-size: .94rem;
}

.gan-datos dt { font-weight: 700; color: var(--suba-tinta-tenue); }
.gan-datos dd { margin: 0; overflow-wrap: anywhere; }

/* --- Formulario de contacto ----------------------------------------------- */

.gan-formulario { max-width: 46rem; }

.gan-formulario__reja {
    display: grid;
    grid-template-columns: 1fr;
    gap: .9rem;
}

.gan-formulario__acciones {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem 1rem;
    margin-top: 1.1rem;
}

.gan-formulario__nota {
    margin: 0;
    font-size: .84rem;
    color: var(--suba-tinta-tenue);
}

/* --- Consultas de medios --------------------------------------------------- */

@media (min-width: 48rem) {
    .gan-seccion { padding-block: 2.75rem; }
    .gan-cabecera { padding-block: 3.25rem; }

    .gan-filtros__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gan-rejilla          { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gan-formulario__reja { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .gan-ficha__acciones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gan-galeria__tiras  { grid-template-columns: repeat(6, 1fr); }
}

@media (min-width: 64rem) {
    .gan-filtros__rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gan-rejilla          { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .gan-ficha__reja {
        grid-template-columns: minmax(0, 1.55fr) minmax(20rem, 1fr);
        align-items: start;
    }

    .gan-detalle__reja { grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 1fr); }

    /* El panel acompana al visitante mientras recorre la ficha. */
    .gan-ficha__resumen {
        position: sticky;
        inset-block-start: 1.25rem;
    }
}

@media (min-width: 80rem) {
    .gan-filtros__rejilla { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .gan-rejilla          { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* --- Preferencias del visitante ------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .gan-tarjeta,
    .gan-tarjeta__imagen,
    .gan-boton { transition: none; }

    .gan-tarjeta:hover { transform: none; }
    .gan-tarjeta:hover .gan-tarjeta__imagen { transform: none; }
}

@media print {
    .gan-filtros,
    .gan-paginacion,
    .gan-compartir,
    .gan-formulario,
    .gan-galeria__paso,
    .gan-galeria__tiras { display: none; }

    .gan-ficha__reja,
    .gan-detalle__reja { grid-template-columns: 1fr; }
}
