/* Restauración visual SENAMHI: reglas acotadas para no romper Leaflet ni Bootstrap. */
:root {
    --senamhi-azul: #80a9e9;
    --senamhi-azul-oscuro: #102d5c;
    --senamhi-verde: #414b3f;
    --senamhi-texto: #26323b;
}

html,
body {
    font-family: 'Montserrat', Arial, sans-serif;
    color: var(--senamhi-texto);
    background: #fff;
}

body img {
    max-width: 100%;
    height: auto;
}

.fondo-descripcion {
    background: #eef1f4;
}

.boton {
    color: #1f2937;
    background: #fff;
    border: 0;
}

.texto-default {
    color: inherit;
}

.linea-cabecera {
    height: 1px;
    background: #d7d7d7;
}

#gobbo-info-toggle {
    color: #22313f;
    font-size: .98rem;
}

#gobbo-info-toggle:hover {
    color: #102d5c;
}

#gobbo-info-panel {
    background: #eef1f4;
    border-top: 1px solid #d7dce2;
    border-bottom: 1px solid #d7dce2;
}

#theme-toggle {
    color: #607287;
    border: 1px solid #d5dee8;
    border-radius: .5rem;
    min-width: 34px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

#theme-toggle:hover {
    color: #334155;
    background: #f8fafc;
}

/* Compactar área de buscador del header para reducir espacios en blanco */
.header-buscar-compacto {
    padding-top: .25rem !important;
    padding-bottom: .25rem !important;
}

.header-buscar-compacto .row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.header-buscar-compacto form {
    margin-bottom: 0 !important;
}

.header-buscar-compacto .d-flex {
    gap: .35rem !important;
}

.header-buscar-compacto .form-control.form-control-sm {
    min-height: 32px;
    padding-top: .2rem;
    padding-bottom: .2rem;
}

.header-buscar-compacto .btn.btn-sm {
    padding-top: .2rem;
    padding-bottom: .2rem;
}

.fondo-nivel-0 {
    background: #b8bcc2;
}

#main-menu {
    border-bottom: 8px solid transparent;
    border-image: linear-gradient(to right, #7a0b0b 0 33.33%, #e5b300 33.33% 66.66%, #0f5b2f 66.66% 100%) 1;
}

#main-menu .navbar {
    padding: 0;
}

#main-menu .navbar-nav .nav-link {
    color: #24313c;
    font-weight: 600;
    padding: .75rem 1rem;
    border-bottom: 3px solid transparent;
}

#main-menu .navbar-nav .nav-link:hover,
#main-menu .navbar-nav .nav-link.activo {
    background: rgba(255, 255, 255, .24);
    border-bottom-color: #5f6771;
}

.fondo-menu,
.dropdown-menu {
    border: 0;
    border-radius: 0;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .12);
}

.dropdown-item {
    font-size: .93rem;
    padding: .55rem 1rem;
}

.dropdown-item:hover {
    background: #eef4ff;
    color: #102d5c;
}

#banner-slider {
    position: relative;
    width: 100%;
    height: 255px;
    overflow: hidden;
    background: #fff;
}

#banner-slider .banner-img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    opacity: 0;
    transition: opacity .7s ease;
}

#banner-slider .banner-img.active {
    opacity: 1;
    z-index: 2;
}

#divider {
    display: flex;
    align-items: center;
    gap: .8rem;
    width: 100%;
}

#divider hr {
    flex: 1;
    border: 0;
    border-top: 1px solid #4b5563;
    opacity: 1;
}

#divider h4 {
    font-weight: 800;
    margin: 0;
    color: #2f3a42;
}

.titulo-fondo {
    background: #f5f7f9;
    border-radius: 12px;
    padding: 1rem;
}

.titulo-pagina {
    font-size: 1.8rem;
    font-weight: 800;
}

.abs-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pron-fondo {
    min-height: 430px;
    background: #f7f8fa;
    border-radius: 12px;
    overflow: hidden;
}

.pronostico-estacion {
    font-weight: 500;
}

.my-6 {
    margin-top: 2rem;
    margin-bottom: 2rem;
}

