/* ==========================================================================
   SUBACABUR — paginas institucionales, contacto y buscador global.

   La cargan, por su seccion 'cabeza':
     web/paginas/nosotros.php · web/paginas/detalle.php
     web/contacto/index.php
     web/busqueda/index.php

   Se sirve DESPUES de subacabur.css, asi que hereda sus variables de paleta
   (--suba-verde-oscuro, --suba-dorado, ...) y sus utilidades (.suba-contenedor).
   Aqui no se redefine ni un color del brief: se usan los que ya estan.

   Dos prefijos, uno por familia:
     .pag-*  paginas institucionales y contacto
     .bus-*  buscador global

   MOVIL PRIMERO: el ancho base es de una columna. Cada @media anade columnas,
   nunca las quita.

   Sin @import y sin ninguna URL externa: la CSP real solo admite 'self'.
   ========================================================================== */

:root {
    --pag-rojo: #B23B2E;
    --pag-rojo-tenue: rgba(178, 59, 46, .10);
    /* #1F8B4C daba 4,32 con texto blanco y el minimo AA es 4,5: se oscurece
       un paso a #1B8047, que da 4,97 y sigue leyendose como el verde de
       WhatsApp. El hover baja a la par para no perder el salto visible. */
    --pag-whatsapp: #1B8047;
    --pag-verde-tenue: rgba(15, 58, 107, .10);
    --pag-dorado-tenue: rgba(200, 164, 77, .16);
}

/* --- Migas de pan --------------------------------------------------------- */

.pag-migas {
    background: var(--suba-blanco);
    border-bottom: 1px solid var(--suba-borde);
    padding-block: .7rem;
    font-size: .88rem;
}

.pag-migas__lista {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3rem .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--suba-tinta-tenue);
}

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

.pag-migas__elemento a { text-decoration: none; font-weight: 600; }
.pag-migas__elemento a:hover,
.pag-migas__elemento a:focus-visible { text-decoration: underline; }

/* --- Cabecera de pagina --------------------------------------------------- */

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

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

.pag-cabecera__titulo {
    margin: 0 0 .7rem;
    font-size: clamp(1.9rem, 5.5vw, 2.9rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: .01em;
    overflow-wrap: anywhere;
}

.pag-cabecera__bajada {
    margin: 0;
    max-width: 48rem;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, .92);
}

.pag-cabecera__marca {
    margin: 0;
    font-size: .88rem;
    color: rgba(255, 255, 255, .78);
}

/* --- Imagen de cabecera de una pagina de la base -------------------------- */

.pag-portada { margin-top: -1.75rem; margin-bottom: 0; }

.pag-portada__imagen {
    display: block;
    width: 100%;
    height: auto;
    max-height: 26rem;
    object-fit: cover;
    border-radius: var(--suba-radio);
    box-shadow: var(--suba-sombra);
    background: var(--suba-blanco);
}

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

.pag-seccion { padding-block: 2.75rem; }

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

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

.pag-seccion__intro {
    margin: 0 0 1.6rem;
    max-width: 46rem;
    color: var(--suba-tinta-tenue);
}

/* --- Prosa: HTML del editor y parrafos institucionales -------------------- */

.pag-prosa {
    max-width: 46rem;
    font-size: 1.03rem;
    line-height: 1.75;
}

.pag-prosa > :first-child { margin-top: 0; }
.pag-prosa > :last-child { margin-bottom: 0; }

.pag-prosa p { margin: 0 0 1.1rem; }

.pag-prosa h2,
.pag-prosa h3,
.pag-prosa h4 {
    margin: 2rem 0 .6rem;
    color: var(--suba-verde-oscuro);
    font-weight: 700;
    line-height: 1.25;
}

.pag-prosa h2 { font-size: 1.4rem; }
.pag-prosa h3 { font-size: 1.18rem; }
.pag-prosa h4 { font-size: 1.05rem; }

.pag-prosa ul,
.pag-prosa ol { margin: 0 0 1.1rem; padding-left: 1.35rem; }
.pag-prosa li { margin-bottom: .4rem; }

