
/* DRYX V31 FINAL — responsive, accessibility, conversion and visual stability layer */
:root{
  --v31-orange:#FF5A00;
  --v31-orange-hi:#FF7A22;
  --v31-green:#25D366;
  --v31-bg:#06080A;
  --v31-card:#0F151D;
  --v31-line:rgba(255,255,255,.12);
  --v31-max:1240px;
}
html{scroll-padding-top:92px;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img,svg,video{max-width:100%}
img{height:auto;display:block}
button,a,input,select,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:3px solid var(--v31-orange-hi)!important;outline-offset:3px!important
}
.v31-skip{
  position:fixed;left:12px;top:8px;z-index:100000;
  transform:translateY(-160%);padding:12px 16px;border-radius:10px;
  background:#fff;color:#111;font-weight:800;text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .2s ease
}
.v31-skip:focus{transform:translateY(0)}
.v31-mobile-toggle{
  display:none;align-items:center;justify-content:center;
  width:46px;height:46px;border:1px solid rgba(255,255,255,.14);
  border-radius:10px;background:#0F151D;color:#fff;cursor:pointer;
  flex:0 0 auto
}
.v31-mobile-toggle i{font-size:1.15rem}
.v31-mobile-toggle[aria-expanded="true"]{border-color:rgba(255,90,0,.7);color:var(--v31-orange-hi)}
.v31-mobile-nav-open{overflow:hidden}
.v31-mobile-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:99998;
  padding:7px max(8px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));
  background:rgba(5,8,11,.96);backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,255,255,.13);
  box-shadow:0 -12px 35px rgba(0,0,0,.35);gap:7px
}
.v31-mobile-cta a{
  min-height:48px;flex:1;display:flex;align-items:center;justify-content:center;gap:7px;
  border-radius:10px;text-decoration:none;font-size:.74rem;font-weight:900;
  letter-spacing:.02em;color:#fff!important;border:1px solid rgba(255,255,255,.13);
  background:#121923
}
.v31-mobile-cta a i{font-size:1rem}
.v31-mobile-cta .v31-call{border-color:rgba(255,255,255,.16)}
.v31-mobile-cta .v31-wa{background:var(--v31-green)!important;border-color:var(--v31-green);color:#06120a!important}
.v31-mobile-cta .v31-quote{background:var(--v31-orange)!important;border-color:var(--v31-orange)}
.whatsapp-glow-float{z-index:99990!important}
.v31-mobile-cta ~ .whatsapp-glow-float,
.v31-mobile-cta + .whatsapp-glow-float{bottom:86px!important}
.header-cta{min-width:0}
.nav-links a,.links a{white-space:nowrap}
.btn,.hero-primary,.cta-button,.card-link-cta,.footer-cta-btn{min-height:46px}
input,select,textarea{font-size:16px!important}
textarea{resize:vertical}
table{max-width:100%}
.table-container,.comparison-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
section[id]{scroll-margin-top:96px}
.card,.service-card-item,.guide-card,.loc-card,.location-card,.coverage-card,.testimonial-card,.quote-card-box,.gallery-card,.gallery-feature,.metric-card{min-width:0}
.hero-photo-copy-v19,.hero-copy,.hero-content,.blueprint-copy{min-width:0}
.hero-gallery-v19 img,.hero img{max-width:100%}

/* Keep the premium dark identity consistent */
body{background-color:var(--v31-bg)}
h1,h2,h3,h4,h5,h6{overflow-wrap:anywhere}
p,li,a,span{overflow-wrap:anywhere}

/* Mobile navigation for both the newer and legacy page headers */
@media (max-width:900px){
  .v31-mobile-toggle{display:inline-flex}
  header#siteHeader .nav-links,
  header .links{
    position:fixed!important;left:12px!important;right:12px!important;top:84px!important;
    width:auto!important;max-height:calc(100dvh - 100px);overflow:auto;
    display:none!important;flex-direction:column!important;align-items:stretch!important;
    gap:4px!important;padding:14px!important;border:1px solid rgba(255,255,255,.12)!important;
    border-radius:14px!important;background:rgba(7,11,16,.98)!important;
    box-shadow:0 20px 55px rgba(0,0,0,.55)!important;
  }
  header#siteHeader .nav-links.active,
  header .links.v31-open{display:flex!important}
  header#siteHeader .nav-links a,
  header .links a{
    min-height:48px;display:flex!important;align-items:center;padding:12px 14px;
    border-radius:9px;font-size:.9rem!important;white-space:normal
  }
  header#siteHeader .nav-links a:hover,
  header .links a:hover{background:rgba(255,90,0,.10)}
  header#siteHeader .header-cta{display:none!important}
  header#siteHeader .nav-container{gap:10px!important}
  header .wrap.nav{gap:10px}
  .container{padding-left:18px!important;padding-right:18px!important}
  .section-pad{padding-top:64px!important;padding-bottom:64px!important}
  .v31-mobile-cta{display:flex}
  /* A barra fixa já oferece os dois contatos essenciais no celular. */
  .whatsapp-glow-float{display:none!important}
  body{padding-bottom:70px}
  .footer-bottom-v14{padding-bottom:82px!important}
  .hero-actions-premium,.hero-btns,.actions{width:100%}
  .hero-actions-premium a,.hero-btns a,.actions a{min-width:0}
}
@media (max-width:600px){
  html{scroll-padding-top:82px}
  header#siteHeader{height:76px!important}
  header#siteHeader .nav-container{height:76px!important;min-height:76px!important}
  header .wrap.nav{min-height:70px}
  header#siteHeader .logo-text-main{font-size:2rem!important}
  header#siteHeader .logo-text-sub{font-size:.61rem!important;letter-spacing:1px!important}
  header .brand{font-size:20px!important}
  header .links{top:76px!important}
  .hero h1,.hero-photo-copy-v19 h1,.local-landing-hero h1{font-size:clamp(2.15rem,10.8vw,3.35rem)!important;line-height:1.04!important}
  .hero p,.hero-lead{font-size:1rem!important}
  .hero-photo-inner-v19,.hero-blueprint .blueprint-inner{padding-left:0!important;padding-right:0!important}
  .hero-actions-premium,.hero-btns,.actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .hero-actions-premium a,.hero-btns a,.actions a{width:100%!important}
  .hero-trust-row{grid-template-columns:1fr!important;gap:8px!important}
  .hero-gallery-v19,.hero-gallery-v24{min-width:0!important}
  .hero-gallery-slide-v19 img{height:clamp(260px,72vw,390px)!important;object-fit:cover}
  .services-grid-complete,.guide-box-wrapper,.cards,.steps,.location-cards-grid,.testimonials-grid,.gallery-grid-premium,.gallery-grid{
    grid-template-columns:1fr!important
  }
  .service-card-item,.guide-card,.card,.step,.testimonial-card,.location-card,.loc-card{padding:22px 18px!important}
  .section-head{margin-bottom:28px!important}
  .section-head h2{font-size:clamp(1.75rem,8vw,2.5rem)!important}
  .section-head p{font-size:.96rem!important}
  .quote-card-box,.cta{padding:24px 18px!important}
  .form-grid{grid-template-columns:1fr!important}
  .form-group{min-width:0!important}
  .table-container,.comparison-table{font-size:.84rem}
  .table-container table{min-width:640px}
  .gallery-card img,.gallery-feature img{height:auto!important;min-height:0!important}
  .dryx-mobile-cta-bar{display:none!important}
}
@media (max-width:380px){
  .v31-mobile-cta a{font-size:.67rem;gap:4px;padding:0 5px}
  .v31-mobile-cta a i{font-size:.9rem}
  header#siteHeader .logo-text-main{font-size:1.82rem!important}
  header .brand{font-size:18px!important}
  .container{padding-left:14px!important;padding-right:14px!important}
}
@media (min-width:901px){
  .v31-mobile-toggle,.v31-mobile-cta{display:none!important}
  body{padding-bottom:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* Original DRYX signature in all site headers and branded footers. */
a.logo-text-wrap,a.footer-logo-v14,header a.brand{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;line-height:1!important;text-decoration:none!important;min-width:0!important;padding:0!important}
a.logo-text-wrap .dryx-original-logo,header a.brand .dryx-original-logo{display:block!important;width:112px!important;height:62px!important;max-width:none!important;object-fit:contain!important}
a.footer-logo-v14 .dryx-original-logo{display:block!important;width:170px!important;height:101px!important;max-width:100%!important;object-fit:contain!important}
@media(max-width:600px){a.logo-text-wrap .dryx-original-logo,header a.brand .dryx-original-logo{width:95px!important;height:56px!important}a.footer-logo-v14 .dryx-original-logo{width:148px!important;height:88px!important}}

/* V32 — conteúdo editorial e local */
.v32-article-grid,.v32-local-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.v32-article-grid .card,.v32-local-grid article{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(255,140,35,.24);border-radius:18px;padding:24px}.v32-article-grid h2,.v32-local-grid h3{color:#fff;margin:0 0 10px}.v32-local-specific{background:#151515}.v32-local-links{margin-top:22px}.v32-local-links a,.v32-seo-hub a{color:#ff8a22}.v32-editorial p,.v32-local-specific p{line-height:1.75}@media(max-width:760px){.v32-article-grid,.v32-local-grid{grid-template-columns:1fr}.v32-article-grid .card,.v32-local-grid article{padding:20px}}

/* V32.2: compact expandable sections on mobile */
@media(max-width:700px){
  .faq, .faq-list, .comparison-accordion, .comparison-grid, .faq-grid{min-width:0!important;max-width:100%!important}
  .faq details, .faq-item, .comparison-accordion details, .comparison-card, .comparison-item{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;margin-bottom:8px!important}
  .faq summary, .faq-item summary, .comparison-accordion summary, .comparison-card summary, details.comparison-item summary{min-height:44px!important;padding:11px 38px 11px 14px!important;font-size:clamp(14px,3.8vw,16px)!important;line-height:1.35!important;overflow-wrap:anywhere!important}
  .faq details>p, .faq details>.faq-answer, .comparison-accordion details>div, .comparison-accordion details>p{padding:0 14px 14px!important;font-size:14px!important;line-height:1.55!important;overflow-wrap:anywhere!important}
  details[open]{height:auto!important;max-height:none!important}
}

/* V32.3: compact comparison, safe mobile image sizes and focus. */
:focus-visible{outline:3px solid #ff9a42;outline-offset:4px}
@media(max-width:700px){
 .comparison-mobile-v25 details{min-width:0;max-width:100%;margin-bottom:8px}
 .comparison-mobile-v25 summary{padding:12px 36px 12px 14px!important;min-height:44px;line-height:1.4;font-size:15px!important;overflow-wrap:anywhere}
 .comparison-mobile-body{padding:0 14px 14px!important;gap:10px!important}
 .comparison-mobile-body div{padding:12px!important;min-width:0}
 .comparison-mobile-body b,.comparison-mobile-body span{font-size:14px!important;line-height:1.55;overflow-wrap:anywhere}
 .atami-premium-grid>*{min-width:0}.atami-premium-media img{display:block;max-width:100%;height:auto!important;max-height:440px;object-fit:contain}
 .v31-mobile-cta{padding-bottom:env(safe-area-inset-bottom)}
 body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
}