#mapa_pronostico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 400px;
    overflow: hidden;
}

#mapa_pronostico img,
#mapa_pronostico svg,
#mapa_pronostico canvas {
    max-width: 100% !important;
    max-height: 520px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

#contenedor-franjas img {
    max-width: 110px !important;
    max-height: 110px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

#contenedor-franjas img[src*='term'],
#contenedor-franjas img[src*='Term'] {
    max-height: 260px !important;
    max-width: 160px !important;
}

.pronostico-card img,
.card-pronostico img,
.weather-icon,
img.icono-pronostico {
    max-width: 96px !important;
    max-height: 96px !important;
    width: auto !important;
    height: auto !important;
}

.leaflet-container img,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
    max-width: none !important;
}

.card-img-top {
    object-fit: cover;
}

.carousel-sistemas-item .card-img-top {
    height: 180px;
    width: 100%;
    object-fit: contain;
}

.sticky-container {
    position: fixed;
    right: 0;
    top: 45%;
    z-index: 1000;
}

.sticky {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sticky li {
    background: #fff;
    padding: 6px;
    border: 1px solid #ddd;
}

.sticky img {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain;
}

.footer-titulo {
    font-weight: 800;
}

#pie-pagina {
    position: relative;
}

#pie-pagina img {
    max-width: 100%;
    height: auto;
}

/* ===== Dark mode global (body + divs internos + header completo) ===== */
html[data-theme='dark'],
html[data-theme='dark'] body {
    background: #121417;
    color: #e5e7eb;
}

html[data-theme='dark'] main,
html[data-theme='dark'] section,
html[data-theme='dark'] article,
html[data-theme='dark'] aside,
html[data-theme='dark'] .container,
html[data-theme='dark'] .container-fluid,
html[data-theme='dark'] .row,
html[data-theme='dark'] .col,
html[data-theme='dark'] [class*='col-'] {
    color: #e5e7eb;
}

html[data-theme='dark'] #head,
html[data-theme='dark'] #cabecera,
html[data-theme='dark'] #marca-gobbo,
html[data-theme='dark'] .fondo-descripcion {
    background: #1a1f24;
}

html[data-theme='dark'] .texto-default {
    color: #e5e7eb;
}

html[data-theme='dark'] .linea-cabecera {
    background: #3a3f44;
}

html[data-theme='dark'] .fondo-nivel-0 {
    background: #2a2f36;
}

html[data-theme='dark'] #main-menu .navbar-nav .nav-link {
    color: #e5e7eb;
}

html[data-theme='dark'] #main-menu .navbar-nav .nav-link:hover,
html[data-theme='dark'] #main-menu .navbar-nav .nav-link.activo {
    background: rgba(255, 255, 255, .08);
    border-bottom-color: #9aa4b2;
}

html[data-theme='dark'] .titulo-fondo {
    background: #1f252c;
}

html[data-theme='dark'] .titulo-pagina {
    color: #f1f5f9;
}

html[data-theme='dark'] .dropdown-menu {
    background: #1f252c;
    color: #e5e7eb;
    border: 1px solid #303844;
}

html[data-theme='dark'] .dropdown-item {
    color: #e5e7eb;
}

html[data-theme='dark'] .dropdown-item:hover {
    background: #2d3748;
    color: #fff;
}

html[data-theme='dark'] #head input.form-control {
    background: #232a32;
    border-color: #4b5563;
    color: #e5e7eb;
}

html[data-theme='dark'] #head input.form-control::placeholder {
    color: #9ca3af;
}

html[data-theme='dark'] #head .boton {
    background: #2f3944;
    color: #f3f4f6;
}

html[data-theme='dark'] #banner-slider {
    background: #0f1720 !important;
    border-radius: 6px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05);
}

html[data-theme='dark'] #banner-slider .banner-img {
    filter: brightness(.86) contrast(1.04) saturate(.9);
    transition: opacity .7s ease, filter .25s ease;
}

html[data-theme='dark'] #theme-toggle {
    color: #facc15;
}

/* ===== Pronóstico regiones: recuperar estructura visual tipo anexo ===== */
.pronostico-regiones-page .titulo-fondo {
    background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
    border: 1px solid #d8e8ff;
}

