/*
Theme Name: Tema Muni Laguna Blanca - Applicatta
Theme URI: https://example.com/my-custom-theme
Author: Applicatta
Author URI: https://example.com
Description: A brief description of my custom theme.
Version: 1.0
License: GNU General Public License v2 or later
License URI: www.gnu.org
Tags: custom-theme, responsive
Text Domain: temaprueba1
*/




/* Ubuntu Fonts Local */
@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 300;
    src: url('assets/fonts/ubuntu-v21-latin-300.woff2') format('woff2');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/ubuntu-v21-latin-regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/ubuntu-v21-latin-700.woff2') format('woff2');
}

:root {
    --color-fondo-verde: #eff0e0;
    --color-rojo: #E02E38;
    --color-amarillo: #f5c812;
    --color-amarillo-footer:#fadd69;
    --color-gris-oscuro: #475963;
    --color-burdeo: #8E4D51;
    --color-verde-oscuro: #5B5A2F;
    --color-verde: #636f22;
    --color-celeste: #187BB4;
    --color-azul: #016A8C;
    --font-primary: 'Ubuntu', sans-serif;
    --bg-crema: #F9F8F4;
    /* Beige/Cream background */
}

html {
    font-size: 16px;
    /* Base size for REM calculations */
}

body {font-family: var(--font-primary); color: var(--color-gris-oscuro); background-color: #fff; line-height: 1.6;}

.lb-topbar .lb-utility-icon {font-size: 22px !important; margin-right: 3px;}

.lb-link {font-size:1rem !important;}

.lb-header-inner {padding-top: 1.6rem !important; padding-bottom: 1.6rem !important;}

.lb-feature-wrap {--hero-h: 450px !important;}
.lb-feature-row {height: 450px !important;}

.lb-chip {padding: 0.22rem .7rem !important; font-size: 1.1rem !important; gap: 0.25rem !important; margin: 0.5rem 0.3rem !important;}

.lb-panel {padding: 2rem !important; background-image: url('assets/img/backchips.png') !important; background-repeat:no-repeat !important; background-position: 90% 140% !important;}

.content .lb-tramites-wrap {margin-top: 70px !important;}

.nc-section {margin-top: 100px !important; padding: 2.4rem 0 7rem !important;}

.lb-tramites-head {margin-bottom: 2.5rem !important;}
.lb-tramites-head .ico {border-color: color-mix(in srgb, var(--color-burdeo) 100%, transparent) !important; width: 76px !important; height: 76px !important; border: 2px solid rgb(122, 59, 59) !important;}

.lb-tramite-card .lb-tramite-icon {width: 65px !important; height: 65px !important; border-radius: 100% !important; border: 2px solid rgb(255, 255, 255) !important;}
.lb-tramite-icon svg {width: 35px !important; height: 35px !important;}
.lb-tramite-icon svg path {width: 100%; height: auto;}

.lb-tramites-wrap {position: initial !important; left: initial !important; right: initial !important; margin-left: initial !important; margin-right: initial !important;}

.lb-tramites-wrap .btn.btn-danger {font-weight: 400 !important; font-size: 1.1rem !important; padding: 0.45rem 1.2rem !important;}

.nc-head {position: relative; top: -75px;   margin-bottom: 0rem !important;}
.nc-media {height: 230px !important;}
.nc-body {padding: 1.5rem !important; height: auto !important;}
.nc-title {font-size: 1.2rem;}
.nc-excerpt {font-size: 1rem !important;}
.nc-more {margin-top: 2.5rem !important;}
.nc-more a {font-weight: 400 !important; font-size: 1.1rem !important;}

.em-hero {padding-top: 30px !important; height: clamp(260px, 32vw, 470px) !important;}
.em-hero img {margin-top: 100px !important; display: none;}
.em-head {position: relative; top: -50px;}
.em-content {background-image: url('assets/img/backmunicipio.png'); min-height: 440px !important;}
.em-section {min-height: 440px !important;}
.em-badge {width: 70px !important; height: 70px !important; background: rgb(0, 0, 0) !important;}
.em-badge .fa-solid {font-size: 35px !important;}

.nc-head .ring {width: 76px !important; height: 76px !important; border: 2px solid color-mix(in srgb, var(--color-azul) 100%, transparent) !important; background: rgb(255, 255, 255) !important;}
.ring .fa-regular.fa-newspaper {font-size: 40px;}

.em-head .ring {width: 76px !important; height: 76px !important;}
.ring .fa-solid.fa-landmark {font-size: 40px;}

.uc2-section {padding: 8rem 0 10rem !important;}
.uc2-dot {width: 54px !important; height: 54px !important;}
.uc2-dot .fa-solid.fa-location-dot {font-size: 26px;}
.uc2-dot .fa-solid.fa-phone {font-size: 26px;}
.uc2-dot .fa-solid.fa-envelope {font-size: 26px;}
.uc2-card {background: inherit !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; overflow: hidden; padding: 30px !important;}
.uc2-grid {background: #f7f6ef; border: 1px solid rgba(0,0,0,.15); border-radius: 10px; box-shadow: 2px 2px 4px rgba(0,0,0,.20); overflow: hidden; padding: 8rem 1.8rem 1.8rem;}
.uc2-item {margin-bottom: 20px;}
.uc2-item .uc2-item-title {font-weight: 600 !important; font-size: 1.6rem !important;}
.uc2-item p {font-size: 1.1rem !important;}
.uc2-head {margin-bottom: 0 !important; position: relative; top: 70px;}
.uc2-map {border: 0 !important; height: 375px !important;}
.uc2-ring {width: 76px !important; height: 76px !important; border: 2px solid rgb(91, 90, 47) !important; background: rgb(255, 255, 255) !important;}
.uc2-head .fa-solid.fa-location-dot {font-size: 40px !important;}

.lb-footer {padding: 2.5rem 1.5rem 10rem !important;}
.lb-footer .footer-title {font-size: 1.2rem !important; color: #FACB01 !important;}
.lb-footer .footer-link {font-size: 1rem !important; line-height: 1.8 !important; display: list-item !important; margin-left: 14px !important;}
.lb-footer .footer-link::marker {color: #FACB01 !important;}

/* BLOG NOTICIAS */

.post-type-archive-noticia .nc-section {margin-top: 0 !important;}
.post-type-archive-noticia #noticias {top: 0px !important; margin-bottom: 60px !important;}
.post-type-archive-noticia .nc-section .row .col-12.col-md-6.col-lg-4 {margin-bottom: 30px;}


/* NOTICIAS */

.noticia-template-default header .pb-3 span.badge {font-size: 1.1rem !important; padding-right: 2rem !important; padding-left: 2rem !important;}
.noticia-template-default .card-img-top {border-bottom: 4px solid var(--color-azul);}

.noticia-template-default .related-news .card {box-shadow: 0 8px 14px rgba(0,0,0,.12) !important;}
.noticia-template-default .related-news .card .badge {font-size: 0.75rem;}
.noticia-template-default .related-news .card small {font-size: 0.75rem;}

/* SECCIONES */
	
	a.text-muted {color: var(--color-azul) !important;}

/* WPForms Modern Styling - Accessible REM Units */
div.wpforms-container {
    background: #ffffff;
    padding: 2.5rem;
    /* 40px */
    border-radius: 0.75rem;
    /* 12px */
    box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.05);
    /* 0 4px 20px */
    max-width: 50rem;
    /* 800px */
    margin: 2.5rem auto;
    /* 40px */
    border-top: 0.3125rem solid var(--color-azul);
    /* 5px */
    position: relative;
    /* Context for high contrast z-index */
}

div.wpforms-container .wpforms-title {
    font-size: 1.5rem;
    /* 24px */
    font-weight: 700;
    color: var(--color-azul);
    margin-bottom: 1.25rem;
    /* 20px */
    text-align: center;
}

div.wpforms-container .wpforms-field-label {
    font-weight: 700;
    color: var(--color-gris-oscuro);
    font-size: 0.875rem;
    /* 14px */
    margin-bottom: 0.5rem;
    /* 8px */
    display: block;
}

div.wpforms-container input[type=text],
div.wpforms-container input[type=email],
div.wpforms-container input[type=number],
div.wpforms-container textarea,
div.wpforms-container select {
    width: 100%;
    padding: 0.75rem 0.9375rem;
    /* 12px 15px */
    border: 1px solid #e1e4e8;
    border-radius: 0.5rem;
    /* 8px */
    font-family: var(--font-primary);
    font-size: 0.9375rem;
    /* 15px */
    color: #333;
    transition: all 0.2s ease;
    background-color: #fafbfc;
}

div.wpforms-container input:focus,
div.wpforms-container textarea:focus,
div.wpforms-container select:focus {
    border-color: var(--color-celeste);
    box-shadow: 0 0 0 0.1875rem rgba(48, 161, 227, 0.1);
    /* 3px */
    outline: none;
    background-color: #fff;
}

div.wpforms-container button.wpforms-submit {
    background-color: var(--color-verde-oscuro);
    color: white;
    border: none;
    padding: 0.875rem 1.875rem;
    /* 14px 30px */
    font-size: 1rem;
    /* 16px */
    font-weight: 700;
    border-radius: 3.125rem;
    /* 50px */
    cursor: pointer;
    transition: background-color 0.2s;
    width: auto;
    min-width: 9.375rem;
    /* 150px */
}

div.wpforms-container button.wpforms-submit:hover {
    background-color: var(--color-azul);
    color: white;
    /* Ensure text remains readable on hover */
}

/* Page Title Styling to match */
.site-main .entry-header .entry-title {
    text-align: center;
    color: var(--color-azul);
    font-weight: 700;
    margin-bottom: 2.5rem;
    /* 40px */
    font-size: 2.5rem;
}

/* =========================================
   CONTACTO PAGE STYLES
   ========================================= */

/* Wrapper Principal */
#page-contacto {
    background-color: var(--bg-crema);
    /* Usando tu variable existente */
    min-height: 80vh;
    /* Asegura que ocupe buen alto */
    display: flex;
    align-items: center;
}

/* Iconos de la izquierda (Antes Rojo, ahora Azul para más confianza) */
#page-contacto .contact-icon-marker,
#page-contacto .contact-icon-phone,
#page-contacto .contact-icon-mail {
    font-size: 1.5rem;
    color: var(--color-azul);
    /* CAMBIO: Azul */
    width: 30px;
    display: inline-block;
    text-align: center;
}

/* Contenedor del Formulario (Tarjeta Blanca) */
#page-contacto .contact-form-wrapper {
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    /* Sombra suave */
    border-top: 5px solid var(--color-azul);
    /* Detalle azul arriba */
}

