/* aguassb-movil-compacta.css · 06 · 11/10/2026 · «Escala compacta en móvil» (encargo de revisión Cowork, ENCARGO_06_escala_compacta_movil.md).
   Bloques A (escala y campos), B (cabecera en una fila) y C (Artemisia como único botón flotante). Solo por debajo de 600 px: el escritorio no cambia.
   Se sirve primero solo a administradores (AGUASSB2026_MOVIL_COMPACTA = 'admin' en el tema) y, con el visto bueno del CEO en su iPhone, a todos.
   Prohibido: initial-scale<1, maximum-scale, user-scalable=no, zoom/transform sobre html/body (WCAG 1.4.4). Mínimos: cuerpo 16, campos 16, secundario 13, táctil 44 en cabecera y flotantes. */

/* ── Bloque A · escala y campos ── */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
/* auditoría Cowork 12/10 (1.5.38): campos a 16 px en cualquier pantalla táctil (M06: iPad y apaisado); deslizadores agarrables (M18) */
@media (pointer: coarse) {
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=hidden]),
  select, textarea { font-size: max(16px, 1em) !important; }
  input[type=range] { height: 32px; }
  input[type=range]::-webkit-slider-thumb { width: 28px; height: 28px; }
  input[type=range]::-moz-range-thumb { width: 28px; height: 28px; }
}

@media (max-width: 600px) {
  :root {
    --fs-hero: clamp(1.625rem, 1.15rem + 2.2vw, 2rem);
    --fs-h2:   clamp(1.375rem, 1.1rem + 1.2vw, 1.625rem);
    --fs-h3:   1.0625rem;
    --fs-lead: 1.0625rem;
    --fs-sm:   .9375rem;
    --fs-xs:   .8125rem;
    --lh-base: 1.55;
    --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-7: 2.25rem; --sp-8: 3rem; --sp-9: 4rem;
  }
  .container { padding-inline: 16px; }
  .card { padding: 18px; }
  .btn { min-height: 46px; padding-block: .6em; line-height: 1.25; }
  /* campos: 16 px evita el zoom automático de iOS (configurador, filtros de los mapas, selector de idioma) */
  input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),
  select, textarea { font-size: 16px !important; }
  .mapa-edar input, .mapa-edar select, .mapa-global input, .mapa-global select, .mapa-industrial input, .mapa-industrial select { font-size: 16px !important; }
  /* textos secundarios: nada por debajo de 13 px */
  small, .note, .muted, .kb-card small, .drop small, .art-aviso, .art-priv { font-size: max(.8125rem, 13px); }
  /* zoom del sistema al 125 % (M14): nada se sale por un correo largo; el documento no se desplaza en horizontal */
  html, body { overflow-x: clip; }
  .nav-contacto a, .site-footer a[href^="mailto:"], footer a[href^="mailto:"] { overflow-wrap: anywhere; }
  /* aviso de cookies de las herramientas (C13): texto corrido, sin que «Permitir todas» salte de línea */
  .aviso-cookies { display: block; }
  .aviso-cookies__btn { margin-top: 8px; }
  /* carrusel (C06): área táctil de 24 px sin agrandar el punto visible */
  .slider__punto { width: 24px; height: 24px; padding: 7px; background-clip: content-box; }
}

