/* Canal Playa APP V3 · V400 limpia piloto
   Una pantalla activa, un solo scroll, sin acordeón viejo ni parches acumulados. */

:root{
  --sea:#037c92;
  --sea-dark:#03586d;
  --sea-soft:#e7f7fa;
  --ink:#123947;
  --muted:#607d8b;
  --sand:#fff7df;
  --card:rgba(255,255,255,.92);
  --line:rgba(3,105,125,.16);
  --shadow:0 16px 42px rgba(0,72,90,.16);
  --radius:24px;
}

*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,220,120,.35),transparent 26%),
    linear-gradient(180deg,#dff8fb 0%,#f7fcfd 45%,#fff8ea 100%);
  color:var(--ink);
  overflow:hidden;
}

button,input,select{font:inherit}
button{cursor:pointer}

.app-shell{
  height:100dvh;
  max-width:560px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  position:relative;
  background:linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,.18));
}

.topbar{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:calc(10px + env(safe-area-inset-top)) 12px 10px;
  background:linear-gradient(180deg,rgba(3,124,146,.98),rgba(3,88,109,.96));
  color:#fff;
  box-shadow:0 8px 24px rgba(0,60,78,.22);
  z-index:5;
}

.top-title{
  text-align:center;
  min-width:0;
}
.top-title strong{
  display:block;
  font-size:1rem;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.top-title small{
  display:block;
  font-size:.7rem;
  opacity:.85;
}

.ghost-btn{
  border:1px solid rgba(255,255,255,.34);
  background:rgba(255,255,255,.14);
  color:#fff;
  border-radius:999px;
  padding:8px 10px;
  font-weight:800;
  min-height:38px;
}
.ghost-btn.is-hidden{visibility:hidden;pointer-events:none}

.screen{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  padding:14px 13px 86px;
}

.footer{
  flex:0 0 auto;
  font-size:.68rem;
  line-height:1.25;
  color:#486773;
  text-align:center;
  padding:7px 14px calc(7px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.78);
  border-top:1px solid rgba(3,105,125,.12);
}

.hero{
  border-radius:28px;
  padding:18px 16px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(3,124,146,.95),rgba(0,168,188,.78)),
    radial-gradient(circle at 20% 0%,rgba(255,220,120,.50),transparent 28%);
  box-shadow:var(--shadow);
  margin-bottom:14px;
}
.hero h1{margin:0 0 7px;font-size:1.45rem;line-height:1.08}
.hero p{margin:0;color:rgba(255,255,255,.92);font-size:.93rem;line-height:1.38}

