/* BeHost México v745 · compatibilidad, rendimiento y responsive global. */
:root{
  --bh-safe-left:env(safe-area-inset-left,0px);
  --bh-safe-right:env(safe-area-inset-right,0px);
  --bh-safe-top:env(safe-area-inset-top,0px);
  --bh-safe-bottom:env(safe-area-inset-bottom,0px);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  font-synthesis-weight:none;
}
html{box-sizing:border-box;min-width:0;max-width:100%;scroll-padding-top:88px}
*,*::before,*::after{box-sizing:inherit}
body{min-width:0;max-width:100%;margin-left:auto;margin-right:auto}
@supports (overflow:clip){html,body{overflow-x:clip}}
:where(main,section,article,aside,header,footer,nav,div,form,fieldset){min-width:0}
:where(img,video,canvas){max-width:100%;height:auto}
:where(picture){max-width:100%}
:where(iframe,embed,object){max-width:100%}
:where(table){max-width:100%}
:where(input,select,textarea,button){max-width:100%;font:inherit}
:where(button,[role="button"],a){-webkit-tap-highlight-color:transparent}
:where(button,input,select,textarea){touch-action:manipulation}
:where(p,h1,h2,h3,h4,h5,h6,li,dd,dt,a,button,label){overflow-wrap:break-word}
:where(pre,code,kbd,samp){overflow-wrap:normal;word-break:normal}
:where(pre){max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
:where(img[width][height]){height:auto}
:where(img:not([src])){visibility:hidden}
:where([hidden]){display:none!important}

/* Reduce trabajo de pintura fuera de pantalla sin alterar el diseño ni el SEO. */
@supports (content-visibility:auto){
  body:not(.bh-no-content-visibility) :where(.bh23-section,.section,.product-section,.feature-section,.faq-section,.bh-intent-v686,footer){
    content-visibility:auto;
    contain-intrinsic-size:auto 720px;
  }
  header,nav,[class*="hero"],[id*="hero"],[aria-live],dialog{content-visibility:visible!important;contain-intrinsic-size:none!important}
}

/* Targets táctiles sin convertir enlaces de texto en botones gigantes. */
@media (pointer:coarse){
  :where(button,input[type="button"],input[type="submit"],input[type="reset"],.btn,.button,[role="button"]){min-height:44px}
}

/* Safari/iOS evita zoom accidental en formularios. */
@media (max-width:600px){
  :where(input,select,textarea){font-size:16px}
  :where(body){padding-left:max(0px,var(--bh-safe-left));padding-right:max(0px,var(--bh-safe-right))}
  :where(.bh23-shell,.container,.wrap,.wrapper,.content,.page-inner){max-width:100%}
}

/* 320–359 px: dispositivos Android básicos y navegadores embebidos. */
@media (max-width:359px){
  :where(h1){font-size:clamp(1.72rem,9vw,2.15rem)!important;line-height:1.05!important}
  :where(h2){font-size:clamp(1.42rem,7.4vw,1.88rem)!important;line-height:1.1!important}
  :where(.btn,.button,button,[role="button"]){max-width:100%;white-space:normal}
}

/* 1024x768: evita columnas excesivamente angostas y scroll horizontal. */
@media (min-width:768px) and (max-width:1100px){
  :where(.bh23-shell,.container,.wrap,.wrapper){width:min(100% - 32px,1024px)}
}

/* Monitores Full HD y superiores: líneas legibles, no “estirar por estirar”. */
@media (min-width:1600px){
  :where(.bh23-shell,.container,.wrap,.wrapper){max-width:1440px}
}

/* Accesibilidad y estabilidad. Sólo se reduce movimiento si el usuario lo pidió. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Impresión limpia. */
@media print{
  :where(video,iframe,[data-open-ia-be],.ia-be-widget,.chat-widget){display:none!important}
  *{animation:none!important;transition:none!important}
}
