/* Contactos: paleta clara, azul-marinho e dourado; formulário e CAPTCHA nativos preservados. */
body:has(.rml-contact-v2),body:has(.rml-contact-v2) #main-body { background:#ffffff; }
.rml-contact-page.rml-contact-v2 { --rml-green:#996500; --rml-support-border:#dce3eb; width:100%; max-width:none; margin:0; padding:0 0 12px; color:#0b2344; background:linear-gradient(rgba(255,255,255,.97),rgba(255,255,255,.97)),url('../img/homepage/home-reference-cta.webp') center bottom/100% auto no-repeat; }
.rml-contact-v2 :is(h1,h2,h3) { color:#0b2344; }
.rml-contact-v2 :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #996500; outline-offset:4px; }
.rml-contact-v2 #rmlContactFormTitle { scroll-margin-top:24px; }
.rml-contact-v2 .rml-contact-v2-hero { min-height:320px; grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr); gap:6%; padding:42px max(7%,calc((100% - 1180px)/2)); border-bottom:1px solid #dce3eb; background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.86)),url('../img/contactos/contact-navy-hero.webp') center/cover no-repeat; }
.rml-contact-v2 .rml-contact-v2-hero::after { display:none; }
.rml-contact-v2 .rml-contact-v2-kicker { display:flex; align-items:center; gap:14px; color:#a66d00; font-size:11px; }
.rml-contact-v2 .rml-contact-v2-kicker::before { content:""; width:28px; height:2px; background:#a66d00; }
.rml-contact-v2 .rml-contact-v2-hero h1 { font-size:clamp(32px,3.2vw,46px); line-height:1.13; letter-spacing:-.035em; }
.rml-contact-v2 .rml-contact-v2-hero h1 strong { color:#996500; }
.rml-contact-v2 .rml-contact-v2-hero-copy>p { color:#506582; font-size:14px; line-height:1.55; }
.rml-contact-v2 .rml-contact-v2-highlights { gap:10px; }
.rml-contact-v2 .rml-contact-v2-highlights li { min-width:0; min-height:44px; padding:8px 12px; color:#0b2344; background:rgba(255,255,255,.88); border-color:#dce3eb; font-size:12px; }
.rml-contact-v2 .rml-contact-v2-hero-card { padding:22px; background:rgba(255,255,255,.95); border-color:#d8b45f; border-radius:8px; box-shadow:0 0 20px #d8b45f20; }
.rml-contact-v2 .rml-contact-v2-hero-card p { color:#506582; font-size:14px; }
.rml-contact-v2 .rml-contact-v2-hero-card a,.rml-contact-v2 .rml-contact-v2-cta>a,.rml-contact-v2 .rml-contact-submit { min-height:46px; color:#0b2344; background:linear-gradient(180deg,#e5b63f,#d4a126); border:1px solid #c79827; border-radius:6px; font-size:14px; box-shadow:0 0 16px #99650020; }
.rml-contact-v2 .rml-contact-v2-hero-card a:hover,.rml-contact-v2 .rml-contact-v2-cta>a:hover,.rml-contact-v2 .rml-contact-submit:hover { color:#0b2344; background:#edc65f; }
.rml-contact-v2 .rml-contact-v2-main,.rml-contact-v2 .rml-contact-v2-routing,.rml-contact-v2 .rml-contact-v2-process-faq,.rml-contact-v2 .rml-contact-v2-cta { width:min(1180px,86%); margin:12px auto 0; }
.rml-contact-v2 .rml-contact-v2-main { grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:12px; border:0; border-radius:0; background:none; }
.rml-contact-v2 .rml-contact-v2-form-panel,.rml-contact-v2 .rml-contact-v2-info,.rml-contact-v2 .rml-contact-v2-routing,.rml-contact-v2 .rml-contact-v2-process,.rml-contact-v2 .rml-contact-v2-faq { min-width:0; padding:20px; border:1px solid #dce3eb; border-radius:7px; background:linear-gradient(140deg,rgba(255,255,255,.97),rgba(250,251,253,.97)); }
.rml-contact-v2 .rml-contact-v2-heading h2,.rml-contact-v2 .rml-contact-v2-section-title h2,.rml-contact-v2 .rml-contact-v2-faq>h2 { font-size:20px; line-height:1.3; }
.rml-contact-v2 .rml-contact-v2-heading>span { background:#a66d00; }
.rml-contact-v2 .rml-contact-field label { color:#0b2344; font-size:14px; }
.rml-contact-v2 .rml-contact-field label span { color:#a66d00; }
.rml-contact-page.rml-contact-v2 .rml-contact-field .form-control { color:#0b2344; background:#ffffff; border-color:#a9b7c8; font-size:16px; min-height:44px; }
.rml-contact-page.rml-contact-v2 .rml-contact-field .form-control::placeholder { color:#60728b; opacity:1; }
.rml-contact-page.rml-contact-v2 .rml-contact-field textarea.form-control { min-height:130px; resize:vertical; }
.rml-contact-v2 .rml-contact-v2-submit p,.rml-contact-v2 .rml-contact-v2-section-title p { color:#506582; font-size:13px; line-height:1.55; }
.rml-contact-v2 .rml-contact-v2-submit p a,.rml-contact-v2 .rml-contact-v2-submit p i,.rml-contact-v2 .rml-contact-v2-routing-grid a { color:#996500; }
.rml-contact-v2 .rml-contact-v2-info-item { background:#ffffff; border-color:#dce3eb; padding:14px; }
.rml-contact-v2 .rml-contact-v2-info-item strong,.rml-contact-v2 .rml-contact-v2-info-item b,.rml-contact-v2 .rml-contact-v2-client-note strong { color:#0b2344; }
.rml-contact-v2 .rml-contact-v2-info-item small,.rml-contact-v2 .rml-contact-v2-client-note p { color:#506582; }
.rml-contact-v2 .rml-contact-v2-client-note { border-color:#996500; box-shadow:0 0 12px #99650020; gap:10px; }
.rml-contact-v2 .rml-contact-v2-client-note>.rml-contact-v2-response-icon { font-size:27px; }
.rml-contact-v2 .rml-contact-v2-routing-grid { gap:12px; }
.rml-contact-v2 .rml-contact-v2-routing-grid article { grid-template-columns:38px minmax(0,1fr); column-gap:12px; padding:14px; border-color:#dce3eb; background:#ffffff; }
.rml-contact-v2 .rml-contact-v2-routing-grid article>i { color:#996500; font-size:28px; }
.rml-contact-v2 .rml-contact-v2-routing-grid h3 { font-size:15px; }
.rml-contact-v2 .rml-contact-v2-routing-grid p { color:#506582; }
.rml-contact-v2 .rml-contact-v2-routing-grid a { padding:6px 0; }
.rml-contact-v2 .rml-contact-v2-process-faq { padding:0; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:12px; border:0; background:none; }
.rml-contact-v2 .rml-contact-v2-process li b { color:#0b2344; background:#f8e2b0; border-color:#c79827; box-shadow:0 0 12px #99650025; }
.rml-contact-v2 .rml-contact-v2-process li strong { color:#0b2344; font-size:14px; }
.rml-contact-v2 .rml-contact-v2-process li span,.rml-contact-v2 .rml-contact-v2-process li::after { color:#506582; }
.rml-contact-v2 .rml-contact-v2-faq details { border-color:#dce3eb; background:#ffffff; }
.rml-contact-v2 .rml-contact-v2-faq summary { color:#0b2344; }
.rml-contact-v2 .rml-contact-v2-faq details p { color:#506582; }
.rml-contact-v2 .rml-contact-v2-cta { padding:22px; border-color:#d8b45f; background:linear-gradient(rgba(252,247,235,.96),rgba(252,247,235,.96)),url('../img/homepage/home-reference-cta.webp') center/cover no-repeat; }
.rml-contact-v2 .rml-contact-v2-cta h2 { font-size:21px; }
.rml-contact-v2 .rml-contact-v2-cta p { color:#506582; }
.rml-contact-v2 .rml-contact-success strong { color:#0b2344; }
.rml-contact-v2 .rml-contact-success p { color:#506582; }
/* Os estilos nativos do CAPTCHA usam !important; estes ajustes são só de cor. */
.rml-contact-page.rml-contact-v2 .rml-contact-security { color:#0b2344; }
.rml-contact-page.rml-contact-v2 .rml-contact-security-label { color:#0b2344; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .col-md-9 { flex-basis:100%; max-width:500px; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-card,.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-fields { color:#0b2344 !important; background:#ffffff !important; border-color:#dce3eb !important; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-copy { color:#0b2344 !important; background:#fcf7eb !important; border-color:#dce3eb !important; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-copy strong { color:#0b2344 !important; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-icon { color:#996500 !important; background:#f8e2b0 !important; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-input label { color:#506582 !important; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-input .form-control { color:#0b2344 !important; background:#ffffff !important; border-color:#a9b7c8 !important; font-size:16px !important; }
.rml-contact-page.rml-contact-v2 .rml-contact-security .rml-captcha-input .form-control::placeholder { color:#60728b !important; }
@media(min-width:1000px) {
 .rml-contact-v2 .rml-contact-v2-routing-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .rml-contact-v2 .rml-contact-v2-process ol { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .rml-contact-v2 .rml-contact-v2-process li:last-child { width:auto; grid-column:auto; }
 .rml-contact-v2 .rml-contact-v2-process li:not(:last-child)::after { display:block; }
}
@media(max-width:999px) {
 .rml-contact-v2 .rml-contact-v2-hero { grid-template-columns:1fr; gap:24px; padding:32px 7%; background-image:none; }
 .rml-contact-v2 .rml-contact-v2-hero-card { max-width:none; }
 .rml-contact-v2 .rml-contact-v2-main,.rml-contact-v2 .rml-contact-v2-process-faq { grid-template-columns:1fr; }
 .rml-contact-v2 .rml-contact-v2-info-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
 .rml-contact-v2 .rml-contact-v2-info-list li { display:flex; }
 .rml-contact-v2 .rml-contact-v2-info-item { width:100%; margin:0; }
 .rml-contact-v2 .rml-contact-v2-routing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rml-contact-v2 .rml-contact-v2-cta { grid-template-columns:48px 1fr; }
 .rml-contact-v2 .rml-contact-v2-cta>a { grid-column:1/-1; }
}
@media(max-width:599px) {
 .rml-contact-v2 .rml-contact-v2-hero { padding:30px 20px; }
 .rml-contact-v2 .rml-contact-v2-hero h1 { font-size:32px; }
 .rml-contact-v2 .rml-contact-v2-main,.rml-contact-v2 .rml-contact-v2-routing,.rml-contact-v2 .rml-contact-v2-process-faq,.rml-contact-v2 .rml-contact-v2-cta { width:calc(100% - 32px); }
 .rml-contact-v2 .rml-contact-v2-form-panel,.rml-contact-v2 .rml-contact-v2-info,.rml-contact-v2 .rml-contact-v2-routing,.rml-contact-v2 .rml-contact-v2-process,.rml-contact-v2 .rml-contact-v2-faq { padding:18px 14px; }
 .rml-contact-v2 .rml-contact-v2-info-list,.rml-contact-v2 .rml-contact-v2-routing-grid { grid-template-columns:1fr; }
 .rml-contact-v2 .rml-contact-v2-highlights { grid-template-columns:1fr; }
 .rml-contact-v2 .rml-contact-v2-cta { padding:20px 14px; background-image:none; }
}

/* Cores herdadas do tema global, limitadas à página de contactos. */
body:has(.rml-contact-v2) { --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; }
.rml-contact-v2 .rml-contact-v2-highlights i,
.rml-contact-v2 .rml-contact-v2-hero-card>i,
.rml-contact-v2 .rml-contact-v2-info-item>i,
.rml-contact-v2 .rml-contact-v2-client-note>i,
.rml-contact-v2 .rml-contact-v2-faq summary::after,
.rml-contact-v2 .rml-contact-v2-cta>i { color:#996500; }
.rml-contact-v2 .rml-contact-v2-client-note { background:linear-gradient(100deg,#fcf7eb,#fffdf8); }
.rml-contact-v2 .rml-contact-v2-client-note strong { color:#996500; }
.rml-contact-v2 .rml-contact-v2-info-item:hover { border-color:#b88b2b; }
.rml-contact-page.rml-contact-v2 .rml-contact-field .form-control:focus { border-color:#996500; box-shadow:0 0 0 3px rgba(166,109,0,.12); }
.rml-contact-v2 .rml-contact-success { border-color:#d8b45f; background:#fcf7eb; }
.rml-contact-v2 .rml-contact-success-icon { color:#0b2344; background:#e5b63f; }
/* As ações partilhadas já usam !important nas cores. */
.rml-contact-v2 .rml-action.rml-action-primary { color:#0b2344 !important; background:linear-gradient(180deg,#e5b63f,#d4a126) !important; border-color:#c79827 !important; }
.rml-contact-v2 .rml-action.rml-action-primary:hover { background:#edc65f !important; border-color:#996500 !important; }
.rml-contact-v2 .rml-action.rml-action-secondary { color:#996500 !important; background:#fcf7eb !important; border-color:#d8b45f !important; }
