:root {
    --sos-bg: #070d14;
    --sos-surface: #101a25;
    --sos-surface-2: #162331;
    --sos-text: #f4f7fa;
    --sos-muted: #aab5c0;
    --sos-red: #e21b23;
    --sos-orange: #f28c18;
    --sos-yellow: #f2c400;
    --sos-blue: #1976d2;
    --sos-green: #23a455;
    --sos-border: rgba(255,255,255,.09);
}

.sos-app {
    min-height: 100vh;
    background: var(--sos-bg);
    color: var(--sos-text);
    font-family: Arial, sans-serif;
    padding-bottom: 128px;
}

.sos-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: 42px 1fr auto;
    align-items: center;
    gap: 8px;
    min-height: 64px;
    padding: 8px 14px;
    background: rgba(7,13,20,.96);
    border-bottom: 1px solid var(--sos-border);
}

.sos-menu,
.sos-bottom-nav button,
.sos-player-bar button,
.sos-play,
.sos-secondary-action,
.sos-filter,
.sos-more-list button {
    font: inherit;
}

.sos-menu {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 26px;
    cursor: pointer;
}

.sos-brand {
    text-decoration: none;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.7px;
}

.sos-brand-sos { color: var(--sos-red); }
.sos-brand-radio { color: #fff; font-weight: 600; }

.sos-live {
    color: #ff3b30;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.sos-main {
    width: min(100%, 760px);
    margin: 0 auto;
    padding: 20px 14px 24px;
}

.sos-view { display: none; }
.sos-view.is-active { display: block; }
.sos-view h1 { margin: 0 0 18px; font-size: 28px; }

.sos-status {
    padding: 14px;
    margin-bottom: 14px;
    background: var(--sos-surface);
    border: 1px solid var(--sos-border);
    border-radius: 14px;
    color: var(--sos-muted);
}

.sos-alert-list { display: grid; gap: 10px; }

.sos-alert-card {
    display: grid;
    grid-template-columns: 10px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    background: var(--sos-surface);
    border: 1px solid var(--sos-border);
    border-radius: 14px;
}

.sos-alert-level { width: 10px; height: 48px; border-radius: 6px; }
.sos-level-critica { background: var(--sos-red); }
.sos-level-alta { background: var(--sos-orange); }
.sos-level-media { background: var(--sos-yellow); }
.sos-level-baja { background: var(--sos-blue); }
.sos-level-informacion { background: var(--sos-green); }

.sos-alert-card h2 { margin: 0 0 4px; font-size: 16px; }
.sos-alert-created-at { margin: 0 0 6px; color: var(--sos-muted); font-size: 12px; line-height: 1.35; }
.sos-alert-meta { color: var(--sos-muted); font-size: 13px; line-height: 1.45; }
.sos-alert-badge { font-size: 10px; font-weight: 800; text-transform: uppercase; }

.sos-secondary-action {
    width: 100%;
    margin-top: 14px;
    padding: 13px 16px;
    border: 1px solid var(--sos-border);
    border-radius: 12px;
    background: var(--sos-surface-2);
    color: #fff;
    cursor: pointer;
}

.sos-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-bottom: 14px; }

.sos-toolbar input {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--sos-border);
    border-radius: 12px;
    background: var(--sos-surface);
    color: #fff;
}

.sos-filter {
    padding: 12px 14px;
    border: 1px solid var(--sos-border);
    border-radius: 12px;
    background: var(--sos-surface-2);
    color: #fff;
}

.sos-map-placeholder {
    min-height: 62vh;
    display: grid;
    place-content: center;
    gap: 8px;
    padding: 30px;
    text-align: center;
    border: 1px solid var(--sos-border);
    border-radius: 18px;
    background: radial-gradient(circle at 50% 35%, #123c5d 0, #0b2438 30%, #07131e 75%);
}

.sos-map-placeholder span { color: var(--sos-muted); font-size: 13px; }

.sos-radio-card {
    padding: 22px;
    background: var(--sos-surface);
    border: 1px solid var(--sos-border);
    border-radius: 18px;
    text-align: center;
}

.sos-radio-card h2 { margin: 14px 0 6px; }
.sos-radio-card p { color: var(--sos-muted); }

.sos-play {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    border: 2px solid var(--sos-red);
    background: #0b1118;
    color: #fff;
    font-size: 24px;
}

.sos-more-list {
    display: grid;
    gap: 1px;
    background: var(--sos-border);
    border-radius: 14px;
    overflow: hidden;
}

.sos-more-list button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border: 0;
    background: var(--sos-surface);
    color: #fff;
    text-align: left;
    cursor: pointer;
}

.sos-more-list strong {
    background: var(--sos-red);
    border-radius: 8px;
    padding: 3px 7px;
}

.sos-player-bar {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 66px;
    z-index: 30;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--sos-border);
    border-radius: 14px;
    background: rgba(16,26,37,.97);
    box-shadow: 0 8px 30px rgba(0,0,0,.35);
    font-size: 12px;
}

.sos-player-bar b { color: #ff3b30; font-size: 10px; }

.sos-player-bar button {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
}

.sos-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 6px 4px max(6px, env(safe-area-inset-bottom));
    background: rgba(7,13,20,.98);
    border-top: 1px solid var(--sos-border);
}

.sos-bottom-nav button {
    border: 0;
    background: transparent;
    color: #9ba5af;
    padding: 5px 2px;
    cursor: pointer;
    font-size: 20px;
}

.sos-bottom-nav button small {
    display: block;
    margin-top: 2px;
    font-size: 10px;
}