.pag-prosa blockquote {
    margin: 1.5rem 0;
    padding: .9rem 1.2rem;
    border-left: 4px solid var(--suba-dorado);
    background: var(--suba-blanco);
    border-radius: 0 var(--suba-radio) var(--suba-radio) 0;
    color: var(--suba-tinta-tenue);
}

.pag-prosa a { font-weight: 600; }

/* Una imagen del editor nunca desborda ni empuja el ancho de la pagina. */
.pag-prosa img {
    max-width: 100%;
    height: auto;
    border-radius: var(--suba-radio);
}

/* Una tabla ancha se desplaza dentro de su propio hueco, no en el <body>. */
.pag-prosa table {
    display: block;
    width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    margin: 0 0 1.2rem;
    font-size: .95rem;
}

.pag-prosa th,
.pag-prosa td {
    border: 1px solid var(--suba-borde);
    padding: .5rem .7rem;
    text-align: left;
}

.pag-prosa th { background: var(--suba-gris-claro); font-weight: 700; }

.pag-prosa hr {
    border: 0;
    border-top: 1px solid var(--suba-borde);
    margin: 2rem 0;
}

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

.pag-rejilla {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: 1fr;
}

.pag-tarjeta {
    display: flex;
    flex-direction: column;
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-top: 4px solid var(--suba-verde-medio);
    border-radius: var(--suba-radio);
    box-shadow: var(--suba-sombra);
    padding: 1.2rem;
}

.pag-seccion--tenue .pag-tarjeta { background: var(--suba-gris-claro); }

.pag-tarjeta__titulo {
    margin: 0 0 .5rem;
    font-size: 1.08rem;
    font-weight: 700;
    color: var(--suba-verde-oscuro);
}

.pag-tarjeta__texto {
    margin: 0 0 1rem;
    color: var(--suba-tinta-tenue);
    font-size: .96rem;
}

.pag-tarjeta__pie { margin: auto 0 0; }

.pag-enlace {
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid var(--pag-dorado-tenue);
}

.pag-enlace:hover,
.pag-enlace:focus-visible { border-bottom-color: var(--suba-dorado); }

/* --- Pasos numerados ------------------------------------------------------ */

.pag-pasos {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: 1fr;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.pag-paso {
    position: relative;
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-radius: var(--suba-radio);
    box-shadow: var(--suba-sombra);
    padding: 1.4rem 1.2rem 1.2rem;
}

.pag-paso__numero {
    display: inline-block;
    margin-bottom: .55rem;
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: .06em;
    /* Sobre tarjeta BLANCA: el dorado de marca da 2,37 y el de texto 4,86. */
    color: var(--suba-dorado-texto);
    font-variant-numeric: tabular-nums;
}

.pag-paso__titulo {
    margin: 0 0 .45rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--suba-verde-oscuro);
}

.pag-paso__texto { margin: 0; color: var(--suba-tinta-tenue); font-size: .96rem; }

/* --- Compromisos ---------------------------------------------------------- */

.pag-compromisos {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: 1fr;
    margin: 0;
}

.pag-compromiso {
    border-left: 4px solid var(--suba-verde-medio);
    padding: .1rem 0 .1rem 1rem;
}

.pag-compromiso__titulo {
    margin: 0 0 .3rem;
    font-weight: 700;
    color: var(--suba-verde-oscuro);
}

.pag-compromiso__texto { margin: 0; color: var(--suba-tinta-tenue); font-size: .96rem; }

/* --- Estado vacio --------------------------------------------------------- */

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

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

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

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

.pag-acciones,
.pag-redes {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 1.2rem 0 0;
    padding: 0;
    list-style: none;
}

.pag-boton,
.bus-boton {
    display: inline-block;
    padding: .62rem 1.15rem;
    border: 1px solid transparent;
    border-radius: var(--suba-radio);
    font-weight: 700;
    font-size: .96rem;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    line-height: 1.3;
}

