/* Limpiezas Bahía — mejoras de front aditivas (no tocan el diseño base).
   #5 colisión barras móviles · #8 badge de valoración · #11 accesibilidad
   #13 header al hacer scroll · #15 impresión. */

/* ---- SSR: contenido base para bots sin JS. Con JS se oculta (el motor lo
   reemplaza igualmente); sin JS (IAs) queda visible y legible. No es cloaking:
   es el mismo texto que muestra el motor. ---- */
html.js .ssr-pre { display: none !important; }
.ssr-pre { max-width: 920px; margin: 0 auto; padding: 2rem 1.2rem; color: #2b3f52; font-family: Figtree, system-ui, sans-serif; line-height: 1.6; }
.ssr-pre h1 { font-size: 1.9rem; color: #1C5E92; margin: .3rem 0 .8rem; }
.ssr-pre h2 { font-size: 1.3rem; color: #1C5E92; margin: 1.4rem 0 .5rem; }
.ssr-pre h3 { font-size: 1.05rem; margin: .8rem 0 .2rem; }
.ssr-pre ul { padding-left: 1.2rem; } .ssr-pre li { margin: .3rem 0; }
.ssr-pre .ssr-qa { margin: .6rem 0; }

/* ---- #5: en landings, usar solo su barra propia (.gsticky); ocultar la genérica ---- */
body[data-landing] .mbar { display: none !important; }
@media (max-width: 720px) {
  body[data-landing] .fab-wa { bottom: 88px; }   /* despeja la barra .gsticky */
}

/* ---- #11: accesibilidad ---- */
.lb-skip {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: #123a5c; color: #fff; padding: .7rem 1.1rem; border-radius: 0 0 10px 0;
  font-weight: 700; text-decoration: none;
}
.lb-skip:focus { left: 0; }
/* Foco visible y consistente para teclado */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #2A86C2 !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}

/* ---- #13: cabecera con sombra al hacer scroll + transición ---- */
header.site#site-hdr, header.site {
  transition: box-shadow .25s ease, background-color .25s ease;
}
header.site.scrolled, header#site-hdr.scrolled {
  box-shadow: 0 10px 30px -18px rgba(28, 94, 146, .55);
}

/* ---- #8: badge de valoración (estrellas Google) ---- */
.lb-rating {
  display: inline-flex; align-items: center; gap: .45rem;
  background: #fff; border: 1px solid #e2eef4; border-radius: 999px;
  padding: .35rem .8rem; font-size: .9rem; color: #123a5c;
  box-shadow: 0 8px 22px -16px rgba(28, 94, 146, .5);
  font-family: Figtree, system-ui, sans-serif; text-decoration: none;
}
.lb-rating b { font-family: 'Schibsted Grotesk', sans-serif; }
.lb-rating .lb-stars { color: #FAC31E; letter-spacing: 1px; }
.lb-rating .lb-rev { color: #5a7184; }

/* Estrellas en los testimonios renderizados (si los hay) */
.testimonial .lb-stars, .testi .lb-stars, [data-testimonial] .lb-stars { color: #FAC31E; letter-spacing: 1px; display: block; margin-bottom: .35rem; font-size: 1.05rem; }

/* ---- #15: impresión limpia de páginas (sobre todo legales) ---- */
@media print {
  .fab-wa, .mbar, .gsticky, .cookie, .lbck, .lbck-fab, .site .nav-cta,
  .burger, .mmenu, header.site .nav-links, .ctaband, .fcta, .gcta, .gsticky { display: none !important; }
  header.site, footer.site { box-shadow: none !important; border: 0 !important; }
  body { padding: 0 !important; color: #000; }
  a { color: #000; text-decoration: underline; }
  main { padding-top: 0 !important; }
}