.sos-bottom-nav button.is-active {
    color: var(--sos-red) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.sos-bottom-nav button.is-active small {
    color: var(--sos-red) !important;
    background: transparent !important;
}

.sos-bottom-nav button.is-active:hover,
.sos-bottom-nav button.is-active:focus,
.sos-bottom-nav button.is-active:focus-visible {
    color: var(--sos-red) !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (min-width: 800px) {
    .sos-header { padding-inline: 28px; }
    .sos-main { padding: 32px; }

    .sos-bottom-nav {
        max-width: 760px;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        border-radius: 16px 16px 0 0;
    }

    .sos-player-bar {
        max-width: 760px;
        left: 50%;
        right: auto;
        width: calc(100% - 20px);
        transform: translateX(-50%);
    }
}

/* =========================================================
   SOS Radio · Detalle de alertas
   ========================================================= */

.sos-alert-card-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}

.sos-alert-card-link:hover,
.sos-alert-card-link:focus-visible {
    background: var(--sos-surface-2);
    border-color: rgba(255,255,255,.18);
    outline: none;
}

.sos-alert-card-link:active {
    transform: scale(.99);
}

.sos-alert-detail-link {
    display: inline-block;
    margin-top: 7px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.sos-alert-detail {
    display: block;
    margin-top: 4px;
}

.sos-alert-detail[hidden] {
    display: none;
}

.sos-alert-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.sos-alert-back {
    display: inline-flex;
    align-items: center;
    margin: 0 0 18px;
    color: var(--sos-text);
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}

.sos-alert-back:hover,
.sos-alert-back:focus-visible {
    color: #fff;
    text-decoration: underline;
}

.sos-alert-detail-card {
    padding: 20px;
    background: var(--sos-surface);
    border: 1px solid var(--sos-border);
    border-radius: 18px;
}

.sos-alert-detail-card h1 {
    margin: 0 0 16px;
    font-size: 25px;
    line-height: 1.2;
}

.sos-alert-detail-meta {
    padding: 14px;
    margin-bottom: 20px;
    background: var(--sos-surface-2);
    border: 1px solid var(--sos-border);
    border-radius: 12px;
    color: var(--sos-muted);
    font-size: 13px;
    line-height: 1.7;
}

.sos-alert-detail-meta strong {
    color: var(--sos-text);
}

.sos-alert-detail-description {
    color: var(--sos-text);
    font-size: 15px;
    line-height: 1.65;
}

.sos-alert-detail-description h2 {
    margin: 0 0 8px;
    font-size: 18px;
}

.sos-alert-detail-description p {
    margin: 0;
    white-space: normal;
}

.sos-alert-detail-map {
    margin: 20px 0 0;
}

.sos-alert-detail-map a {
    display: inline-block;
    padding: 11px 14px;
    border-radius: 10px;
    background: var(--sos-surface-2);
    border: 1px solid var(--sos-border);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
}

.sos-alert-detail-map a:hover,
.sos-alert-detail-map a:focus-visible {
    border-color: rgba(255,255,255,.2);
}

.sos-detail-badge {
    flex: 0 0 auto;
}

.sos-level-text-critica { color: var(--sos-red); }
.sos-level-text-alta { color: var(--sos-orange); }
.sos-level-text-media { color: var(--sos-yellow); }
.sos-level-text-baja { color: var(--sos-blue); }
.sos-level-text-informacion { color: var(--sos-green); }

@media (min-width: 800px) {
    .sos-alert-detail-card {
        padding: 28px;
    }

    .sos-alert-detail-card h1 {
        font-size: 30px;
    }
}

.sos-alert-map {
    width: 100%;
    height: 300px;
    margin-top: 16px;
    border: 1px solid var(--sos-border);
    border-radius: 14px;
    overflow: hidden;
    background: #0b1118;
}

.sos-alert-map .leaflet-control-attribution {
    font-size: 9px;
}

@media (max-width: 600px) {
    .sos-alert-map {
        height: 260px;
    }
}

/* V14 — mapa general de alertas */
#sos-public-map,
.sos-public-map {
    width: 100%;
    height: 420px;
    min-height: 420px;
    margin-top: 16px;
    border: 1px solid var(--sos-border);
    border-radius: 14px;
    overflow: hidden;
    background: #0b1118;
}

#sos-public-map .leaflet-control-attribution {
    font-size: 9px;
}

@media (max-width: 600px) {
    #sos-public-map,
    .sos-public-map {
        height: 320px;
        min-height: 320px;
    }
}

/* V89 — botones Atrás de servicios */
.sos-alert-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    margin:0 0 18px;
    padding:8px 14px;
    border:1px solid #fff !important;
    border-radius:4px;
    background:transparent !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    cursor:pointer;
    transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
.sos-alert-back:hover,
.sos-alert-back:focus,
.sos-alert-back:focus-visible,
.sos-alert-back:active{
    border-color:transparent !important;
    background:#20c9c9 !important;
    color:#333 !important;
    text-decoration:none !important;
}
.sos-roads-title-with-icon{
    display:flex;
    align-items:center;
    gap:12px;
}
.sos-roads-title-with-icon img{
    width:42px;
    height:42px;
    object-fit:contain;
    flex:0 0 42px;
}


.sos-bottom-nav button{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    min-height:48px;
    line-height:1;
}
.sos-bottom-nav button img{
    display:block;
    width:24px;
    height:24px;
    margin:0 0 3px;
    object-fit:contain;
    flex:0 0 24px;
}
.sos-bottom-more-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    margin:0 0 3px;
    flex:0 0 24px;
    font-size:17px;
    line-height:1;
}
.sos-bottom-nav button small{
    display:block;
    margin:0;
    line-height:1.15;
    min-height:12px;
    font-size:10px;
}
@media (max-width:600px){
    .sos-bottom-nav button img,
    .sos-bottom-more-icon{
        width:27px;
        height:27px;
        flex-basis:27px;
    }
    .sos-bottom-more-icon{font-size:18px}
}


/* V92 — Radio y estados del menú inferior */
.sos-radio-247{
    color:#20c9c9 !important;
    font-size:10px;
    font-weight:800;
}
.sos-header-radio-logo{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    width:42px;
    height:36px;
    padding:4px;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.22);
    border-radius:8px;
    background:rgba(255,255,255,.04);
    line-height:0;
}
.sos-header-radio-logo img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.sos-bottom-nav button.is-active,
.sos-bottom-nav button.is-active:hover,
.sos-bottom-nav button.is-active:focus,
.sos-bottom-nav button.is-active:focus-visible{
    color:#20c9c9 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}
.sos-bottom-nav button.is-active small{
    color:#20c9c9 !important;
    background:transparent !important;
}
.sos-bottom-nav button:hover,
.sos-bottom-nav button:focus,
.sos-bottom-nav button:focus-visible{
    color:#20c9c9 !important;
}
.sos-bottom-nav button:hover small,
.sos-bottom-nav button:focus small,
.sos-bottom-nav button:focus-visible small{
    color:#20c9c9 !important;
}
.sos-bottom-nav button:active,
.sos-bottom-nav button.is-active:active{
    background:#20c9c9 !important;
    color:#333 !important;
    border:0 !important;
    box-shadow:none !important;
}
.sos-bottom-nav button:active small,
.sos-bottom-nav button.is-active:active small{
    color:#333 !important;
}


/* V93 — Corrección definitiva del estado activo del menú inferior */
#sos-radio-app .sos-bottom-nav button.is-active,
#sos-radio-app .sos-bottom-nav button.is-active:hover,
#sos-radio-app .sos-bottom-nav button.is-active:focus,
#sos-radio-app .sos-bottom-nav button.is-active:focus-visible{
    background:#20c9c9 !important;
    color:#333333 !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:10px !important;
    -webkit-tap-highlight-color:transparent;
}
#sos-radio-app .sos-bottom-nav button.is-active small{
    color:#333333 !important;
    background:transparent !important;
}
#sos-radio-app .sos-bottom-nav button:active{
    background:#20c9c9 !important;
    color:#333333 !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:10px !important;
    -webkit-tap-highlight-color:transparent;
}
#sos-radio-app .sos-bottom-nav button:active small{
    color:#333333 !important;
}
#sos-radio-app .sos-bottom-nav button{
    -webkit-tap-highlight-color:transparent;
}

/* V93 — Interior del botón circular del reproductor */
#sos-radio-app .sos-player-bar button{
    background:#cc0000 !important;
    border-color:#cc0000 !important;
    color:#fff !important;
}
#sos-radio-app .sos-player-bar button:hover,
#sos-radio-app .sos-player-bar button:focus,
#sos-radio-app .sos-player-bar button:focus-visible{
    background:#cc0000 !important;
    border-color:#cc0000 !important;
    color:#fff !important;
}


/* V94 — Estado hover/activo definitivo del menú inferior */
#sos-radio-app .sos-bottom-nav button:hover,
#sos-radio-app .sos-bottom-nav button:focus,
#sos-radio-app .sos-bottom-nav button:focus-visible,
#sos-radio-app .sos-bottom-nav button:active,
#sos-radio-app .sos-bottom-nav button.is-active,
#sos-radio-app .sos-bottom-nav button.is-active:hover,
#sos-radio-app .sos-bottom-nav button.is-active:focus,
#sos-radio-app .sos-bottom-nav button.is-active:focus-visible,
#sos-radio-app .sos-bottom-nav button.is-active:active {
    background:#20c9c9 !important;
    color:#333333 !important;
    border-color:transparent !important;
    box-shadow:none !important;
    border-radius:10px !important;
}

/* Texto negro/tono #333 cuando el elemento está activo o se está pulsando. */
#sos-radio-app .sos-bottom-nav button:hover small,
#sos-radio-app .sos-bottom-nav button:focus small,
#sos-radio-app .sos-bottom-nav button:focus-visible small,
#sos-radio-app .sos-bottom-nav button:active small,
#sos-radio-app .sos-bottom-nav button.is-active small,
#sos-radio-app .sos-bottom-nav button.is-active:hover small,
#sos-radio-app .sos-bottom-nav button.is-active:focus small,
#sos-radio-app .sos-bottom-nav button.is-active:focus-visible small,
#sos-radio-app .sos-bottom-nav button.is-active:active small {
    color:#333333 !important;
    background:transparent !important;
}

/* Los cuatro logos suministrados son grises; en activo/hover se convierten
   al mismo tono oscuro que el texto mediante filtro. */
#sos-radio-app .sos-bottom-nav button:hover img,
#sos-radio-app .sos-bottom-nav button:focus img,
#sos-radio-app .sos-bottom-nav button:focus-visible img,
#sos-radio-app .sos-bottom-nav button:active img,
#sos-radio-app .sos-bottom-nav button.is-active img,
#sos-radio-app .sos-bottom-nav button.is-active:hover img,
#sos-radio-app .sos-bottom-nav button.is-active:focus img,
#sos-radio-app .sos-bottom-nav button.is-active:focus-visible img,
#sos-radio-app .sos-bottom-nav button.is-active:active img {
    filter: brightness(0) saturate(100%) !important;
    opacity:1 !important;
}


