/* Responsive compartido para categorías. Inicialmente aplicado a Aire acondicionado. */
@media (max-width: 1000px) {
    html,
    body.pagina-categoria {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .pagina-categoria .banner,
    .pagina-categoria .banner img {
        width: 100%;
        height: clamp(150px, 45vw, 280px);
    }

    .pagina-categoria .banner img {
        object-fit: cover;
    }

    .pagina-categoria .menu-superior {
        box-sizing: border-box;
        width: 100%;
        flex-direction: column;
        gap: 10px;
        padding: 11px 16px 13px;
    }

    .pagina-categoria .links-menu {
        width: 100%;
        display: flex;
        justify-content: center;
        gap: clamp(14px, 5vw, 30px);
    }

    .pagina-categoria .links-menu a {
        margin: 0;
        font-size: 13px;
        white-space: nowrap;
    }

    .pagina-categoria .buscador {
        position: relative;
        width: min(100%, 560px);
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px;
    }

    .pagina-categoria .buscador input {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
    }

    .pagina-categoria .buscador button {
        padding: 0 15px;
    }

    .pagina-categoria .categoria-superior {
        box-sizing: border-box;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 18px 0 26px;
        padding: 0 clamp(14px, 4vw, 28px);
    }

    .pagina-categoria .categoria-superior .aviso-superior,
    .pagina-categoria .categoria-superior a {
        min-width: 0;
        display: block;
    }

    .pagina-categoria .categoria-superior img {
        width: 100%;
        height: auto;
    }

    .pagina-categoria .categoria-contenedor {
        box-sizing: border-box;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 38px;
        padding: 0 clamp(14px, 4vw, 28px);
    }

    .pagina-categoria .categoria-centro {
        order: 1;
        width: 100%;
        min-width: 0;
    }

    .pagina-categoria .categoria-centro h1 {
        margin: 0 0 22px;
        font-size: clamp(28px, 5vw, 36px);
    }

    .pagina-categoria .grilla-categoria {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .pagina-categoria .grilla-categoria .aviso,
    .pagina-categoria .grilla-categoria .aviso-doble-categoria {
        width: 100% !important;
        min-width: 0;
        box-sizing: border-box;
        padding: 9px;
    }

    .pagina-categoria .grilla-categoria .aviso-doble-categoria {
        grid-column: 1 / -1 !important;
    }

    .pagina-categoria .listado-comercios {
        width: 100%;
        box-sizing: border-box;
        transform: none !important;
    }

    .pagina-categoria .comercio-texto {
        box-sizing: border-box;
        width: 100%;
        grid-template-columns: 150px minmax(0, 1fr) 180px;
        gap: 10px;
    }

    .pagina-categoria .telefonos-comercio {
        width: 100%;
    }

    .pagina-categoria .telefonos-comercio div {
        grid-template-columns: 22px minmax(0, 1fr);
    }

    .pagina-categoria .categoria-centro div[style*="width:785px"] {
        display: none !important;
    }

    .pagina-categoria .avisos-izquierda {
        order: 2;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .pagina-categoria .avisos-izquierda a,
    .pagina-categoria .avisos-izquierda img {
        min-width: 0;
        width: 100%;
        height: auto;
        margin: 0;
        display: block;
    }

    .pagina-categoria .avisos-izquierda img[alt="EspacioDisponible"] {
        aspect-ratio: 640 / 371;
        object-fit: cover;
    }

    .pagina-categoria .banners-derecha {
        order: 3;
        width: 100%;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: start;
        gap: 12px;
    }

    .pagina-categoria .banners-derecha a,
    .pagina-categoria .banners-derecha img {
        min-width: 0;
        width: 100%;
        height: auto !important;
        margin: 0;
        display: block;
    }

    .pagina-categoria .avisos-inferiores {
        box-sizing: border-box;
        width: 100%;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin: 36px 0 25px;
        padding: 0 clamp(14px, 4vw, 28px);
    }

    .pagina-categoria .paginacion {
        margin: 30px 0;
    }

    .pagina-categoria .contacto {
        width: 100%;
        grid-template-columns: 1fr;
    }

    .pagina-categoria .contacto .contacto-info,
    .pagina-categoria .contacto .contacto-formulario {
        box-sizing: border-box;
        width: 100%;
        padding: 26px clamp(20px, 5vw, 36px);
    }

    .pagina-categoria .contacto .contacto-formulario form {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .pagina-categoria .menu-superior {
        padding-right: 12px;
        padding-left: 12px;
    }

    .pagina-categoria .links-menu {
        gap: 12px;
    }

    .pagina-categoria .links-menu a {
        font-size: 11px;
    }

    .pagina-categoria .buscador button {
        padding: 0 12px;
        font-size: 13px;
    }

    .pagina-categoria .categoria-superior {
        gap: 6px;
        margin-top: 14px;
        margin-bottom: 22px;
    }

    .pagina-categoria .grilla-categoria {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .pagina-categoria .grilla-categoria .aviso-doble-categoria {
        grid-column: 1 !important;
    }

    .pagina-categoria .comercio-texto {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 13px 4px;
    }

    .pagina-categoria .direccion-comercio {
        justify-content: flex-start;
        text-align: left;
    }

    .pagina-categoria .telefonos-comercio {
        justify-self: start;
        margin-top: 6px;
    }

    .pagina-categoria .avisos-izquierda {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .pagina-categoria .banners-derecha {
        display: none;
    }

    .pagina-categoria .avisos-inferiores {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 30px;
    }

    .pagina-categoria .contacto .contacto-formulario form {
        grid-template-columns: 1fr;
    }

    .pagina-categoria .contacto .contacto-formulario input,
    .pagina-categoria .contacto .contacto-formulario textarea,
    .pagina-categoria .contacto .contacto-formulario button {
        grid-column: 1;
        width: 100%;
        box-sizing: border-box;
    }

    .pagina-categoria .contacto .contacto-formulario button {
        justify-self: stretch;
    }

    .pagina-categoria .copyright {
        box-sizing: border-box;
        padding: 13px 16px;
        font-size: 12px;
        line-height: 1.4;
    }
}
