/* =====================================================================
   Aluminio Milan — CAPA RESPONSIVE v2.84 (base v2.83)
   Se carga al final del <head> de todas las páginas.
   Corrige: sticky roto, contraste, flotantes superpuestos, desbordes,
   tamaños táctiles y el diseñador 3D en móvil / horizontal.
   ===================================================================== */

/* ---------- 1. Scroll horizontal sin romper el header sticky ----------
   v2.70 ponía overflow-x:hidden en html Y body: body se convertía en
   contenedor de scroll y el header / la barra inferior dejaban de ser
   sticky. clip recorta igual pero no crea contenedor de scroll. */
html{overflow-x:hidden}
html body{overflow-x:visible}
@supports (overflow:clip){html,html body{overflow-x:clip}}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html{scroll-padding-top:84px}

/* ---------- 2. Medios y textos que no deben salirse ---------- */
.design-art{min-height:0!important;width:100%;height:auto}
h1,h2,h3,.brand span{overflow-wrap:break-word;hyphens:manual}
.btn{max-width:100%}

/* ---------- 3. Bloque "Serving Miami and South Florida" ----------
   No tenía estilos: pegado al borde izquierdo y sin márgenes. */
.seo-service-area{width:min(92%,var(--milan-content-max,1440px));margin-inline:auto;padding-block:clamp(28px,5vw,56px)!important}
.seo-service-area h2{margin:0 0 10px;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.15;letter-spacing:-.5px}
.seo-service-area p{margin:0;color:var(--milan-muted)!important;line-height:1.65;font-size:clamp(14px,1.6vw,16px)}
@media (max-width:1023px){.seo-service-area{width:94%}}
@media (max-width:767px){.seo-service-area{width:92%}}
@media (max-width:480px){.seo-service-area{width:90%}}
@media (min-width:1440px){.seo-service-area{width:min(90%,1600px)}}

/* ---------- 4. Inicio: accesos rápidos y tarjetas ---------- */
.quick-card div{line-height:1.25}
.quick-card small{display:block;margin-top:4px}
.mini-link{display:inline-flex;align-items:center;min-height:44px}
.hero h1{font-size:clamp(2rem,5.8vw,4.4rem)}
@media (max-width:360px){.hero h1{font-size:34px!important;letter-spacing:-.5px}.trust .pill{font-size:10px}}

/* ---------- 5. Tamaños táctiles (mínimo 44 px) ---------- */
.navlinks a{min-height:44px;display:inline-flex;align-items:center}
.menu-btn{min-width:44px;min-height:44px}
footer a,.milan-page-footer a{display:inline-flex;align-items:center;min-height:44px}
.social-row a,.social a,.follow a,.contact-links a,.links a{min-height:44px;display:inline-flex;align-items:center}
.mobile-nav a{min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px!important;line-height:1.2}
.milan-site-header nav a{min-height:44px!important}
.filter{min-height:44px}
body.am-legacy main.c>a:first-child{display:inline-flex;align-items:center;min-height:44px}
input,select,textarea{font-size:16px}          /* evita el zoom automático de iOS */
.field input,.field select{min-height:44px}

/* ---------- 6. Contraste: restos del tema oscuro antiguo ----------
   El tema claro (design-system) fuerza texto oscuro en el body y deja
   algunos paneles con su fondo negro original. */