/* V95 — Hover del botón circular del reproductor */
#sos-radio-app .sos-player-bar button:hover,
#sos-radio-app .sos-player-bar button:focus,
#sos-radio-app .sos-player-bar button:focus-visible {
    background:#990000 !important;
    border-color:#990000 !important;
    color:#fff !important;
}


/* V96 — Identidad descriptiva de Inicio */
#sos-radio-app .sos-home-subtitle{
    margin: -8px 0 18px;
    color:#fff;
    font-size:14px;
    line-height:1.45;
    font-weight:400;
}


/* V97 — Iconos del menú Más: reducción del 20% */
#sos-radio-app .sos-more-list .sos-more-icon{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    flex:0 0 56px !important;
}
#sos-radio-app .sos-more-list .sos-more-icon img{
    width:56px !important;
    height:56px !important;
    max-width:56px !important;
    max-height:56px !important;
}
@media(max-width:600px){
    #sos-radio-app .sos-more-list .sos-more-icon{
        width:59px !important;
        height:59px !important;
        min-width:59px !important;
        flex-basis:59px !important;
    }
    #sos-radio-app .sos-more-list .sos-more-icon img{
        width:59px !important;
        height:59px !important;
        max-width:59px !important;
        max-height:59px !important;
    }
}


/* V98 — Reproductor: triángulo blanco centrado, sin emoji/cuadrado del navegador.
   Se aplica tanto al player inferior como al botón de Radio. */
#sos-radio-app .sos-player-bar button,
#sos-radio-app .sos-play{
    position:relative;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:0 !important;
    line-height:0 !important;
    text-indent:0 !important;
    -webkit-appearance:none !important;
    appearance:none !important;
}

#sos-radio-app .sos-player-bar button::before,
#sos-radio-app .sos-play::before{
    content:"" !important;
    display:block !important;
    width:0 !important;
    height:0 !important;
    margin-left:4px !important;
    border-top:8px solid transparent !important;
    border-bottom:8px solid transparent !important;
    border-left:12px solid #fff !important;
    background:transparent !important;
    box-shadow:none !important;
}

#sos-radio-app .sos-player-bar button:hover::before,
#sos-radio-app .sos-player-bar button:focus::before,
#sos-radio-app .sos-player-bar button:focus-visible::before,
#sos-radio-app .sos-play:hover::before,
#sos-radio-app .sos-play:focus::before,
#sos-radio-app .sos-play:focus-visible::before{
    border-left-color:#fff !important;
}


/* V99 — Ajustes visuales: Inicio, menú superior, Más y Primeros Auxilios */

/* 1. Frases de Inicio centradas */
#sos-radio-app #sos-home-title,
#sos-radio-app .sos-home-subtitle{
    text-align:center !important;
}

/* 2. Botón del menú superior izquierdo: hover/foco turquesa */
#sos-radio-app .sos-menu:hover,
#sos-radio-app .sos-menu:focus,
#sos-radio-app .sos-menu:focus-visible,
#sos-radio-app .sos-menu:active{
    color:#20c9c9 !important;
    border-color:#20c9c9 !important;
}

/* 3. Pastillas del menú Más: hover/activo/foco en #2D4968 */
#sos-radio-app .sos-more-list button:hover,
#sos-radio-app .sos-more-list button:focus,
#sos-radio-app .sos-more-list button:focus-visible,
#sos-radio-app .sos-more-list button:active,
#sos-radio-app .sos-more-list button.is-active,
#sos-radio-app .sos-more-list button.is-active:hover,
#sos-radio-app .sos-more-list button.is-active:focus,
#sos-radio-app .sos-more-list button.is-active:focus-visible{
    background:#2D4968 !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:none !important;
}

/* 4. Pestañas de Primeros Auxilios: mismo comportamiento */
#sos-radio-app .sos-first-aid-topics button:hover,
#sos-radio-app .sos-first-aid-topics button:focus,
#sos-radio-app .sos-first-aid-topics button:focus-visible,
#sos-radio-app .sos-first-aid-topics button:active,
#sos-radio-app .sos-first-aid-topics button.is-active{
    background:#2D4968 !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:none !important;
}


/* V101 — SOLO botón superior «Llamar al 112» de Contactos de emergencia.
   Los botones verdes de Policía, Guardia Civil, Policía Local, Bomberos,
   carreteras, Toxicología y Salvamento Marítimo permanecen sin cambios. */
#sos-radio-app .sos-contact-112-call{
    background:#d62828 !important;
    color:#fff !important;
    text-decoration:none !important;
    border:none !important;
}
#sos-radio-app .sos-contact-112-call:hover,
#sos-radio-app .sos-contact-112-call:active,
#sos-radio-app .sos-contact-112-call:focus,
#sos-radio-app .sos-contact-112-call:focus-visible{
    background:#990000 !important;
    color:#fff !important;
    text-decoration:none !important;
    border:none !important;
}


/* V102 — «Llamar al 112» unificado en servicios */
#sos-radio-app .sos-contact-112-call,
#sos-radio-app .sos-service-112-call{
    background:#d62828 !important;
    color:#fff !important;
    text-decoration:none !important;
    border:none !important;
}
#sos-radio-app .sos-contact-112-call:hover,
#sos-radio-app .sos-contact-112-call:active,
#sos-radio-app .sos-contact-112-call:focus,
#sos-radio-app .sos-contact-112-call:focus-visible,
#sos-radio-app .sos-service-112-call:hover,
#sos-radio-app .sos-service-112-call:active,
#sos-radio-app .sos-service-112-call:focus,
#sos-radio-app .sos-service-112-call:focus-visible{
    background:#990000 !important;
    color:#fff !important;
    text-decoration:none !important;
    border:none !important;
}


/* V103 — Botones superiores «Llamar al 112» de todos los servicios */
#sos-radio-app .sos-contact-112-call,
#sos-radio-app .sos-service-112-call{
    background:#d62828 !important;
    color:#fff !important;
    text-decoration:none !important;
    border:none !important;
}
#sos-radio-app .sos-contact-112-call:hover,
#sos-radio-app .sos-contact-112-call:active,
#sos-radio-app .sos-contact-112-call:focus,
#sos-radio-app .sos-contact-112-call:focus-visible,
#sos-radio-app .sos-service-112-call:hover,
#sos-radio-app .sos-service-112-call:active,
#sos-radio-app .sos-service-112-call:focus,
#sos-radio-app .sos-service-112-call:focus-visible{
    background:#990000 !important;
    color:#fff !important;
    text-decoration:none !important;
    border:none !important;
}

/* «Ver todas las alertas» en Inicio */
#sos-radio-app .sos-secondary-action{
    background:#2D4968 !important;
    color:#fff !important;
    text-decoration:none !important;
    border-color:#2D4968 !important;
}
#sos-radio-app .sos-secondary-action:hover,
#sos-radio-app .sos-secondary-action:active,
#sos-radio-app .sos-secondary-action:focus,
#sos-radio-app .sos-secondary-action:focus-visible{
    background:#2D4968 !important;
    color:#fff !important;
    border-color:#2D4968 !important;
}

/* Menú superior izquierdo */
#sos-radio-app .sos-menu:hover,
#sos-radio-app .sos-menu:active,
#sos-radio-app .sos-menu:focus,
#sos-radio-app .sos-menu:focus-visible{
    color:#20c9c9 !important;
    background:transparent !important;
    border-color:#20c9c9 !important;
}


/* V104 — Pequeña reducción móvil de controles superiores y reproductor */
@media (max-width:600px){
    #sos-radio-app .sos-header-actions{
        gap:6px;
    }
    #sos-radio-app .sos-header-radio-logo,
    
    
    #sos-radio-app .sos-header-radio-logo{
        padding:3px !important;
    }
    #sos-radio-app .sos-player-bar{
        padding:8px 10px !important;
        font-size:11px !important;
        border-radius:13px !important;
    }
    #sos-radio-app .sos-player-bar b{
        font-size:9px !important;
    }
    #sos-radio-app .sos-player-bar button{
        width:34px !important;
        height:34px !important;
    }
    #sos-radio-app .sos-player-bar button::before{
        border-top-width:7px !important;
        border-bottom-width:7px !important;
        border-left-width:10px !important;
    }
}


