/* ══════════════════════════════════════════════════════════════════
   Henry Cove · capa responsive (se carga la última)
   Móvil ≤760 · tableta 761–1024. Objetivos:
   - nada por debajo de 12 px, objetivos táctiles ≥ 40 px
   - ritmo vertical de móvil (menos relleno, tarjetas compactas)
   - listas largas como carrusel deslizable, no como columna infinita
   - en tableta, dos columnas donde había una
   ══════════════════════════════════════════════════════════════════ */

/* ── Comunes a todos los tamaños ───────────────────────────────── */
/* landings: el número del paso estaba oculto (opacity:0) pero ocupaba sitio */
html body .l-sec .steps .step:not(#_):not(#_):not(#_)::before{opacity:1!important;content:'0' counter(s)!important;display:block!important;font:400 1.9rem/1 var(--hc-display,'Cove Display')!important;color:#2B6BFF!important;-webkit-text-fill-color:#2B6BFF!important;margin-bottom:.8rem!important;letter-spacing:.02em}
html body .l-note:not(#_):not(#_){font:500 .86rem/1.5 var(--hc-sans)!important;letter-spacing:0!important;text-transform:none!important;font-style:normal!important}
html body .l-links a:not(#_):not(#_){font:500 .86rem/1.3 var(--hc-sans)!important;letter-spacing:0!important;text-transform:none!important;padding:.6rem 1rem!important}
html body :is(.hero-badge,.l-tag,.partner-strip-label,.testi-pill,.drawer-foot):not(#_):not(#_){font-size:max(12px,.75rem)!important;letter-spacing:.06em!important}
html body .hero-trust:not(#_):not(#_){font-size:max(12.5px,.8rem)!important;letter-spacing:.01em!important;line-height:1.5!important}
html body .l-links > span:not(#_):not(#_){font-size:12px!important;letter-spacing:.06em!important}
html body .l-stat small:not(#_):not(#_){font-size:12px!important;letter-spacing:.04em!important}
html body .stat-label:not(#_):not(#_){font-size:max(12px,.74rem)!important;letter-spacing:.05em!important;line-height:1.35!important}

/* 404: la primera línea del titular quedaba blanca sobre la tarjeta blanca */
html body main > .card h1:not(#_):not(#_):not(#_){color:#0A1A3A!important;-webkit-text-fill-color:#0A1A3A!important}
html body main > .card h1 em:not(#_):not(#_):not(#_){color:#2B6BFF!important;-webkit-text-fill-color:#2B6BFF!important}
/* enlace «Gestionar cookies» que añade ga.js: separado del resto */
html body footer [data-cookie-settings]:not(#_){margin-left:.9rem}
html body footer :is(.footer-legal,.foot-links,nav) [data-cookie-settings]:not(#_){margin-left:0}
/* pies de las páginas sencillas (legales, 404): enlaces cómodos al dedo */
@media (max-width:760px){html body footer:not(:has(.footer-top)):not(:has(.foot-g)) a:not(#_){display:inline-block;padding:.45rem .1rem}}

/* ── Tableta ───────────────────────────────────────────────────── */
@media (min-width:761px) and (max-width:1024px){
  html body .bento-services:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body .bento-services .svc-card:not(#_):not(#_){grid-column:auto!important}
  html body .bento-services .svc-card.svc-full:not(#_):not(#_){grid-column:1/-1!important}
  html body .crm-features:not(#_):not(#_){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  html body :is(.testi-grid,.review-grid):not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body .testi-grid > :last-child:nth-child(odd):not(#_){grid-column:1/-1}
  html body .hero-stats-inner:not(#_):not(#_){grid-template-columns:repeat(3,minmax(0,1fr))!important}
  html body .contact-grid:not(#_):not(#_){gap:2.5rem!important}
}

/* ── Móvil ─────────────────────────────────────────────────────── */
@media (max-width:760px){
  /* ritmo vertical */
  html body :is(section.section,.l-sec,section.hc-para):not(#hero):not(#_):not(#_){padding-top:64px!important;padding-bottom:64px!important}
  html body :is(.section-title,.l-h2):not(#_):not(#_){font-size:clamp(2rem,8.6vw,2.6rem)!important;margin-bottom:.9rem!important}
  html body :is(.section-desc,.hc-lead,.l-sub):not(#_):not(#_){font-size:1rem!important;line-height:1.6!important}

  /* hero */
  html body .hero-badge:not(#_):not(#_){white-space:normal!important;line-height:1.4!important;padding:.45rem .9rem!important}
  html body .hero-stats-inner:not(#_):not(#_){grid-template-columns:repeat(3,minmax(0,1fr))!important;row-gap:22px!important}
  html body .hero-stats .stat:not(#_):not(#_){padding:6px 10px!important;border:0!important}
  html body .hero-stats .stat-value:not(#_):not(#_){font-size:1.9rem!important}

  /* para quién: tarjetas más compactas */
  html body .hc-grid:not(#_):not(#_){gap:12px!important}
  html body .hc-card:not(#_):not(#_){padding:22px 20px!important}
  html body .hc-card .hc-n:not(#_):not(#_){font-size:1.9rem!important;margin-bottom:.4rem!important}

  /* servicios: icono junto al título, descripción a todo el ancho */
  html body .bento-services:not(#_):not(#_){gap:10px!important}
  html body .bento-services .svc-card:not(#_):not(#_){display:grid!important;grid-template-columns:44px 1fr!important;column-gap:14px!important;row-gap:10px!important;align-items:center!important;padding:18px 18px 14px!important;min-height:0!important;grid-column:auto!important}
  html body .bento-services .svc-card > *:not(#_):not(#_){margin:0!important}
  html body .bento-services .svc-num:not(#_):not(#_){display:none!important}
  html body .bento-services .svc-ico:not(#_):not(#_){grid-column:1!important;grid-row:1!important;width:44px!important;height:44px!important;margin:0!important}
  html body .bento-services .svc-title:not(#_):not(#_){grid-column:2!important;grid-row:1!important;font-size:1.15rem!important;line-height:1.15!important;margin:0!important}
  html body .bento-services .svc-desc:not(#_):not(#_){grid-column:1/-1!important;font-size:.93rem!important;line-height:1.55!important;margin:0!important}
  html body .bento-services .svc-link:not(#_):not(#_){grid-column:1/-1!important;display:inline-flex!important;align-items:center;min-height:36px;font-size:.78rem!important}
  html body .bento-services .svc-card.svc-full:not(#_):not(#_){display:block!important}
  html body .bento-services .svc-card.svc-full > div:first-child:not(#_):not(#_){display:flex!important;align-items:center!important;gap:14px!important;margin-bottom:10px!important}
  html body .bento-services .svc-card.svc-full .svc-title:not(#_):not(#_){font-size:1.15rem!important}

  /* sectores con foto */
  html body .hc-sc:not(#_):not(#_){min-height:200px!important}

  /* cifras: 2 columnas legibles */
  html body .results-numbers:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  html body .result-block:not(#_):not(#_){padding:18px 16px!important}
  html body .result-big:not(#_):not(#_){font-size:2.5rem!important;line-height:1!important;margin-bottom:.5rem!important}
  html body .result-detail:not(#_):not(#_){font-size:.86rem!important;line-height:1.45!important}
  html body .result-sub:not(#_):not(#_){font-size:11.5px!important;letter-spacing:.06em!important;margin-top:.5rem!important}

  /* carruseles deslizables: opiniones, reseñas, pasos y ciudades */
  html body :is(.testi-grid,.review-grid,.process-steps,.cities-grid):not(#_):not(#_){display:grid!important;grid-auto-flow:column!important;grid-template-columns:none!important;grid-auto-columns:84%!important;gap:12px!important;overflow-x:auto!important;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-left:-24px!important;margin-right:-24px!important;padding:4px 24px 18px!important;scroll-padding:0 24px;scrollbar-width:none}
  html body :is(.testi-grid,.review-grid,.process-steps,.cities-grid)::-webkit-scrollbar{display:none}
  html body :is(.testi-grid,.review-grid,.process-steps,.cities-grid) > *:not(#_):not(#_){scroll-snap-align:start;min-width:0;margin:0!important;grid-column:auto!important}
  html body .cities-grid:not(#_):not(#_){grid-auto-columns:72%!important}
  html body .review-grid:not(#_):not(#_){margin-top:14px!important}
  html body .step:not(#_):not(#_){padding:20px!important}
  html body .step-num:not(#_):not(#_){font-size:2rem!important;margin-bottom:.4rem!important}
  html body .step-desc:not(#_):not(#_){font-size:.92rem!important;line-height:1.55!important}
  html body :is(.testi-card,.review-card):not(#_):not(#_){padding:20px!important}
  html body :is(.testi-quote,.review-text):not(#_):not(#_){font-size:.95rem!important;line-height:1.55!important}
  /* indicador de que se puede deslizar */
  html body :is(#opiniones,#proceso,#mercados) .section-title:not(#_)::after{content:'Desliza →';display:block;margin-top:.7rem;font:600 .78rem/1 var(--hc-sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);-webkit-text-fill-color:rgba(255,255,255,.6)}

  /* CRM: funciones en 2×2 */
  html body .crm-features:not(#_):not(#_){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  html body .crm-feat:not(#_):not(#_){flex-direction:column!important;align-items:flex-start!important;gap:10px!important;padding:16px!important}
  html body .crm-feat-title:not(#_):not(#_){font-size:.95rem!important;line-height:1.25!important}
  html body .crm-feat-desc:not(#_):not(#_){font-size:.82rem!important;line-height:1.45!important}
  html body .crm-stack-status:not(#_):not(#_){display:none!important}

  /* contacto: datos en 2×2 compactos */
  html body .contact-info:not(#_):not(#_){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  html body .contact-item:not(#_):not(#_){padding:14px!important;gap:10px!important;flex-direction:column!important;align-items:flex-start!important}
  html body .contact-item-val:not(#_):not(#_){font-size:.86rem!important;line-height:1.4!important;word-break:break-word}
  html body .form-card:not(#_):not(#_){padding:24px 18px!important}

  /* madrid-links: fila de chips deslizable */
  html body .madrid-links:not(#_):not(#_){flex-wrap:nowrap!important;overflow-x:auto!important;margin-left:-24px!important;margin-right:-24px!important;padding:0 24px 8px!important;scrollbar-width:none}
  html body .madrid-links > *:not(#_){flex:none!important;white-space:nowrap!important}

  /* pie de la home: marca a lo ancho y enlaces en 2 columnas */
  html body .footer-top:not(#_):not(#_){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 18px!important}
  html body .footer-top > :first-child:not(#_):not(#_){grid-column:1/-1!important}
  html body .footer-links a:not(#_):not(#_){display:inline-block!important;padding:.32rem 0!important}
  html body .footer-bottom:not(#_):not(#_){flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
  html body .footer-legal:not(#_):not(#_){display:flex!important;flex-wrap:wrap!important;gap:4px 18px!important}
  html body .footer-legal a:not(#_):not(#_){padding:.45rem 0!important}

  /* landings */
  html body .l-hero:not(#_):not(#_){padding-top:104px!important}
  html body :is(.cards,.steps):not(#_):not(#_){gap:10px!important;margin-top:1.6rem!important}
  html body :is(.card,.step):not(#_):not(#_){padding:20px 18px!important}
  html body .card h3:not(#_):not(#_){font-size:1.12rem!important}
  html body :is(.card p,.step p):not(#_):not(#_){font-size:.94rem!important;line-height:1.6!important}
  html body .l-cta-card:not(#_):not(#_){padding:36px 20px!important;border-radius:22px!important}
  html body .l-cta-card p:not(#_):not(#_){margin-bottom:1.4rem!important;font-size:1rem!important;line-height:1.6!important}
  html body .l-cta-card .btn-p:not(#_):not(#_){width:100%!important;justify-content:center!important}
  html body .l-stats:not(#_):not(#_){gap:0!important}
  html body .foot-links a:not(#_):not(#_){display:inline-block!important;padding:.45rem .2rem!important}
  html body .l-links:not(#_):not(#_){gap:8px!important}

  /* legales y 404 */
  html body :is(.legal,.legal-wrap,main.wrap,.error-page):not(#_) :is(h1):not(#_){font-size:clamp(2rem,9vw,2.6rem)!important}
}

@media (max-width:380px){
  html body .hero-stats-inner:not(#_):not(#_){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body .crm-features:not(#_):not(#_){grid-template-columns:1fr!important}
  html body .crm-feat:not(#_):not(#_){flex-direction:row!important;align-items:center!important}
}

/* tablas de páginas legales (cookies): desplazables dentro de su caja */
@media (max-width:760px){
  html body main table:not(#_){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:.86rem}
  html body main table :is(th,td):not(#_){padding:.55rem .6rem}
}