body.am-legacy p,body.am-legacy li{color:var(--milan-muted)}
body.am-legacy .eyebrow,body.am-legacy .pvc-kicker{color:var(--milan-aqua)!important}
body.am-legacy .box,body.am-legacy .item,body.am-legacy .card,body.am-legacy .media-card,body.am-legacy .pvc-photo{color:#f5f5f5}
body.am-legacy :is(.box,.item,.card,.media-card,.pvc-photo) :is(h1,h2,h3,h4,b,strong,label,small,span,a:not(.btn)){color:#f7fafc!important}
body.am-legacy :is(.box,.item,.card,.media-card,.pvc-photo) :is(p,li){color:#c9ced4!important}
body.am-legacy :is(.box,.item,.card,.media-card,.pvc-photo) .btn{color:#111!important}
body.am-legacy :is(.box,.item,.card,.media-card,.pvc-photo) a:not(.btn){text-decoration:underline;text-underline-offset:3px}
body.am-legacy .media-info span{color:#c9ced4!important}

/* =====================================================================
   7. Selector de idioma y botones flotantes
   ===================================================================== */
.milan-float-social{contain:layout!important}      /* el paint recortaba las sombras y dejaba un recuadro claro */

/* Menos de 1200 px: el selector vertical tapaba el texto del hero.
   Pasa a una fila compacta abajo a la izquierda; los botones de
   contacto quedan abajo a la derecha. */
@media (max-width:1199px){
  body{--am-dock:0px}
  @media (max-width:400px){
    html body .milan-float-social a{width:44px!important;height:44px!important;min-width:44px!important}
    html body #language-switcher button{width:50px!important;height:42px!important}
  }
  html body #language-switcher{top:auto!important;right:auto!important;left:max(10px,env(safe-area-inset-left))!important;
    bottom:calc(14px + var(--am-dock) + env(safe-area-inset-bottom))!important;flex-direction:row!important;gap:6px!important}
  html body #language-switcher button{width:54px!important;height:44px!important}
  html body .milan-float-social{right:max(10px,env(safe-area-inset-right))!important;bottom:calc(14px + var(--am-dock) + env(safe-area-inset-bottom))!important;gap:8px!important}
  body:not(.am-3d){padding-bottom:72px}
}
/* Barra inferior del inicio (solo ≤600 px): los flotantes van por encima */
@media (max-width:600px){
  body:has(.mobile-nav){--am-dock:62px;padding-bottom:calc(134px + env(safe-area-inset-bottom))}
  /* sticky dentro del flujo quedaba encima del pie al final de la página */
  .mobile-nav{position:fixed!important;left:0;right:0;bottom:0}
  .mobile-nav{padding-inline:max(4px,env(safe-area-inset-left)) max(4px,env(safe-area-inset-right))}
}
/* Horizontal / pantallas bajas: la columna de 4 botones no cabe → fila */
@media (max-width:1199px) and (max-height:520px){
  html body .milan-float-social{flex-direction:row!important}
  html body .milan-float-social a{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  html body .milan-float-social a svg{width:21px!important;height:21px!important}
}

/* ---------- 8. Menú desplegable del inicio ---------- */
@media (max-width:900px){
  .nav.open .navlinks{max-height:calc(100dvh - 90px);overflow-y:auto}
  .nav.open .navlinks a{min-height:48px;padding:0 14px!important;margin:0!important}
}
@media (max-width:380px){
  #siteNav .brand span:last-child{font-size:12px;letter-spacing:.3px}
  #siteNav .btn.gold{padding:10px 12px;font-size:11px}
  #siteNav{gap:8px}
}

/* ---------- 9. Pantallas grandes: evitar líneas de texto larguísimas ---------- */
@media (min-width:1600px){
  .hero-content{max-width:760px}
}

/* =====================================================================
   10. DISEÑADOR 3D (body.am-3d)
   ===================================================================== */
html body.am-3d{color:#f7f8fa!important;background:#080a0d!important}
.am-3d .top .brand,.am-3d .panel h3,.am-3d .hud,.am-3d label.file,.am-3d .part b,.am-3d #uxMode h1{color:#f7f8fa!important}
.am-3d section.panel{padding:13px!important}
.am-3d .layout{height:calc(100vh - 62px);height:calc(100dvh - 62px)}
.am-3d.easyOnly .stage{height:calc(100vh - 62px);height:calc(100dvh - 62px)}
.am-3d .check{min-height:44px;margin:2px 0}
.am-3d .check input{width:22px;height:22px;flex:0 0 22px;accent-color:#fff}
.am-3d .modeSwitch button{min-width:44px}
.am-3d .viewbar .btn{min-height:44px;min-width:44px}

/* Pantalla inicial (elegir modo): desplazable si no cabe */
.am-3d #uxMode{overflow-y:auto;-webkit-overflow-scrolling:touch}
/* Mientras se elige el modo, los botones sociales no tapan la tarjeta */
body.am-3d:has(#uxMode:not([style*="none"])) .milan-float-social{display:none!important}
@media (max-width:950px){.am-3d #uxMode{padding-top:120px}}
.am-3d .top .actions>.btn,.am-3d .modeSwitch>.btn{width:auto!important;flex:0 0 auto}
@media (max-height:640px){.am-3d #uxMode{place-items:start center}.am-3d #uxMode .ux-card{margin-block:10px}}
@media (max-height:520px){.am-3d #uxMode .ux-card{padding:18px}.am-3d .ux-icon{display:none}.am-3d #uxMode h1{font-size:22px!important}.am-3d .ux-sub{margin-bottom:12px}.am-3d .ux-choice{padding:14px}}

/* Idioma y contacto en el 3D: arriba a la derecha, nunca sobre "Send design" */
html body.am-3d #language-switcher{top:125px!important;right:16px!important;bottom:auto!important;left:auto!important;flex-direction:column!important}
html body.am-3d .milan-float-social{top:232px!important;bottom:auto!important;right:14px!important;flex-direction:column!important}
@media (max-width:950px){
  html body.am-3d #language-switcher{top:74px!important;right:8px!important;flex-direction:row!important}
  html body.am-3d #language-switcher button{width:46px!important;height:40px!important;min-height:40px}
  html body.am-3d .milan-float-social{top:124px!important;right:8px!important;gap:6px!important}
  html body.am-3d .milan-float-social a{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important}
  html body.am-3d .milan-float-social a svg{width:19px!important;height:19px!important}
  /* con el panel de diseño abierto no deben tapar sus controles */
  body.am-3d:has(.side.open) .milan-float-social,body.am-3d:has(.side.open) #language-switcher{display:none!important}
  .am-3d .top{padding:0 8px;gap:6px}
  .am-3d .top .actions{gap:5px;flex-wrap:nowrap}
  .am-3d .modeSwitch{margin-left:0}
  .am-3d .top .btn{padding:9px 10px;font-size:12px}
  .am-3d .modeSwitch button{font-size:11px!important;padding:8px 9px!important}
  .am-3d .hud.help{max-width:calc(100% - 130px)}
  .am-3d .hud.mode{left:12px;right:auto;top:auto;bottom:66px}
  .am-3d .bottom{right:12px;left:12px}
  .am-3d .viewbar{flex-wrap:nowrap;overflow-x:auto;max-width:none;flex:1 1 auto;scrollbar-width:none}
  .am-3d .viewbar::-webkit-scrollbar{display:none}
  .am-3d .viewbar .btn{flex:0 0 auto}
  .am-3d .bottom>.btn,.am-3d .bottom>.row{flex:0 0 auto}
}
@media (max-width:600px){
  .am-3d .top .brand{display:none}
  .am-3d .top{justify-content:flex-end}
  .am-3d .top .actions{width:100%;justify-content:space-between}
}
@media (max-width:950px) and (max-height:520px){
  html body.am-3d .milan-float-social{flex-direction:row!important;top:74px!important;right:110px!important}
}

/* Modo Fácil: el panel tapaba todo el modelo y en horizontal no se podía
   llegar al final. Ahora siempre se desplaza. */
.am-3d .easyControls{max-height:calc(100% - 150px);overflow-y:auto;overscroll-behavior:contain}
@media (max-width:950px){
  .am-3d.easyOnly .easyBanner{display:none!important}
  .am-3d.easyOnly .hud.help,.am-3d.easyOnly .hud.mode{display:none}
}
/* Vertical: hoja inferior que deja ver el modelo arriba */
@media (max-width:950px) and (min-height:521px){
  .am-3d .easyControls{top:auto;bottom:10px;left:8px;right:8px;width:auto;max-height:48%}
  .am-3d.easyOnly .bottom{top:62px;bottom:auto;left:12px;right:60px}
  .am-3d.easyOnly #sendBottom{display:none}
  .am-3d .easyChoices button{padding:9px 8px}
  html body.am-3d.easyOnly .milan-float-social{top:120px!important}
}
/* Horizontal: panel lateral izquierdo con scroll, vistas a su derecha */
@media (max-width:950px) and (max-height:520px){
  .am-3d .easyControls{top:72px;bottom:10px;left:8px;width:min(320px,48%);max-height:none}
  .am-3d.easyOnly .easyBanner{display:none}
  .am-3d.easyOnly .bottom{left:calc(min(320px,48%) + 18px);right:12px}
  .am-3d.easyOnly #sendBottom{display:none}
  .am-3d .side{top:62px}
}