/* =========================================
   WPFORMS OVERRIDES (Solo en página contacto)
   ========================================= */

/* Sobrescribir el estilo genérico de WPForms */
#page-contacto .wpforms-container {
    background: transparent !important;
    /* Quitamos el fondo del container base, usamos el wrapper */
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Títulos de campos */
#page-contacto .wpforms-field-label {
    color: var(--color-gris-oscuro);
    font-weight: 700;
}

/* Inputs más limpios */
#page-contacto input,
#page-contacto textarea {
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
}

#page-contacto input:focus,
#page-contacto textarea:focus {
    border-color: var(--color-azul);
    /* Focus Azul */
    box-shadow: 0 0 0 3px rgba(1, 106, 140, 0.1);
}

/* BOTÓN ENVIAR - AZUL (Más institucional y seguro) */
#page-contacto button.wpforms-submit {
    background-color: var(--color-azul) !important;
    border-radius: 4px !important;
    /* Más cuadrado como en la foto 1 */
    width: 100%;
    margin-top: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: bold;
}

#page-contacto button.wpforms-submit:hover {
    background-color: #014f69 !important;
    /* Un azul un poco más oscuro */
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(1, 106, 140, 0.3);
}

/* =========================================
   OIRS PAGE STYLES
   ========================================= */

