/* ==========================================================================
   LB PRO CLEANING SERVICES — responsive.css
   Breakpoints: 1180 / 1024 / 860 / 640 / 560 / 420
   Nothing may ever be wider than the viewport.
   ========================================================================== */

/* ------------------------------------------------------------------ 1180 */
@media (max-width:1320px){
  .header-phone{display:none;}   /* o telefone continua visivel na topbar */
}

@media (max-width:1180px){
  :root{--s9:80px;--s10:96px;}
  .wrap{padding-inline:var(--s3);}
  .hero-grid{gap:var(--s6);}
  .float-card--a{left:-16px;}
  .float-card--b{right:-12px;}
  .float-card--c{left:-8px;}
  .article-wrap{grid-template-columns:minmax(0,1fr) 280px;gap:var(--s5);}
  .nav a{padding:10px 10px;font-size:.9rem;}
}

/* ------------------------------------------------------------------ 1024 */
@media (max-width:1024px){
  .nav{display:none;}
  .burger{display:flex;}
  .hero-grid{grid-template-columns:1fr;gap:var(--s7);}
  .hero-media{max-width:520px;margin-inline:auto;width:100%;}
  .hero-frame{clip-path:polygon(0 0,calc(100% - 48px) 0,100% 48px,100% 100%,0 100%);}
  .intro-grid{grid-template-columns:1fr;gap:var(--s6);}
  .portrait{max-width:420px;}
  .page-hero-grid{grid-template-columns:1fr;gap:var(--s5);}
  .page-hero-media{max-width:560px;}
  .svc-mosaic{grid-template-columns:repeat(2,1fr);}
  .svc-card--feature{grid-column:span 2;}
  .svc-card--wide{grid-column:span 2;}
  .steps{grid-template-columns:repeat(3,1fr);gap:var(--s4);}
  .step::after{display:none;}
  .grid-4,.contact-cards,.trust-grid{grid-template-columns:repeat(2,1fr);}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--s4);}
  .areas-grid{grid-template-columns:repeat(2,1fr);}
  .slide{flex-basis:calc((100% - var(--s3))/2);}
  .masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px;}

  .article-wrap{grid-template-columns:1fr;}
  .sidebar{position:static;}
  .feature-post{grid-template-columns:1fr;}
  .feature-post .thumb{aspect-ratio:16/9;}
  .feature-post .body{padding:var(--s5);}
  .cta-inner{grid-template-columns:1fr;gap:var(--s4);}
  .foot-grid{grid-template-columns:1fr 1fr;gap:var(--s5);}
}

/* ------------------------------------------------------------------ 860 */
@media (max-width:860px){
  :root{--s9:64px;--s10:80px;--header-h:88px;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .svc-card--wide{flex-direction:column;}
  .svc-card--wide .thumb{width:100%;aspect-ratio:16/10;border-right:0;border-bottom:1px solid var(--border);}
  .svc-card--wide .body{padding:var(--s4);}
  .form-grid{grid-template-columns:1fr;}
  .topbar-list li.hide-md{display:none;}
  .strip{grid-template-columns:repeat(2,1fr);}
  .brand img{height:64px;width:auto;}
}

/* ------------------------------------------------------------------ 640 */
@media (max-width:640px){
  :root{--s9:56px;--s10:64px;--radius:14px;}
  body{font-size:1rem;}
  .grid-2,.grid-3,.grid-4,.svc-mosaic,.contact-cards,.trust-grid,.areas-grid{
    grid-template-columns:1fr;
  }
  .svc-card--feature,.svc-card--wide{grid-column:span 1;}
  .steps{grid-template-columns:1fr;gap:var(--s4);}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .slide{flex-basis:88%;}
  .masonry{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}

  .tile--wide{grid-column:span 2;}
  .float-card{display:none;}
  .float-card--a{display:flex;top:auto;bottom:14px;left:14px;right:14px;}
  .hero-frame{clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,0 100%);}
  .page-hero-media{clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%);}
  .btn{width:100%;}
  .btn-row{flex-direction:column;align-items:stretch;}
  .car-nav{justify-content:center;}
  .foot-grid{grid-template-columns:1fr;gap:var(--s5);}
  .foot-bottom{flex-direction:column;align-items:flex-start;}
  .acc-q{font-size:1rem;padding-right:44px;}
  .acc-a .inner{padding-right:0;}
  .to-top{right:16px;bottom:96px;width:44px;height:44px;}
  .lb-prev{left:8px;} .lb-next{right:8px;}
}