.pronostico-regiones-page .bd-example {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #d9e5f4;
    border-radius: 16px;
    padding: 1rem;
    backdrop-filter: blur(4px);
}

.pronostico-regiones-page #pills-tab {
    background: #f3f8ff;
    border: 1px solid #d6e6ff;
    border-radius: 14px;
    padding: .45rem;
    gap: .35rem;
}

.pronostico-regiones-page #pills-tab .nav-link {
    border-radius: 10px;
    color: #1e3a5f;
    font-weight: 700;
    border: 0;
    padding: .5rem .85rem;
}

.pronostico-regiones-page #pills-tab .nav-link.active {
    background: linear-gradient(135deg, #1f6feb 0%, #4192ff 100%);
    color: #fff;
    box-shadow: 0 4px 10px rgba(31, 111, 235, .35);
}

.pronostico-regiones-page #tabs {
    margin-bottom: .95rem;
}

.pronostico-regiones-page .tab-e {
    display: block;
    padding: .65rem .9rem;
    border-radius: 14px 14px 0 0;
    font-weight: 800;
    color: #1f2937;
    text-decoration: none;
    letter-spacing: .01em;
}

.pronostico-regiones-page #pnl_1 {
    border-radius: 0 14px 14px 14px;
    padding: .8rem;
    box-shadow: 0 6px 18px rgba(8, 30, 56, .10);
    border: 1px solid rgba(255, 255, 255, .55);
}

.pronostico-regiones-page #pnl_1 > div {
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(151, 175, 201, .45);
    border-radius: 14px;
    padding: .8rem;
}

.pronostico-regiones-page #pnl_1 img {
    max-width: 48px !important;
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: inline-block;
    vertical-align: middle;
}

.pronostico-regiones-page #pnl_1 table {
    width: 100% !important;
}

.pronostico-regiones-page #pnl_1 td,
.pronostico-regiones-page #pnl_1 th {
    vertical-align: middle;
    padding: .22rem .35rem;
    font-weight: 600;
    color: #132235;
}

.pronostico-regiones-page #pnl_1 br {
    line-height: 1.42;
}

.pronostico-regiones-page #pnl_1 [src=''],
.pronostico-regiones-page #pnl_1 img:not([src]) {
    display: none !important;
}

.pronostico-regiones-page hr {
    margin: .9rem 0;
    border-top-color: rgba(109, 136, 168, .25);
}

.pronostico-regiones-page .meteo-map-img {
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .10));
}

html[data-theme='dark'] .pronostico-regiones-page .titulo-fondo {
    background: linear-gradient(135deg, #1f2a35 0%, #253544 100%);
    border-color: #344554;
}

html[data-theme='dark'] .pronostico-regiones-page .bd-example {
    background: rgba(25, 34, 44, 0.9);
    border-color: #34485e;
}

html[data-theme='dark'] .pronostico-regiones-page #pills-tab {
    background: #202d3a;
    border-color: #33506e;
}

html[data-theme='dark'] .pronostico-regiones-page #pills-tab .nav-link {
    color: #cfe6ff;
}

html[data-theme='dark'] .pronostico-regiones-page #pills-tab .nav-link.active {
    background: linear-gradient(135deg, #3274d7 0%, #4c97ff 100%);
    color: #fff;
}

html[data-theme='dark'] .pronostico-regiones-page #pnl_1 > div {
    background: rgba(22, 30, 40, .92);
    border-color: #3d5168;
}

html[data-theme='dark'] .pronostico-regiones-page #pnl_1 td,
html[data-theme='dark'] .pronostico-regiones-page #pnl_1 th,
html[data-theme='dark'] .pronostico-regiones-page .tab-e {
    color: #e5effc;
}

/* ===== Pronóstico principal (Inicio) - diseño moderno y responsivo ===== */
.pronostico-main-moderno .form-label {
    font-weight: 700;
    color: #16314f;
}

.pronostico-main-moderno .form-select {
    border-radius: 12px;
    border-color: #c9d9ee;
    min-height: 44px;
}