.blue-note{
  border-radius:20px;
  padding:11px 12px;
  background:linear-gradient(180deg,#e8f9fc,#d9f2f7);
  border:1px solid rgba(3,105,125,.18);
  color:#064f62;
  font-size:.86rem;
  line-height:1.34;
  margin:0 0 12px;
}
.blue-note strong{display:block;margin-bottom:3px;color:#034f62}

.menu-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.tile{
  border:1px solid rgba(3,105,125,.13);
  border-radius:23px;
  background:var(--card);
  padding:14px 11px;
  min-height:104px;
  text-align:left;
  color:var(--ink);
  box-shadow:0 8px 22px rgba(0,72,90,.08);
}
.tile span{display:block;font-size:1.55rem;margin-bottom:7px}
.tile strong{display:block;font-size:.94rem;line-height:1.12;color:#053f55}
.tile small{display:block;color:var(--muted);font-size:.72rem;line-height:1.23;margin-top:5px}

.section-title{
  margin:2px 0 10px;
}
.section-title h2{
  margin:0;
  font-size:1.25rem;
  line-height:1.15;
  color:#053f55;
}
.section-title p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.33;
}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:13px;
  margin:0 0 12px;
  box-shadow:0 9px 26px rgba(0,72,90,.08);
}
.card h3{margin:0 0 7px;font-size:1.02rem;color:#053f55;line-height:1.18}
.card h4{margin:12px 0 6px;font-size:.9rem;color:#03586d}
.card p{margin:6px 0;font-size:.88rem;line-height:1.38}
.card small{display:block;color:var(--muted);font-size:.75rem;line-height:1.3;margin-top:6px}

.notice-warn{background:linear-gradient(180deg,#fff6d9,#fffefa);border-color:rgba(210,150,0,.22)}
.notice-ok{background:linear-gradient(180deg,#e9fff8,#fff);border-color:rgba(0,135,100,.22)}

.badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:8px 0;
}
.badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:rgba(3,124,146,.09);
  border:1px solid rgba(3,105,125,.10);
  color:#064f62;
  padding:5px 8px;
  font-size:.72rem;
  font-weight:800;
  line-height:1.1;
}
.badge.green{background:#e9fff4;color:#06734f}
.badge.yellow{background:#fff7d6;color:#805b00}
.badge.red{background:#ffe8e8;color:#963a3a}
.badge.black{background:#eceff1;color:#263238}

.actions,.card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.link-btn,.primary-btn,.pill-btn,.fav-btn{
  border:0;
  border-radius:999px;
  padding:9px 12px;
  background:var(--sea);
  color:#fff;
  text-decoration:none;
  font-weight:900;
  font-size:.82rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
}
.link-btn.secondary,.pill-btn{
  background:rgba(3,124,146,.10);
  color:#03586d;
  border:1px solid rgba(3,105,125,.16);
}
.fav-btn.is-on{background:#f0b429;color:#2f2500}

.controls{
  display:grid;
  gap:9px;
  margin:0 0 12px;
}
.search{
  width:100%;
  border:1px solid rgba(3,105,125,.18);
  border-radius:16px;
  padding:11px 12px;
  background:#fff;
  color:var(--ink);
}
.filter-row,.island-row{
  display:flex;
  overflow-x:auto;
  gap:7px;
  padding-bottom:2px;
  scrollbar-width:none;
}
.filter-row::-webkit-scrollbar,.island-row::-webkit-scrollbar{display:none}
.pill-btn.active{background:var(--sea);color:#fff}

.beach-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.beach-head h3{margin-top:4px}
.score-pill{
  text-align:center;
  flex:0 0 auto;
  border-radius:18px;
  padding:8px 9px;
  min-width:86px;
  background:#e9fff4;
  border:1px solid rgba(0,135,100,.18);
}
.score-pill span{display:block;font-size:.62rem;color:var(--muted);font-weight:900;text-transform:uppercase}
.score-pill strong{display:block;font-size:.78rem;color:#06734f;line-height:1.1}

.status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:10px 0;
}
.status-item{
  border-radius:15px;
  padding:8px 7px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(3,105,125,.10);
  min-width:0;
}
.status-item span{
  display:block;
  font-size:.62rem;
  font-weight:900;
  color:var(--muted);
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.status-item strong{
  display:block;
  font-size:.78rem;
  line-height:1.16;
  color:#053f55;
  overflow-wrap:anywhere;
}

details{
  border-radius:18px;
  border:1px solid rgba(3,105,125,.12);
  background:rgba(255,255,255,.62);
  margin-top:10px;
  overflow:hidden;
}
summary{
  list-style:none;
  padding:11px 12px;
  cursor:pointer;
  color:#03586d;
  font-weight:900;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";
  width:24px;height:24px;border-radius:99px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(3,124,146,.10);
}
details[open] summary::after{content:"−"}
.details-body{padding:0 12px 12px}

.video-grid,.webcam-grid{
  display:grid;
  gap:12px;
}
.video-thumb{
  aspect-ratio:16/9;
  width:100%;
  border:0;
  border-radius:16px;
  overflow:hidden;
  background:#d9eef2;
}
.webcam-img,.parking-img{
  width:100%;
  max-height:48vh;
  object-fit:contain;
  display:block;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(3,105,125,.10);
}

.radio-box{
  background:linear-gradient(180deg,#052b3a,#064f62);
  color:#fff;
  border-radius:26px;
  padding:15px;
  box-shadow:var(--shadow);
}
.radio-title{font-size:1rem;font-weight:900}
.radio-meta{font-size:.78rem;color:rgba(255,255,255,.76);margin-top:4px}
.radio-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.radio-buttons button{background:#fff;color:#064f62;border:0;border-radius:999px;padding:10px 14px;font-weight:900}

.empty{
  padding:20px 14px;
  text-align:center;
  color:var(--muted);
  border:1px dashed rgba(3,105,125,.20);
  border-radius:20px;
  background:rgba(255,255,255,.6);
}

@media(max-width:430px){
  .screen{padding-left:10px;padding-right:10px}
  .menu-grid{gap:8px}
  .tile{min-height:98px;padding:12px 10px}
  .status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .top-title strong{font-size:.94rem}
  .ghost-btn{padding:7px 9px;font-size:.8rem}
}


/* V403 · Ayudas azules en Playas */
.beach-help-note{
  margin:8px 0 9px!important;
  padding:8px 10px!important;
  font-size:.79rem!important;
  line-height:1.28!important;
  border-radius:16px!important;
}
.beach-help-note strong{
  font-size:.74rem!important;
  letter-spacing:.01em;
}


/* V404 · El Tiempo más claro */
.weather-help-note{
  margin:10px 0 12px!important;
  padding:9px 10px!important;
  font-size:.82rem!important;
  line-height:1.3!important;
}
.weather-list .weather-card{
  border-color:rgba(3,105,125,.18)!important;
}
.weather-status-grid{
  margin-top:9px!important;
  margin-bottom:9px!important;
}
.weather-card-note{
  margin:7px 0 8px!important;
  padding:8px 10px!important;
  font-size:.78rem!important;
  line-height:1.26!important;
  border-radius:16px!important;
}
.weather-card-note strong{
  font-size:.73rem!important;
}


/* V405 · Aparcamientos más claro */
.parking-card{
  border-color:rgba(3,105,125,.18)!important;
}
.parking-help-note{
  margin:8px 0 10px!important;
  padding:9px 10px!important;
  font-size:.82rem!important;
  line-height:1.3!important;
}
.parking-status-box{
  border-radius:18px;
  padding:11px 12px;
  background:rgba(3,124,146,.08);
  border:1px solid rgba(3,105,125,.14);
  margin:6px 0 10px;
}
.parking-status-box strong{
  display:block;
  color:#03586d;
  font-size:.92rem;
}
.parking-status-box span{
  display:block;
  color:#607d8b;
  font-size:.8rem;
  line-height:1.3;
  margin-top:3px;
}
.parking-number-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:10px 0;
}
.parking-number-grid div{
  border-radius:16px;
  padding:10px 8px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(3,105,125,.12);
  text-align:center;
}
.parking-number-grid span{
  display:block;
  font-size:.64rem;
  font-weight:900;
  color:#607d8b;
  text-transform:uppercase;
  margin-bottom:4px;
}
.parking-number-grid strong{
  display:block;
  color:#053f55;
  font-size:.95rem;
  line-height:1.12;
  overflow-wrap:anywhere;
}
.parking-figure{
  margin:10px 0;
}
.parking-figure figcaption{
  color:#03586d;
  font-weight:900;
  font-size:.82rem;
  margin:0 0 6px;
}
@media(max-width:430px){
  .parking-number-grid{
    grid-template-columns:1fr;
  }
}


/* V406 · Avisos más claro */
.avisos-card{
  border-color:rgba(3,105,125,.18)!important;
}
.avisos-help-note{
  margin:8px 0 10px!important;
  padding:9px 10px!important;
  font-size:.82rem!important;
  line-height:1.3!important;
}
.avisos-source-grid{
  display:grid;
  gap:9px;
  margin:10px 0;
}
.avisos-source-card{
  display:block;
  text-decoration:none;
  color:#053f55;
  border-radius:18px;
  padding:11px 12px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(3,105,125,.14);
}
.avisos-source-card strong{
  display:block;
  color:#03586d;
  font-size:.92rem;
  margin-bottom:3px;
}
.avisos-source-card span{
  display:block;
  color:#607d8b;
  font-size:.8rem;
  line-height:1.3;
}
.avisos-risk-list{
  display:grid;
  gap:8px;
  margin:8px 0;
}
.avisos-risk-list div{
  border-radius:18px;
  padding:10px 11px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(3,105,125,.12);
}
.avisos-risk-list strong{
  display:block;
  color:#8a3b00;
  font-size:.88rem;
  margin-bottom:3px;
}
.avisos-risk-list span{
  display:block;
  color:#415f6b;
  font-size:.8rem;
  line-height:1.3;
}


/* V407 · Noticias más claro */
.news-card{
  border-color:rgba(3,105,125,.18)!important;
}
.news-help-note{
  margin:8px 0 10px!important;
  padding:9px 10px!important;
  font-size:.82rem!important;
  line-height:1.3!important;
}
.news-card .actions{
  margin-top:10px!important;
}


/* V408 · Mareas más claro */
.mareas-card{
  border-color:rgba(3,105,125,.18)!important;
}
.mareas-help-note{
  margin:8px 0 10px!important;
  padding:9px 10px!important;
  font-size:.82rem!important;
  line-height:1.3!important;
}
.mareas-source-grid{
  display:grid;
  gap:9px;
  margin:10px 0;
}
.mareas-source-card{
  display:block;
  text-decoration:none;
  color:#053f55;
  border-radius:18px;
  padding:11px 12px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(3,105,125,.14);
}
.mareas-source-card strong{
  display:block;
  color:#03586d;
  font-size:.92rem;
  margin-bottom:3px;
}
.mareas-source-card span{
  display:block;
  color:#607d8b;
  font-size:.8rem;
  line-height:1.3;
}
.mareas-risk-list{
  display:grid;
  gap:8px;
  margin:8px 0;
}
.mareas-risk-list div{
  border-radius:18px;
  padding:10px 11px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(3,105,125,.12);
}
.mareas-risk-list strong{
  display:block;
  color:#03586d;
  font-size:.88rem;
  margin-bottom:3px;
}
.mareas-risk-list span{
  display:block;
  color:#415f6b;
  font-size:.8rem;
  line-height:1.3;
}


/* V409 · TV más claro */
.tv-card{
  border-color:rgba(3,105,125,.18)!important;
}
.tv-help-note{
  margin:8px 0 10px!important;
  padding:9px 10px!important;
  font-size:.82rem!important;
  line-height:1.3!important;
}
.tv-category-list{
  display:grid;
  gap:12px;
}
.tv-video-item{
  border-radius:18px;
  padding:10px;
  margin:0 0 12px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(3,105,125,.12);
}
.tv-video-item h3{
  margin:8px 0 5px!important;
  font-size:.94rem!important;
}
.tv-video-item p{
  font-size:.82rem!important;
}
.tv-video-item .video-thumb{
  margin-top:6px;
}


/* V410 · Música más clara */
.music-v410-box{
  position:relative;
  overflow:hidden;
}
.music-v410-box::before{
  content:"";
  position:absolute;
  inset:-40% -20% auto auto;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  pointer-events:none;
}
.music-badges{
  margin-top:0!important;
  margin-bottom:12px!important;
}
.music-badges .badge{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
.music-current-label{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(255,255,255,.16);
  color:rgba(255,255,255,.86);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:8px;
}
.music-progress-note{
  color:rgba(255,255,255,.72);
  font-size:.78rem;
  margin-top:7px;
}
.music-card{
  border-color:rgba(3,105,125,.18)!important;
}
.music-help-note{
  margin:8px 0 10px!important;
  padding:9px 10px!important;
  font-size:.82rem!important;
  line-height:1.3!important;
}


/* V411 · Recupera La Radio + La Música + 30 mensajes */
.music-mode-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:10px 0 12px;
}
.music-mode-panel button{
  border:1px solid rgba(3,105,125,.18);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  padding:11px 9px;
  color:#04566b;
  text-align:left;
  box-shadow:0 8px 18px rgba(0,0,0,.05);
}
.music-mode-panel button strong{
  display:block;
  font-size:.9rem;
  margin-bottom:3px;
}
.music-mode-panel button span{
  display:block;
  font-size:.74rem;
  color:#607d8b;
  line-height:1.2;
}
.music-mode-panel button.active{
  background:linear-gradient(135deg,#057b95,#0aa1b7);
  color:#fff;
  border-color:transparent;
}
.music-mode-panel button.active span{
  color:rgba(255,255,255,.82);
}
.music-stat-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:10px 0;
}
.music-stat-grid span{
  border-radius:16px;
  padding:9px 7px;
  text-align:center;
  background:rgba(3,105,125,.06);
  border:1px solid rgba(3,105,125,.10);
}
.music-stat-grid strong{
  display:block;
  color:#03586d;
  font-size:1rem;
}
.music-stat-grid small{
  display:block;
  color:#607d8b;
  font-size:.7rem;
  line-height:1.15;
}
.music-style-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}
.music-style-btn{
  border:1px solid rgba(3,105,125,.16);
  border-radius:999px;
  padding:9px 8px;
  background:rgba(255,255,255,.88);
  color:#04566b;
  font-weight:800;
  font-size:.78rem;
}
.music-style-btn.active{
  background:#046f86;
  border-color:#046f86;
  color:#fff;
}
@media(max-width:390px){
  .music-style-grid{ grid-template-columns:1fr; }
  .music-mode-panel{ grid-template-columns:1fr; }
}


/* V412 · Música final: Canción Canal Playa + aleatorio + sin títulos internos */
.music-feature-card{
  border-color:rgba(255,138,42,.34)!important;
  background:linear-gradient(180deg,rgba(255,248,232,.96),rgba(255,255,255,.94))!important;
}
.cp-song-main-btn{
  background:linear-gradient(135deg,#ff8a2a,#ff6517)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 22px rgba(255,101,23,.18)!important;
}
.music-feature-card .badge{
  background:rgba(255,138,42,.10)!important;
  color:#8a4700!important;
  border-color:rgba(255,138,42,.18)!important;
}


/* V413 · Revisión general Playas + TV */
.tv-category-list details:not([open]) .details-body{
  display:none;
}


/* V415 · Portada pública real
   Reproduce la portada pública buena como pantalla de inicio,
   manteniendo el motor V3 limpio por debajo. */
body.is-home-v415{
  background:#0195b8!important;
  overflow:hidden;
}
body.is-home-v415 .topbar,
body.is-home-v415 .footer{
  display:none!important;
}
body.is-home-v415 .app-shell{
  min-height:100svh!important;
  height:100svh!important;
  max-width:480px!important;
  margin:0 auto!important;
  background:#0195b8!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.is-home-v415 .screen{
  padding:0!important;
  min-height:100svh!important;
  height:100svh!important;
  overflow:hidden!important;
}

.public-home-v415{
  position:relative;
  min-height:100svh;
  height:100svh;
  width:100%;
  overflow:hidden;
  background-image:url("assets/app-home-premium-v302.png");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
  isolation:isolate;
}

.home-hotspot{
  position:absolute;
  z-index:5;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  color:transparent;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  border-radius:28px;
  touch-action:manipulation;
}
.home-hotspot:focus-visible{
  outline:3px solid rgba(255,255,255,.72);
  outline-offset:3px;
  background:rgba(255,255,255,.10);
}

.home-menu-hotspot{
  left:4.2%;
  top:5.0%;
  width:10.5%;
  height:6.2%;
  border-radius:999px;
}
.home-lang-hotspot{
  right:5.0%;
  top:5.0%;
  width:24.5%;
  height:6.4%;
  border-radius:999px;
}

.home-main-hotspot{
  left:6.3%;
  width:87.4%;
  height:16.9%;
  border-radius:34px;
}
.home-radio-hotspot{ top:39.2%; }
.home-playas-hotspot{ top:57.0%; }
.home-tv-hotspot{ top:74.8%; }

.home-bottom-hotspot{
  bottom:0;
  height:12.4%;
  border-radius:0;
}
.home-live-hotspot{
  left:2.0%;
  width:31.5%;
}
.home-weather-hotspot{
  left:34.3%;
  width:31.4%;
}
.home-community-hotspot{
  right:2.0%;
  width:31.5%;
}

@media(min-width:481px){
  body.is-home-v415{
    background:linear-gradient(180deg,#006f83,#d9f8fb)!important;
  }
  body.is-home-v415 .app-shell{
    max-width:480px!important;
  }
}

@supports(height:100dvh){
  body.is-home-v415 .app-shell,
  body.is-home-v415 .screen,
  .public-home-v415{
    min-height:100dvh!important;
    height:100dvh!important;
  }
}


/* V416 · Portada pública con submenús reales */
.home-submenu-v416{
  position:absolute;
  left:5.5%;
  right:5.5%;
  top:31%;
  z-index:20;
  border-radius:32px;
  padding:18px 14px 14px;
  background:rgba(255,255,255,.94);
  box-shadow:0 20px 50px rgba(0,45,64,.32);
  border:1px solid rgba(255,255,255,.65);
  color:#053f55;
  backdrop-filter:blur(12px);
}
.home-submenu-v416 h2{
  margin:0 34px 4px 0;
  color:#053f55;
  font-size:1.28rem;
  line-height:1.05;
  letter-spacing:-.02em;
}
.home-submenu-v416 p{
  margin:0 34px 12px 0;
  color:#55727d;
  font-size:.82rem;
  line-height:1.25;
}
.home-submenu-close{
  position:absolute;
  right:12px;
  top:10px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:0;
  background:#eef8fa;
  color:#03586d;
  font-size:1.35rem;
  font-weight:900;
}
.home-submenu-grid{
  display:grid;
  gap:9px;
}
.home-submenu-grid.two{ grid-template-columns:1fr 1fr; }
.home-submenu-grid.six{ grid-template-columns:1fr 1fr; }
.home-submenu-grid.three{ grid-template-columns:1fr; }

.home-submenu-grid button{
  min-height:62px;
  border:1px solid rgba(3,105,125,.14);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#eefbfc);
  color:#053f55;
  text-align:left;
  padding:10px 11px;
  box-shadow:0 8px 18px rgba(0,72,90,.08);
}
.home-submenu-grid button strong{
  display:block;
  font-size:.9rem;
  line-height:1.05;
  margin-bottom:4px;
}
.home-submenu-grid button span{
  display:block;
  color:#607d8b;
  font-size:.72rem;
  line-height:1.18;
}
.home-submenu-grid button:active{
  transform:scale(.985);
}

.home-submenu-v416.radio{ top:35.5%; }
.home-submenu-v416.playas{ top:31.5%; }
.home-submenu-v416.tv{ top:42.5%; }
.home-submenu-v416.idiomas{ top:14.5%; }
.direct-card{ border-color:rgba(245,184,59,.30)!important; }
.direct-help-note{ margin:8px 0 10px!important; }

@media(max-width:390px){
  .home-submenu-v416{
    left:4.5%;
    right:4.5%;
    padding:16px 12px 12px;
  }
  .home-submenu-grid.two,
  .home-submenu-grid.six{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .home-submenu-grid button{
    min-height:58px;
    padding:9px 9px;
  }
  .home-submenu-grid button strong{ font-size:.82rem; }
  .home-submenu-grid button span{ font-size:.66rem; }
}


/* V417 · Submenús visuales Canal Playa */
.home-submenu-v416{display:none!important;}
.home-subscreen-v417{position:absolute;inset:0;z-index:30;overflow:hidden;padding:clamp(62px,8.6svh,82px) 6.1% 124px;color:#073f55;background:radial-gradient(circle at 18% 8%,rgba(255,255,255,.98),rgba(255,255,255,.40) 10%,transparent 24%),linear-gradient(180deg,rgba(5,166,212,.02),rgba(255,244,211,.18)),url("assets/app-home-premium-v302.png");background-size:cover;background-position:center top;animation:v417In .18s ease-out;}
@keyframes v417In{from{opacity:.15;transform:scale(1.012);}to{opacity:1;transform:scale(1);}}
.home-subscreen-v417::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.28) 44%,rgba(255,244,220,.48) 100%),radial-gradient(circle at 80% 28%,rgba(255,255,255,.20),transparent 20%);pointer-events:none;}
.subscreen-back-v417{position:absolute;top:4.7svh;left:5.4%;width:58px;height:58px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#063f55;font-size:2.25rem;line-height:1;font-weight:900;box-shadow:0 11px 30px rgba(0,50,74,.18);z-index:35;}
.subscreen-head-v417{display:flex;align-items:center;gap:15px;margin-top:13.6svh;margin-bottom:28px;}
.subscreen-icon-v417{width:88px;height:88px;flex:0 0 88px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:2.55rem;background:#fff;border:4px solid #075eae;box-shadow:0 12px 28px rgba(0,75,122,.22);}
.subscreen-head-v417 h2{margin:0 0 5px;font-size:clamp(2.2rem,8.8vw,3.1rem);line-height:.96;color:#0756b5;letter-spacing:-.055em;text-shadow:0 2px 0 rgba(255,255,255,.50),0 8px 18px rgba(0,92,132,.18);}
.subscreen-head-v417 p{margin:0;color:#063f55;font-size:clamp(1.02rem,4.2vw,1.38rem);font-weight:900;line-height:1.15;text-shadow:0 1px 0 rgba(255,255,255,.46);}
.subscreen-card-list-v417{display:grid;gap:18px;margin-top:8px;}
.subscreen-main-card-v417,.subscreen-mini-card-v417{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.55);color:#fff;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.50),inset 0 -12px 28px rgba(0,19,90,.16),0 16px 34px rgba(0,54,91,.28);touch-action:manipulation;}
.subscreen-main-card-v417::before,.subscreen-mini-card-v417::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% -8%,rgba(255,255,255,.44),transparent 28%),radial-gradient(circle at 90% 18%,rgba(255,255,255,.18),transparent 24%),linear-gradient(150deg,rgba(255,255,255,.16),transparent 33%);pointer-events:none;}
.subscreen-main-card-v417::after,.subscreen-mini-card-v417::after{content:"";position:absolute;left:18%;right:-12%;bottom:-35%;height:64%;border-radius:50%;background:rgba(0,27,99,.13);pointer-events:none;}
.subscreen-main-card-v417{min-height:140px;border-radius:34px;padding:22px 76px 20px 106px;display:flex;align-items:center;}
.subscreen-main-card-v417.blue{background:linear-gradient(135deg,#075ec7 0%,#013f9e 55%,#012f7f 100%);}.subscreen-main-card-v417.aqua{background:linear-gradient(135deg,#13d5d4 0%,#0291b4 55%,#04609e 100%);}.subscreen-main-card-v417.navy{background:linear-gradient(135deg,#0874d2 0%,#034ca5 55%,#012e75 100%);}
.subscreen-card-icon-v417{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:72px;height:72px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;color:#055eaa;font-size:2.1rem;box-shadow:0 9px 22px rgba(0,25,70,.22);z-index:2;}
.subscreen-card-text-v417{position:relative;z-index:2;display:block;}.subscreen-card-text-v417 strong{display:block;font-size:clamp(1.55rem,6.2vw,2.25rem);line-height:1.02;margin-bottom:7px;color:#fff;text-shadow:0 3px 10px rgba(0,26,73,.28);}.subscreen-card-text-v417 small{display:block;font-size:clamp(.95rem,3.8vw,1.25rem);line-height:1.15;font-weight:900;color:rgba(255,255,255,.94);text-shadow:0 2px 8px rgba(0,26,73,.18);}
.subscreen-arrow-v417{position:absolute;right:22px;top:50%;transform:translateY(-50%);width:58px;height:58px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.45rem;font-weight:800;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.30);box-shadow:inset 0 1px 0 rgba(255,255,255,.32),0 7px 14px rgba(0,23,76,.18);z-index:3;}
.subscreen-grid-v417{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px;margin-top:8px;}
.subscreen-mini-card-v417{min-height:126px;border-radius:28px;padding:17px 56px 14px 16px;}.subscreen-mini-card-v417.aqua{background:linear-gradient(135deg,#18d5d1 0%,#0196b7 56%,#006da3 100%);}.subscreen-mini-card-v417.aqua2{background:linear-gradient(135deg,#15d8cf 0%,#039db9 48%,#057fc0 100%);}.subscreen-mini-card-v417.blue{background:linear-gradient(135deg,#0e8ee8 0%,#065bb8 54%,#013a91 100%);}.subscreen-mini-card-v417.blue2{background:linear-gradient(135deg,#10bbdd 0%,#027bad 54%,#025894 100%);}.subscreen-mini-card-v417.teal{background:linear-gradient(135deg,#15cbc0 0%,#018f9e 54%,#016d88 100%);}
.subscreen-mini-icon-v417{position:relative;z-index:2;width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;color:#055eaa;font-size:1.75rem;box-shadow:0 8px 18px rgba(0,25,70,.20);margin-bottom:12px;}.subscreen-mini-card-v417 strong{position:relative;z-index:2;display:block;color:#fff;font-size:clamp(1.08rem,4.3vw,1.55rem);line-height:1.05;text-shadow:0 3px 10px rgba(0,26,73,.25);}.subscreen-mini-card-v417 .subscreen-arrow-v417{width:44px;height:44px;right:14px;font-size:1.9rem;}
.subscreen-bottom-v417{position:absolute;left:6.2%;right:6.2%;bottom:3.1svh;min-height:84px;border-radius:34px;display:grid;grid-template-columns:1fr 1fr 1fr;background:rgba(255,255,255,.95);box-shadow:0 14px 30px rgba(0,45,73,.20);overflow:hidden;z-index:34;}.subscreen-bottom-v417 button{border:0;background:transparent;color:#02869a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:900;font-size:.74rem;line-height:1;position:relative;}.subscreen-bottom-v417 button+button{border-left:1px solid rgba(3,105,125,.16);}.subscreen-bottom-v417 span{font-size:1.55rem;line-height:1;color:#0599aa;}.subscreen-bottom-v417 strong{color:#047f90;font-size:.74rem;letter-spacing:-.02em;}.subscreen-bottom-v417 button::before{content:"";position:absolute;top:10px;width:34px;height:4px;border-radius:999px;background:rgba(148,124,84,.50);}
.home-subscreen-v417.tv .subscreen-head-v417{margin-top:12.4svh;margin-bottom:23px;}.home-subscreen-v417.tv .subscreen-main-card-v417{min-height:118px;border-radius:30px;}.home-subscreen-v417.radio .subscreen-head-v417{margin-top:14svh;}.home-subscreen-v417.radio .subscreen-card-list-v417{margin-top:22px;}
@media(max-width:390px){.home-subscreen-v417{padding-left:5.2%;padding-right:5.2%;padding-bottom:112px;}.subscreen-head-v417{gap:12px;margin-top:12.4svh;margin-bottom:20px;}.subscreen-icon-v417{width:74px;height:74px;flex-basis:74px;font-size:2.15rem;}.subscreen-main-card-v417{min-height:122px;padding-left:92px;padding-right:66px;}.subscreen-card-icon-v417{width:60px;height:60px;left:17px;font-size:1.8rem;}.subscreen-arrow-v417{width:48px;height:48px;right:17px;}.subscreen-grid-v417{gap:10px;}.subscreen-mini-card-v417{min-height:112px;border-radius:24px;padding:14px 48px 12px 13px;}.subscreen-mini-icon-v417{width:48px;height:48px;font-size:1.5rem;margin-bottom:9px;}.subscreen-bottom-v417{min-height:76px;border-radius:30px;}}


/* V418 · Fondos propios para subventanas + copyright */
.home-subscreen-v417{
  background-image:none!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
}
.home-subscreen-v417.radio{
  background-image:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.18) 42%,rgba(255,243,218,.36) 100%),url("assets/bg-radio-v418.png")!important;
}
.home-subscreen-v417.playas{
  background-image:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.18) 42%,rgba(255,243,218,.34) 100%),url("assets/bg-playas-v418.png")!important;
}
.home-subscreen-v417.tv{
  background-image:linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.18) 42%,rgba(255,243,218,.34) 100%),url("assets/bg-tv-v418.png")!important;
}
.home-subscreen-v417::before{
  background:radial-gradient(circle at 16% 8%,rgba(255,255,255,.65),transparent 20%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.18) 46%,rgba(255,238,205,.26))!important;
}
.home-subscreen-v417 .subscreen-head-v417{position:relative;z-index:2;}
.home-copyright-v418{
  position:absolute;
  left:5.5%;
  right:5.5%;
  bottom:.55svh;
  z-index:36;
  text-align:center;
  color:rgba(4,56,73,.78);
  font-size:7.5px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:-.01em;
  text-shadow:0 1px 0 rgba(255,255,255,.70);
  pointer-events:none;
}
.home-subscreen-v417 + .home-copyright-v418{color:rgba(4,56,73,.82);}
body.is-home-v415 .footer{display:none!important;}
.subscreen-bottom-v417{bottom:3.25svh!important;}
@media(max-height:760px){
  .home-copyright-v418{font-size:6.5px;bottom:.35svh;}
  .subscreen-bottom-v417{bottom:2.8svh!important;}
}


/* V419 · Navegación, portada con aire, banderas y fondos realistas */
.home-radio-hotspot{ top:37.5%!important; }
.home-playas-hotspot{ top:54.7%!important; }
.home-tv-hotspot{ top:71.8%!important; }
.home-main-hotspot{ height:15.7%!important; }
.home-bottom-hotspot{ bottom:5.0%!important; height:10.7%!important; }
.home-copyright-v418{ bottom:1.12svh!important; font-size:8px!important; line-height:1.15!important; z-index:50!important; color:rgba(3,38,58,.90)!important; text-shadow:0 1px 0 rgba(255,255,255,.84)!important; }
.home-lang-panel-v419{ position:absolute; right:4.8%; top:12.6%; z-index:80; width:118px; border-radius:20px; padding:8px; background:rgba(255,255,255,.96); box-shadow:0 14px 34px rgba(0,45,70,.24); display:grid; gap:5px; }
.home-lang-panel-v419 button{ border:0; border-radius:14px; background:#eef9fb; color:#063f55; font-weight:900; padding:8px 9px; text-align:left; font-size:.86rem; }
.home-lang-panel-v419 button.active{ background:linear-gradient(135deg,#046f86,#05a2b8); color:#fff; }
.home-subscreen-v417.radio{ background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,238,207,.24)),url("assets/bg-radio-v419.png")!important; }
.home-subscreen-v417.playas{ background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,238,207,.22)),url("assets/bg-playas-v419.png")!important; }
.home-subscreen-v417.tv{ background-image:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,238,207,.22)),url("assets/bg-tv-v419.png")!important; }
.home-subscreen-v417{ padding-top:clamp(54px,7.4svh,74px)!important; padding-bottom:132px!important; }
.subscreen-head-v417{ margin-top:10.5svh!important; margin-bottom:20px!important; }
.subscreen-icon-v417{ width:76px!important; height:76px!important; flex-basis:76px!important; font-size:2.15rem!important; }
.subscreen-head-v417 h2{ font-size:clamp(2.0rem,7.5vw,2.75rem)!important; }
.subscreen-head-v417 p{ font-size:clamp(.96rem,3.65vw,1.18rem)!important; }
.subscreen-main-card-v417{ min-height:112px!important; border-radius:30px!important; padding-top:18px!important; padding-bottom:18px!important; }
.subscreen-card-list-v417{ gap:14px!important; }
.subscreen-card-icon-v417{ width:62px!important; height:62px!important; font-size:1.85rem!important; }
.subscreen-card-text-v417 strong{ font-size:clamp(1.34rem,5.35vw,1.85rem)!important; }
.subscreen-card-text-v417 small{ font-size:clamp(.84rem,3.2vw,1.02rem)!important; }
.subscreen-arrow-v417{ width:48px!important; height:48px!important; font-size:2rem!important; }
.subscreen-grid-v417{ gap:10px!important; }
.subscreen-mini-card-v417{ min-height:104px!important; border-radius:24px!important; }
.subscreen-mini-icon-v417{ width:46px!important; height:46px!important; font-size:1.45rem!important; margin-bottom:8px!important; }
.subscreen-mini-card-v417 strong{ font-size:clamp(.98rem,3.8vw,1.25rem)!important; }
.subscreen-mini-card-v417 .subscreen-arrow-v417{ width:38px!important; height:38px!important; font-size:1.55rem!important; }
.home-subscreen-v417.tv .subscreen-head-v417{ margin-top:8.4svh!important; margin-bottom:16px!important; }
.home-subscreen-v417.tv .subscreen-main-card-v417{ min-height:100px!important; border-radius:26px!important; }
.home-subscreen-v417.tv .subscreen-card-list-v417{ gap:12px!important; }
.subscreen-bottom-v417{ bottom:4.4svh!important; min-height:76px!important; border-radius:30px!important; }
.subscreen-bottom-v417 strong{ font-size:.68rem!important; }
.subscreen-bottom-v417 span{ font-size:1.35rem!important; }
.subscreen-back-v417{ top:3.8svh!important; width:54px!important; height:54px!important; }
@media(max-height:760px){ .home-radio-hotspot{ top:36.8%!important; } .home-playas-hotspot{ top:53.8%!important; } .home-tv-hotspot{ top:70.6%!important; } .home-main-hotspot{ height:15.2%!important; } .home-bottom-hotspot{ bottom:5.2%!important; height:10.4%!important; } .home-subscreen-v417{ padding-bottom:118px!important; } .subscreen-head-v417{ margin-top:9.2svh!important; margin-bottom:14px!important; } .subscreen-main-card-v417{ min-height:98px!important; } .subscreen-mini-card-v417{ min-height:94px!important; } .subscreen-bottom-v417{ bottom:4.2svh!important; min-height:70px!important; } .home-copyright-v418{ bottom:.95svh!important; font-size:6.7px!important; } }


/* V420 · Fix banderas + volver + TV */
.home-lang-hotspot{z-index:180!important;pointer-events:auto!important;}
.home-lang-panel-v419,.home-lang-panel-v420{position:absolute;right:4.8%;top:12.4%;z-index:220!important;width:118px;border-radius:20px;padding:8px;background:rgba(255,255,255,.97);box-shadow:0 14px 34px rgba(0,45,70,.26);display:grid;gap:5px;pointer-events:auto!important;}
.home-lang-panel-v419 button,.home-lang-panel-v420 button{border:0;border-radius:14px;background:#eef9fb;color:#063f55;font-weight:900;padding:8px 9px;text-align:left;font-size:.86rem;}
.home-lang-panel-v419 button.active,.home-lang-panel-v420 button.active{background:linear-gradient(135deg,#046f86,#05a2b8);color:#fff;}
.home-subscreen-v417.tv{padding-bottom:142px!important;}
.home-subscreen-v417.tv .subscreen-head-v417{margin-top:7.2svh!important;margin-bottom:10px!important;}
.home-subscreen-v417.tv .subscreen-card-list-v417{gap:8px!important;}
.home-subscreen-v417.tv .subscreen-main-card-v417{min-height:82px!important;max-height:90px!important;border-radius:24px!important;padding-top:11px!important;padding-bottom:11px!important;padding-left:86px!important;padding-right:58px!important;}
.home-subscreen-v417.tv .subscreen-card-icon-v417{width:52px!important;height:52px!important;left:18px!important;font-size:1.5rem!important;}
.home-subscreen-v417.tv .subscreen-card-text-v417 strong{font-size:clamp(1.12rem,4.4vw,1.48rem)!important;margin-bottom:1px!important;}
.home-subscreen-v417.tv .subscreen-card-text-v417 small{font-size:clamp(.72rem,2.8vw,.88rem)!important;line-height:1.03!important;}
.home-subscreen-v417.tv .subscreen-arrow-v417{width:40px!important;height:40px!important;right:14px!important;font-size:1.62rem!important;}
.home-subscreen-v417.tv .subscreen-bottom-v417{bottom:4.9svh!important;min-height:68px!important;}
.subscreen-bottom-v417{bottom:4.9svh!important;}
.home-copyright-v418{z-index:230!important;}
@media(max-height:760px){.home-subscreen-v417.tv .subscreen-head-v417{margin-top:6.2svh!important;margin-bottom:7px!important;}.home-subscreen-v417.tv .subscreen-main-card-v417{min-height:74px!important;max-height:80px!important;}.home-subscreen-v417.tv .subscreen-card-list-v417{gap:6px!important;}}


/* V421 · Fix definitivo volver a submenú padre */
.subscreen-back-v417{z-index:240!important;}


/* V422 · Idiomas reales básicos portada/submenús */
.home-i18n-labels-v422{pointer-events:none;position:absolute;inset:0;z-index:42;}
.home-i18n-labels-v422 .i18n-main{position:absolute;left:27%;right:20%;text-align:center;color:#fff;font-weight:1000;letter-spacing:.04em;font-size:clamp(1.45rem,7.2vw,2.35rem);line-height:1;text-shadow:0 3px 10px rgba(0,36,80,.45);text-transform:uppercase;}
.home-i18n-labels-v422 .i18n-radio{top:43.1%;}.home-i18n-labels-v422 .i18n-playas{top:60.3%;}.home-i18n-labels-v422 .i18n-tv{top:77.7%;}
.home-i18n-labels-v422 .i18n-bottom{position:absolute;bottom:6.1%;width:31%;text-align:center;color:#007f93;font-weight:1000;font-size:clamp(.58rem,2.7vw,.86rem);line-height:1;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.75);}
.home-i18n-labels-v422 .i18n-live{left:2%;}.home-i18n-labels-v422 .i18n-weather{left:34.5%;}.home-i18n-labels-v422 .i18n-community{right:2%;}
.home-lang-active-v422{position:absolute;right:4.8%;top:12.2%;z-index:70;border-radius:999px;padding:5px 8px;color:#074b5e;background:rgba(255,255,255,.78);font-size:.62rem;font-weight:900;box-shadow:0 7px 18px rgba(0,45,70,.13);pointer-events:none;}
.home-lang-panel-v420 button.active{outline:2px solid rgba(3,105,125,.25);}
.home-i18n-labels-v422.es{opacity:0;}
.home-i18n-labels-v422.de .i18n-main,.home-i18n-labels-v422.pt .i18n-main,.home-i18n-labels-v422.it .i18n-main{font-size:clamp(1.12rem,5.7vw,1.85rem);} 
.home-i18n-labels-v422.fr .i18n-main{font-size:clamp(1.22rem,6.1vw,1.95rem);} 
.home-i18n-labels-v422.de .i18n-bottom,.home-i18n-labels-v422.pt .i18n-bottom,.home-i18n-labels-v422.it .i18n-bottom,.home-i18n-labels-v422.fr .i18n-bottom{font-size:clamp(.48rem,2.25vw,.68rem);} 
@media(max-height:760px){.home-lang-active-v422{top:11.8%;font-size:.55rem;}}


/* V423 · Idiomas limpios: sin aviso y sin textos montados */
.home-lang-active-v422{display:none!important;}
.home-lang-display-v423{
  position:absolute;right:4.6%;top:5.1%;z-index:150;min-width:102px;height:48px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;background:rgba(255,255,255,.96);
  color:#073f55;font-weight:1000;font-size:1.02rem;box-shadow:0 12px 26px rgba(0,45,70,.22);pointer-events:none;
}
.home-lang-hotspot{z-index:180!important;pointer-events:auto!important;}
.home-lang-panel-v420{top:11.3%!important;z-index:220!important;}
.home-i18n-labels-v422.es{display:none!important;}
.home-i18n-labels-v422:not(.es){opacity:1!important;z-index:46!important;}
.home-i18n-labels-v422:not(.es) .i18n-main{
  display:flex;align-items:center;justify-content:center;left:30.5%!important;right:18.5%!important;height:54px;border-radius:18px;
  padding:0 10px;background:linear-gradient(135deg,rgba(0,72,154,.96),rgba(0,138,166,.92));color:#fff!important;
  font-size:clamp(1.15rem,5.2vw,1.72rem)!important;text-shadow:0 2px 8px rgba(0,24,68,.35)!important;
  box-shadow:0 9px 20px rgba(0,40,90,.22), inset 0 1px 0 rgba(255,255,255,.22);letter-spacing:.02em!important;
}
.home-i18n-labels-v422:not(.es) .i18n-radio{top:42.8%!important;}
.home-i18n-labels-v422:not(.es) .i18n-playas{top:60.0%!important;}
.home-i18n-labels-v422:not(.es) .i18n-tv{top:77.35%!important;}
.home-i18n-labels-v422:not(.es) .i18n-bottom{
  bottom:5.55%!important;height:24px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.94);
  color:#007f93!important;box-shadow:0 4px 12px rgba(0,45,70,.12);text-shadow:none!important;padding:0 4px;
  font-size:clamp(.48rem,2.18vw,.68rem)!important;
}
.home-i18n-labels-v422.de .i18n-main,.home-i18n-labels-v422.pt .i18n-main,.home-i18n-labels-v422.it .i18n-main,.home-i18n-labels-v422.fr .i18n-main{font-size:clamp(.96rem,4.7vw,1.45rem)!important;}
@media(max-width:390px){
  .home-lang-display-v423{min-width:92px;height:44px;font-size:.92rem;right:4.2%;}
  .home-i18n-labels-v422:not(.es) .i18n-main{left:31%!important;right:18%!important;height:48px;font-size:clamp(.92rem,4.4vw,1.34rem)!important;}
  .home-i18n-labels-v422:not(.es) .i18n-bottom{font-size:clamp(.42rem,2vw,.58rem)!important;}
}


/* V424 · Idiomas sin pastillas superpuestas */
.home-i18n-labels-v422,
.home-lang-active-v422,
.home-lang-display-v423{
  display:none!important;
}
.home-lang-hotspot{
  z-index:240!important;
  pointer-events:auto!important;
}
.home-lang-panel-v420{
  top:11.2%!important;
  right:4.8%!important;
  z-index:280!important;
  width:118px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 14px 34px rgba(0,45,70,.28)!important;
}
.subscreen-mini-card-v417 strong{
  font-size:clamp(.86rem,3.45vw,1.16rem)!important;
}
.subscreen-card-text-v417 strong{
  font-size:clamp(1.10rem,4.55vw,1.52rem)!important;
}
.subscreen-card-text-v417 small{
  font-size:clamp(.72rem,2.85vw,.90rem)!important;
}


/* V425 · Bandera visual dinámica sin duplicar */
.home-lang-display-v425{
  position:absolute;
  right:3.6%;
  top:4.85%;
  z-index:150;
  width:132px;
  height:56px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#fff;
  color:#073f55;
  font-weight:1000;
  font-size:1.02rem;
  box-shadow:0 12px 28px rgba(0,45,70,.24);
  pointer-events:none;
}
.home-lang-hotspot{
  z-index:190!important;
  right:3.6%!important;
  top:4.85%!important;
  width:132px!important;
  height:56px!important;
  pointer-events:auto!important;
}
.home-lang-panel-v420{
  top:11.6%!important;
  right:4.2%!important;
  z-index:230!important;
}
.home-lang-display-v423,
.home-lang-active-v422{
  display:none!important;
}
@media(max-width:390px){
  .home-lang-display-v425{
    width:116px;
    height:50px;
    right:3.4%;
    top:4.9%;
    font-size:.92rem;
  }
  .home-lang-hotspot{
    width:116px!important;
    height:50px!important;
    right:3.4%!important;
    top:4.9%!important;
  }
}
\n\n/* V426 · Portadas separadas por idioma */
.home-lang-display-v425,.home-i18n-labels-v422,.home-lang-active-v422{display:none!important;}
.public-home-v426{position:relative;min-height:100svh;height:100svh;overflow:hidden;padding:6.5svh 6.2% 10.8svh;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,244,220,.28)),url("assets/bg-playas-v419.png");background-size:cover;background-position:center top;color:#063f55;}
.public-home-v426::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 7%,rgba(255,255,255,.58),transparent 19%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.12) 45%,rgba(255,235,196,.20));pointer-events:none;}
.home-menu-real-v426,.home-lang-real-v426{position:absolute;z-index:30;top:4.7svh;border:0;background:#fff;color:#073f55;box-shadow:0 12px 28px rgba(0,45,70,.22);font-weight:1000;}
.home-menu-real-v426{left:5%;width:58px;height:58px;border-radius:999px;font-size:1.55rem;}
.home-lang-real-v426{right:5%;min-width:118px;height:52px;border-radius:999px;padding:0 15px;font-size:1rem;}
.home-logo-real-v426{position:relative;z-index:2;text-align:center;margin-top:8.5svh;color:#073f55;text-shadow:0 2px 0 rgba(255,255,255,.45);}
.logo-badge-v426{width:92px;height:92px;margin:0 auto 10px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:3rem;background:#fff;border:4px solid #075eae;box-shadow:0 14px 28px rgba(0,65,105,.22);}
.home-logo-real-v426 strong{display:block;color:#063f8f;font-size:clamp(2.25rem,10vw,3.55rem);line-height:.86;letter-spacing:-.055em;}
.home-logo-real-v426 span{display:block;max-width:310px;margin:10px auto 0;color:#063f55;font-size:.95rem;font-weight:900;line-height:1.2;}
.home-maincards-real-v426{position:relative;z-index:2;display:grid;gap:12px;margin-top:3.5svh;}
.home-card-real-v426{position:relative;min-height:118px;border:1px solid rgba(255,255,255,.50);border-radius:30px;padding:15px 64px 15px 98px;color:#fff;text-align:left;display:flex;align-items:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 16px 34px rgba(0,54,91,.28);overflow:hidden;}
.home-card-real-v426.blue{background:linear-gradient(135deg,#075ec7 0%,#013f9e 55%,#012f7f 100%);}.home-card-real-v426.aqua{background:linear-gradient(135deg,#13d5d4 0%,#0291b4 55%,#04609e 100%);}
.home-card-real-v426 .icon{position:absolute;left:18px;width:64px;height:64px;border-radius:999px;background:#fff;color:#075eae;display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:0 9px 22px rgba(0,25,70,.22);}
.home-card-real-v426 strong{display:block;color:#fff;font-size:clamp(1.45rem,6vw,2rem);line-height:1.02;text-transform:uppercase;}
.home-card-real-v426 small{display:block;color:rgba(255,255,255,.92);margin-top:5px;font-size:.83rem;line-height:1.18;font-weight:800;}
.home-card-real-v426 b{position:absolute;right:16px;width:48px;height:48px;border-radius:999px;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;}
.home-bottom-real-v426{position:absolute;left:6.2%;right:6.2%;bottom:3.8svh;z-index:28;min-height:76px;border-radius:30px;background:rgba(255,255,255,.95);display:grid;grid-template-columns:1fr 1fr 1fr;overflow:hidden;box-shadow:0 14px 30px rgba(0,45,73,.20);}
.home-bottom-real-v426 button{border:0;background:transparent;color:#047f90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:1000;font-size:.7rem;}.home-bottom-real-v426 button + button{border-left:1px solid rgba(3,105,125,.16);}.home-bottom-real-v426 span{font-size:1.45rem;}
.public-home-v426 .home-copyright-v418{bottom:.75svh!important;color:rgba(3,38,58,.90)!important;z-index:60!important;}.public-home-v426 .home-lang-panel-v420{top:11.4svh!important;right:5%!important;}
@media(max-height:760px){.public-home-v426{padding-top:5.5svh}.home-logo-real-v426{margin-top:6.7svh}.logo-badge-v426{width:78px;height:78px;font-size:2.4rem;margin-bottom:7px}.home-logo-real-v426 strong{font-size:clamp(1.9rem,8.4vw,2.85rem)}.home-logo-real-v426 span{font-size:.78rem;margin-top:6px}.home-maincards-real-v426{gap:9px;margin-top:2.5svh}.home-card-real-v426{min-height:96px;border-radius:24px;padding-left:82px}.home-card-real-v426 .icon{width:52px;height:52px;font-size:1.65rem}.home-card-real-v426 strong{font-size:clamp(1.16rem,5vw,1.55rem)}.home-card-real-v426 small{font-size:.72rem}.home-bottom-real-v426{min-height:68px;bottom:3.9svh}}


/* V427 · Portadas internacionales premium */
.public-home-v426{padding:5.4svh 5.5% 10.5svh!important;background:radial-gradient(circle at 16% 10%,rgba(255,255,255,.72),transparent 17%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,244,217,.20) 60%,rgba(255,228,181,.20)),url("assets/bg-playas-v419.png")!important;background-size:cover!important;background-position:center top!important;}
.public-home-v426::before{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.07) 44%,rgba(255,244,220,.22)),radial-gradient(circle at 82% 26%,rgba(18,210,220,.18),transparent 24%)!important;}
.home-menu-real-v426{left:4.8%!important;top:4.2svh!important;width:54px!important;height:54px!important;font-size:1.38rem!important;}
.home-lang-real-v426{right:4.8%!important;top:4.2svh!important;min-width:112px!important;height:50px!important;font-size:.95rem!important;}
.home-logo-real-v426{margin-top:6.8svh!important;}
.logo-badge-v426{width:84px!important;height:84px!important;margin-bottom:8px!important;border:4px solid #0664c8!important;background:radial-gradient(circle at 35% 25%,#ffffff 0%,#ffffff 45%,#e9fbff 100%)!important;}
.home-logo-real-v426 strong{font-size:clamp(2.05rem,9.2vw,3.2rem)!important;letter-spacing:-.06em!important;}
.home-logo-real-v426 span{max-width:330px!important;margin-top:7px!important;padding:8px 13px!important;border-radius:999px!important;background:rgba(255,255,255,.78)!important;box-shadow:0 10px 24px rgba(0,57,90,.12)!important;font-size:.82rem!important;}
.home-maincards-real-v426{gap:10px!important;margin-top:2.6svh!important;}
.home-card-real-v426{min-height:104px!important;border-radius:28px!important;padding:13px 58px 13px 88px!important;border:1px solid rgba(255,255,255,.58)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 14px 30px rgba(0,54,91,.25)!important;}
.home-card-real-v426 .icon{left:17px!important;width:56px!important;height:56px!important;font-size:1.78rem!important;}
.home-card-real-v426 strong{font-size:clamp(1.28rem,5.3vw,1.78rem)!important;letter-spacing:-.02em!important;}
.home-card-real-v426 small{font-size:.75rem!important;line-height:1.13!important;max-width:245px!important;}
.home-card-real-v426 b{right:14px!important;width:42px!important;height:42px!important;font-size:1.7rem!important;}
.home-bottom-real-v426{left:5.5%!important;right:5.5%!important;bottom:3.45svh!important;min-height:70px!important;border-radius:28px!important;}
.home-bottom-real-v426 span{font-size:1.32rem!important;}
.home-bottom-real-v426 button{font-size:.66rem!important;}
.public-home-v426 .home-lang-panel-v420{top:10.8svh!important;right:4.9%!important;}
.public-home-v426 .home-subscreen-v417{top:8.7svh!important;bottom:3.2svh!important;}
.public-home-v426 .subscreen-head-v417{margin-bottom:10px!important;}
.public-home-v426 .subscreen-card-list-v417{gap:10px!important;}
.public-home-v426 .subscreen-main-card-v417{min-height:86px!important;}
.public-home-v426 .subscreen-grid-v417{gap:9px!important;}
.public-home-v426 .subscreen-mini-card-v417{min-height:70px!important;}
.public-home-v426 .subscreen-bottom-v417{bottom:12px!important;}
@media(max-height:760px){.home-logo-real-v426{margin-top:5.4svh!important}.logo-badge-v426{width:68px!important;height:68px!important;font-size:2.1rem!important}.home-logo-real-v426 strong{font-size:clamp(1.72rem,7.6vw,2.55rem)!important}.home-logo-real-v426 span{font-size:.68rem!important;padding:6px 10px!important}.home-card-real-v426{min-height:86px!important;border-radius:23px!important;padding-left:74px!important}.home-card-real-v426 .icon{width:48px!important;height:48px!important;font-size:1.45rem!important}.home-card-real-v426 strong{font-size:clamp(1.05rem,4.7vw,1.42rem)!important}.home-card-real-v426 small{font-size:.65rem!important}.home-bottom-real-v426{min-height:62px!important}}


/* V427D · Encaje capa superior sin rediseñar
   Solo sube la capa del submenú y oculta la base que queda detrás. */
.public-home-v426:has(.home-subscreen-v417){overflow:hidden!important;}

/* Subir la capa completa para que cubra la home de detrás */
.public-home-v426 .home-subscreen-v417{
  top:0!important;
  bottom:0!important;
  left:0!important;
  right:0!important;
  z-index:120!important;
}

/* Mantener la capa limpia arriba */
.public-home-v426 .home-subscreen-v417::before{
  inset:0!important;
  z-index:0!important;
}
.public-home-v426 .home-subscreen-v417::after{display:none!important;}

/* El contenido del submenú queda por encima, sin cambiar estructura */
.public-home-v426 .subscreen-back-v417,
.public-home-v426 .subscreen-head-v417,
.public-home-v426 .subscreen-card-list-v417,
.public-home-v426 .subscreen-grid-v417,
.public-home-v426 .subscreen-bottom-v417{
  position:relative!important;
  z-index:2!important;
}

/* Ocultar solo la capa de fondo que quedaba detrás para eliminar dobles */
.public-home-v426:has(.home-subscreen-v417) .home-logo-real-v426,
.public-home-v426:has(.home-subscreen-v417) .home-maincards-real-v426,
.public-home-v426:has(.home-subscreen-v417) .home-bottom-real-v426,
.public-home-v426:has(.home-subscreen-v417) .home-menu-real-v426{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* La bandera debe seguir operativa por encima */
.public-home-v426:has(.home-subscreen-v417) .home-lang-real-v426,
.public-home-v426:has(.home-subscreen-v417) .home-lang-panel-v420{
  z-index:260!important;
}

/* El copyright no se duplica detrás del pie */
.public-home-v426:has(.home-subscreen-v417) .home-copyright-v418{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}


/* V427G · SOLO PIE ABAJO
   Base: V427D.
   No toca la cabecera Beaches.
   No toca la rejilla de 6 botones.
   No toca tamaño, iconos, fondos ni tarjetas.
   Solo baja el pie flotante LIVE / WEATHER / COMMUNITY en PLAYAS internacional. */

.public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
  bottom:-2.4svh!important;
  transform:none!important;
  z-index:80!important;
}

/* En pantallas con poca altura, bajarlo también pero sin tocar los 6 botones */
@media(max-height:760px){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    bottom:-2.8svh!important;
    transform:none!important;
  }
}


/* V427H · SOLO PIE A CAJA Y SIN CORTE
   Base: V427G.
   No toca Beaches.
   No toca los 6 botones.
   No toca iconos, tamaños, fondo ni tarjetas.
   Solo corrige el pie flotante LIVE / WEATHER / COMMUNITY:
   - lo mete a caja con los botones
   - evita que se corte abajo en móvil/navegador
*/

.public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
  position:absolute!important;
  left:5.2%!important;
  right:5.2%!important;
  width:auto!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  bottom:calc(0.8svh + env(safe-area-inset-bottom, 0px))!important;
  transform:none!important;
  z-index:120!important;
  box-sizing:border-box!important;
}

/* Que el pie no cree doble desplazamiento ni se salga del contenedor */
.public-home-v426 .home-subscreen-v417.playas{
  padding-bottom:132px!important;
  overflow:hidden!important;
}

/* En pantallas bajas o con barra del navegador, subirlo un poco para que no quede cortado */
@media(max-height:760px){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    left:5.2%!important;
    right:5.2%!important;
    bottom:calc(1.15svh + env(safe-area-inset-bottom, 0px))!important;
  }
}


/* V427I · Ajuste SOLO móvil real del pie
   En PC V427H se ve bien: no lo tocamos.
   En teléfono/navegador el pie queda demasiado alto y pisa Alerts/News.
   Solo para dispositivos táctiles reales:
   - baja el pie
   - lo centra a caja
   - no toca los 6 botones ni Beaches
*/

@media (hover:none) and (pointer:coarse){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    left:5.4%!important;
    right:5.4%!important;
    bottom:calc(-4.2svh + env(safe-area-inset-bottom, 0px))!important;
    transform:none!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    z-index:120!important;
  }

  .public-home-v426 .home-subscreen-v417.playas{
    padding-bottom:118px!important;
  }
}

/* En móviles muy altos, bajar un poco más porque hay más recorrido visual */
@media (hover:none) and (pointer:coarse) and (min-height:820px){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    bottom:calc(-5.2svh + env(safe-area-inset-bottom, 0px))!important;
  }
}

/* En móviles bajos, no lo hundimos tanto para que no desaparezca */
@media (hover:none) and (pointer:coarse) and (max-height:760px){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    bottom:calc(-3.2svh + env(safe-area-inset-bottom, 0px))!important;
  }
}


/* V427J · SUBIR BLOQUE CENTRAL / MANTENER PIE
   Base: V427I.
   Objetivo:
   - Subir únicamente el bloque central de PLAYAS internacional.
   - Mantener el pie LIVE / WEATHER / COMMUNITY como quedó en V427I.
   - No cambiar tamaños, iconos, fondos ni estructura.
*/

/* Móvil real: subir cabecera Beaches + 6 botones */
@media (hover:none) and (pointer:coarse){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-head-v417,
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-grid-v417{
    transform:translateY(-38px)!important;
  }

  /* Subir también la flecha de volver para que acompañe el bloque */
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-back-v417{
    transform:translateY(-18px)!important;
  }

  /* El pie se mantiene igual que en V427I */
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    bottom:calc(-4.2svh + env(safe-area-inset-bottom, 0px))!important;
    transform:none!important;
  }
}

/* Móviles altos: un poco más de subida, porque en la captura el bloque queda claramente bajo */
@media (hover:none) and (pointer:coarse) and (min-height:820px){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-head-v417,
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-grid-v417{
    transform:translateY(-44px)!important;
  }

  .public-home-v426 .home-subscreen-v417.playas > .subscreen-back-v417{
    transform:translateY(-20px)!important;
  }

  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    bottom:calc(-5.2svh + env(safe-area-inset-bottom, 0px))!important;
    transform:none!important;
  }
}

/* Móviles bajos: menos subida para evitar corte arriba */
@media (hover:none) and (pointer:coarse) and (max-height:760px){
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-head-v417,
  .public-home-v426 .home-subscreen-v417.playas > .subscreen-grid-v417{
    transform:translateY(-30px)!important;
  }

  .public-home-v426 .home-subscreen-v417.playas > .subscreen-back-v417{
    transform:translateY(-14px)!important;
  }

  .public-home-v426 .home-subscreen-v417.playas > .subscreen-bottom-v417{
    bottom:calc(-3.2svh + env(safe-area-inset-bottom, 0px))!important;
    transform:none!important;
  }
}


/* V428B · FONDOS LIMPIOS SIN CAPA INTERMEDIA
   Base estable: V427J BLOQUE ARRIBA OK.
   Corrección: los fondos anteriores venían de una maqueta con botones horneados.
   Esta versión usa fotos limpias, sin interfaz dentro.
   No cambia estructura, tamaños, botones, iconos, pie, idiomas ni navegación.
*/

/* Submenús de portada: solo sustituimos la imagen de fondo */
.home-subscreen-v417.radio{
  background-image:
    linear-gradient(180deg,rgba(5,35,70,.04),rgba(255,120,30,.14) 48%,rgba(20,45,75,.26)),
    url("assets/bg-radio-clean-v428b.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
}

.home-subscreen-v417.playas{
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,145,175,.08) 48%,rgba(255,229,190,.18)),
    url("assets/bg-playas-clean-v428b.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
}

.home-subscreen-v417.tv{
  background-image:
    linear-gradient(180deg,rgba(0,35,78,.06),rgba(0,55,110,.12) 48%,rgba(0,22,60,.24)),
    url("assets/bg-tv-clean-v428b.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
}

/* Pantallas internas: fondo limpio visible en espacios libres */
body[data-route="radio"] .screen{
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,120,35,.12),rgba(5,35,70,.18)),
    url("assets/bg-radio-clean-v428b.jpg") center center / cover no-repeat!important;
}

body[data-route="playas"] .screen,
body[data-route="mareas"] .screen,
body[data-route="parking"] .screen,
body[data-route="avisos"] .screen,
body[data-route="noticias"] .screen{
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,145,175,.08),rgba(255,229,190,.14)),
    url("assets/bg-playas-clean-v428b.jpg") center center / cover no-repeat!important;
}

body[data-route="tv"] .screen,
body[data-route="directo"] .screen{
  background:
    linear-gradient(180deg,rgba(0,35,78,.05),rgba(0,55,110,.10),rgba(0,22,60,.20)),
    url("assets/bg-tv-clean-v428b.jpg") center center / cover no-repeat!important;
}

body[data-route="webcams"] .screen{
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,145,175,.08),rgba(255,229,190,.14)),
    url("assets/bg-webcams-clean-v428b.jpg") center center / cover no-repeat!important;
}

/* Conservamos legibilidad sin crear botones duplicados */
body[data-route="radio"] .card,
body[data-route="playas"] .card,
body[data-route="mareas"] .card,
body[data-route="parking"] .card,
body[data-route="avisos"] .card,
body[data-route="noticias"] .card,
body[data-route="tv"] .card,
body[data-route="directo"] .card,
body[data-route="webcams"] .card{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(7px);
}

body[data-route="radio"] .section-title,
body[data-route="playas"] .section-title,
body[data-route="mareas"] .section-title,
body[data-route="parking"] .section-title,
body[data-route="avisos"] .section-title,
body[data-route="noticias"] .section-title,
body[data-route="tv"] .section-title,
body[data-route="directo"] .section-title,
body[data-route="webcams"] .section-title{
  background:rgba(255,255,255,.88)!important;
  border-radius:24px!important;
  padding:16px 16px!important;
  box-shadow:0 12px 30px rgba(0,54,91,.14)!important;
}

/* Canal Playa APP V3 · V428C Patrocinios con logos */
.sponsors-card-v428c{
  border-color:rgba(3,105,125,.18);
}
.sponsor-grid-v428c{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:11px 0 8px;
}
.sponsor-item-v428c{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:82px;
  padding:10px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(240,250,252,.92));
  border:1px solid rgba(3,105,125,.13);
  box-shadow:0 8px 20px rgba(0,72,90,.07);
}
.sponsor-logo-box-v428c{
  flex:0 0 126px;
  width:126px;
  height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px;
  border-radius:17px;
  background:#fff;
  border:1px solid rgba(3,105,125,.11);
  overflow:hidden;
}
.sponsor-logo-v428c{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:56px;
  object-fit:contain;
}
.sponsor-logo-cicar-v428c{max-height:60px;}
.sponsor-logo-planeta-v428c{max-height:62px;}
.sponsor-logo-canariaslife-v428c{max-width:112px;max-height:44px;}
.sponsor-item-v428c strong{
  display:block;
  color:#053f55;
  font-size:.95rem;
  line-height:1.1;
}
.sponsor-item-v428c span{
  display:block;
  color:#607d8b;
  font-size:.76rem;
  font-weight:800;
  line-height:1.18;
  margin-top:3px;
}
@media(max-width:390px){
  .sponsor-item-v428c{gap:10px;padding:9px;min-height:76px;}
  .sponsor-logo-box-v428c{flex-basis:108px;width:108px;height:60px;padding:6px;}
  .sponsor-logo-v428c{max-height:50px;}
  .sponsor-logo-planeta-v428c{max-height:54px;}
  .sponsor-logo-canariaslife-v428c{max-width:96px;max-height:38px;}
  .sponsor-item-v428c strong{font-size:.88rem;}
  .sponsor-item-v428c span{font-size:.70rem;}
}


/* Canal Playa APP V3 · V428D Contacto activo */
.contact-card-v428d{
  border-color:rgba(3,105,125,.18);
}
.contact-form-v428d{
  display:grid;
  gap:10px;
  margin-top:10px;
}
.contact-form-v428d label{
  display:grid;
  gap:5px;
  color:#053f55;
  font-weight:900;
  font-size:.78rem;
}
.contact-form-v428d input,
.contact-form-v428d textarea{
  width:100%;
  border:1px solid rgba(3,105,125,.18);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  color:#063f55;
  padding:10px 12px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.70);
}
.contact-form-v428d textarea{
  resize:vertical;
  min-height:96px;
}
.contact-form-v428d input:focus,
.contact-form-v428d textarea:focus{
  border-color:rgba(3,124,146,.55);
  box-shadow:0 0 0 3px rgba(3,124,146,.12);
}
.contact-actions-v428d{
  margin-top:2px;
}
.contact-actions-v428d .link-btn{
  flex:1 1 132px;
}
@media(max-width:390px){
  .contact-form-v428d input,
  .contact-form-v428d textarea{padding:9px 10px;border-radius:14px;}
  .contact-actions-v428d .link-btn{font-size:.78rem;min-height:36px;}
}


/* Canal Playa APP V3 · V428E
   Fondos limpios también en portada real de idiomas y pantallas interiores auxiliares. */
.public-home-v426{
  background:
    radial-gradient(circle at 16% 10%,rgba(255,255,255,.70),transparent 17%),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,244,217,.18) 60%,rgba(255,228,181,.18)),
    url("assets/bg-playas-clean-v428b.jpg") center center / cover no-repeat!important;
}
body[data-route="tiempo"] .screen,
body[data-route="comunidad"] .screen,
body[data-route="legal"] .screen{
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,145,175,.08),rgba(255,229,190,.14)),
    url("assets/bg-playas-clean-v428b.jpg") center center / cover no-repeat!important;
}
body[data-route="tiempo"] .card,
body[data-route="comunidad"] .card,
body[data-route="legal"] .card{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(7px);
}
body[data-route="tiempo"] .section-title,
body[data-route="comunidad"] .section-title,
body[data-route="legal"] .section-title{
  background:rgba(255,255,255,.88)!important;
  border-radius:24px!important;
  padding:16px 16px!important;
  box-shadow:0 12px 30px rgba(0,54,91,.14)!important;
}


/* Canal Playa APP V3 · V428F ajustes detectados en móvil
   - Pie flotante centrado y anclado en Radio y TV internacionales.
   - Selector de islas de Tiempo con botón activo estable.
   - Webcams: primero listado de islas; después cámaras de la isla elegida. */
.public-home-v426 .home-subscreen-v417.radio,
.public-home-v426 .home-subscreen-v417.tv{
  padding-bottom:132px!important;
}
.public-home-v426 .home-subscreen-v417.radio > .subscreen-bottom-v417,
.public-home-v426 .home-subscreen-v417.tv > .subscreen-bottom-v417{
  position:absolute!important;
  left:5.4%!important;
  right:5.4%!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  bottom:calc(0.7svh + env(safe-area-inset-bottom, 0px))!important;
  transform:none!important;
  z-index:140!important;
  box-sizing:border-box!important;
}
.public-home-v426 .home-subscreen-v417.radio > .subscreen-card-list-v417,
.public-home-v426 .home-subscreen-v417.tv > .subscreen-card-list-v417{
  padding-bottom:92px!important;
}
@media (hover:none) and (pointer:coarse) and (min-height:820px){
  .public-home-v426 .home-subscreen-v417.radio > .subscreen-bottom-v417,
  .public-home-v426 .home-subscreen-v417.tv > .subscreen-bottom-v417{
    bottom:calc(0.4svh + env(safe-area-inset-bottom, 0px))!important;
  }
}
@media (hover:none) and (pointer:coarse) and (max-height:760px){
  .public-home-v426 .home-subscreen-v417.radio > .subscreen-bottom-v417,
  .public-home-v426 .home-subscreen-v417.tv > .subscreen-bottom-v417{
    bottom:calc(1.2svh + env(safe-area-inset-bottom, 0px))!important;
    min-height:66px!important;
  }
}
.weather-island-row-v428f .pill-btn{
  flex:0 0 auto;
}
.webcam-island-list-v428f{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.webcam-island-card-v428f{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:82px;
  width:100%;
  border:1px solid rgba(255,255,255,.56);
  border-radius:24px;
  padding:12px 58px 12px 14px;
  text-align:left;
  color:#fff;
  background:linear-gradient(135deg,#12cfd0 0%,#038bb0 56%,#045a9a 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 12px 28px rgba(0,54,91,.20);
}
.webcam-island-card-v428f:nth-child(odd){
  background:linear-gradient(135deg,#0d8fe4 0%,#055fb9 56%,#033a92 100%);
}
.webcam-island-icon-v428f{
  width:54px;
  height:54px;
  flex:0 0 54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#0564a8;
  font-size:1.55rem;
}
.webcam-island-card-v428f strong{
  display:block;
  color:#fff;
  font-size:1.15rem;
  line-height:1.05;
}
.webcam-island-card-v428f small{
  display:block;
  color:rgba(255,255,255,.92);
  font-size:.78rem;
  font-weight:900;
  line-height:1.18;
  margin-top:4px;
}
.webcam-island-card-v428f b{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.18);
  border:2px solid rgba(255,255,255,.28);
  color:#fff;
  font-size:1.55rem;
}
.webcam-back-actions-v428f{
  margin:0 0 12px!important;
}
.webcam-list-v428f{
  gap:12px;
}
.webcam-card-v428f .webcam-img{
  max-height:34vh;
  object-fit:cover;
}
@media(max-width:390px){
  .webcam-island-card-v428f{min-height:76px;border-radius:22px;padding:11px 52px 11px 12px;}
  .webcam-island-icon-v428f{width:48px;height:48px;flex-basis:48px;font-size:1.35rem;}
  .webcam-island-card-v428f strong{font-size:1.04rem;}
  .webcam-island-card-v428f small{font-size:.72rem;}
}


/* Canal Playa APP V3 · V428J Contacto móvil estable
   El formulario debe comportarse como formulario real, no como zona de navegación/scroll. */
.contact-card-v428d,
.contact-form-v428d,
.contact-form-v428d label,
.contact-form-v428d input,
.contact-form-v428d textarea{
  touch-action:auto!important;
  pointer-events:auto!important;
}
.contact-form-v428d input,
.contact-form-v428d textarea{
  font-size:16px!important;
  -webkit-user-select:text!important;
  user-select:text!important;
}
.contact-form-v428d button,
.contact-form-v428d a{
  touch-action:manipulation;
}


/* Canal Playa APP V3 · V428K Contacto estable: envío directo + alternativas */
.contact-form-v428d{
  position:relative;
  z-index:5;
}
.contact-hp-v428k{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.contact-status-v428k{
  min-height:20px;
  margin-top:2px;
  font-size:.76rem;
  font-weight:850;
  line-height:1.25;
  color:#03586d;
}
.contact-status-v428k.is-ok{color:#06734f;}
.contact-status-v428k.is-warn{color:#8a5a00;}
.contact-status-v428k.is-info{color:#03586d;}
.contact-form-v428d button:disabled{
  opacity:.62;
  cursor:wait;
}
@media(max-width:390px){
  .contact-actions-v428d{gap:7px;}
  .contact-actions-v428d .link-btn{flex:1 1 100%;}
}

/* V494 · Ventana destacada del titular del proyecto (Planeta Televisión) */
.sponsor-item-owner-v494{
  background:linear-gradient(180deg,rgba(3,124,146,.10),rgba(3,124,146,.05));
  border:1.5px solid rgba(3,124,146,.42);
  box-shadow:0 10px 24px rgba(3,105,125,.16);
  position:relative;
}
.sponsor-item-owner-v494::after{
  content:"Titular";
  position:absolute;
  top:8px;
  right:12px;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#037c92;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(3,124,146,.30);
  border-radius:999px;
  padding:2px 8px;
}
.sponsor-pretitle-v494{
  display:block;
  color:#037c92;
  font-size:.68rem;
  font-weight:800;
  font-style:normal;
  letter-spacing:.02em;
  line-height:1.1;
  margin-bottom:2px;
}


/* V523D · Portada premium móvil también en PC / overlays de idioma */
.public-home-v415 .home-lang-display-v425{
  display:flex!important;
  position:absolute!important;
  z-index:150!important;
  pointer-events:none!important;
}
.public-home-v415 .home-i18n-labels-v422:not(.es){
  display:block!important;
  opacity:1!important;
  z-index:46!important;
  pointer-events:none!important;
}
.public-home-v415 .home-i18n-labels-v422.es{display:none!important;}
.public-home-v415 .home-i18n-labels-v422:not(.es) .i18n-main{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:absolute!important;
  border-radius:18px!important;
  padding:0 10px!important;
  background:linear-gradient(135deg,rgba(0,72,154,.96),rgba(0,138,166,.92))!important;
  color:#fff!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  text-shadow:0 2px 8px rgba(0,24,68,.35)!important;
  box-shadow:0 9px 20px rgba(0,40,90,.22), inset 0 1px 0 rgba(255,255,255,.22)!important;
}
.public-home-v415 .home-i18n-labels-v422:not(.es) .i18n-bottom{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.94)!important;
  color:#007f93!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  box-shadow:0 4px 12px rgba(0,45,70,.12)!important;
  text-shadow:none!important;
}