/* ------------------------------------------------------------------ 560
   Header must survive a 360px screen: the text button becomes a round
   phone button, the logo shrinks, the tagline disappears.               */
@media (max-width:560px){
  :root{--header-h:80px;}
  .wrap{padding-inline:20px;}
  .header-inner{gap:12px;}
  .brand img{height:56px;width:auto;}
  .brand{gap:9px;}
  .brand-text b{font-size:.9375rem;}
  .brand-text span{display:none;}
  .header-phone{display:none;}
  .header-cta .btn{display:none;}
  .brand,.brand-text{min-width:0;}
  .brand-text b{overflow:hidden;text-overflow:ellipsis;}
  .phone-circle{
    display:grid;place-items:center;width:46px;height:46px;flex:none;
    border-radius:50%;background:var(--grad-brand);color:var(--on-accent);
    box-shadow:0 10px 26px -14px rgba(67,160,218,.9);
  }
  .phone-circle svg{width:20px;height:20px;}
  .header-cta{gap:10px;}
  .topbar{display:none;}
  .stats-grid{grid-template-columns:1fr;gap:var(--s3);}
  .stat{padding:var(--s1) 0;}
  .feature-post .body{padding:var(--s4);}
  .article-body h2{margin-top:var(--s5);}
}

/* ------------------------------------------------------------------ 420 */
@media (max-width:420px){
  .wrap{padding-inline:16px;}
  .brand img{height:48px;width:auto;}
  .brand-text{display:none;}
  .burger{width:42px;height:42px;}
  .phone-circle{width:42px;height:42px;}
  .display{font-size:2.15rem;}
  .h1{font-size:1.95rem;}
  .h2{font-size:1.65rem;}
  .masonry{grid-template-columns:1fr;grid-auto-rows:190px;}
  .tile--big{grid-column:span 1;grid-row:span 1;}
  .tile--wide,.tile--tall{grid-column:span 1;grid-row:span 1;}
  .strip{grid-template-columns:1fr;}
  .slide{flex-basis:92%;}
  .err-code{font-size:5.5rem;}
  .card,.quote-card,.contact-card{padding:var(--s3);}
}

/* ------------------------------------------------------------ hard locks */
@media (max-width:1024px){
  .hero,.stats,.cta-band,.page-hero,.section,.err-page{overflow:hidden;}
}
@media print{
  .site-header,.topbar,.to-top,.mobile-panel,.scrim,.cta-band,.carousel{display:none !important;}
  body{background:#fff;color:#000;}
}

/* ------------------------------------------------ before / after */
@media (max-width:1024px){
  .ba-layout{grid-template-columns:1fr;gap:var(--s5);}
  /* no mobile o comparador vem antes da nota explicativa */
  .ba-side{display:contents;}
  .ba-tabs{order:1;}
  .ba-stage{order:2;}
  .ba-side .card{order:3;}
  .ba-tabs,.ba-side .card{min-width:0;}
  .ba-tabs{
    flex-direction:row;overflow-x:auto;gap:10px;padding-bottom:6px;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .ba-tabs::-webkit-scrollbar{display:none;}
  .ba-tab{width:auto;flex:0 0 auto;}
}
@media (max-width:560px){
  .ba-tab img{width:44px;height:44px;}
  .ba-tab b{font-size:.875rem;}
  .ba-tab small{display:none;}
  .ba-knob{width:42px;height:42px;}
}