.pronostico-main-moderno #pills-tab {
    background: #f3f8ff;
    border: 1px solid #d6e6ff;
    border-radius: 14px;
    padding: .5rem;
    gap: .45rem;
}

.pronostico-main-moderno #pills-tab .nav-link {
    border-radius: 10px;
    color: #1e3a5f;
    font-weight: 800;
    border: 0;
    padding: .55rem .9rem;
}

.pronostico-main-moderno #pills-tab .nav-link.active {
    background: linear-gradient(135deg, #1f6feb 0%, #4192ff 100%);
    color: #fff;
    box-shadow: 0 5px 12px rgba(31, 111, 235, .35);
}

.pronostico-main-moderno .pron-fondo {
    background: linear-gradient(180deg, #fbfdff 0%, #f5f9ff 100%);
    border: 1px solid #d9e6f7;
    border-radius: 16px;
    padding: .65rem;
    min-height: 420px;
}

.pronostico-main-moderno #mapa_pronostico {
    width: 100%;
}

.pronostico-main-moderno .pronostico-estacion {
    font-size: 1.02rem;
    font-weight: 800;
    color: #0f2e4f;
    background: #f8fbff;
    border: 1px solid #d8e6f5;
    border-radius: 14px;
    padding: .55rem .8rem;
}

.pronostico-main-moderno #contenedor-franjas > .row,
.pronostico-main-moderno #contenedor-franjas > div {
    border-radius: 14px;
    border: 1px solid rgba(121, 151, 185, .26);
    box-shadow: 0 3px 8px rgba(9, 30, 66, .05);
    margin-bottom: .55rem;
    padding: .42rem .65rem;
    font-size: .92rem;
    line-height: 1.1;
}

.pronostico-main-moderno #contenedor-franjas .pron-card-hoy__body {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    gap: .7rem !important;
    align-items: center !important;
}

.pronostico-main-moderno #contenedor-franjas .pron-card-hoy__icono {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: .2rem !important;
}

.pronostico-main-moderno #contenedor-franjas .pron-card-hoy__info {
    min-width: 0 !important;
}

.pronostico-main-moderno #contenedor-franjas .pron-card-hoy__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
    gap: .28rem .9rem !important;
    align-items: center !important;
}

.pronostico-main-moderno #contenedor-franjas .pron-chip {
    display: flex !important;
    align-items: center !important;
    gap: .35rem !important;
    min-width: 0 !important;
}

.pronostico-main-moderno #contenedor-franjas h5,
.pronostico-main-moderno #contenedor-franjas h6,
.pronostico-main-moderno #contenedor-franjas .titulo-franja,
.pronostico-main-moderno #contenedor-franjas .periodo,
.pronostico-main-moderno #contenedor-franjas .pron-card-hoy__titulo {
    margin: 0 !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    color: #001f4d !important;
    letter-spacing: .1px;
}

.pronostico-main-moderno #contenedor-franjas p,
.pronostico-main-moderno #contenedor-franjas span,
.pronostico-main-moderno #contenedor-franjas small {
    margin-bottom: 0 !important;
    font-size: .9rem !important;
}

.pronostico-main-moderno #contenedor-franjas > .row:nth-child(1),
.pronostico-main-moderno #contenedor-franjas > div:nth-child(1) {
    background: linear-gradient(135deg, #fff5da 0%, #fffaf0 100%);
    border-left: 5px solid #f4b400;
}

.pronostico-main-moderno #contenedor-franjas > .row:nth-child(2),
.pronostico-main-moderno #contenedor-franjas > div:nth-child(2) {
    background: linear-gradient(135deg, #dff4ff 0%, #eefbff 100%);
    border-left: 5px solid #22a9e8;
}

.pronostico-main-moderno #contenedor-franjas > .row:nth-child(3),
.pronostico-main-moderno #contenedor-franjas > div:nth-child(3) {
    background: linear-gradient(135deg, #e7ecff 0%, #f1f4ff 100%);
    border-left: 5px solid #5a73d8;
}

.pronostico-main-moderno #contenedor-franjas img {
    max-width: 40px !important;
    max-height: 40px !important;
    object-fit: contain !important;
}