/* V105 — Menú superior izquierdo: información de la aplicación */
#sos-radio-app .sos-side-menu{
    position:fixed;
    top:0;
    left:0;
    width:min(340px,88vw);
    height:100vh;
    z-index:1000;
    box-sizing:border-box;
    padding:16px 14px 24px;
    overflow-y:auto;
    background:#111d29;
    color:#fff;
    box-shadow:14px 0 35px rgba(0,0,0,.38);
    transform:translateX(-105%);
    transition:transform .22s ease;
}
#sos-radio-app .sos-side-menu.is-open{
    transform:translateX(0);
}
#sos-radio-app .sos-side-menu-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:0 4px 10px;
    border-bottom:1px solid rgba(255,255,255,.12);
}
#sos-radio-app .sos-side-menu-header strong{
    font-size:18px;
}
#sos-radio-app .sos-side-menu-close{
    width:38px;
    height:38px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:8px;
    background:transparent;
    color:#fff;
    font-size:26px;
    line-height:1;
    cursor:pointer;
}
#sos-radio-app .sos-side-menu-close:hover,
#sos-radio-app .sos-side-menu-close:focus,
#sos-radio-app .sos-side-menu-close:active{
    background:#20c9c9;
    color:#333;
    border-color:transparent;
}
#sos-radio-app .sos-side-menu-section{
    padding:16px 0 2px;
}
#sos-radio-app .sos-side-menu-heading{
    padding:0 8px 7px;
    color:#aebed1;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
#sos-radio-app .sos-side-menu-item{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    min-height:48px;
    margin:3px 0;
    padding:10px 10px;
    box-sizing:border-box;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#fff;
    font:inherit;
    text-align:left;
    cursor:pointer;
}
#sos-radio-app .sos-side-menu-item span{
    flex:1;
}
#sos-radio-app .sos-side-menu-item b{
    color:#aebed1;
    font-size:20px;
    font-weight:400;
}
#sos-radio-app .sos-side-menu-item:hover,
#sos-radio-app .sos-side-menu-item:focus,
#sos-radio-app .sos-side-menu-item:focus-visible,
#sos-radio-app .sos-side-menu-item:active{
    background:#2D4968;
    color:#fff;
    outline:none;
}
#sos-radio-app .sos-side-menu-note{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:12px 8px 4px;
    padding:11px 10px;
    border-left:3px solid #20c9c9;
    border-radius:7px;
    background:#14232f;
    color:#dbe6ec;
    font-size:12px;
    line-height:1.45;
}
#sos-radio-app .sos-side-menu-note strong{
    color:#20c9c9;
}
#sos-radio-app .sos-side-menu-note-icon{
    flex:0 0 auto;
}
#sos-radio-app .sos-side-menu-backdrop{
    position:fixed;
    inset:0;
    z-index:999;
    background:rgba(0,0,0,.52);
}
#sos-radio-app .sos-info-panel{
    padding-top:4px;
}
#sos-radio-app .sos-install-guide{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin:18px 0;
    padding:16px;
    border:1px solid rgba(32,201,201,.28);
    border-radius:14px;
    background:rgba(32,201,201,.045);
}
#sos-radio-app .sos-install-guide-icon{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#fff;
    color:#111;
    border:1px solid rgba(0,0,0,.10);
    box-sizing:border-box;
}
#sos-radio-app .sos-install-guide-icon-apple{
    font-size:29px;
    line-height:1;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#sos-radio-app .sos-install-guide-icon-android svg{
    width:31px;
    height:31px;
    fill:#3ddc84;
}
#sos-radio-app .sos-install-guide-content{
    flex:1;
    min-width:0;
}
#sos-radio-app .sos-install-guide-content h4{
    margin:0 0 8px;
    font-size:17px;
}
#sos-radio-app .sos-install-guide-content ol{
    margin:8px 0 10px 20px;
    padding:0;
}
#sos-radio-app .sos-install-guide-content li{
    margin:0 0 7px;
    line-height:1.45;
}
#sos-radio-app .sos-install-guide-note{
    margin:8px 0 0;
    font-size:13px;
    line-height:1.45;
    color:#b7c5d2;
}
#sos-radio-app .sos-notification-platforms{
    margin-top:14px;
}
@media (max-width:600px){
    #sos-radio-app .sos-install-guide{
        gap:11px;
        padding:13px;
        border-radius:12px;
    }
    #sos-radio-app .sos-install-guide-icon{
        flex-basis:40px;
        width:40px;
        height:40px;
        border-radius:10px;
    }
    #sos-radio-app .sos-install-guide-icon-apple{
        font-size:25px;
    }
    #sos-radio-app .sos-install-guide-icon-android svg{
        width:27px;
        height:27px;
    }
}

#sos-radio-app .sos-info-back{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    margin:0 0 14px;
    padding:7px 12px;
    border:1px solid #fff;
    border-radius:8px;
    background:transparent;
    color:#fff;
    font:inherit;
    cursor:pointer;
}
#sos-radio-app .sos-info-back:hover,
#sos-radio-app .sos-info-back:focus,
#sos-radio-app .sos-info-back:active{
    background:#20c9c9;
    color:#333;
    border-color:transparent;
}
#sos-radio-app .sos-info-list{
    margin:12px 0;
    padding-left:20px;
}
#sos-radio-app .sos-info-list li{
    margin:9px 0;
}
#sos-radio-app .sos-info-warning{
    padding:14px;
    border-left:4px solid #d62828;
    border-radius:8px;
    background:rgba(214,40,40,.12);
}


/* V108 — Documentos legales */
#sos-radio-app .sos-legal-document,
#sos-radio-app .sos-privacy-document{
    padding-bottom:24px;
}
#sos-radio-app .sos-legal-block,
#sos-radio-app .sos-privacy-document{
    color:#dfe7ef;
    font-size:14px;
    line-height:1.65;
}
#sos-radio-app .sos-legal-block h1,
#sos-radio-app .sos-privacy-document h1{
    margin:0 0 20px;
    color:#fff;
    font-size:27px;
    line-height:1.2;
}
#sos-radio-app .sos-legal-block h3,
#sos-radio-app .sos-privacy-document h3{
    margin:24px 0 8px;
    color:#fff;
    font-size:17px;
    line-height:1.35;
}
#sos-radio-app .sos-legal-block p,
#sos-radio-app .sos-privacy-document p{
    margin:0 0 14px;
}
#sos-radio-app .sos-legal-separator{
    height:1px;
    margin:28px 0 22px;
    background:rgba(255,255,255,.14);
}


/* V110 — Email de Contacto del menú izquierdo */
#sos-radio-app .sos-info-panel a[href^="mailto:"]{
    color:#20c9c9 !important;
    text-decoration:none;
}
#sos-radio-app .sos-info-panel a[href^="mailto:"]:hover,
#sos-radio-app .sos-info-panel a[href^="mailto:"]:focus,
#sos-radio-app .sos-info-panel a[href^="mailto:"]:focus-visible,
#sos-radio-app .sos-info-panel a[href^="mailto:"]:active{
    color:#20c9c9 !important;
    text-decoration:none;
}


/* V114 — Avisos destacados de la guía de uso */
#sos-radio-app .sos-info-important{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:20px 0 24px;
    padding:14px 15px;
    border-left:4px solid #d62828;
    border-radius:10px;
    background:rgba(214,40,40,.13);
    color:#fff;
}
#sos-radio-app .sos-info-important-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 30px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:#d62828;
    color:#fff;
    font-weight:900;
    line-height:1;
}
#sos-radio-app .sos-info-important p{
    margin:0 0 9px;
}
#sos-radio-app .sos-info-important p:last-child{
    margin-bottom:0;
}


/* V116 — Sobre SOS Radio Canarias: radio online */
#sos-radio-app .sos-info-panel h2{
    margin:24px 0 10px;
    color:#fff;
    font-size:20px;
    line-height:1.3;
}


