/* AC United — sitio en español: ajustes de tipografía y diseño.
   Se carga después de styles/hero/sections, así que estas reglas ganan. */
:root{--gut:1.25rem;--wrap:1120px}
@media (min-width:768px){:root{--gut:5.5rem}} /* deja libre la burbuja del chat */
html{-webkit-text-size-adjust:100%}
body{font-size:1.0625rem;line-height:1.6;font-weight:400}

/* Texto de cuerpo: 17px en todas las páginas */
main p,main li,main summary,main dd,.stats span,.badges li,.rows li,.ocf p{font-size:1.0625rem}
main p.eyebrow,.eyebrow{font-size:.85rem}
main p.stars{font-size:1rem}
.lead,main p.lead{font-size:1.15rem;opacity:.9}
.card p{opacity:.9}
.faq details p{opacity:1}
.faq details p a{font-weight:700}

/* Titulares: tamaño fluido, sin mayúsculas forzadas */
h1,h2,h3{text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:manual}
h1{font-size:clamp(2rem,1.2rem + 3.1vw,3.4rem);line-height:1.08;text-transform:none;letter-spacing:-0.015em}
h2{font-size:clamp(1.55rem,1.1rem + 1.8vw,2.35rem);line-height:1.12}
h3{font-size:1.2rem;line-height:1.22}

/* Contenedor único; margen lateral que deja libre el botón del chat */
main>section:not(#hero):not(#contact-form):not(#map),main>#contact-form,main>#map{
  max-width:calc(var(--wrap) + 2*var(--gut));padding-left:var(--gut);padding-right:var(--gut)}
main>section.cta-band:not(#hero):not(#contact-form):not(#map){max-width:none}

/* Portada */
#hero{padding-left:var(--gut);padding-right:var(--gut)}
#hero .hero-copy{max-width:44rem}
#hero .hero-eyebrow{font-size:.85rem;letter-spacing:.1em}
#hero .hero-sub{font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);max-width:40rem;opacity:1}
#hero .hero-img{object-position:62% 50%}
@media (max-width:767px){
  #hero[data-hero="full-bleed-dark"]::before{background:linear-gradient(180deg,
    color-mix(in srgb,var(--ink) 91%,transparent) 0%,color-mix(in srgb,var(--ink) 95%,transparent) 100%)}
  #hero .hero-img{object-position:80% 35%}
}

/* Botones */
.btn,.btn-ghost{white-space:normal;text-align:center;line-height:1.25;font-size:1rem}
.btn{letter-spacing:.02em}

/* Encabezado */
.site-header{gap:1rem;padding:.55rem var(--gut);flex-wrap:nowrap}
.site-header .brand{display:flex;align-items:center;flex:0 0 auto}
.site-header .brand img{width:48px;height:48px;display:block}
.site-header nav{gap:1.1rem;flex-wrap:nowrap}
.site-header nav a{font-size:.82rem;letter-spacing:.04em;white-space:nowrap;padding:.25rem 0;border-bottom:2px solid transparent}
.site-header nav a[aria-current="page"]{border-bottom-color:var(--accent)}
.site-header .btn{white-space:nowrap;padding:.7rem 1.1rem;font-size:.9rem;flex:0 0 auto}
.lang-switch{display:inline-flex;align-items:center;padding:.42rem .8rem;border:2px solid var(--surface);flex:0 0 auto;
  color:var(--surface);text-decoration:none;font-weight:800;font-size:.85rem;letter-spacing:.04em;white-space:nowrap}
.lang-switch:hover,.lang-switch:focus{background:var(--surface);color:var(--ink)}
.nav-burger{display:none}
.site-header nav a.lang-item{display:none}
@media (max-width:1100px){
  .site-header nav{display:none;position:absolute;left:0;right:0;top:100%;width:auto;margin:0;
    flex-direction:column;gap:0;background:var(--ink);border-top:1px solid rgba(255,255,255,.12);
    border-bottom:4px solid var(--accent);padding:.25rem 0 .75rem;max-height:calc(100vh - 70px);overflow-y:auto;
    box-shadow:0 16px 30px -10px rgba(0,0,0,.45)}
  .site-header.nav-open nav{display:flex}
  .site-header nav a{font-size:1rem;letter-spacing:.03em;padding:.85rem var(--gut);border-bottom:1px solid rgba(255,255,255,.08)}
  .site-header nav a[aria-current="page"]{border-bottom-color:rgba(255,255,255,.08);box-shadow:inset 4px 0 0 var(--accent)}
  .lang-switch{margin-left:auto}
  .nav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;
    padding:0 10px;background:transparent;border:2px solid rgba(255,255,255,.55);cursor:pointer;flex:0 0 auto}
  .nav-burger span{display:block;height:2px;background:var(--surface);transition:transform .2s ease,opacity .2s ease}
  .nav-open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-open .nav-burger span:nth-child(2){opacity:0}
  .nav-open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media (max-width:520px){
  .site-header{gap:.5rem}
  .site-header .brand img{width:44px;height:44px}
  .lang-switch{display:none}
  .site-header nav a.lang-item{display:block}
  .site-header .btn{margin-left:auto;padding:.6rem .75rem;font-size:.88rem}
  .hide-sm{display:none}
}
@media (max-width:640px){
  #hero .hero-ctas{flex-direction:column;align-items:stretch}
  #hero .hero-ctas a{width:100%}
  section>.actions a,.cta-band .actions a,.split .actions a,.duo .actions a,.fin-box .actions a{flex:1 1 100%}
}

