/* Cabeçalho e rodapé públicos: apresentação partilhada baseada na página Contactos. */
body:has(> #header.header) #header,body:has(> #header.header) #header .navbar { background:#ffffff; }
body:has(> #header.header) #header .navbar>.container,body:has(> #header.header) #footer>.container { width:min(1180px,86%); max-width:none; padding-inline:0; }
body:has(> #header.header) #header .navbar { min-height:70px; padding-block:8px; }
body:has(> #header.header) #header .navbar-brand { flex-basis:150px; margin-right:24px !important; }
body:has(> #header.header) #header .navbar-brand img { width:150px; height:auto; max-height:50px; }
body:has(> #header.header) #footer { background:#ffffff; }
body:has(> #header.header) #footer.rml-footer .rml-footer-grid { grid-template-columns:1fr; gap:24px; padding-block:26px; }
body:has(> #header.header) #footer.rml-footer .rml-footer-column { border-left:0; padding-inline:0; }
body:has(> #header.header) #footer.rml-footer .rml-footer-logo img { width:150px; }
body:has(> #header.header) #footer.rml-footer .rml-footer-brand { display:block; grid-column:1/-1; padding-bottom:0; }
body:has(> #header.header) #footer.rml-footer .rml-footer-logo { margin-bottom:12px; }
body:has(> #header.header) #footer.rml-footer .rml-footer-brand p { margin-bottom:12px; }
body:has(> #header.header) #footer.rml-footer .rml-footer-contacts,body:has(> #header.header) #footer.rml-footer .rml-footer-contacts address { display:block; grid-column:auto; }
@media(min-width:650px) {
 body:has(> #header.header) #footer.rml-footer .rml-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:1200px) {
 body:has(> #header.header) #header .navbar>.container { flex-wrap:nowrap; }
 body:has(> #header.header) #header .navbar-brand { order:1; }
 body:has(> #header.header) #header .rml-site-tools { order:3; margin-left:14px; }
 body:has(> #header.header) #header .rml-site-tools .d-xl-none { display:none !important; }
 body:has(> #header.header) #mainNavbar { display:flex !important; order:2; width:auto; flex-basis:auto; padding:0; margin:0; border:0; }
 body:has(> #header.header) #mainNavbar>.navbar-nav { flex-direction:row; width:auto; margin:0; padding:0; border:0; }
 body:has(> #header.header) #mainNavbar>.navbar-nav>li { width:auto; }
 body:has(> #header.header) #mainNavbar .nav-link { font-size:12px; min-height:42px; padding:8px 9px !important; }
 body:has(> #header.header) #mainNavbar .active>.nav-link::after { display:block; }
 body:has(> #header.header) #header .rml-client-area-link { padding:7px 14px !important; font-size:12px; border-radius:6px; }
}
@media(min-width:1000px) {
 body:has(> #header.header) #footer.rml-footer .rml-footer-grid { grid-template-columns:1.5fr .9fr .9fr 1fr 1.1fr; gap:0; }
 body:has(> #header.header) #footer.rml-footer .rml-footer-column { border-left:1px solid #dce3eb; padding-inline:18px; }
 body:has(> #header.header) #footer.rml-footer .rml-footer-brand { grid-column:auto; padding-right:22px; }
 body:has(> #header.header) #footer.rml-footer .rml-footer-signature { font-size:10px; letter-spacing:.07em; }
 body:has(> #header.header) #footer.rml-footer .rml-footer-column h3 { font-size:12px; margin-bottom:14px; }
 body:has(> #header.header) #footer.rml-footer .rml-footer-column h3::after { display:none; }
 body:has(> #header.header) #footer.rml-footer .rml-footer-links { gap:6px; }
 body:has(> #header.header) #footer.rml-footer .rml-footer-brand p,body:has(> #header.header) #footer.rml-footer .rml-footer-links a,body:has(> #header.header) #footer.rml-footer .rml-footer-contact-item strong { font-size:12px; }
}
@media(max-width:649px) {
 body:has(> #header.header) #header .navbar>.container,body:has(> #header.header) #footer>.container { width:calc(100% - 40px); }
}

body:has(> #header.header) #header { border-color:#dce3eb; }
body:has(> #header.header) #header .navbar-brand img,
body:has(> #header.header) #footer .rml-footer-logo img { filter:grayscale(1) brightness(.85) invert(1) sepia(.4) saturate(1.5) hue-rotate(165deg); }
body:has(> #header.header) #mainNavbar .nav-link { color:#0b2344; }
body:has(> #header.header) #mainNavbar .nav-link:hover,
body:has(> #header.header) #mainNavbar .active>.nav-link { color:#996500; background:#fcf7eb; }
body:has(> #header.header) #mainNavbar .nav-link::after { background:#d4a126; }
body:has(> #header.header) #header .rml-client-area-link { color:#0b2344 !important; background:linear-gradient(180deg,#e5b63f,#d4a126) !important; border-color:#c79827 !important; }
body:has(> #header.header) #header .rml-site-tools .nav-link { color:#0b2344; border-color:#dce3eb; background:#ffffff; }
body:has(> #header.header) #footer.rml-footer { color:#506582; border-color:#dce3eb; }
body:has(> #header.header) #footer.rml-footer .rml-footer-column h3,
body:has(> #header.header) #footer.rml-footer .rml-footer-contact-item strong { color:#0b2344; }
body:has(> #header.header) #footer.rml-footer .rml-footer-brand p,
body:has(> #header.header) #footer.rml-footer .rml-footer-column .rml-footer-links a,
body:has(> #header.header) #footer.rml-footer .rml-footer-column .rml-cookie-manage,
body:has(> #header.header) #footer.rml-footer .rml-footer-contact-item small,
body:has(> #header.header) #footer.rml-footer .copyright,
body:has(> #header.header) #footer.rml-footer .rml-footer-signature span { color:#506582; }
body:has(> #header.header) #footer.rml-footer .rml-footer-signature,
body:has(> #header.header) #footer.rml-footer .rml-footer-contact-item>i,
body:has(> #header.header) #footer.rml-footer .rml-footer-column .rml-footer-links a:hover,
body:has(> #header.header) #footer.rml-footer .rml-footer-column .rml-cookie-manage:hover,
body:has(> #header.header) #footer.rml-footer a.rml-footer-contact-item:hover strong { color:#996500; }
body:has(> #header.header) #footer.rml-footer .rml-footer-bottom { border-color:#dce3eb; }
body:has(> #header.header) #footer.rml-footer .rml-footer-column h3::after { background:#d4a126; }
body:has(> #header.header) :is(#header,#footer) :is(a,button):focus-visible { outline-color:#996500; }

/* Variáveis limitadas ao cabeçalho e rodapé, sem alterar o conteúdo das páginas. */
body:has(> #header.header) :is(#header,#footer) {
 --rml-bg:#ffffff; --rml-surface:#fcf7eb; --rml-border:#dce3eb;
 --rml-text:#0b2344; --rml-text-soft:#0b2344; --rml-text-muted:#506582;
 --rml-green:#996500; --rml-green-hover:#805400;
 font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body:has(> #header.header) #header .rml-site-tools .rml-nav-toggle:is(:hover,:focus,[aria-expanded="true"]) { color:#0b2344; background:#fcf7eb; border-color:#996500; }
body:has(> #header.header) #header .rml-site-tools .cart-btn>i { color:#996500; }
body:has(> #header.header) #header .rml-client-area-link:hover { background:#edc65f !important; border-color:#996500 !important; }
body:has(> #header.header) #footer.rml-footer .rml-footer-column .rml-footer-links :is(a,button):focus-visible { color:#996500; outline-color:#996500; }

/* Quote action in the public navigation only. */
body:has(> #header.header) #header .rml-public-client-nav { gap: 12px; }
body:has(> #header.header) #header #mainNavbar .rml-public-quote-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 16px !important;
    white-space: nowrap;
    color: #0b2344;
    background: linear-gradient(180deg,#e5b63f,#d4a126);
    border: 1px solid #c79827;
    border-radius: 6px;
    font-weight: 650;
}
body:has(> #header.header) #header #mainNavbar .rml-public-quote-link:hover {
    background: #edc65f;
    color: #0b2344;
}
body:has(> #header.header) #header #mainNavbar .rml-public-quote-link::after { display: none; }
body:has(> #header.header) #header #mainNavbar .rml-public-client-nav .rml-client-area-link {
    min-height: 42px;
    background: #fff !important;
    border-color: #dce3eb !important;
    box-shadow: none;
    white-space: nowrap;
}
body:has(> #header.header) #header #mainNavbar .rml-public-client-nav .rml-client-area-link:hover {
    background: #fcf7eb !important;
    border-color: #996500 !important;
}
@media(max-width:1199.98px) {
    body:has(> #header.header) #header #mainNavbar .rml-public-client-nav { gap: 8px; }
    body:has(> #header.header) #header #mainNavbar .rml-public-quote-link { min-height: 46px; }
}
