:root{--headline:#3d3b53;--text:#5b7182;--link:#00a6c8;--footer:#191827;--coral:#f4524d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1f4f4;color:var(--text);font:400 12px/1.58 'Source Sans Pro',Arial,Helvetica,sans-serif}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.skip{position:absolute;left:-10000px}.skip:focus{left:8px;top:8px;z-index:999;background:white;padding:10px}.site-header{background:#fff}.header-inner{max-width:910px;height:143px;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between}.brand{margin-top:10px;display:block}.brand img{width:100px;height:100px;object-fit:contain}.main-nav{padding-top:49px}.main-nav ul{display:flex;gap:6px;align-items:center;padding:0;margin:0;list-style:none}.main-nav a{display:block;font:700 10px/1.2 Montserrat,'Arial',Helvetica,sans-serif;padding:4px 10px;color:#35334c;white-space:nowrap}.main-nav a[aria-current=page]{outline:1px solid #39384f;outline-offset:-1px}.menu-toggle{display:none}.page{background:#fff;padding:56px 20px 90px;min-height:580px}.page h1{font:700 32px/1.2 Montserrat,'Arial',Helvetica,sans-serif;letter-spacing:1px;text-align:center;color:var(--headline);text-transform:uppercase;margin:0 auto 26px;max-width:760px}.page h2{font:700 23px/1.38 Montserrat,'Arial',Helvetica,sans-serif;letter-spacing:.2px;color:var(--headline);text-align:center;text-transform:uppercase;margin:0 0 24px}.page h4{font:700 15px/1.4 Montserrat,'Arial',Helvetica,sans-serif;color:var(--headline);letter-spacing:.2px;text-align:center;margin:0 0 24px}.page p{margin:0 0 14px}.page strong{font-weight:700}.page ul{padding-left:24px;margin:8px 0 20px}.page li{margin:0 0 4px}.page-home{padding-top:57px;padding-bottom:76px}.page-home h1{margin:0 auto 47px}.page-home .home-h2{max-width:480px;margin:0 auto 22px}.page-home .home-h2:nth-of-type(1){margin-bottom:19px}.page-home .home-tagline{margin-top:18px;margin-bottom:28px}.home-body{max-width:460px;margin:0 auto}.home-body .post-content p{margin:0 0 12px}.home-photo{display:block;width:100%;height:auto;max-height:260px;object-fit:cover;margin-top:8px}.call-wrap{text-align:center;margin:12px 0 22px}.call{background:var(--coral);color:white;display:inline-flex;align-items:center;gap:9px;font:400 11px/1.4 'Source Sans Pro',Arial,Helvetica,sans-serif;border-radius:3px;padding:12px 17px;min-height:37px}.call:hover{background:#f23630;text-decoration:none;color:white}.call span{font-size:16px}.services{margin-top:23px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-grid p{margin:0}.home-contact{max-width:340px;margin:23px auto 0;color:var(--headline);font:700 12px/1.65 Montserrat,'Arial',Helvetica,sans-serif;text-transform:uppercase}.home-contact h5{margin:0;font:inherit}.page:not(.page-home){padding-top:56px}.two-cols{max-width:635px;margin:0 auto;display:grid;grid-template-columns:345px 245px;column-gap:30px;align-items:start}.two-cols .body-copy{min-width:0}.two-cols .body-copy h2{margin:0 0 26px}.body-gallery{min-width:0;padding-top:2px}.standalone-image{display:block;max-width:100%;width:220px;height:auto}.gallery{width:245px;max-width:100%}.gallery-frame{height:326px;position:relative;overflow:hidden}.gallery-slide{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-start;opacity:0;pointer-events:none;transition:opacity .5s}.gallery-slide.is-active{opacity:1;pointer-events:auto}.gallery-slide img{width:auto;height:auto;max-width:100%;max-height:326px;object-fit:contain}.gallery-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}.gallery-dots button{border:1px solid #a0b5bc;border-radius:50%;width:7px;height:7px;background:#bbcbcf;padding:0;cursor:pointer}.gallery-dots button.is-active{background:#00acc2;border-color:#00acc2}.body-copy .call-wrap{margin-top:15px}.page-contacto{min-height:733px}.contact-body{max-width:695px;margin:0 auto}.contact-body .call-wrap{margin-top:10px}.contact-body .gallery{margin-top:12px;width:300px}.contact-body .gallery-frame{height:190px}.contact-body .gallery-slide img{max-height:190px}.contact-body .gallery-dots{display:none}.contact-body .legal-note{margin-top:75px}.site-footer{background:var(--footer);min-height:110px;color:#8c9bab}.footer-inner{max-width:910px;margin:auto;padding:25px 0;font-size:10px;line-height:1.55}.footer-inner .tiny{font-size:8px}.complaints-logo{display:inline-flex;flex-direction:column;color:#ad0909;background:white;border:1px solid #bb1717;padding:4px 5px;font:700 7px/1.2 Arial,sans-serif;margin-top:3px;min-width:68px;min-height:27px;justify-content:center;text-align:center}.complaints-logo strong{font-size:7px}.menu-toggle span{display:block;width:24px;height:2px;background:#33324c;margin:5px 0}
@media(max-width:960px){.header-inner,.footer-inner{max-width:90%}.two-cols{max-width:635px}}@media(max-width:700px){.header-inner{min-height:115px;height:auto;align-items:center;position:relative}.brand{margin-top:0}.brand img{width:84px;height:84px}.menu-toggle{display:block;background:white;padding:8px;border:1px solid #ddd;cursor:pointer}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:10;background:white;box-shadow:0 9px 15px #0002;padding:8px 0}.main-nav.is-open{display:block}.main-nav ul{display:block}.main-nav a{padding:13px 15px}.page,.page:not(.page-home){padding:40px 18px 65px}.page h1{font-size:26px}.page h2{font-size:21px}.page-home h1{margin-bottom:30px}.home-body{max-width:460px}.two-cols{display:flex;flex-direction:column;max-width:460px;gap:25px}.body-gallery{align-self:center}.contact-body{max-width:460px}.page-contacto{min-height:0}.service-grid{gap:15px}.home-contact{font-size:11px}.contact-body .legal-note{margin-top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-slide{transition:none}}

/* Ajuste de legibilidade — versão 2026-11-06 */
body { font-size: 16px; line-height: 1.62; }
.main-nav a { font-size: 11px; }
.page p { margin-bottom: 17px; }
.page li { margin-bottom: 5px; }
.call { font-size: 14px; }
.home-contact { font-size: 14px; }
.footer-inner { font-size: 12px; }
.footer-inner .tiny { font-size: 10px; }
.complaints-logo, .complaints-logo strong { font-size: 8px; }
@media (max-width:700px) {
  body { font-size: 16px; }
  .main-nav a { font-size: 13px; }
  .home-contact { font-size: 13px; }
}

/* Dados legais — página de contacto */
.company-details{max-width:840px;margin:46px auto 34px;padding:26px 28px;background:#f7f8f9;border-left:3px solid #39364d;color:#536777;font-family:"Source Sans Pro",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
.company-details h2{margin:0 0 20px;font-family:Montserrat,'Arial',Helvetica,sans-serif;font-size:21px;line-height:1.35;color:#39364d;text-transform:uppercase;letter-spacing:.015em}
.company-details dl{display:grid;grid-template-columns:minmax(170px,205px) minmax(0,1fr);column-gap:18px;row-gap:11px;margin:0}
.company-details dt{font-weight:700;color:#39364d}.company-details dd{margin:0;overflow-wrap:anywhere}.company-details address{font-style:normal}.company-details a{color:#00a8c4}.company-details dd span{font-size:14px}
@media(max-width:650px){.company-details{margin:32px 0;padding:22px 18px}.company-details h2{font-size:18px}.company-details dl{grid-template-columns:1fr;row-gap:2px}.company-details dd{margin-bottom:10px}}


/* Refinamento de leitura e espacamentos - 2026-11-06 */
body { font-size: 15px; line-height: 1.56; }
.page p { margin-bottom: 14px; }
.page li { margin-bottom: 4px; }
.page p strong, .page li strong, .page header strong { font-weight: 600; }
/* Manter os titulos e subtitulos originais */
.page h1, .page h2, .page h4 { font-weight: 700; }
/* A lista de servicos precisa de mais largura do que a coluna principal */
.page-home .services {
  width: min(600px, calc(100vw - 40px));
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin-left: 0;
}
.page-home .service-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 30px;
}
.page-home .service-grid p { line-height: 1.55; }
.page-home .home-contact { max-width: 420px; font-size: 13px; }
.company-details { font-size: 15px; line-height: 1.55; }
.company-details dd span { font-size: 13px; }
@media (max-width:700px) {
  body { font-size: 15px; }
  .page-home .services { width: 100%; }
  .page-home .service-grid { column-gap: 18px; }
  .page-home .home-contact { font-size: 13px; }
}
@media (max-width:420px) {
  .page-home .service-grid { grid-template-columns: 1fr; row-gap: 18px; }
}

/* Fidelidade visual: pagina inicial, referencia captura original 1280 px */
@media (min-width: 961px) {
  .header-inner, .footer-inner { max-width: 1020px; }
  .header-inner { height: 205px; }
  .brand { margin-top: 10px; }
  .brand img { width: 140px; height: 140px; }
  .main-nav { padding-top: 66px; }
  .main-nav a { font-size: 11px; padding: 5px 11px; }
}
.page-home { padding-top: 70px; }
.page-home h1 { font-size: 42px; letter-spacing: 1px; margin-bottom: 66px; max-width: 820px; }
.page-home .home-h2 { max-width: 690px; font-size: 30px; line-height: 1.48; letter-spacing: .45px; margin-bottom: 28px; }
.page-home .home-h2:nth-of-type(1) { margin-bottom: 30px; }
.page-home .home-tagline { margin-top: 28px; margin-bottom: 36px; }
.page-home .home-body { max-width: 640px; }
.page-home .home-body > header { line-height: 1.55; }
.page-home .home-photo { max-height: none; object-fit: contain; margin-top: 9px; }
.page-home .services { width: 100%; left: auto; transform: none; }
.page-home .service-grid { column-gap: 32px; }
.page-home .home-contact { max-width: 500px; }
@media (min-width:701px) and (max-width:960px) {
  .header-inner { min-height: 155px; height: 155px; }
  .page-home { padding-top: 58px; }
  .page-home .home-body { max-width: 640px; }
  .page-home h1 { font-size: 37px; }
  .page-home .home-h2 { font-size: 26px; }
}
@media (max-width:700px) {
  .page-home { padding-top: 42px; }
  .page-home h1 { font-size: clamp(26px,7vw,36px); margin-bottom: 34px; }
  .page-home .home-h2 { font-size: clamp(20px,5.5vw,26px); margin-bottom: 22px; line-height: 1.3; }
  .page-home .home-h2:nth-of-type(1) { margin-bottom: 23px; }
  .page-home .home-tagline { margin-top: 19px; margin-bottom: 28px; }
  .page-home .home-body { width: 100%; max-width: 640px; }
}

/* Uso mais eficiente da largura em ecras desktop — 2026-11-06 */
@media (min-width: 901px) {
  .header-inner, .footer-inner { max-width: 1160px; width: calc(100% - 90px); }
  .page { padding-left: 36px; padding-right: 36px; }
  .page h1 { max-width: 1020px; }
  .two-cols {
    width: min(100%, 960px);
    max-width: 960px;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    column-gap: clamp(35px, 5vw, 75px);
  }
  .two-cols .body-copy { min-width: 0; }
  .two-cols .body-gallery { justify-self: center; width: 100%; max-width: 360px; }
  .two-cols .gallery { width: min(100%, 330px); margin-inline: auto; }
  .two-cols .gallery-frame { height: 410px; }
  .two-cols .gallery-slide img { max-height: 410px; }
  .two-cols .standalone-image { width: min(100%, 330px); margin-inline: auto; }
  .contact-body { max-width: 960px; }
  .company-details { max-width: 960px; }
  .page-home .home-body { max-width: 850px; }
  .page-home .home-h2 { max-width: 800px; }
  .page-home .services { max-width: 850px; }
  .page-home .home-contact { max-width: 650px; }
}
@media (min-width: 701px) and (max-width: 900px) {
  .two-cols { max-width: min(100%, 740px); grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); column-gap: 24px; }
  .two-cols .gallery { width: 100%; }
  .contact-body { max-width: 740px; }
  .page-home .home-body { max-width: 740px; }
}

/* Produção estática — largura e leitura, sem chamadas externas */
:root { color-scheme:light; }
html { font-size:16px; }
body { font-size:15px; line-height:1.58; }
.header-inner,.footer-inner { width:min(1220px,calc(100% - 64px)); max-width:1220px; }
.page { padding-left:28px; padding-right:28px; }
.page h1 { max-width:1120px; }
.page-home .home-body { width:min(100%, 1010px); max-width:1010px; }
.page-home .home-h2 { max-width:980px; }
.page-home .services { max-width:1010px; }
.page-home .home-contact { max-width:700px; }
.two-cols { width:min(100%,1080px); max-width:1080px; grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr); column-gap:clamp(28px,4.4vw,72px); }
.two-cols .body-gallery { max-width:400px; width:100%; justify-self:center; }
.two-cols .gallery { width:min(100%,360px); }
.two-cols .gallery-frame { height:420px; }
.two-cols .gallery-slide img { max-height:420px; }
.two-cols .standalone-image { width:min(100%,360px); }
.contact-body { max-width:1040px; }
.contact-body .gallery { width:300px; }
.company-details { max-width:100%; }
.page h2 { overflow-wrap:normal; }
.privacy-content { width:min(100%,970px); margin-inline:auto; }
.privacy-content h2 { text-align:left; font-size:21px; margin:32px 0 12px; }
.privacy-content p,.privacy-content li { line-height:1.7; }
.privacy-content ul { margin-bottom:18px; }
.privacy-content address { font-style:normal; }
.footer-inner { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap; }
.footer-links { display:flex; flex-wrap:wrap; gap:14px; padding-top:6px; }
.footer-links a { color:#aee5ee; }
@media(max-width:900px) {
 .two-cols { width:min(100%,820px); max-width:820px; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:26px; }
 .page-home .home-body { max-width:850px; }
 .contact-body { max-width:850px; }
}
@media(max-width:700px) {
 .header-inner,.footer-inner { width:calc(100% - 32px); }
 .page { padding-left:16px; padding-right:16px; }
 .two-cols { display:flex; flex-direction:column; max-width:620px; }
 .body-gallery { align-self:center; }
 .two-cols .gallery-frame { height:360px; }
 .two-cols .gallery-slide img { max-height:360px; }
 .page-home .home-body { max-width:620px; }
 .page-home .service-grid { grid-template-columns:1fr; row-gap:15px; }
 .footer-inner { display:block; }
 .footer-links { padding-top:18px; }
 .privacy-content h2 { font-size:18px; }
}


/* Correção final de legibilidade do rodapé */
.site-footer {
  background: #191827 !important;
  color: #d5deea !important;
  border-top: 1px solid rgba(255,255,255,.06);
}
.footer-inner {
  color: #d5deea !important;
  font-size: 13px;
  line-height: 1.7;
  padding-top: 28px;
  padding-bottom: 28px;
}
.site-footer a {
  color: #7fe4ef;
}
.site-footer a:hover {
  color: #b8f5fb;
  text-decoration: underline;
}
.footer-meta,
.footer-complaints,
.footer-links {
  min-width: 220px;
}
.footer-meta,
.footer-complaints {
  color: #d5deea;
}
.footer-links {
  justify-content: flex-end;
}
.complaints-logo {
  margin-top: 8px;
  min-width: 116px;
  min-height: 34px;
  padding: 5px 8px;
  font-size: 9px;
  line-height: 1.15;
}
.complaints-logo strong { font-size: 9px; }
@media (max-width: 700px) {
  .site-footer { text-align: left; }
  .footer-inner { font-size: 12px; }
  .footer-meta,
  .footer-complaints,
  .footer-links {
    min-width: 0;
    margin-bottom: 14px;
  }
  .footer-links { justify-content: flex-start; }
}


/* Botão LIGAR — reprodução fiel, aplicado às seis páginas comerciais */
a.call {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-width: 126px !important;
  min-height: 59px !important;
  padding: 13px 19px !important;
  border-radius: 4px !important;
  background-color: #f4524d !important;
  color: #ffffff !important;
  font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: background-color .18s ease;
}
a.call:hover, a.call:focus-visible { background-color: #f23630 !important; color: #ffffff !important; }
a.call .call-icon { width: 21px; height: 21px; flex: 0 0 21px; display:block; stroke:currentColor; }
a.call .call-label { display:inline-block; }
.call-wrap { text-align:center; }


/* Migração: CSS autocontido, sem pedidos a Google Fonts. As fontes do tema original
   não são redistribuídas; são usadas fontes de substituição instaladas no dispositivo. */
body{font-family:Arial,Helvetica,sans-serif;}
.page h1,.page h2,.page h4,.main-nav a,.home-contact,.company-details h2{font-family:Arial,Helvetica,sans-serif;}
/* Correção de legibilidade do rodapé */
.site-footer{background:#191827!important;color:#d8e2ec!important;}
.footer-inner{color:#d8e2ec!important;font-size:13px;line-height:1.65;padding-block:26px;}
.site-footer a{color:#72e3ef;}
.site-footer a:hover{color:#c8faff;}
.footer-links{justify-content:flex-end;}
.complaints-logo{min-width:108px;min-height:34px;font-size:9px;padding:5px 8px;}
.complaints-logo strong{font-size:9px;}
@media(max-width:700px){.footer-links{justify-content:flex-start}.footer-inner{font-size:12px;}}

/* Logotipo original do Livro de Reclamacoes */
.complaints-logo-img{display:block;max-width:150px;width:130px;height:auto;margin-top:7px;background:#fff}

/* Navegacao: maior legibilidade sem alterar o restante layout */
@media (min-width: 701px) {
  .main-nav a { font-size: 13px; line-height: 1.35; padding: 7px 10px; }
  .main-nav ul { gap: 5px; }
}
@media (min-width: 701px) and (max-width: 1050px) {
  .main-nav a { font-size: 12px; padding-inline: 7px; }
  .main-nav ul { gap: 2px; }
}