/* V117 — Fuentes oficiales ampliadas */
#sos-radio-app .sos-info-panel h3{
    margin:22px 0 8px;
    color:#fff;
    font-size:17px;
    line-height:1.35;
}


/* V119 — Desfibriladores y parada cardíaca / Ariadna */
#sos-radio-app .sos-defibrillator-store-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:18px 0 22px;
}
#sos-radio-app .sos-defibrillator-store-links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:8px;
    background:#2D4968;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}
#sos-radio-app .sos-defibrillator-store-links a:hover,
#sos-radio-app .sos-defibrillator-store-links a:focus,
#sos-radio-app .sos-defibrillator-store-links a:active{
    background:#20c9c9;
    color:#333;
    border-color:transparent;
}


/* V121 — Visor de riesgos */
#sos-radio-app .sos-risk-viewer-link{
    margin:18px 0 22px;
}
#sos-radio-app .sos-risk-viewer-link a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:9px 14px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:8px;
    background:#2D4968;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}
#sos-radio-app .sos-risk-viewer-link a:hover,
#sos-radio-app .sos-risk-viewer-link a:focus,
#sos-radio-app .sos-risk-viewer-link a:active{
    background:#20c9c9;
    color:#333;
    border-color:transparent;
}


/* V122 — Adaptación para pantallas grandes / PC */
.sos-desktop-nav{
    display:none;
}

@media (min-width: 801px){
    #sos-radio-app .sos-header{
        min-height:112px;
        padding:18px 32px 18px;
        grid-template-columns:52px minmax(320px,1fr) minmax(230px,auto);
    }

    #sos-radio-app .sos-menu{
        font-size:28px;
    }

    #sos-radio-app .sos-brand{
        width:290px;
        max-width:34vw;
    }

    #sos-radio-app .sos-brand img{
        max-height:82px;
    }

    #sos-radio-app .sos-header-actions{
        gap:10px;
    }

    /* Navegación principal bajo el logotipo */
    #sos-radio-app .sos-desktop-nav-sentinel{
        display:block;
        width:100%;
        height:0;
        overflow:hidden;
    }

    #sos-radio-app .sos-desktop-nav{
        position:relative;
        top:auto;
        left:auto;
        right:auto;
        z-index:19;
        display:block;
        width:100%;
        height:56px;
        box-sizing:border-box;
        padding:0 18px;
        background:rgba(7,13,20,.98);
        border-bottom:1px solid var(--sos-border);
    }

    #sos-radio-app .sos-desktop-nav.is-scroll-fixed{
        position:fixed;
        top:0;
        left:0;
        right:0;
        z-index:100;
    }

    body.admin-bar #sos-radio-app .sos-desktop-nav.is-scroll-fixed{
        top:32px;
    }

    /* Al volver al inicio del documento, el navegador recupera la
       navegación a su posición original bajo la cabecera. */
    #sos-radio-app .sos-main{
        padding-top:30px;
    }

    #sos-radio-app .sos-desktop-nav-inner{
        width:min(1100px,100%);
        height:56px;
        min-height:56px;
        margin:0 auto;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:8px;
    }

    #sos-radio-app .sos-desktop-nav button{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        align-self:center;
        gap:8px;
        min-width:128px;
        min-height:40px;
        height:40px;
        margin:0;
        padding:0 18px;
        line-height:40px;
        border:0;
        border-radius:10px;
        background:transparent;
        color:#aeb8c2;
        font:inherit;
        font-size:15px;
        font-weight:800;
        cursor:pointer;
        transition:background .15s ease, color .15s ease;
    }

    #sos-radio-app .sos-desktop-nav button img{
        width:30px;
        height:30px;
        object-fit:contain;
        display:block;
        filter:none;
    }

    #sos-radio-app .sos-desktop-nav button:hover,
    #sos-radio-app .sos-desktop-nav button:focus,
    #sos-radio-app .sos-desktop-nav button:focus-visible,
    #sos-radio-app .sos-desktop-nav button:active,
    #sos-radio-app .sos-desktop-nav button.is-active{
        background:#20c9c9 !important;
        color:#333 !important;
        outline:none;
    }

    #sos-radio-app .sos-desktop-nav button:hover img,
    #sos-radio-app .sos-desktop-nav button:focus img,
    #sos-radio-app .sos-desktop-nav button:focus-visible img,
    #sos-radio-app .sos-desktop-nav button:active img,
    #sos-radio-app .sos-desktop-nav button.is-active img{
        filter:brightness(0) saturate(100%) !important;
    }

    #sos-radio-app .sos-desktop-more-icon{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        width:30px;
        height:30px;
        font-size:17px;
        letter-spacing:1px;
        color:inherit;
    }

    /* En PC desaparece la navegación inferior móvil. */
    #sos-radio-app .sos-bottom-nav{
        display:none !important;
    }

    /* El contenido aprovecha el ancho disponible del monitor. */
    #sos-radio-app .sos-main{
        width:min(1100px, calc(100% - 48px));
        max-width:none;
        padding:30px 0 42px;
    }

    #sos-radio-app .sos-main > .sos-view{
        width:100%;
    }

    /* Mantener legibilidad de textos largos, sin estirar líneas en exceso. */
    #sos-radio-app .sos-info-panel,
    #sos-radio-app .sos-alert-detail-card,
    #sos-radio-app .sos-contacts-card,
    #sos-radio-app .sos-pharmacies-card,
    #sos-radio-app .sos-health-card,
    #sos-radio-app .sos-first-aid-card{
        max-width:980px;
        margin-left:auto;
        margin-right:auto;
    }

    #sos-radio-app .sos-player-bar{
        left:50%;
        right:auto;
        width:min(760px, calc(100% - 40px));
        max-width:none;
        transform:translateX(-50%);
        bottom:14px;
        z-index:30;
    }
}

@media (min-width: 1400px){
    #sos-radio-app .sos-header{
        padding-left:48px;
        padding-right:48px;
    }

    #sos-radio-app .sos-desktop-nav{
        padding-left:34px;
        padding-right:34px;
    }

    #sos-radio-app .sos-main{
        width:min(1180px, calc(100% - 72px));
    }

    #sos-radio-app .sos-desktop-nav button{
        min-width:142px;
    }
}

/* V125 — Navegación PC: pega al borde superior al hacer scroll */
@media (max-width: 800px){
    #sos-radio-app .sos-desktop-nav,
    #sos-radio-app .sos-desktop-nav-sentinel{
        display:none !important;
    }
}


/* V129 — Centrado vertical preciso de la navegación PC */
@media (min-width:801px){
    #sos-radio-app .sos-desktop-nav-inner{
        align-items:center !important;
        justify-content:center !important;
    }
    #sos-radio-app .sos-desktop-nav button{
        align-items:center !important;
        justify-content:center !important;
        vertical-align:middle;
        line-height:40px !important;
    }
    #sos-radio-app .sos-desktop-nav button > img,
    #sos-radio-app .sos-desktop-nav button > .sos-desktop-more-icon{
        align-self:center !important;
        margin:0 !important;
        vertical-align:middle;
    }
}


/* V131 — Centrado vertical real de la navegación PC */
@media (min-width:801px){
    #sos-radio-app .sos-desktop-nav{
        height:52px !important;
        min-height:52px !important;
        padding:0 !important;
        display:block !important;
        box-sizing:border-box !important;
    }

    #sos-radio-app .sos-desktop-nav-inner{
        width:min(1100px,100%) !important;
        height:52px !important;
        min-height:52px !important;
        margin:0 auto !important;
        display:grid !important;
        grid-template-columns:repeat(5, max-content) !important;
        align-items:center !important;
        justify-content:center !important;
        justify-items:center !important;
        align-content:center !important;
        gap:8px !important;
        box-sizing:border-box !important;
    }

    #sos-radio-app .sos-desktop-nav button{
        position:static !important;
        align-self:center !important;
        justify-self:center !important;
        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        width:auto !important;
        min-width:128px !important;
        min-height:36px !important;
        height:36px !important;
        margin:0 !important;
        padding:0 18px !important;
        line-height:normal !important;
        box-sizing:border-box !important;
    }

    #sos-radio-app .sos-desktop-nav button > img,
    #sos-radio-app .sos-desktop-nav button > .sos-desktop-more-icon{
        display:block !important;
        align-self:center !important;
        justify-self:center !important;
        margin:0 !important;
    }
}