#page-oirs {
    background-color: var(--bg-crema);
    padding: 1rem 0;
    /* Padding vertical mínimo */
    display: block;
    /* Quitamos flex center vertical para que fluya natural */
}

#page-oirs .text-azul {
    color: var(--color-azul) !important;
    /* Ahora sí es Azul */
}

/* Divisor decorativo */
#page-oirs .divider-custom {
    width: 60px;
    height: 4px;
    background-color: var(--color-celeste);
    /* Celeste para dar variedad suave */
    border-radius: 2px;
}

/* Reducir espacio en el encabezado visible */
#page-oirs .mb-5 {
    margin-bottom: 1.5rem !important;
    /* Reducción drástica del margen inferior del título */
}

#page-oirs h1.display-5 {
    margin-bottom: 0.5rem !important;
    font-size: 2.5rem;
    /* Título un poco más compacto */
}

/* Tarjeta OIRS - Ajuste de ancho */
#page-oirs .oirs-form-card {
    border-top: 6px solid var(--color-azul);
    /* Azul Institucional */
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
    /* Forzar ancho completo dentro de su columna bootstrap */
    width: 100%;
    padding: 2rem !important;
    /* Reducir padding interno de la tarjeta */
}

/* Override de WPForms específico para OIRS */
#page-oirs .wpforms-container {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    /* Asegura que use todo el ancho disponible */
}