.pronostico-main-moderno #contenedor-franjas .icon-tiempo,
.pronostico-main-moderno #contenedor-franjas .icon-clima {
    width: 44px !important;
    height: 44px !important;
}

.pronostico-main-moderno #contenedor-franjas .valor {
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    color: #001f4d !important;
}

.pronostico-main-moderno #cards-diario > .col,
.pronostico-main-moderno #cards-extendido1 > .col {
    margin-bottom: .65rem;
}

.pronostico-main-moderno #cards-diario .pd-card {
    border-radius: 14px;
    border: 1px solid #d8e4f3;
    box-shadow: 0 4px 14px rgba(8, 30, 56, .08);
    background: #fff;
    padding: .65rem .75rem;
    margin-bottom: .65rem;
}

.pronostico-main-moderno #cards-diario .pd-day-name {
    font-weight: 800;
    color: #12365c;
    font-size: 1rem;
}

.pronostico-main-moderno #cards-diario .pd-day-num {
    font-weight: 700;
    color: #335b84;
    font-size: .95rem;
}

.pronostico-main-moderno #cards-diario .pd-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    gap: .45rem .7rem;
}

.pronostico-main-moderno #cards-diario .pd-box {
    border: 1px solid #e6eef9;
    border-radius: 10px;
    padding: .45rem .55rem;
    background: #f8fbff;
}

.pronostico-main-moderno #cards-diario .pd-icon img {
    width: 22px !important;
    height: 22px !important;
    object-fit: contain;
}

.pronostico-main-moderno #cards-diario .pd-value {
    font-weight: 800;
    color: #0e2f53;
    font-size: .92rem;
    line-height: 1.15;
}

.pronostico-main-moderno #cards-diario .pd-label {
    color: #4a6480;
    font-size: .78rem;
}

.pronostico-main-moderno #cards-extendido1 .pronostico-dia-container {
    border: 1px solid #d8e4f3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(8, 30, 56, .08);
    padding: .65rem .75rem;
    margin-bottom: .7rem;
}

.pronostico-main-moderno #cards-extendido1 .pronostico-dia-titulo {
    font-size: 1rem;
    font-weight: 800;
    color: #12365c;
    margin-bottom: .55rem;
}

.pronostico-main-moderno #cards-extendido1 .pronostico-horas-scroll {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: .5rem;
}

.pronostico-main-moderno #cards-extendido1 .pronostico-hora-columna {
    border: 1px solid #e6eef9;
    border-radius: 10px;
    padding: .42rem .5rem;
    background: #f8fbff;
    min-height: 126px;
}

.pronostico-main-moderno #cards-extendido1 .pronostico-hora-columna.tarde {
    background: #eef9ff;
}

.pronostico-main-moderno #cards-extendido1 .pronostico-hora-columna.noche {
    background: #f1f4ff;
}

.pronostico-main-moderno #cards-extendido1 .hora-titulo {
    font-weight: 800;
    color: #12365c;
    font-size: .85rem;
    margin-bottom: .2rem;
}

.pronostico-main-moderno #cards-extendido1 .hora-icono img {
    width: 26px !important;
    height: 26px !important;
    object-fit: contain;
}

.pronostico-main-moderno #cards-extendido1 .hora-dato,
.pronostico-main-moderno #cards-extendido1 .hora-temperatura {
    font-size: .83rem;
    line-height: 1.1;
    color: #173a60;
    font-weight: 700;
}

.pronostico-main-moderno #cards-diario img,
.pronostico-main-moderno #cards-extendido1 img {
    max-width: 50px !important;
    max-height: 50px !important;
    object-fit: contain !important;
}

html[data-theme='dark'] .pronostico-main-moderno .form-label {
    color: #dbeafe;
}

html[data-theme='dark'] .pronostico-main-moderno .form-select {
    background: #1f2933;
    color: #e5e7eb;
    border-color: #415569;
}

html[data-theme='dark'] .pronostico-main-moderno #pills-tab {
    background: #202d3a;
    border-color: #33506e;
}

html[data-theme='dark'] .pronostico-main-moderno #pills-tab .nav-link {
    color: #cfe6ff;
}