.pag-boton--principal,
.bus-boton--principal {
    background: var(--suba-dorado);
    border-color: var(--suba-dorado);
    color: var(--suba-verde-oscuro);
}

.pag-boton--principal:hover,
.pag-boton--principal:focus-visible,
.bus-boton--principal:hover,
.bus-boton--principal:focus-visible {
    background: #B8942F;
    border-color: #B8942F;
    color: var(--suba-verde-oscuro);
}

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

.pag-boton--tenue:hover,
.pag-boton--tenue:focus-visible,
.bus-boton--tenue:hover,
.bus-boton--tenue:focus-visible {
    background: var(--suba-verde-oscuro);
    border-color: var(--suba-verde-oscuro);
    color: var(--suba-blanco);
}

.pag-boton--whatsapp {
    background: var(--pag-whatsapp);
    border-color: var(--pag-whatsapp);
    color: var(--suba-blanco);
    width: 100%;
}

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

/* --- Cierre --------------------------------------------------------------- */

.pag-cierre { padding-block: 2.75rem 3.25rem; }

.pag-cierre__caja {
    background: var(--suba-verde-oscuro);
    color: var(--suba-blanco);
    border-radius: var(--suba-radio);
    border-top: 4px solid var(--suba-dorado);
    padding: 2rem 1.5rem;
}

.pag-cierre__titulo {
    margin: 0 0 .6rem;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--suba-blanco);
}

.pag-cierre__texto {
    margin: 0;
    max-width: 46rem;
    color: rgba(255, 255, 255, .90);
}

.pag-cierre .pag-boton--tenue {
    background: transparent;
    border-color: rgba(255, 255, 255, .55);
    color: var(--suba-blanco);
}

.pag-cierre .pag-boton--tenue:hover,
.pag-cierre .pag-boton--tenue:focus-visible {
    background: var(--suba-blanco);
    border-color: var(--suba-blanco);
    color: var(--suba-verde-oscuro);
}

/* --- Dos columnas de la pagina de contacto -------------------------------- */

.pag-columnas {
    display: grid;
    gap: 1.75rem;
    grid-template-columns: 1fr;
    align-items: start;
}

.pag-columna { min-width: 0; }

/* --- Formulario ----------------------------------------------------------- */

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

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

.pag-campo { display: flex; flex-direction: column; min-width: 0; }

.pag-campo__rotulo {
    margin-bottom: .35rem;
    font-weight: 600;
    font-size: .92rem;
    color: var(--suba-verde-oscuro);
}

.pag-campo__rotulo span { color: var(--pag-rojo); }

.pag-campo__control {
    width: 100%;
    padding: .62rem .8rem;
    border: 1px solid var(--suba-borde);
    border-radius: var(--suba-radio);
    background: var(--suba-blanco);
    color: var(--suba-tinta);
    font-family: inherit;
    /* 1rem evita el zoom automatico de Safari en iOS al enfocar el campo. */
    font-size: 1rem;
    line-height: 1.45;
}

.pag-campo__control:focus-visible { border-color: var(--suba-verde-medio); }

.pag-campo__control--area { resize: vertical; min-height: 9rem; }

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

.pag-campo__error {
    margin: .35rem 0 0;
    font-size: .86rem;
    font-weight: 600;
    color: var(--pag-rojo);
}

.pag-formulario__acciones {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    margin-top: 1.3rem;
}

.pag-formulario__nota {
    margin: 0;
    flex: 1 1 14rem;
    font-size: .85rem;
    color: var(--suba-tinta-tenue);
}

/* Senuelo antispam: fuera de pantalla, NUNCA display:none ni [hidden]. */
.pag-senuelo {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* --- Panel lateral de datos de contacto ----------------------------------- */

.pag-panel {
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-top: 4px solid var(--suba-dorado);
    border-radius: var(--suba-radio);
    box-shadow: var(--suba-sombra);
    padding: 1.3rem 1.2rem;
}

.pag-panel + .pag-panel { margin-top: 1.25rem; }

.pag-panel__titulo {
    margin: 0 0 1rem;
    font-size: 1.02rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--suba-verde-oscuro);
}