/* Ajuste de inputs para que se vean bien anchos */
#page-oirs .wpforms-field {
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 10px !important;
    /* Menos espacio entre preguntas */
}

#page-oirs .wpforms-field-label {
    color: var(--color-gris-oscuro);
    font-weight: 700;
    margin-bottom: 2px !important;
    /* Pegar más la etiqueta al campo */
    font-size: 0.9rem;
    /* Etiqueta un poco más pequeña */
}

/* Inputs en OIRS */
#page-oirs input,
#page-oirs textarea,
#page-oirs select {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    padding: 6px 12px;
    /* Reducción de padding vertical (de 12px a 6px) */
    border-radius: 6px;
    width: 100% !important;
    /* Forzar ancho total en inputs */
    max-width: 100% !important;
    font-size: 0.9rem;
    /* Fuente un poco más pequeña */
    height: auto !important;
    /* Permitir que la altura se ajuste al padding reducido */
    margin-bottom: 0 !important;
    /* Posible reset si WPForms agrega margen extra */
}

#page-oirs input:focus,
#page-oirs textarea:focus,
#page-oirs select:focus {
    border-color: var(--color-azul) !important;
    /* Focus Azul */
    box-shadow: 0 0 0 3px rgba(1, 106, 140, 0.1);
    /* Sombra azul suave */
}

/* Botón OIRS AZUL */
#page-oirs button.wpforms-submit {
    background-color: var(--color-azul) !important;
    width: 100%;
    padding: 14px;
    border-radius: 4px;
    /* Cuadrado como en Contacto */
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 20px;
    color: white !important;
}

#page-oirs button.wpforms-submit:hover {
    background-color: #014f69 !important;
    color: white;
    transform: translateY(-2px);
}

/* =========================================
   SINGLE NOTICIA STYLES
   ========================================= */

#single-noticia-wrapper .badge {
    background-color: #C21C2F !important;
    /* Rojo oscuro corporativo para la etiqueta */
    font-weight: 700;
    letter-spacing: 0.5px;
}

#single-noticia-wrapper .entry-title {
    color: #333;
}

#single-noticia-wrapper .lead {
    color: var(--color-azul) !important;
    /* El azul para la bajada como en la foto */
    font-size: 1.25rem;
}

/* Ajustes de tipografía para lectura cómoda */
#single-noticia-wrapper .entry-content p {
    margin-bottom: 1.5rem;
    color: #4a4a4a;
    /* Gris oscuro para texto de cuerpo */
}

/* Limitar altura de la imagen destacada */
#single-noticia-wrapper img.img-fluid.w-100.rounded {
    max-height: 500px;
    /* Altura máxima razonable */
    object-fit: cover;
    /* Recortar la imagen si sobra, manteniendo proporción */
    object-position: center;
    /* Centrar el foco del recorte */
    width: 100%;
}

/* =========================================
   PÁGINA INTERIOR ESTÁNDAR (HERO REDESIGN)
   ========================================= */

#page-interior-wrapper {
    background-color: var(--bg-crema);
    min-height: 100vh;
}