html[data-theme='dark'] .pronostico-main-moderno #pills-tab .nav-link.active {
    background: linear-gradient(135deg, #3274d7 0%, #4c97ff 100%);
    color: #fff;
}

html[data-theme='dark'] .pronostico-main-moderno .pron-fondo {
    background: linear-gradient(180deg, #202a35 0%, #1a222c 100%);
    border-color: #3a4d61;
}

html[data-theme='dark'] .pronostico-main-moderno .pronostico-estacion {
    color: #dbeafe;
    background: #263341;
    border-color: #3f5468;
}

html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > .row,
html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > div {
    border-color: #455a70;
    color: #e2e8f0;
}

html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > .row:nth-child(1),
html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > div:nth-child(1) {
    background: linear-gradient(135deg, rgba(88, 70, 31, .85), rgba(58, 47, 23, .9));
    border-left-color: #f4b400;
}

html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > .row:nth-child(2),
html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > div:nth-child(2) {
    background: linear-gradient(135deg, rgba(20, 58, 82, .88), rgba(19, 45, 63, .9));
    border-left-color: #22a9e8;
}

html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > .row:nth-child(3),
html[data-theme='dark'] .pronostico-main-moderno #contenedor-franjas > div:nth-child(3) {
    background: linear-gradient(135deg, rgba(42, 49, 88, .9), rgba(31, 37, 70, .92));
    border-left-color: #5a73d8;
}

html[data-theme='dark'] .pronostico-main-moderno #cards-diario .card,
html[data-theme='dark'] .pronostico-main-moderno #cards-extendido1 .card {
    background: #1f2933;
    border-color: #3e5368;
    color: #e5e7eb;
}

@media (max-width: 991.98px) {
    .pronostico-main-moderno #pills-tab {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: .5rem;
    }

    .pronostico-main-moderno #pills-tab .nav-item {
        flex: 0 0 auto;
    }

    .pronostico-main-moderno #pills-tab .nav-link {
        white-space: nowrap;
    }

    .pronostico-main-moderno .pronostico-estacion {
        font-size: .95rem;
    }
}

@media (max-width: 575.98px) {
    .pronostico-main-moderno .pronostico-estacion {
        font-size: .88rem;
    }

    .pronostico-main-moderno #contenedor-franjas > .row,
    .pronostico-main-moderno #contenedor-franjas > div {
        padding: .6rem;
    }
}

/* ===== Fix responsive acotado para módulos meteorología/hidrología ===== */
main .table-responsive {
    overflow-x: auto;
}

main [class*="map"],
main [class*="gis"],
main [id*="map"],
main [id*="gis"] {
    max-width: 100%;
}

main .meteo-map-img {
    width: 100%;
    max-width: 520px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

main .sinop-img {
    width: 100%;
    max-width: 1100px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 0 auto;
}

@media (max-width: 991.98px) {
    #banner-slider {
        height: 170px;
    }

    #main-menu .navbar-nav {
        justify-content: flex-start !important;
    }

    .pron-fondo {
        min-height: 320px;
    }

    #mapa_pronostico {
        min-height: 300px;
    }

    .pronostico-regiones-page #pnl_1 {
        padding: .85rem .75rem;
    }

    main .nav.nav-pills {
        overflow-x: auto;
        flex-wrap: nowrap;
        gap: .5rem;
        padding-bottom: .5rem;
    }

    main .nav.nav-pills .nav-item {
        flex: 0 0 auto;
    }

    main .nav.nav-pills .nav-link {
        white-space: nowrap;
    }
}

@media (max-width: 768px) {
    main .container,
    main .container-fluid {
        padding-left: .75rem;
        padding-right: .75rem;
    }
}

@media (max-width: 575.98px) {
    #banner-slider {
        height: 120px;
    }

    .senamhi-content-carousel {
        padding: 0 !important;
    }

    .pronostico-regiones-page .tab-e {
        font-size: .93rem;
    }

    .pronostico-regiones-page #pnl_1 td,
    .pronostico-regiones-page #pnl_1 th {
        font-size: .92rem;
    }
}