.pag-panel__accion { margin: 1.2rem 0 0; }

.pag-datos { margin: 0; display: grid; gap: .9rem; }

.pag-dato { min-width: 0; }

.pag-dato__rotulo {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--suba-tinta-tenue);
}

.pag-dato__valor {
    margin: .15rem 0 0;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.pag-redes { margin: 0; }

.pag-redes__enlace {
    display: inline-block;
    padding: .42rem .85rem;
    border: 1px solid var(--suba-borde);
    border-radius: 999px;
    background: var(--suba-gris-claro);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
}

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

/* ==========================================================================
   Buscador global
   ========================================================================== */

.pag-cabecera--buscador { padding-bottom: 2.25rem; }

.bus-formulario { margin-top: 1.5rem; max-width: 46rem; }

.bus-formulario__rotulo {
    display: block;
    margin-bottom: .4rem;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--suba-dorado);
}

.bus-formulario__fila {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.bus-formulario__campo {
    flex: 1 1 14rem;
    min-width: 0;
    padding: .7rem .9rem;
    border: 1px solid transparent;
    border-radius: var(--suba-radio);
    background: var(--suba-blanco);
    color: var(--suba-tinta);
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.45;
}

.bus-formulario__campo::placeholder { color: var(--suba-tinta-tenue); }

.bus-boton { flex: 0 0 auto; }

/* --- Avisos y recuento ---------------------------------------------------- */

.bus-aviso {
    margin: 0 0 1.5rem;
    padding: .85rem 1.05rem;
    border-radius: var(--suba-radio);
    border-left: 5px solid var(--suba-dorado);
    background: var(--suba-blanco);
    box-shadow: var(--suba-sombra);
    font-weight: 600;
}

.bus-total {
    margin: 0 0 1.75rem;
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--suba-verde-oscuro);
    overflow-wrap: anywhere;
}

/* --- Grupo de resultados -------------------------------------------------- */

.bus-grupo { margin-bottom: 2.5rem; }
.bus-grupo:last-of-type { margin-bottom: 0; }

.bus-grupo__cabecera {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: .2rem .9rem;
    padding-bottom: .55rem;
    margin-bottom: 1.1rem;
    border-bottom: 2px solid var(--suba-borde);
}

.bus-grupo__titulo {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--suba-verde-oscuro);
}

.bus-grupo__recuento {
    margin: 0;
    font-size: .9rem;
    font-weight: 600;
    color: var(--suba-tinta-tenue);
}

.bus-grupo--ganado .bus-grupo__cabecera { border-bottom-color: var(--suba-verde-medio); }
.bus-grupo--fincas .bus-grupo__cabecera { border-bottom-color: var(--suba-dorado); }
.bus-grupo--maquinaria .bus-grupo__cabecera { border-bottom-color: var(--suba-verde-oscuro); }
.bus-grupo--noticias .bus-grupo__cabecera { border-bottom-color: var(--suba-tinta-tenue); }

.bus-grupo.es-vacio { margin-bottom: 1.6rem; }
.bus-grupo.es-vacio .bus-grupo__cabecera { margin-bottom: .6rem; }

.bus-grupo__nada {
    margin: 0;
    font-size: .94rem;
    color: var(--suba-tinta-tenue);
}

.bus-grupo__enlace { font-weight: 700; text-decoration: none; }
.bus-grupo__enlace:hover,
.bus-grupo__enlace:focus-visible { text-decoration: underline; }

.bus-grupo__mas { margin: 1.2rem 0 0; }

/* --- Tarjeta de resultado ------------------------------------------------- */

.bus-rejilla {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: 1fr;
}

.bus-tarjeta {
    background: var(--suba-blanco);
    border: 1px solid var(--suba-borde);
    border-radius: var(--suba-radio);
    box-shadow: var(--suba-sombra);
    overflow: hidden;
}

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

.bus-tarjeta__enlace:hover,
.bus-tarjeta__enlace:focus-visible { color: inherit; }