/* --- HERO SECTION --- */
.page-interior-hero {
    position: relative;
    /* Altura considerable para dar presencia */
    height: 380px;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* Ajustar margen inferior negativo para que la tarjeta suba */
    margin-bottom: -80px;
    padding-bottom: 80px;
    /* Espacio extra para el overlap */
    /* Flexbox para centrar contenido verticalmente */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Fondo por defecto (Azul degradado Institucional) */
.page-interior-hero.default-blue-bg {
    background: linear-gradient(135deg, var(--color-azul) 0%, #003d52 100%);
}

/* Overlay para oscurecer imagen de fondo si existe */
.page-interior-hero .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    /* Oscuro semitransparente por defecto */
    z-index: 1;
}

.page-interior-hero.default-blue-bg .hero-overlay {
    background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMSIgY3k9IjEiIHI9IjEiIGZpbGw9InJnYmEoMjU1LDI1NSwyNTUsMC4wNSkiLz48L3N2Zz4=');
    /* Pattern de puntos muy sutil */
    opacity: 0.3;
}

/* Contenido dentro del Hero */
.page-interior-hero .container {
    z-index: 2;
    /* Encima del overlay */
    position: relative;
}

/* Título */
.page-interior-hero .page-title {
    color: white;
    /* Siempre blanco en el hero */
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    letter-spacing: -1px;
    font-weight: 800;
    /* Extra bold */
}

.page-interior-hero .hero-decorative-line {
    width: 80px;
    height: 4px;
    background-color: var(--color-amarillo);
    /* Toque de color institucional */
    margin: 1.5rem auto 0;
    border-radius: 2px;
}

/* --- CONTENT CARD --- */
#page-interior-wrapper .page-content-card {
    position: relative;
    /* Sombra más pronunciada para dar efecto de elevación */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08) !important;
    border-top: none;
    /* Quitamos el borde azul anterior */
    z-index: 10;
}

#page-interior-wrapper .entry-content {
    font-size: 1.25rem !important;
    color: var(--color-gris-oscuro);
    line-height: 1.8;
}

/* Tipografía Content */
#page-interior-wrapper .entry-content h2,
#page-interior-wrapper .entry-content h3,
#page-interior-wrapper .entry-content h4 {
    color: var(--color-azul);
    font-weight: 700;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

/* Si quieres diferenciar sutilmente el h3 o h4, podemos usar tamaño o opacidad, 
   pero mantenemos el color azul para coherencia */
#page-interior-wrapper .entry-content h3 {
    font-size: 1.5rem;
    /* color: var(--color-azul); <-- Ya heredado */
}

#page-interior-wrapper .entry-content p {
    margin-bottom: 1.5rem;
}

/* Listas */
#page-interior-wrapper .entry-content ul,
#page-interior-wrapper .entry-content ol {
    margin-bottom: 2rem;
    padding-left: 2rem;
}

#page-interior-wrapper .entry-content li {
    margin-bottom: 0.5rem;
}

/* Enlaces dentro del texto */
#page-interior-wrapper .entry-content a {
    color: var(--color-celeste);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}

#page-interior-wrapper .entry-content a:hover {
    color: var(--color-azul);
    border-bottom-color: var(--color-azul);
}


/* --- IMÁGENES Y GALERÍAS --- */

/* Imágenes generales dentro del texto */
#page-interior-wrapper .entry-content img {
    border-radius: 10px;
    /* Bordes redondeados modernos */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    /* Sombra suave para levantar */
    height: auto;
    max-width: 100%;
    margin-bottom: 1rem;
}

/* Bloques de Galería de WordPress */
#page-interior-wrapper .entry-content .wp-block-gallery {
    gap: 1.5rem;
    /* Espacio entre fotos */
    margin-bottom: 2.5rem;
}

#page-interior-wrapper .entry-content .wp-block-gallery img {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
    /* Indicar interactividad */
}

/* Efecto Hover en galerías */
#page-interior-wrapper .entry-content .wp-block-gallery img:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
    z-index: 2;
}