/* ── Bloque B · cabecera en una fila (58 px) · hasta 760 px (M07/C12: iPad mini vertical) y móvil apaisado (M04) ── */
@media (max-width: 760px), ((max-height: 500px) and (pointer: coarse)) {
  .site-header .topbar { display: none; }
  .site-header { display: flex; align-items: center; }
  .site-header > .container { flex: 1 1 auto; min-width: 0; padding-inline: 12px 0; }
  .navbar { min-height: 58px; gap: 6px; }
  .brand__logo { width: 34px; height: 34px; }
  .brand__name b { font-size: 16px; white-space: nowrap; }
  .brand__name > span { display: none; }
  .header-cta .btn { display: none; }
  /* el CTA móvil de la barra queda en la fila de la cabecera como píldora de una línea */
  .navbar > .nav-mobile-cta { display: inline-flex; min-height: 40px; padding: .45em .8em; font-size: .84rem; white-space: nowrap; margin-left: auto; line-height: 1.2; }
  .header-cta { flex: 0 0 auto; padding: 0 4px 0 0; gap: 0; }
  .header-phone { font-size: 0; width: 44px; height: 44px; justify-content: center; padding: 0; }
  .header-phone svg { width: 20px; height: 20px; }
  .nav-toggle { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  html { scroll-padding-top: 72px; }
  /* el menú desplegable cuelga de la cabecera de 58 px y no deja asomar la página por debajo */
  .nav { max-height: calc(100dvh - 58px); }
  .nav .nav-mobile-cta { display: inline-flex; min-height: 46px; justify-content: center; }
  /* lo que estaba en la barra superior pasa al menú: teléfonos, correo, certificado e idioma */
  .nav .nav-contacto { display: block; border-top: 1px solid var(--c-borde); margin-top: 8px; padding-top: 10px; font-size: .9375rem; }
  .nav .nav-contacto a { display: block; padding: .55em .6em; min-height: 44px; }
  .nav .nav-contacto .nav-contacto__idioma a { display: inline-block; padding: .4em .8em; font-weight: var(--fw-bold); }
  /* hamburguesa → X con el menú abierto */
  .site-header[data-open="true"] .nav-toggle svg { display: none; }
  .site-header[data-open="true"] .nav-toggle::before { content: "✕"; font-size: 22px; line-height: 1; color: var(--c-azul); }
}
@media (max-width: 374px) {
  .header-phone { display: none; }
  .nav-mobile-cta { padding-inline: .75em; }
}
@media (max-width: 340px) {   /* zoom del sistema al 125 % (M14b): la píldora no pisa la hamburguesa */
  .navbar > .nav-mobile-cta { font-size: .76rem; padding: .4em .55em; min-height: 36px; }
  .brand__name b { font-size: 14px; }
}

/* ── Bloque C · Artemisia como único botón flotante y panel a pantalla completa · también en móvil apaisado (M04/M05) ── */
@media (max-width: 600px), ((max-height: 500px) and (pointer: coarse)) {
  #asb-asistente-btn, .asb-orbe-cookies { left: auto; right: 14px; bottom: 18px; width: 52px; height: 52px; padding: 0; justify-content: center; border-radius: 50%; }
  #asb-asistente-btn .art-btn__txt, .asb-orbe-cookies .art-btn__txt { display: none; }
  #asb-asistente-btn .art-btn__tel, .asb-orbe-cookies .art-btn__tel { position: absolute; right: -2px; bottom: -2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; color: var(--c-azul); display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 1px 4px rgba(0,0,0,.25); }
  #asb-asistente-btn .art-btn__tel svg { width: 12px; height: 12px; }
  .wa-float { display: none !important; }
  #CookiebotWidget { display: none !important; }   /* el enlace «Configurar cookies» del pie sigue accesible */
  /* panel: hoja a pantalla completa, diálogo accesible */
  .art-panel.asb-panel { left: 0; right: 0; top: 0; bottom: 0; width: 100%; max-height: none; height: 100dvh; border-radius: 0; border: 0; }
  .art-head__close, .art-head__nuevo, .art-head__min { width: 44px; height: 44px; }
  .art-aviso, .art-priv, .art-panel small, .art-foot, .art-chips__tg { font-size: 13px; }   /* C01 */
  .cfg-beta { font-size: 12px; }   /* C04 */
  html.art-abierto, html.art-abierto body { overflow: hidden; }
  body:has(.site-header[data-open="true"]) #asb-asistente-btn { display: none; }   /* C10: con el menú abierto, el orbe no se superpone */
  .art-panel [hidden] { display: none !important; }   /* con el menú de contacto a la vista, el hilo, las sugerencias y el formulario no se ven */
  /* menú de contacto: cuatro acciones grandes a todo el ancho */
  .art-contacto { display: flex; flex-direction: column; gap: 10px; padding: 16px; }
  .art-contacto a, .art-contacto button { display: flex; align-items: center; gap: 12px; min-height: 52px; width: 100%; padding: 0 16px; border-radius: 12px; border: 1px solid var(--c-borde); background: #fff; color: var(--c-tinta, #0a2b3a); font: inherit; font-size: 1.0625rem; font-weight: var(--fw-bold); text-decoration: none; cursor: pointer; text-align: left; }
  .art-contacto a.art-contacto--ia { background: linear-gradient(135deg, var(--art-tinta), var(--art-azul)); color: #fff; border: 0; }
  .art-contacto .art-contacto__cookies { min-height: 36px; border: 0; background: none; font-size: 13px; font-weight: normal; color: var(--c-gris, #4a5c66); text-decoration: underline; justify-content: center; }
  .art-contacto__intro { padding: 16px 16px 0; margin: 0; font-size: .9375rem; }
}

/* orbe-sin-cookies-20261012: orbe de reserva cuando el widget no está (cookies rechazadas o sin decidir); en escritorio sin insignia de teléfono */
.asb-orbe-cookies .art-btn__tel { display: none; }
@media (max-width: 600px), ((max-height: 500px) and (pointer: coarse)) { .asb-orbe-cookies .art-btn__tel { display: inline-flex; } }
