/* Norte Estofos V20.2 — otimização mobile-first (até 80% do tráfego) */
:root{--mobile-gutter:18px;--mobile-bottom-bar:76px}
@media (max-width: 768px){
  html{scroll-padding-top:76px;-webkit-text-size-adjust:100%}
  body{overflow-x:hidden;padding-bottom:calc(var(--mobile-bottom-bar) + env(safe-area-inset-bottom));background:#f7f4ed}
  .container{width:auto!important;max-width:none!important;margin-inline:var(--mobile-gutter)!important}
  .section{padding-block:52px!important}
  main>.section,main>section{overflow:clip}

  /* Cabeçalho reduzido e mais útil no telemóvel */
  .site-header{height:68px!important;background:rgba(7,7,7,.96)!important;backdrop-filter:blur(14px)}
  .nav{height:68px!important;min-height:68px!important}
  .brand img{width:88px!important;height:54px!important}
  .menu{width:44px;height:44px;display:grid!important;place-items:center;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:50%;font-size:22px}
  .navlinks{top:68px!important;max-height:calc(100dvh - 68px);overflow:auto;padding:18px var(--mobile-gutter) 28px!important;gap:0!important;align-items:stretch!important;border-top:1px solid rgba(255,255,255,.1)}
  .navlinks>a{min-height:50px;display:flex;align-items:center;padding:0 4px;border-bottom:1px solid rgba(255,255,255,.09);font-size:14px!important}
  .navlinks .nav-cta{margin-top:14px;border:0;justify-content:center}

  /* Hero mobile: conteúdo visível no primeiro ecrã, sem altura artificial */
  .hero{min-height:calc(100svh - 2px)!important;padding-top:68px!important;align-items:end!important;background:#080808}
  .hero-bg,.hero-shade{inset:68px 0 0!important}
  .hero-bg{background-position:62% center!important}
  .hero-shade{background:linear-gradient(180deg,rgba(4,4,4,.18) 0%,rgba(4,4,4,.52) 34%,rgba(4,4,4,.96) 76%,#050505 100%)!important}
  .hero-inner{padding:clamp(230px,40vh,390px) 0 24px!important}
  .hero-copy{max-width:none!important}
  .hero .eyebrow{font-size:10px!important;letter-spacing:.16em!important;margin-bottom:10px!important}
  .hero h1{font-size:clamp(39px,11.2vw,54px)!important;line-height:.94!important;max-width:10.8ch!important;letter-spacing:-.045em!important;margin-bottom:14px!important}
  .hero-lead{font-size:14px!important;line-height:1.55!important;max-width:37ch!important;margin:0!important;display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;color:#e8e4dc!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:20px!important}
  .hero-actions .btn{width:100%;min-height:52px!important;font-size:13px!important}
  .hero-actions .ghost{background:rgba(255,255,255,.06)}
  .hero-trust{display:grid!important;grid-template-columns:1fr 1fr;gap:8px 12px!important;margin-top:17px!important;font-size:10.5px!important;line-height:1.35}
  .benefits{display:none!important}

  /* Prova social: cartões claros, compactos e sem grande parede preta */
  .social-proof-bar{background:#0b0b0b!important;padding:18px 0!important}
  .proof-grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px!important;padding-bottom:4px;scrollbar-width:none}
  .proof-grid::-webkit-scrollbar{display:none}
  .proof-grid>div{flex:0 0 84%;scroll-snap-align:start;text-align:left!important;padding:18px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:16px;background:#131313;min-height:118px}
  .proof-grid strong{font-size:20px!important;line-height:1.1!important;color:#fff!important;margin-bottom:8px!important}
  .proof-grid span{font-size:12px!important;line-height:1.55;color:#c9c3b8!important}

  /* Tipografia e ritmo */
  .eyebrow{font-size:9.5px!important;letter-spacing:.16em!important;margin-bottom:9px!important}
  .section-title{font-size:clamp(34px,9.7vw,45px)!important;line-height:.98!important;letter-spacing:-.035em!important;max-width:12ch!important;margin-bottom:18px!important}
  .section-subtitle,.section-intro>p,.process-grid>div>p,.about-grid p{font-size:14px!important;line-height:1.65!important}

  /* Resultados antes e depois em carrossel tátil */
  .results{padding-block:50px!important}
  .results-head{display:block!important}
  .results-head a{margin:0 0 18px!important;font-size:12px}
  .result-showcase{display:flex!important;overflow-x:auto;gap:12px!important;margin-right:calc(var(--mobile-gutter) * -1);padding-right:var(--mobile-gutter);scroll-snap-type:x mandatory;scrollbar-width:none}
  .result-showcase::-webkit-scrollbar{display:none}
  .result-showcase figure{flex:0 0 88%!important;scroll-snap-align:start;border-radius:18px!important}
  .result-showcase img{width:100%;height:auto!important;aspect-ratio:4/3!important;object-fit:contain!important}
  .result-showcase figcaption{font-size:12.5px!important;padding:14px!important}
  .trust-pills{display:flex!important;overflow-x:auto;gap:10px;padding:0!important;margin-top:18px!important;background:transparent!important;scroll-snap-type:x mandatory;scrollbar-width:none}
  .trust-pills::-webkit-scrollbar{display:none}
  .trust-pills article{flex:0 0 76%;scroll-snap-align:start;background:#f5f0e6;border:0!important;border-radius:16px;padding:18px!important;text-align:left!important}
  .trust-pills span{font-size:25px!important}.trust-pills strong{font-size:18px!important;margin:7px 0!important}.trust-pills small{font-size:11.5px!important}

  /* Callout de saúde */
  .health-callout{background:#f7f4ed!important;padding:18px 0!important}
  .health-card{grid-template-columns:46px 1fr!important;gap:13px!important;padding:20px!important;text-align:left!important;border-radius:18px!important}
  .health-icon{width:46px!important;height:46px!important;border-radius:14px!important;margin:0!important;align-self:start}
  .health-icon svg{width:27px!important;height:27px!important}
  .health-card h2{font-size:23px!important;line-height:1.05!important;margin-bottom:7px!important}
  .health-card p{font-size:12.5px!important;line-height:1.55!important}
  .health-card .btn{grid-column:1/-1;width:100%;margin-top:3px;min-height:48px}

  /* Processo em passos compactos */
  .process-grid{grid-template-columns:1fr!important;gap:22px!important}
  .process-grid ol{background:#fff;border:1px solid #e2dccf;border-radius:20px;padding:4px 18px!important}
  .process-grid li{display:grid!important;grid-template-columns:38px 1fr;gap:8px!important;align-items:center;padding:17px 0!important}
  .process-grid li:last-child{border-bottom:0}
  .process-grid li b{font-size:18px!important}.process-grid li span{font-size:14px!important}

  /* Serviços: cards grandes, fáceis de tocar */
  .service-grid{display:flex!important;overflow-x:auto;gap:12px!important;margin-right:calc(var(--mobile-gutter) * -1);padding:3px var(--mobile-gutter) 12px 0;scroll-snap-type:x mandatory;scrollbar-width:none}
  .service-grid::-webkit-scrollbar{display:none}
  .service-grid article{flex:0 0 84%!important;scroll-snap-align:start;padding:9px 9px 22px!important;border-radius:19px!important;min-height:100%}
  .service-grid img{height:auto!important;aspect-ratio:16/10!important;border-radius:14px!important}
  .service-grid h3{font-size:24px!important;margin:17px 11px 8px!important}
  .service-grid p{font-size:12.5px!important;line-height:1.55!important;margin:0 11px!important;min-height:58px}
  .service-grid article a.card-link{margin:16px 11px 0!important;min-height:36px;align-items:center;font-size:11.5px!important}

  /* Secção especializada: remove a área preta vazia observada em iPhone */
  .specialist-section{background:#f2ede3!important;color:#111!important;padding:52px 0!important}
  .specialist-wrap{display:block!important}
  .specialist-heading{padding:0!important;margin-bottom:22px!important;max-width:none!important}
  .specialist-heading .eyebrow{color:#9a6c00!important}
  .specialist-heading .section-title,.specialist-heading h2{color:#111!important;max-width:11.5ch!important}
  .specialist-heading p{color:#625d54!important;font-size:13px!important;line-height:1.62!important;max-width:38ch}
  .specialist-list{display:grid!important;gap:10px!important}
  .specialist-item{display:grid!important;grid-template-columns:38px 1fr 34px!important;gap:12px!important;align-items:center!important;padding:17px!important;min-height:112px;background:#fff!important;border:1px solid #ded5c6!important;border-radius:17px!important;color:#111!important;box-shadow:0 8px 24px rgba(40,30,8,.06)}
  .specialist-number{width:38px!important;height:38px!important;border-radius:12px!important;display:grid!important;place-items:center;background:#e8b718!important;color:#111!important;font-size:10px!important;font-weight:900}
  .specialist-item h3{font-size:20px!important;color:#111!important;margin:0 0 4px!important}
  .specialist-item p{font-size:11.5px!important;line-height:1.5!important;color:#625d54!important;margin:0!important}
  .specialist-arrow{width:34px!important;height:34px!important;background:#f4efe4!important;color:#111!important}

  /* Casas com crianças e animais */
  .lifestyle-section{padding-block:52px!important}
  .lifestyle-intro{display:block!important;margin-bottom:22px!important}
  .lifestyle-intro>p{margin-top:0!important}
  .lifestyle-layout{display:block!important}
  .lifestyle-layout img{border-radius:18px!important}

  /* Preços: leitura rápida e CTA próximo */
  #precos{padding-block:52px!important}
  .price-grid-v20{gap:16px!important}
  .price-promise{padding:25px 20px!important;border-radius:20px!important}
  .price-promise h3{font-size:28px!important}.price-promise p{font-size:12.5px!important}.price-promise li{font-size:12px!important}
  .price-cards{gap:10px!important}
  .price-cards article{min-height:0!important;padding:20px!important;border-radius:17px!important}
  .price-cards h3{font-size:22px!important}.price-cards p{font-size:12px!important;line-height:1.5!important}.price-cards strong{font-size:22px!important;margin-top:12px!important}

  /* Sobre e FAQ */
  .about-grid{gap:24px!important}
  .about-grid img{max-height:330px!important;aspect-ratio:4/3;object-fit:cover;border-radius:20px!important}
  .faq-list{gap:8px!important}
  .faq details{padding:0!important;border-radius:15px!important;overflow:hidden}
  .faq summary{min-height:56px;padding:17px 44px 17px 17px;display:flex;align-items:center;font-size:13px;line-height:1.35;position:relative;list-style:none}
  .faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:17px;font-size:20px;color:#a97800}.faq details[open] summary:after{content:'–'}
  .faq details p{padding:0 17px 17px;margin:0;font-size:12.5px!important;line-height:1.6!important}

  /* CTA final */
  .final-cta{padding:18px 0 48px!important}
  .cta-grid{border-radius:20px!important}
  .quote-box,.protect-box{min-height:0!important;padding:32px 20px!important}
  .quote-box h2,.protect-box h2{font-size:35px!important;max-width:11ch!important;margin-inline:auto!important}
  .quote-box p,.protect-box p{font-size:13px!important;line-height:1.6!important}
  .quote-box .btn,.protect-box .btn{width:100%;min-height:50px}

  /* Barra fixa: respeita notch e não tapa o conteúdo */
  .mobile-action-bar{height:auto!important;min-height:var(--mobile-bottom-bar);padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;gap:9px!important;background:rgba(6,6,6,.96)!important;backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1);z-index:1000!important}
  .mobile-action-bar a{min-height:50px!important;border-radius:999px!important;font-size:13px!important;font-weight:800!important}
  .mobile-call{flex:0 0 34%!important}.mobile-wa{flex:1!important}
  .float-wa{display:none!important}

  /* Cookies: painel baixo e legível, nunca cobre metade do ecrã */
  .cookie-banner{left:10px!important;right:10px!important;bottom:calc(var(--mobile-bottom-bar) + 12px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;max-height:42svh!important;padding:14px!important;border-radius:16px!important;overflow:auto!important;z-index:1100!important}
  .cookie-banner-main p{font-size:11px!important;line-height:1.45!important;margin-bottom:10px!important}
  .cookie-banner-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:6px!important}
  .cookie-btn{padding:8px 4px!important;min-height:38px!important;font-size:10px!important}
  #cookie-customize{grid-column:auto!important}
  .cookie-toggle{font-size:11px!important}

  /* Não reservar grandes alturas invisíveis no mobile */
  main>.section:not(.hero),.enterprise-directory,footer{content-visibility:visible!important;contain-intrinsic-size:none!important}
}
@media(max-width:380px){
  :root{--mobile-gutter:14px}
  .hero h1{font-size:37px!important}.hero-inner{padding-top:215px!important}
  .hero-trust{grid-template-columns:1fr!important}
  .proof-grid>div,.service-grid article{flex-basis:91%!important}
  .cookie-banner-actions{grid-template-columns:1fr 1fr!important}#cookie-customize{grid-column:1/-1!important}
}