/* Alineaciones estándar de WordPress */
#page-interior-wrapper .entry-content .alignleft {
    float: left;
    margin-right: 2rem;
    margin-bottom: 1rem;
    margin-top: 0.5rem;
}

#page-interior-wrapper .entry-content .alignright {
    float: right;
    margin-left: 2rem;
    margin-bottom: 1rem;
    margin-top: 0.5rem;
}

#page-interior-wrapper .entry-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
}

/* Pies de foto (Captions) */
#page-interior-wrapper .entry-content figcaption {
    font-size: 0.9rem;
    color: #888;
    text-align: center;
    margin-top: 0.5rem;
    font-style: italic;
}

/* Animaciones */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 40px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.fade-in-up {
    animation-name: fadeInUp;
    animation-duration: 0.8s;
    animation-fill-mode: both;
}

.fade-in-up.delay-1 {
    animation-delay: 0.2s;
}

.fade-in-up.delay-2 {
    animation-delay: 0.4s;
}
/* --- COMPONENTE DE PESTAÑAS (TABS) --- */
.custom-tabs-container {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.custom-tabs-nav {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 1rem;
}

.custom-tab-btn {
    background-color: #f5f5f5;
    /* Gris muy suave */
    border: none;
    color: var(--color-gris-oscuro);
    padding: 1rem 2.5rem;
    border-radius: 50px;
    /* Estilo Pastilla */
    font-weight: 700;
    font-family: 'Ubuntu', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    font-size: 0.95rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    letter-spacing: 0.5px;
}

.custom-tab-btn:hover {
    background-color: #e0e0e0;
    transform: translateY(-2px);
    color: var(--color-azul);
}

.custom-tab-btn.active {
    background-color: var(--color-azul);
    color: white;
    box-shadow: 0 10px 20px rgba(1, 106, 140, 0.3);
    /* Sombra azulada elegante */
    transform: translateY(-2px);
}

/* Contenido de la pestaña */
.custom-tab-content {
    display: none;
    /* Oculto por defecto */
    animation: fadeIn 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    /* Animación suave */
    background: transparent;
    /* Fondo transparente */
    padding: 2rem 0;
    /* Padding vertical solo */
    border: none;
    /* SIN BORDE */
}

/* Ajustes Ficha Concejal (Media & Text) */
#page-interior-wrapper .custom-tab-content .wp-block-media-text {
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-bottom: 1px solid #ddd !important;
    /* Separación sutil inferior */
    padding-bottom: 2rem !important;
    margin-bottom: 2rem !important;
}

#page-interior-wrapper .custom-tab-content .wp-block-media-text:last-child {
    border-bottom: none !important;
    /* Quitar borde al último */
}


/* Estilos para la Lista de Sesiones */
.session-link-row {
    display: block;
    background-color: #fcfcfc;
    border-bottom: 1px solid #eee;
    padding: 1rem 1.5rem;
    text-decoration: none !important;
    transition: all 0.2s ease;
    color: var(--color-gris-oscuro);
    border-left: 4px solid transparent;
    margin-bottom: 0.5rem;
    border-radius: 4px;
}

.session-link-row:hover {
    background-color: #f0f7fa;
    border-left-color: var(--color-azul);
    color: var(--color-azul);
    padding-left: 2rem;
    /* Animación de desplazamiento suave */
}

.session-link-date {
    font-weight: 700;
    color: var(--color-burdeo);
    display: block;
    font-size: 0.85rem;
    text-transform: uppercase;
    margin-bottom: 0.2rem;
}

.session-link-title {
    font-size: 1.1rem;
    font-weight: 400;
}

.custom-tab-content.active {
    display: block;
    /* Visible si tiene clase active */
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =========================================
   WPFORMS GLOBAL FIXES (Contacto & Otros)
   ========================================= */
/* Forzar que los campos ocupen todo el ancho disponible */
div.wpforms-container-full .wpforms-form .wpforms-field-large,
div.wpforms-container-full .wpforms-form .wpforms-field-medium,
div.wpforms-container-full .wpforms-form .wpforms-field-small,
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="url"],
div.wpforms-container-full .wpforms-form input[type="password"],
div.wpforms-container-full .wpforms-form input[type="search"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
    max-width: 100% !important;
    width: 100% !important;
}