/* Alineación: una por sección */
.cta-band,.reviews{text-align:center}
.cta-band .lead,.reviews>.lead{margin-left:auto;margin-right:auto}
.cta-band .actions,.reviews>.actions{justify-content:center}
main>section:not(.cta-band):not(.reviews):not(#hero) .actions{justify-content:flex-start}
.reviews>.actions:not(:last-child){margin:1.5rem 0 2rem}

/* Tarjetas: misma altura y cuadrícula alineada */
.grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.grid,.grid.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.grid,.grid.g4{grid-template-columns:1fr}}
.card{height:100%}
.card img{aspect-ratio:4/3}
.card img.product{object-fit:contain;background:#fff;padding:1rem}
.card .price{margin-top:auto;padding-top:.6rem}
@media (min-width:601px){.card h3{min-height:2.45em}}
.split .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}

/* Pasos: 5 columnas alineadas, título en una línea */
.steps h3{white-space:nowrap;font-size:1.15rem}
@media (min-width:1000px){.steps{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Estadísticas: en móvil 2×2 y libres del botón del chat */
@media (max-width:767px){
  /* Una columna con 88px libres a la derecha: la burbuja del chat nunca tapa una cifra */
  #proof .stats{grid-template-columns:1fr;gap:1rem;padding-right:5.5rem}
  #proof .stats div{flex-direction:row;align-items:baseline;gap:.75rem;padding-bottom:.85rem;
    border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
  #proof .stats div:last-child{border-bottom:0;padding-bottom:0}
  #proof .stats strong{flex:0 0 auto;min-width:6.5rem}
}
/* Burbuja del chat en la esquina inferior derecha, a 16px */
#omada-chat-toggle{right:16px !important;bottom:16px !important}

/* Insignias: cuadrícula pareja 3×2 */
.badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.badges li{display:flex;align-items:center;gap:.65rem;padding:.95rem 1.1rem;font-weight:700;
  background:color-mix(in srgb,var(--ink) 4%,var(--surface))}
.badges li::before{content:"✓";color:var(--accent);font-weight:900;flex:0 0 auto}
@media (max-width:900px){.badges{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.badges{grid-template-columns:1fr}}

/* Dos columnas: lista + mapa o nota */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);align-items:stretch}
.duo .rows{max-width:none}
.duo-map{min-height:340px;border:2px solid var(--ink)}
.duo-map iframe{display:block;width:100%;height:100%;min-height:340px;border:0}
.duo-note{padding:clamp(1.25rem,3vw,2rem);background:color-mix(in srgb,var(--ink) 5%,var(--surface));
  border-top:4px solid var(--accent);align-self:start}
.duo-note h3{margin-top:0}
@media (max-width:820px){.duo{grid-template-columns:1fr}}

/* Listas nombre/valor */
.rows li{align-items:baseline}
.rows li span:last-child{white-space:normal;text-align:right}
@media (max-width:600px){.rows li{flex-direction:column;gap:.15rem}.rows li span:last-child{text-align:left}}

.note{max-width:44rem;margin:1.25rem 0 0;padding:1rem 1.15rem;border-left:4px solid var(--accent);
  background:color-mix(in srgb,var(--ink) 5%,var(--surface));font-weight:600}

/* Reseñas: lectura cómoda */
.quotes blockquote p{font-family:var(--font-body);font-weight:400;font-style:normal;font-size:1.0625rem;line-height:1.6}
.quotes figcaption{font-size:1rem;opacity:.85;font-weight:600}

/* Financiamiento: formulario + columna fija */
.fin{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.fin-form{grid-column:1;grid-row:1}
.fin-aside{grid-column:2;grid-row:1;position:sticky;top:96px;display:grid;gap:1.25rem}
.fin-box{padding:1.5rem;background:color-mix(in srgb,var(--ink) 5%,var(--surface));border-top:4px solid var(--accent-2)}
.fin-box.dark{background:var(--ink);color:var(--surface);border-top-color:var(--accent)}
.fin-box h2,.fin-box h3{margin-top:0}
.fin-steps{margin:0;padding-left:1.25rem;display:grid;gap:.7rem}
.fin-box .note{margin:0;background:var(--surface)}
.fin-box .actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
@media (max-width:900px){.fin{grid-template-columns:1fr}.fin-aside,.fin-form{grid-column:1;grid-row:auto}.fin-aside{position:static}}

/* Formularios: 17px+ evita el zoom en iPhone */
.ocf label{font-size:.95rem;text-transform:none;letter-spacing:.01em}
.ocf input,.ocf textarea{font-size:1.0625rem}
.ocf.ocf-2{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;row-gap:1rem}
.ocf-2 .f{display:grid;gap:.4rem;align-content:start}
.ocf-2 .full{grid-column:1/-1}
.ocf-2 button{justify-self:start;margin-top:0}
@media (max-width:560px){.ocf.ocf-2{grid-template-columns:1fr}}
#contact-form h2{max-width:34rem}

/* Pie de página: 4 columnas en el mismo contenedor */
.site-footer{padding:clamp(2.5rem,5vw,4rem) var(--gut) 7rem}
.footer-grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2rem 2.5rem}
.footer-grid p,.footer-grid li{font-size:1.0625rem;margin:0 0 .55rem;line-height:1.55}
.footer-logo img{width:52px;height:52px;display:block;margin-bottom:.9rem}
.fh{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  font-size:.9rem;margin:0 0 .9rem;color:var(--surface)}
.flinks{list-style:none;margin:0;padding:0}
.footer-grid a{color:var(--surface);text-decoration:none;font-weight:600}
.footer-grid a:hover,.footer-grid a:focus{text-decoration:underline}
.footer-copy,.site-footer .footer-legal{max-width:var(--wrap);margin-left:auto;margin-right:auto;font-size:.95rem;opacity:.85}
.footer-copy{margin-top:2.5rem;margin-bottom:0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.18)}
.site-footer .footer-legal{margin-top:.4rem}
@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}