@media (min-width:1400px){
    #sos-radio-app .sos-desktop-nav-inner{
        width:min(1100px,100%) !important;
    }
    #sos-radio-app .sos-desktop-nav button{
        min-width:142px !important;
    }
}


/* V132 — Radio: sin player flotante + acceso de cabecera + estado del player */
#sos-radio-app .sos-header-radio-logo{
    cursor:pointer;
}
#sos-radio-app .sos-header-radio-logo:hover,
#sos-radio-app .sos-header-radio-logo:focus,
#sos-radio-app .sos-header-radio-logo:focus-visible{
    background:#20c9c9 !important;
    border-color:#20c9c9 !important;
    outline:none;
}
#sos-radio-app .sos-header-radio-logo:active{
    background:#20c9c9 !important;
    border-color:#20c9c9 !important;
}

#sos-radio-app .sos-play{
    border-color:#20c9c9 !important;
}
#sos-radio-app .sos-play:hover,
#sos-radio-app .sos-play:focus,
#sos-radio-app .sos-play:focus-visible,
#sos-radio-app .sos-play:active{
    border-color:#330000 !important;
    background:#330000 !important;
    outline:none;
}

/* La barra flotante ya no se utiliza en la interfaz. */
#sos-radio-app .sos-player-bar{
    display:none !important;
}


/* V138 — PC sticky + DGT + Radio + mobile map layering */
#sos-radio-app .sos-header-radio-logo{
    cursor:pointer;
}
#sos-radio-app .sos-header-radio-logo:hover,
#sos-radio-app .sos-header-radio-logo:focus,
#sos-radio-app .sos-header-radio-logo:focus-visible,
#sos-radio-app .sos-header-radio-logo:active,
#sos-radio-app .sos-header-radio-logo.is-active{
    background:rgba(255,255,255,.10) !important;
    border-color:rgba(255,255,255,.30) !important;
    color:inherit !important;
    outline:none !important;
}
#sos-radio-app .sos-play{
    border-color:#20c9c9 !important;
}
#sos-radio-app .sos-play:hover,
#sos-radio-app .sos-play:focus,
#sos-radio-app .sos-play:focus-visible,
#sos-radio-app .sos-play:active{
    border-color:#330000 !important;
    background:#330000 !important;
    outline:none !important;
}

/* No se utiliza el player flotante inferior. */
#sos-radio-app .sos-player-bar{
    display:none !important;
}

/* En móvil, la navegación inferior debe quedar por encima de Leaflet
   y de cualquier mapa de detalle o de servicio. */
@media (max-width:800px){
    #sos-radio-app .sos-bottom-nav{
        z-index:5000 !important;
        position:fixed !important;
        bottom:0 !important;
        left:0 !important;
        right:0 !important;
    }

    #sos-radio-app .sos-alert-map,
    #sos-radio-app .sos-public-map,
    #sos-radio-app .leaflet-container{
        position:relative;
        z-index:0 !important;
    }

    #sos-radio-app .leaflet-pane,
    #sos-radio-app .leaflet-control{
        z-index:1 !important;
    }
}


/* V139 — Documento legal unificado */
#sos-radio-app .sos-legal-divider{
    border:0;
    border-top:1px solid rgba(255,255,255,.16);
    margin:28px 0;
}
#sos-radio-app .sos-privacy-merged h2{
    margin-top:0;
}


/* =========================================================
   SOS Radio · Publicidad responsive
   Solo posiciones arriba y abajo.
   Formatos: PC 980×200 / 300×250 · Móvil 320×100 / 300×250
   ========================================================= */

.sos-ad-placement{
    width:100%;
    box-sizing:border-box;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0 auto;
    padding:0 10px;
}

.sos-ad-placement[aria-label="Publicidad"]:empty{
    display:none;
}

.sos-ad-slot{
    box-sizing:border-box;
    display:block;
    line-height:0;
    text-align:center;
}

.sos-ad-slot a{
    display:block;
    line-height:0;
    text-decoration:none;
}

.sos-ad-slot img{
    display:block;
    width:auto;
    max-width:100%;
    height:auto;
    margin:0 auto;
    border:0;
    object-fit:contain;
}

.sos-ad-placement-top,
.sos-ad-placement-bottom{
    max-width:1000px;
}

.sos-ad-placement-top{
    margin-top:6px;
    margin-bottom:14px;
}

.sos-ad-placement-bottom{
    margin-top:14px;
    margin-bottom:18px;
}

.sos-ad-slot-mobile_top,
.sos-ad-slot-mobile_bottom{
    display:none;
}

@media (min-width:801px){
    .sos-ad-slot-mobile_top,
    .sos-ad-slot-mobile_bottom{
        display:none !important;
    }

    .sos-ad-slot-pc_top,
    .sos-ad-slot-pc_bottom{
        width:980px;
        max-width:100%;
    }
}

@media (max-width:800px){
    .sos-ad-placement{
        padding-left:8px;
        padding-right:8px;
    }

    .sos-ad-placement-top{
        margin-top:6px;
        margin-bottom:12px;
    }

    .sos-ad-placement-bottom{
        margin-top:12px;
        margin-bottom:14px;
    }

    .sos-ad-slot-pc_top,
    .sos-ad-slot-pc_bottom{
        display:none !important;
    }

    .sos-ad-slot-mobile_top,
    .sos-ad-slot-mobile_bottom{
        display:block;
    }

    .sos-ad-slot-mobile_top,
    .sos-ad-slot-mobile_bottom{
        width:320px;
        max-width:100%;
    }

    /* El formato universal 300×250 se mantiene centrado dentro del slot. */
    .sos-ad-slot-mobile_top img,
    .sos-ad-slot-mobile_bottom img{
        margin-left:auto;
        margin-right:auto;
    }
}

@media (min-width:801px) and (max-width:999px){
    .sos-ad-placement{
        padding-left:8px;
        padding-right:8px;
    }
}

/* Publicidad PC: tres puestos 300x250 independientes en una sola línea. */
.sos-ad-slot-pc_top.sos-ad-row-3,
.sos-ad-slot-pc_bottom.sos-ad-row-3{display:flex;justify-content:center;align-items:flex-start;gap:20px;flex-wrap:nowrap;width:100%;max-width:980px;margin-left:auto;margin-right:auto;}
.sos-ad-slot-pc_top.sos-ad-row-3 .sos-ad-item,
.sos-ad-slot-pc_bottom.sos-ad-row-3 .sos-ad-item{flex:0 0 300px;width:300px;max-width:300px;}
.sos-ad-slot-pc_top.sos-ad-row-3 .sos-ad-item img,
.sos-ad-slot-pc_bottom.sos-ad-row-3 .sos-ad-item img{display:block;width:300px;height:250px;max-width:100%;object-fit:contain;}
@media (max-width:1020px) and (min-width:801px){
 .sos-ad-slot-pc_top.sos-ad-row-3,
 .sos-ad-slot-pc_bottom.sos-ad-row-3{gap:10px;padding-left:10px;padding-right:10px;box-sizing:border-box;}
 .sos-ad-slot-pc_top.sos-ad-row-3 .sos-ad-item,
 .sos-ad-slot-pc_bottom.sos-ad-row-3 .sos-ad-item{flex-basis:calc((100% - 20px)/3);width:calc((100% - 20px)/3);max-width:none;}
 .sos-ad-slot-pc_top.sos-ad-row-3 .sos-ad-item img,
 .sos-ad-slot-pc_bottom.sos-ad-row-3 .sos-ad-item img{width:100%;height:auto;aspect-ratio:300/250;}
}
@media (max-width:800px){
 .sos-ad-slot-pc_top.sos-ad-row-3,
 .sos-ad-slot-pc_bottom.sos-ad-row-3{display:none !important;}
}

/* V141-R — Correcciones visuales de controles de cabecera y Radio */

