#qrSidebar{position:fixed;right:0;top:34%;transform:translateY(-50%);width:162px;background:#525252;border-radius:12px 0 0 12px;box-shadow:-2px 2px 10px rgba(0,0,0,0.2);z-index:9999;padding:20px 0 15px;font-family:sans-serif;text-align:center;color:#fff;margin-right:10px}#qrSidebar img{width:120px;height:122px;margin:0 auto 10px;display:block;border-radius:4px}#qrSidebar p{font-size:15px;line-height:1.2;margin:0;font-weight:bold;padding:2px 20px}#qrSidebar .resaltado{color:#b1dbff}.station-link-container{display:flex;flex-direction:column;align-items:center;font-size:0.5rem;margin-top:4px}.station-link-container .ver-precios{margin-top:2px;color:#333;font-weight:500}#cookieBannerWrapper{display:none !important}html.needs-cookie-banner #cookieBannerWrapper{display:flex !important}.no-station-card{max-width:480px;margin:60px auto;padding:30px 25px;text-align:center;background:#f7f7f7;border-radius:14px;box-shadow:0 3px 12px rgba(0,0,0,0.06);font-family:system-ui,sans-serif}.no-station-title{margin:0 0 10px;font-size:1.6rem;font-weight:600;color:#333}.no-station-message{margin:0 0 20px;font-size:1rem;color:#666}.no-station-link{display:inline-block;padding:10px 20px;background:#007bff;color:#fff;text-decoration:none;border-radius:8px;font-size:1rem;font-weight:500;transition:background 0.2s ease}.no-station-link:hover{background:#0069d9}@media screen and (max-width:900px){#qrSidebar{display:none}}.ad-block{display:block}.plotly-chart{width:100%;height:400px;position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,rgba(250,252,253,.98),rgba(243,247,250,.98));border:1px solid rgba(25,63,110,.08)}.plotly-chart:empty::before,#map2:empty::before{content:"Cargando";position:absolute;top:14px;left:50%;transform:translateX(-50%);padding:4px 11px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(25,63,110,.08);color:#738291;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}.plotly-chart:empty::after,#map2:empty::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18px 18px,rgba(37,128,206,.06) 0 1.5px,transparent 2px) 0 0/22px 22px,linear-gradient(135deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 80%);background-size:22px 22px,240px 100%;animation:ad-slot-sheen 8s linear infinite;pointer-events:none}.chart-fallback-msg,.map-fallback-msg{display:flex;align-items:center;justify-content:center;min-height:100%;padding:20px;color:#667786;text-align:center;font-size:14px;line-height:1.5;background:linear-gradient(180deg,rgba(250,252,253,.98),rgba(243,247,250,.98))}.map-fallback-msg{min-height:inherit}.tendencia-alert{text-align:center;margin-top:10px}.qr-fallback{display:none;font-size:12px;opacity:.8;margin:10px auto 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.16)}.breadcrumb-home-icon{vertical-align:sub;margin-left:-4px;margin-right:2px}.status-strong{font-weight:600}.indicator-up{background-color:#ea4956}.indicator-down{background-color:#1db06e}.indicator-neutral{background-color:rgb(202,255,132)}.diff-percent-up{color:#ea4956}.diff-percent-down{color:#1db06e}.state-icon{margin-left:4px;vertical-align:text-bottom}.state-icon-ok{width:22px;height:22px}.state-icon-warn{width:16px;height:16px}.state-icon-error{width:20px;height:20px}
/* Estabilizacion anti-CLS para bloques de anuncio */
.ad-slot-stable {
  display: block;
  width: 100%;
  min-height: 280px;
  margin: 18px 0;
  contain: layout style;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  border: 1px dashed rgba(25, 63, 110, 0.12);
  border-radius: 20px;
  background:
    radial-gradient(circle at 20px 20px, rgba(37, 128, 206, 0.08) 0 1.5px, transparent 2px) 0 0/24px 24px,
    linear-gradient(180deg, rgba(250, 252, 253, 0.98), rgba(243, 247, 250, 0.98));
}

.ad-slot-stable > * {
  position: relative;
  z-index: 2;
}

.ad-slot-stable::before {
  content: "Publicidad";
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(25, 63, 110, 0.08);
  color: #738291;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  z-index: 0;
  pointer-events: none;
}

html[lang="pt"] .ad-slot-stable::before {
  content: "Publicidade";
}

html[lang="fr"] .ad-slot-stable::before {
  content: "Publicite";
}

html[lang="it"] .ad-slot-stable::before {
  content: "Pubblicita";
}

.ad-slot-stable::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0) 80%);
  background-size: 240px 100%;
  animation: ad-slot-sheen 7s linear infinite;
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
}

.ad-slot-stable[data-ad-status="filled"] {
  border-color: transparent;
  background: transparent;
}

.ad-slot-stable[data-ad-status="filled"]::before,
.ad-slot-stable[data-ad-status="filled"]::after {
  display: none;
}

@keyframes ad-slot-sheen {
  from {
    background-position: -240px 0;
  }

  to {
    background-position: calc(100% + 240px) 0;
  }
}

/* Los formatos fluidos suelen crecer mas al hidratar */
.ad-slot-stable[data-ad-format="fluid"] {
  min-height: 320px;
}

/* Reserva minima en movil para evitar saltos bruscos */
@media screen and (max-width: 900px) {
  .ad-slot-stable {
    min-height: 180px;
    margin: 12px 0;
    border-radius: 14px;
    border-style: solid;
    border-color: rgba(25, 63, 110, 0.08);
    background:
      radial-gradient(circle at 14px 14px, rgba(37, 128, 206, 0.06) 0 1.2px, transparent 1.8px) 0 0/18px 18px,
      linear-gradient(180deg, rgba(251, 252, 253, 0.99), rgba(245, 248, 250, 0.99));
  }

  .ad-slot-stable[data-ad-format="fluid"] {
    min-height: 220px;
  }

  .ad-slot-stable::before {
    top: 10px;
    font-size: 10px;
    padding: 4px 9px;
    letter-spacing: 0.1em;
    background: rgba(255, 255, 255, 0.9);
  }

  .ad-slot-stable::after {
    opacity: 0.35;
    animation-duration: 9s;
  }

  .plotly-chart {
    border-radius: 14px;
  }

  .plotly-chart:empty::before,
  #map2:empty::before {
    top: 10px;
    font-size: 10px;
    padding: 4px 9px;
    letter-spacing: 0.1em;
  }

  .plotly-chart:empty::after,
  #map2:empty::after {
    background:
      radial-gradient(circle at 14px 14px, rgba(37,128,206,.05) 0 1.2px, transparent 1.8px) 0 0/18px 18px,
      linear-gradient(135deg,rgba(255,255,255,0) 20%,rgba(255,255,255,.18) 50%,rgba(255,255,255,0) 80%);
    background-size:18px 18px,240px 100%;
    animation-duration: 10s;
  }

  .chart-fallback-msg,
  .map-fallback-msg {
    padding: 16px;
    font-size: 13px;
  }

}

/* Imagen principal de marca con caja estable */
#brandImage {
  width: 100px;
  height: 100px;
  object-fit: contain;
  display: block;
}

#map2 {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
