/* ============================================================
   ORION 3D — RESPONSIVIDADE GLOBAL
   Mobile-first safeguards para 320px até telas ultrawide.
   ============================================================ */
html{overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;min-width:0}
*,*::before,*::after{box-sizing:border-box}
img,video,svg,canvas{max-width:100%;height:auto}
button,input,select,textarea{max-width:100%;font:inherit}
.container{width:min(var(--container,1180px),calc(100% - 32px));max-width:100%}
.product-grid,.hero-grid,.info-layout,.custom-grid,.technology-grid,.process-grid,
.footer-top,.contact-card,.enterprise-business-grid,.business-hero-grid,.business-process-grid,
.business-lead-grid{min-width:0}
.product-card,.product-copy,.gallery-column,.hero-copy,.hero-stage,.info-main,.info-side{min-width:0}
.product-card img,.main-image img,.stage-card img{display:block;width:100%}
table{max-width:100%}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
input,select,textarea{font-size:16px}

@media (max-width:1100px){
  .navbar{gap:18px}
  .navbar nav{gap:16px}
  .desktop-whatsapp{display:none!important}
  .hero-grid{grid-template-columns:1fr 1fr;gap:42px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:820px){
  :root{--container:calc(100% - 28px)}
  .announcement .container{gap:10px;flex-wrap:wrap}
  .announcement p,.announcement a{font-size:8px}
  .site-header{position:sticky;top:0}
  .navbar{min-height:68px}
  .brand img{width:42px;height:42px}
  .brand span small{display:none}
  .menu-button{display:flex!important}
  .navbar #mainNav{
    position:fixed;left:14px;right:14px;top:78px;z-index:80;
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    padding:12px;border:1px solid rgba(100,170,230,.18);border-radius:14px;
    background:rgba(4,11,20,.98);backdrop-filter:blur(18px);
    transform:translateY(-12px);opacity:0;pointer-events:none;visibility:hidden;
    box-shadow:0 25px 70px rgba(0,0,0,.45)
  }
  .navbar #mainNav.open{transform:none;opacity:1;pointer-events:auto;visibility:visible}
  .navbar #mainNav a{padding:14px 12px;border-bottom:1px solid rgba(110,170,220,.09)}
  .navbar #mainNav a:last-child{border-bottom:0}
  .nav-actions{margin-left:auto}
  .hero,.premium-hero{padding-top:58px}
  .hero-grid,.product-detail,.info-layout,.custom-grid,.technology-grid,.process-grid,
  .enterprise-business-grid,.business-hero-grid,.business-process-grid,.business-lead-grid{
    grid-template-columns:1fr!important
  }
  .hero-grid{gap:34px}
  .hero-copy h1{font-size:clamp(46px,13vw,70px)}
  .hero-stage{min-height:460px}
  .hero-meta{grid-template-columns:1fr 1fr}
  .catalog-toolbar{align-items:stretch;flex-direction:column;gap:14px}
  .toolbar-right{width:100%;grid-template-columns:1fr 1fr}
  .search{min-width:0}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .product-hero{padding-top:42px}
  .product-detail{gap:34px}
  .product-copy h1{font-size:clamp(38px,10vw,60px)}
  .configuration{padding:18px}
  .quantity-row{grid-template-columns:1fr!important;gap:14px}
  .product-buy{width:100%}
  .product-assurance{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px}
  .footer-brand{grid-column:1/-1}
  .enterprise-numbers{grid-template-columns:repeat(2,1fr)}
  .business-solution-grid{grid-template-columns:1fr}
}