/* 1. Menú superior izquierdo: sin borde/fondo del tema WordPress. */
#sos-radio-app .sos-menu{
    -webkit-appearance:none !important;
    appearance:none !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    color:#fff !important;
    padding:0 !important;
    margin:0 !important;
    width:60px !important;
    height:60px !important;
    border-radius:0 !important;
    line-height:1 !important;
    text-align:center !important;
}
#sos-radio-app .sos-menu:hover,
#sos-radio-app .sos-menu:focus,
#sos-radio-app .sos-menu:focus-visible,
#sos-radio-app .sos-menu:active{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    color:#20c9c9 !important;
}

/* 2. Botón Radio de cabecera: misma caja/estados que el botón de opciones. */
#sos-radio-app .sos-header-radio-logo{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 42px !important;
    width:42px !important;
    height:36px !important;
    padding:4px !important;
    box-sizing:border-box !important;
    border:1px solid rgba(255,255,255,.22) !important;
    border-radius:8px !important;
    background:rgba(255,255,255,.04) !important;
    color:#fff !important;
    outline:0 !important;
    box-shadow:none !important;
    -webkit-appearance:none !important;
    appearance:none !important;
}
#sos-radio-app .sos-header-radio-logo:hover,
#sos-radio-app .sos-header-radio-logo:focus,
#sos-radio-app .sos-header-radio-logo:focus-visible,
#sos-radio-app .sos-header-radio-logo:active,
#sos-radio-app .sos-header-radio-logo.is-active{
    background:rgba(255,255,255,.10) !important;
    border-color:rgba(255,255,255,.30) !important;
    color:#fff !important;
    outline:0 !important;
    box-shadow:none !important;
}
#sos-radio-app .sos-header-radio-logo img{
    display:block !important;
    width:29px !important;
    height:29px !important;
    max-width:29px !important;
    max-height:29px !important;
    object-fit:contain !important;
    filter:brightness(0) invert(1) !important;
    opacity:1 !important;
}

/* 3. Reproductor de Radio: círculo real, borde turquesa, triángulo blanco. */
#sos-radio-app .sos-play{
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    min-height:76px !important;
    max-width:76px !important;
    max-height:76px !important;
    box-sizing:border-box !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 0 18px !important;
    border:2px solid #20c9c9 !important;
    border-radius:50% !important;
    background:#0b1118 !important;
    color:#fff !important;
    outline:0 !important;
    box-shadow:none !important;
    -webkit-appearance:none !important;
    appearance:none !important;
}
#sos-radio-app .sos-play::before{
    content:"" !important;
    display:block !important;
    width:0 !important;
    height:0 !important;
    margin-left:5px !important;
    border-top:11px solid transparent !important;
    border-bottom:11px solid transparent !important;
    border-left:17px solid #fff !important;
    background:transparent !important;
    box-shadow:none !important;
}
#sos-radio-app .sos-play:hover,
#sos-radio-app .sos-play:focus,
#sos-radio-app .sos-play:focus-visible,
#sos-radio-app .sos-play:active{
    border-color:#20c9c9 !important;
    background:#330000 !important;
    color:#fff !important;
    outline:0 !important;
    box-shadow:none !important;
}
#sos-radio-app .sos-play:hover::before,
#sos-radio-app .sos-play:focus::before,
#sos-radio-app .sos-play:focus-visible::before,
#sos-radio-app .sos-play:active::before{
    border-left-color:#fff !important;
}

/* Push Web — activación y estado */
#sos-radio-app .sos-header-options-panel button[data-push-subscribe]{
    color:#fff !important; border-color:transparent !important; background:transparent !important;
}
#sos-radio-app .sos-header-options-panel button[data-push-subscribe]:hover,
#sos-radio-app .sos-header-options-panel button[data-push-subscribe]:focus-visible,
#sos-radio-app .sos-header-options-panel button[data-push-subscribe]:active{
    color:#20c9c9 !important; border-color:transparent !important; background:transparent !important;
}