@media (max-width: 640px){
	.lb-social {margin-bottom: 10px;}
	.lb-topbar .lb-utility {padding: 2px 0 !important; width: 48%; margin: 0 auto;}
	.lb-search-wrap {width: 100%;}
	.lb-search-btn {margin: 0 auto; padding: 20px !important; border: 1px solid #fff !important;}
	
	.breadcrumb-item {font-size: 12px;}
	
	#carouselBanners .carousel-indicators button {min-width: 15px !important; min-height: 15px !important;}
	.carousel-indicators [data-bs-target] {width: 15px !important;}
		
	.lb-feature-row {height: auto !important;}	
	.lb-feature-wrap {--hero-h: 140px !important;}
	
	.lb-chip {padding: 0.22rem .7rem !important; font-size: 0.8rem !important; gap: 0.1rem !important; margin: 0.5rem 0.1rem !important; float: left;}
	.lb-chip-icon {flex: 0 0 15px !important;}
	.lb-chips .lb-chip-icon svg {width: auto !important; height: 15px !important;}
	
	.lb-tramites-slider .swiper-button-next {right: 5px !important;}
	.lb-tramites-slider .swiper-button-prev {left: 0px !important;}
	
	.em-hero {padding-top: 10px !important; top: -30px !important; min-height: 460px !important;}
	.em-head {top: -30px !important;}
	.em-links {top: -50px !important; position: relative;}
	.em-link span {text-align: center !important; line-height: 1.1rem;}
	
	.uc2-section {padding: 0rem 0 7rem !important;}
	.uc2-grid {margin-top: -90px; padding: 11rem 1.8rem 1.8rem !important;}
	.uc2-item {display: block !important; text-align: center !important;}
	.uc2-dot {margin: 0 auto !important;}
	.uc2-item .uc2-item-title {font-size: 1.4rem !important;}
	.uc2-item p {font-size: 0.9rem !important;}
	.uc2-map {height: 200px !important; margin-top: 0 !important;}
	
	.lb-footer .brand-wrap {padding-left: 0 !important;}
	
	/* NOTICIAS */

	.noticia-template-default .entry-title {font-size: 1.8rem !important;}
	
}

/* Para la accesibilidad */
@media (min-width: 1200px) {
    .h2, h2 {font-size: 2rem;}
    .display-4 {font-size: 3.5rem;}
    .h4, h4 {font-size: 1.5rem;}
    .display-6 {font-size: 2.5rem;}
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {font-size: 1rem;}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {font-size: 1.05rem !important;}
.lb-panel-title {font-size: 1.25rem;}
.uc2-title {font-size: 1.6rem;}
.lb-tramite-title {font-size: 1.05rem;}
.lb-tramites-head p {font-size: .95rem;}
.lb-tramite-desc {font-size: .85rem;}
.nc-head p {font-size: .92rem;}
.nc-date {font-size: .78rem;}
.em-head .subtitle {font-size: .95rem;}
.uc2-subtitle {font-size: .95rem;}
.em-link span {font-size: 1.05rem;}
.lb-footer .brand-desc {font-size: .92rem;}
#panelAccesibilidad button {font-size: 0.875rem; letter-spacing: initial !important; height: 80px !important;}
#panelAccesibilidad .icon-acc {font-size: 30px; margin-bottom: 5px;}
#panelAccesibilidad .restablecer {max-height: 40px !important;}
#btnAccesibilidad {background-color: #333 !important; border: 0; padding: 0;}
#btnAccesibilidad .fa.fa-universal-access {color: var(--color-amarillo); font-size: 50px;}
body {font-size: 1rem;}
div.wpforms-container-full .wpforms-field-sublabel, .wp-core-ui div.wpforms-container-full .wpforms-field-sublabel {font-size: 14px;}
div.wpforms-container-full .wpforms-field-description {font-size: 14px;}
h6 {font-size: 1rem;}
h1.entry-title.display-5 {font-size: 2.5rem;}
.lead.text-secondary {font-size: 1.35rem;}
article .entry-content.fs-5 p {font-size: 1.25rem;}