@media (max-width:560px){
  :root{--container:calc(100% - 22px)}
  .announcement{min-height:auto;padding:8px 0}
  .announcement .container{justify-content:center;text-align:center}
  .announcement a{display:none}
  .navbar{min-height:62px}
  .brand img{width:38px;height:38px;border-radius:9px}
  .brand span strong{font-size:12px}
  .nav-search{width:40px;height:40px}
  .hero,.premium-hero{padding-top:40px}
  .hero-copy h1{font-size:clamp(42px,14vw,58px);line-height:.95}
  .hero-copy>p{font-size:13px}
  .actions{flex-direction:column;align-items:stretch}
  .actions .button{width:100%}
  .hero-stage{min-height:390px}
  .stage-card{width:min(88vw,340px)}
  .floating-note{display:none}
  .hero-meta{grid-template-columns:1fr}
  .marquee{font-size:9px}
  .section{padding-top:72px;padding-bottom:72px}
  .editorial-head{align-items:start;flex-direction:column;gap:18px}
  .editorial-head h2{font-size:clamp(34px,11vw,46px)}
  .toolbar-right{grid-template-columns:1fr}
  .sort{width:100%}
  .category-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;scrollbar-width:none}
  .category-row::-webkit-scrollbar{display:none}
  .category-row button{flex:0 0 auto}
  .product-grid{grid-template-columns:1fr}
  .product-card{width:100%}
  .product-card-body{padding:16px}
  .catalog-meta{gap:12px;flex-wrap:wrap}
  .breadcrumbs{overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .product-detail{gap:26px}
  .main-image{border-radius:14px}
  .thumbs{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x proximity}
  .thumbs button{flex:0 0 76px}
  .product-copy h1{font-size:40px}
  .price-row strong{font-size:30px}
  .configuration{padding:15px}
  .configuration label{min-width:0}
  .quantity{width:100%}
  .quantity input{flex:1;min-width:0}
  .product-assurance>div{padding:14px 0}
  .info-layout{gap:30px}
  .spec-card,.care-card{padding:20px}
  .contact-card{padding:28px 20px;align-items:start;flex-direction:column}
  .contact-card h2{font-size:34px}
  .contact-card .button{width:100%}
  .footer-top{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}
  .creator-credit{padding-inline:10px}
  .enterprise-numbers{grid-template-columns:1fr}
  .enterprise-capabilities{grid-template-columns:1fr}
  .quote-drawer{width:100%}
  .quote-drawer-head{padding:22px 18px 16px}
  .quote-drawer-body{padding:14px 17px}
  .quote-drawer-footer{padding:17px}
  .quote-item{grid-template-columns:72px 1fr}
  .quote-item>img{width:72px;height:72px}
  .lead-dialog{width:calc(100% - 12px)}
  .lead-dialog-intro,.lead-form{padding-left:20px;padding-right:20px}
  .lead-dialog-intro h2{font-size:31px}
  .command-dialog{width:calc(100% - 12px)}
  .business-hero h1{font-size:48px}
}

@media (max-width:360px){
  :root{--container:calc(100% - 16px)}
  .brand span strong{font-size:11px}
  .hero-copy h1{font-size:39px}
  .hero-stage{min-height:340px}
  .section{padding-top:60px;padding-bottom:60px}
  .product-copy h1{font-size:34px}
  .configuration{padding:12px}
  .enterprise-quote-button{width:38px;height:38px}
}

@media (hover:none) and (pointer:coarse){
  .cursor-glow{display:none!important}
  button,a,select,input{touch-action:manipulation}
  .button,.product-card button,.enterprise-add-quote{min-height:44px}
}


/* ============================================================
   MOBILE HARDENING — iOS / Android / PWA
   ============================================================ */