/* Push en PC: la implantación queda reservada a móviles en esta fase. */
@media (min-width:601px){
    #sos-radio-app .sos-header-options-panel button[data-push-subscribe]{
        display:none !important;
    }
}
.sos-push-status[hidden]{display:none !important;}
.sos-push-status{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.72);box-sizing:border-box;}
.sos-push-status-card{position:relative;width:min(620px,calc(100vw - 32px));box-sizing:border-box;padding:30px 28px 26px;border:1px solid #20c9c9;border-radius:14px;background:#0f1a24;color:#fff;text-align:center;box-shadow:0 18px 55px rgba(0,0,0,.45);}
.sos-push-status-icon{width:58px;height:58px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border:2px solid #20c9c9;border-radius:50%;font-size:28px;}
.sos-push-status-card h2{margin:0 0 10px;color:#fff;font-size:22px;}
.sos-push-status-card p{margin:0 auto 14px;max-width:560px;line-height:1.5;color:#e9eef2;}
.sos-push-status-help{margin:14px 0 20px;padding:14px 16px;border-left:3px solid #20c9c9;border-radius:7px;background:#14232f;color:#dbe6ec;text-align:left;line-height:1.5;font-size:14px;}
.sos-push-status-help strong{color:#20c9c9 !important;}
.sos-push-status-close{position:absolute;top:8px;right:10px;width:38px;height:34px;padding:0;border:1px solid #20c9c9;border-radius:6px;background:transparent;color:#20c9c9;font-size:22px;line-height:30px;cursor:pointer;}
.sos-push-status-close:hover,.sos-push-status-close:focus-visible{background:#20c9c9;color:#10202a;}
.sos-push-status-action{min-width:110px;padding:9px 18px;border:1px solid #20c9c9;border-radius:6px;background:transparent;color:#20c9c9;cursor:pointer;}
.sos-push-status-action:hover,.sos-push-status-action:focus-visible{background:#20c9c9;color:#10202a;}
body.sos-push-status-open{overflow:hidden;}
@media (max-width:680px){.sos-push-status{padding:12px;}.sos-push-status-card{width:calc(100vw - 24px);padding:28px 20px 22px;}.sos-push-status-card h2{font-size:20px;}.sos-push-status-help{font-size:13px;padding:13px 14px;}}

/* PWA — instalación */
#sos-radio-app .sos-header-options-panel button[data-pwa-install]{
    color:#fff !important;
    border-color:transparent !important;
    background:transparent !important;
}
#sos-radio-app .sos-header-options-panel button[data-pwa-install]:hover,
#sos-radio-app .sos-header-options-panel button[data-pwa-install]:focus-visible,
#sos-radio-app .sos-header-options-panel button[data-pwa-install]:active{
    color:#20c9c9 !important;
    border-color:transparent !important;
    background:transparent !important;
}

/* Corrección de botones de filtros — identidad SOS Radio */
#sos-radio-app .sos-filter,
#sos-radio-app .sos-filter-clear {
    border:1px solid #20c9c9 !important;
    color:#20c9c9 !important;
    background:transparent !important;
    box-shadow:none !important;
    text-decoration:none !important;
}
#sos-radio-app .sos-filter:hover,
#sos-radio-app .sos-filter:focus,
#sos-radio-app .sos-filter:focus-visible,
#sos-radio-app .sos-filter:active,
#sos-radio-app .sos-filter-clear:hover,
#sos-radio-app .sos-filter-clear:focus,
#sos-radio-app .sos-filter-clear:focus-visible,
#sos-radio-app .sos-filter-clear:active {
    border-color:#20c9c9 !important;
    background:#20c9c9 !important;
    color:#333 !important;
    box-shadow:none !important;
}


/* PWA — ayuda de instalación */
.sos-pwa-help[hidden]{display:none !important;}
.sos-pwa-help{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.72);box-sizing:border-box;}
.sos-pwa-help-card{position:relative;width:min(620px,calc(100vw - 32px));box-sizing:border-box;padding:30px 28px 26px;border:1px solid #20c9c9;border-radius:14px;background:#0f1a24;color:#fff;text-align:center;box-shadow:0 18px 55px rgba(0,0,0,.45);}
.sos-pwa-help-icon{width:58px;height:58px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border:2px solid #20c9c9;border-radius:50%;font-size:28px;}
.sos-pwa-help-card h2{margin:0 0 10px;color:#fff;font-size:22px;}
.sos-pwa-help-card p{margin:0 auto 14px;max-width:560px;line-height:1.5;color:#e9eef2;}
.sos-pwa-help-help{margin:14px 0 20px;padding:14px 16px;border-left:3px solid #20c9c9;border-radius:7px;background:#14232f;color:#dbe6ec;text-align:left;line-height:1.5;font-size:14px;}
.sos-pwa-help-help strong{color:#20c9c9 !important;}
.sos-pwa-help-close{position:absolute;top:8px;right:10px;width:38px;height:34px;padding:0;border:1px solid #20c9c9;border-radius:6px;background:transparent;color:#20c9c9;font-size:22px;line-height:30px;cursor:pointer;}
.sos-pwa-help-close:hover,.sos-pwa-help-close:focus-visible{background:#20c9c9;color:#10202a;}
.sos-pwa-help-action{min-width:110px;padding:9px 18px;border:1px solid #20c9c9;border-radius:6px;background:transparent;color:#20c9c9;cursor:pointer;}
.sos-pwa-help-action:hover,.sos-pwa-help-action:focus-visible{background:#20c9c9;color:#10202a;}
body.sos-pwa-help-open{overflow:hidden;}
@media (max-width:680px){.sos-pwa-help{padding:12px;}.sos-pwa-help-card{width:calc(100vw - 24px);padding:28px 20px 22px;}.sos-pwa-help-card h2{font-size:20px;}.sos-pwa-help-card p{max-width:none;}.sos-pwa-help-help{font-size:13px;padding:13px 14px;}}

/* PWA — menú superior */
#sos-radio-app .sos-header-options-panel{width:300px !important;min-width:300px !important;}
#sos-radio-app .sos-header-options-panel button{white-space:nowrap !important;}
@media (max-width:680px){#sos-radio-app .sos-header-options-panel{width:min(300px, calc(100vw - 24px)) !important;min-width:0 !important;}}

/* V141-R2 — Navegación inferior móvil: pequeño margen lateral para evitar que
   los botones extremos queden pegados/cortados contra el borde físico del móvil. */
@media (max-width:800px){
    /* V141-R3 — Separación lateral real de los botones extremos.
       Evita que el fondo turquesa de Inicio y Más toque el borde físico
       del dispositivo, también dentro de la PWA instalada. */
    #sos-radio-app .sos-bottom-nav{
        left:8px !important;
        right:8px !important;
        width:auto !important;
        box-sizing:border-box !important;
        border-radius:10px 10px 0 0 !important;
    }
    #sos-radio-app .sos-bottom-nav button:first-child{
        margin-left:3px !important;
    }
    #sos-radio-app .sos-bottom-nav button:last-child{
        margin-right:3px !important;
    }
}


/* V70 — Menú PC estable: sticky nativo, sin JavaScript de scroll. */
@media (min-width:801px){
    #sos-radio-app .sos-header{
        position:relative !important;
        top:auto !important;
    }

    #sos-radio-app .sos-desktop-nav,
    #sos-radio-app .sos-desktop-nav.is-scroll-fixed{
        position:sticky !important;
        top:0 !important;
        left:auto !important;
        right:auto !important;
        transform:none !important;
        z-index:1000 !important;
    }

    body.admin-bar #sos-radio-app .sos-desktop-nav,
    body.admin-bar #sos-radio-app .sos-desktop-nav.is-scroll-fixed{
        top:32px !important;
    }
}


/* =========================================================
   CORR1 — Menú superior derecho por encima de navegación PC
   2026-08-22
   Corrección aislada: no modifica Push, PWA ni la navegación.
   El header solo sube su contexto de apilamiento mientras el
   menú de opciones está abierto. La barra principal conserva
   su comportamiento sticky al hacer scroll cuando está cerrado.
   ========================================================= */

@media (min-width:801px){
    #sos-radio-app .sos-header:has(.sos-header-options[aria-expanded="true"]){
        z-index:1001 !important;
    }

    #sos-radio-app .sos-header-options-panel{
        z-index:1002 !important;
    }
}


/* V2 — Información común sobre niveles de avisos. */
#sos-radio-app .sos-alert-level-info{
    margin-top:24px;
    border:1px solid #2b3a4c;
    border-radius:12px;
    background:#111d29;
    overflow:hidden;
}
#sos-radio-app .sos-alert-level-info summary{
    list-style:none;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:54px;
    padding:0 16px;
    cursor:pointer;
    color:#fff;
}
#sos-radio-app .sos-alert-level-info summary::-webkit-details-marker{display:none}
#sos-radio-app .sos-alert-level-info summary::after{
    content:'+';
    margin-left:auto;
    font-size:20px;
    font-weight:700;
    color:#aebed1;
}
#sos-radio-app .sos-alert-level-info[open] summary::after{content:'−'}
#sos-radio-app .sos-alert-level-info-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#26384b;
    color:#fff;
    font-size:14px;
    font-weight:700;
}
#sos-radio-app .sos-alert-level-info-body{
    padding:0 16px 18px;
    color:#c8d4e5;
    line-height:1.55;
}
#sos-radio-app .sos-alert-level-info-body > p:first-child{margin-top:0}
#sos-radio-app .sos-alert-level-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:14px 0;
}
#sos-radio-app .sos-alert-level-grid > div{
    padding:13px 14px;
    border-radius:10px;
    background:#172638;
}
#sos-radio-app .sos-alert-level-grid strong{color:#fff}
#sos-radio-app .sos-alert-level-grid p{
    margin:6px 0 0;
    font-size:.94rem;
}
#sos-radio-app .sos-level-dot{
    display:inline-block;
    width:12px;
    height:12px;
    margin-right:7px;
    border-radius:50%;
    vertical-align:-1px;
}
#sos-radio-app .sos-level-critical{background:#e53950}
#sos-radio-app .sos-level-high{background:#f28c18}
#sos-radio-app .sos-level-moderate{background:#4fa6e8}
#sos-radio-app .sos-level-info{background:#73b84a}
#sos-radio-app .sos-alert-level-sources{
    margin-bottom:0;
    font-size:.92rem;
}
@media(max-width:650px){
    #sos-radio-app .sos-alert-level-grid{grid-template-columns:1fr}
}

/* SOS Radio — aviso de notificaciones PC: solo escritorio */
@media (max-width: 800px){#sos-radio-app .sos-side-menu-note{display:none!important;}}

/* SOS Radio live stream player */
#sos-radio-app #sos-radio-player-status{margin:12px 0 0;font-size:.92rem;line-height:1.45;color:inherit;opacity:.82;text-align:center}
#sos-radio-app #sos-radio-audio{display:none}
#sos-radio-app #sos-radio-play{cursor:pointer}


/* SOS Radio player refresh: accessible play/pause and volume control. */
#sos-radio-app .sos-radio-card {
    display:flex; flex-direction:column; align-items:center; gap:12px;
    padding:clamp(24px,5vw,42px) 20px;
    background:radial-gradient(ellipse at 50% 0%, rgba(32,201,201,.12), transparent 58%), #101a25;
    border:1px solid rgba(32,201,201,.22); border-radius:22px;
    box-shadow:0 18px 48px rgba(0,0,0,.24);
}
#sos-radio-app .sos-radio-card h2 { margin:4px 0 0; font-size:clamp(22px,5vw,30px); }
#sos-radio-app .sos-radio-card > p { margin:0; line-height:1.55; }
#sos-radio-app .sos-play { margin:12px 0 4px !important; font-size:0 !important; cursor:pointer; transition:transform .16s ease, background .16s ease; }
#sos-radio-app .sos-play:active { transform:scale(.96); }
#sos-radio-app .sos-play[data-playing="true"]::before {
    content:"⏸" !important; width:auto !important; height:auto !important; margin:0 !important;
    border:0 !important; font:700 28px/1 Arial,sans-serif !important; color:#fff !important;
}
#sos-radio-app .sos-play[data-playing="false"]::before { margin-left:5px !important; }
#sos-radio-app .sos-radio-volume { width:min(100%,320px); display:grid; gap:9px; text-align:left; }
#sos-radio-app .sos-radio-volume label { display:flex; justify-content:space-between; color:#dce7ec; font-size:13px; font-weight:600; }
#sos-radio-app #sos-radio-volume { width:100%; margin:0; accent-color:#20c9c9; cursor:pointer; }
#sos-radio-app #sos-radio-player-status { min-height:1.5em; font-size:13px; }