.bus-tarjeta__enlace:hover .bus-tarjeta__titulo,
.bus-tarjeta__enlace:focus-visible .bus-tarjeta__titulo { text-decoration: underline; }

.bus-tarjeta__medio {
    position: relative;
    background: var(--suba-gris-claro);
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.bus-tarjeta__imagen {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bus-tarjeta__hueco {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: linear-gradient(150deg, var(--suba-verde-oscuro), var(--suba-verde-medio));
    color: rgba(255, 255, 255, .32);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .22em;
}

.bus-tarjeta__insignia {
    position: absolute;
    top: .6rem;
    left: .6rem;
    padding: .22rem .6rem;
    border-radius: 999px;
    background: var(--suba-verde-oscuro);
    color: var(--suba-dorado);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .05em;
}

.bus-tarjeta__cuerpo {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: .95rem 1rem 1.05rem;
}

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

.bus-tarjeta__resumen {
    margin: 0 0 .55rem;
    font-size: .9rem;
    color: var(--suba-tinta-tenue);
}

.bus-tarjeta__detalles {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem .5rem;
    margin: 0 0 .7rem;
    padding: 0;
    list-style: none;
    font-size: .84rem;
    color: var(--suba-tinta-tenue);
}

.bus-tarjeta__detalles li {
    padding: .16rem .55rem;
    border-radius: 999px;
    background: var(--pag-verde-tenue);
    color: var(--suba-verde-oscuro);
    font-weight: 600;
}

.bus-tarjeta__precio {
    margin: auto 0 0;
    padding-top: .3rem;
    font-size: 1.02rem;
    font-weight: 800;
    color: var(--suba-verde-oscuro);
}

/* --- Sugerencias ---------------------------------------------------------- */

.bus-sugerencias { margin-bottom: 2rem; }

.bus-sugerencias__titulo {
    margin: 0 0 .8rem;
    font-size: 1.02rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--suba-verde-oscuro);
}

.bus-sugerencias__lista {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bus-sugerencias__nota {
    margin: .9rem 0 0;
    font-size: .86rem;
    color: var(--suba-tinta-tenue);
    max-width: 42rem;
}

.bus-etiqueta {
    display: inline-block;
    padding: .4rem .85rem;
    border: 1px solid var(--suba-borde);
    border-radius: 999px;
    background: var(--suba-blanco);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
}

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

.bus-secciones { margin-top: 1.5rem; }

/* ==========================================================================
   De movil hacia arriba
   ========================================================================== */

@media (min-width: 40rem) {
    .pag-cabecera { padding-block: 3.25rem; }

    .pag-rejilla,
    .pag-pasos,
    .pag-compromisos,
    .bus-rejilla { grid-template-columns: repeat(2, 1fr); }

    .pag-formulario { padding: 1.7rem 1.6rem; }

    .pag-formulario__reja { grid-template-columns: repeat(2, 1fr); }
    .pag-campo--ancho { grid-column: 1 / -1; }

    .pag-cierre__caja { padding: 2.3rem 2rem; }
}

@media (min-width: 60rem) {
    .pag-seccion { padding-block: 3.25rem; }

    .pag-rejilla,
    .bus-rejilla { grid-template-columns: repeat(4, 1fr); }

    .pag-pasos { grid-template-columns: repeat(3, 1fr); }

    /* El formulario manda; los datos de contacto acompanan. */
    .pag-columnas { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 2.25rem; }
    .pag-columnas--sola { grid-template-columns: minmax(0, 1fr); }

    .pag-boton--whatsapp { width: auto; }
}

/* --- Impresion ------------------------------------------------------------ */

@media print {
    .pag-cabecera,
    .pag-cierre__caja {
        background: none;
        color: #000;
        border: 1px solid #000;
    }

    .pag-cabecera__antetitulo,
    .pag-cabecera__titulo,
    .pag-cabecera__bajada,
    .pag-cierre__titulo,
    .pag-cierre__texto { color: #000; }

    .bus-formulario,
    .pag-formulario__acciones,
    .pag-acciones,
    .bus-sugerencias { display: none; }
}