:root{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
}
html{-webkit-tap-highlight-color:transparent;scroll-padding-top:84px}
body{min-height:100dvh}
a,button{-webkit-touch-callout:none}
button,[role="button"],a.button{cursor:pointer}
input,select,textarea{min-width:0}
textarea{resize:vertical}
.announcement{padding-left:var(--safe-left);padding-right:var(--safe-right)}
.site-header{padding-left:var(--safe-left);padding-right:var(--safe-right)}
.global-footer{padding-bottom:var(--safe-bottom)}
.toast{max-width:min(92vw,520px);left:50%;right:auto}
.lead-form-status{padding:11px 12px;border-radius:8px;font-size:9px;line-height:1.55;border:1px solid rgba(100,170,230,.18);background:#071727;color:#8ca4b8}
.lead-form-status[data-type="loading"]{color:#75c9fa;border-color:rgba(77,181,244,.22)}
.lead-form-status[data-type="success"]{color:#64dda0;border-color:rgba(66,214,148,.22);background:rgba(29,152,95,.08)}
.lead-form-status[data-type="error"]{color:#f09aaa;border-color:rgba(238,100,122,.25);background:rgba(194,61,82,.08)}

@media(max-width:700px){
  body{padding-bottom:var(--safe-bottom)}
  .navbar{padding-left:max(0px,var(--safe-left));padding-right:max(0px,var(--safe-right))}
  .nav-actions{gap:6px}
  .enterprise-quote-button,.nav-search,.menu-button{min-width:44px;min-height:44px}
  .quote-drawer{height:100dvh;padding-right:var(--safe-right);padding-left:var(--safe-left)}
  .quote-drawer-head{padding-top:max(18px,var(--safe-top))}
  .quote-drawer-body{overscroll-behavior:contain}
  .quote-drawer-footer{padding-bottom:max(18px,calc(12px + var(--safe-bottom)))}
  .lead-dialog{
    width:100vw!important;max-width:100vw!important;height:100dvh;max-height:100dvh!important;
    margin:0;border:0;border-radius:0;overflow:auto;overscroll-behavior:contain;
  }
  .lead-dialog-layout{min-height:0!important;display:block!important}
  .lead-dialog-close{position:fixed;right:max(14px,calc(10px + var(--safe-right)));top:max(14px,calc(10px + var(--safe-top)));z-index:20;background:#071525}
  .lead-dialog-intro{padding-top:max(58px,calc(44px + var(--safe-top)));padding-bottom:26px}
  .lead-dialog-intro:after{opacity:.5}
  .lead-form{padding-top:28px;padding-bottom:max(34px,calc(22px + var(--safe-bottom)));min-height:0}
  .lead-form input,.lead-form textarea{font-size:16px;min-height:48px}
  .lead-form textarea{min-height:112px}
  #submitLeadButton{min-height:52px;font-size:11px;position:sticky;bottom:max(8px,var(--safe-bottom));z-index:4}
  .enterprise-overlay{inset:0}
  .command-dialog{max-height:100dvh!important}
  .mobile-buy-bar{padding-bottom:max(10px,var(--safe-bottom))!important}
  .floating-whatsapp{bottom:max(18px,calc(12px + var(--safe-bottom)))!important;right:max(16px,calc(10px + var(--safe-right)))!important}
}

@media(max-width:480px){
  :root{--container:calc(100% - 20px)}
  .brand{max-width:54vw;min-width:0}
  .brand span{min-width:0}
  .brand span strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .navbar{gap:7px}
  .nav-actions{gap:4px}
  .nav-search{display:none!important}
  .hero-copy h1,.business-hero h1{overflow-wrap:anywhere}
  .hero-stage{min-height:330px}
  .product-grid{gap:12px}
  .product-card-body{padding:14px}
  .product-card-footer{align-items:flex-end;gap:10px}
  .card-buy{min-width:92px;min-height:46px}
  .enterprise-card-toolbar{gap:7px}
  .enterprise-add-quote{min-height:46px}
  .enterprise-favorite{width:46px;min-width:46px;height:46px}
  .quote-item{grid-template-columns:64px minmax(0,1fr);gap:10px}
  .quote-item>img{width:64px;height:64px}
  .quote-item-title strong{font-size:11px}
  .quote-item-bottom{gap:8px;flex-wrap:wrap}
  .quote-item-bottom input{width:68px;min-height:36px;font-size:16px}
  .quote-drawer-footer>.enterprise-primary,.quote-drawer-footer>.enterprise-secondary{min-height:50px}
  .lead-dialog-intro{padding-left:18px!important;padding-right:18px!important}
  .lead-dialog-intro h2{font-size:30px!important;max-width:85%}
  .lead-dialog-intro>p{font-size:11px}
  .lead-summary{grid-template-columns:1fr 1fr;gap:7px}
  .lead-summary>div{padding:13px}
  .lead-summary strong{font-size:18px}
  .lead-form{padding-left:18px!important;padding-right:18px!important}
  .footer-bottom{padding-bottom:max(22px,var(--safe-bottom))}
}

@media(max-width:340px){
  :root{--container:calc(100% - 14px)}
  .brand{max-width:50vw}
  .enterprise-quote-button,.menu-button{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
  .lead-summary{grid-template-columns:1fr}
  .product-copy h1{font-size:32px}
}

@media(orientation:landscape) and (max-height:520px){
  .lead-dialog-intro{padding-top:52px;padding-bottom:18px}
  .lead-dialog-intro h2{font-size:28px;margin-bottom:10px}
  .lead-summary{margin-top:18px}
  .lead-form{padding-top:20px}
  .hero-stage{min-height:300px}
}


/* Product configurator mobile refinement */
@media(max-width:700px){
  .configuration{border-radius:14px!important;padding:16px!important}
  .configuration>div:first-child{align-items:flex-start!important}
  .configuration select{min-height:54px!important;width:100%!important;padding:0 44px 0 14px!important;font-size:16px!important}
  .configuration label{font-size:10px!important;gap:8px!important}
  .quantity{min-height:58px!important;border-radius:10px!important}
  .quantity button{min-width:54px!important;min-height:54px!important;font-size:20px!important}
  .quantity input{font-size:20px!important}
  #productWhatsapp{min-height:56px!important;width:100%!important}
}
@media(max-width:390px){.configuration{padding:12px!important}.configuration select{min-height:52px!important}}
