/* Direct contact follows the public insurance platform, without third-party widgets. */
.contact-strip { background:#f8fafc; border-bottom:1px solid #e2e8f0; color:#52647b; font-size:.74rem; }
.contact-strip > .wrap { display:flex; align-items:center; justify-content:space-between; min-height:37px; gap:16px; }
.contact-strip-label { font-weight:550; }
.direct-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px 23px; }
.direct-links a { display:inline-flex; align-items:center; gap:8px; color:inherit; font:600 .83rem/1.5 var(--font-body); text-decoration:none; min-height:44px; }
.direct-links a:hover { text-decoration:underline; }
.direct-links .ico { width:18px; height:18px; flex:none; }
.direct-links .whatsapp-link { color:#146c43; }
.contact-strip .direct-links a { font-size:.74rem; min-height:36px; }
.contact-strip .direct-links .ico { width:16px; height:16px; }
.head { grid-template-columns:auto 1fr auto; gap:20px; }
.head > nav { justify-self:center; gap:6px; }
.head > nav a { padding-inline:10px; }
.floating-contact { position:fixed; right:18px; bottom:max(18px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:9px; z-index:18; }
.floating-contact a { display:flex; align-items:center; justify-content:center; width:46px; height:46px; color:#475569; border:1px solid #dce2eb; border-radius:14px; background:#fffffff2; backdrop-filter:blur(12px); box-shadow:0 4px 18px -7px #25385830; text-decoration:none; }
.floating-contact a:hover { border-color:#b3b6ed; background:#fff; color:var(--blue); }
.floating-contact .quick-whatsapp { color:#158449; }
.floating-contact .ico { width:22px; height:22px; }
.floating-contact a span { position:absolute; right:55px; padding:5px 12px; border-radius:8px; background:#1e293b; color:#fff; white-space:nowrap; font-size:.76rem; opacity:0; pointer-events:none; }
.floating-contact a:hover span,.floating-contact a:focus-visible span { opacity:1; }
body:has(.cookies) .floating-contact { display:none; }
footer .direct-links { display:flex; flex-direction:column; align-items:flex-start; gap:0; margin-top:6px; }
footer .direct-links a { color:#475569; min-height:38px; }
footer .direct-links .whatsapp-link { color:#146c43; }
.office-card .direct-links { align-items:flex-start; flex-direction:column; gap:0; margin:12px 0; }
.article-cta .direct-links { margin:8px 0 18px; }
.ecosystem-reading { margin-block:32px; padding:25px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:18px; }
.ecosystem-reading h2 { margin-top:0; }
.ecosystem-reading li + li { margin-top:20px; }
.ecosystem-reading li p { margin:5px 0 0; font-size:.93rem; }
.source-note { font-size:.77rem; margin-top:12px; color:var(--muted); }
.source-note a { display:inline; }
.article-faq details { border-bottom:1px solid var(--line); padding:16px 0; }
.article-faq summary { font-weight:650; color:var(--ink); line-height:1.5; padding-right:12px; }
.article-faq details p { margin-bottom:0; }
@media (max-width:1100px) {
 .head > nav { display:none; }
 .head { display:flex; justify-content:space-between; }
 .mobile-menu { display:block; position:relative; }
 .mobile-menu summary { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line); border-radius:12px; list-style:none; }
 .mobile-menu summary::-webkit-details-marker { display:none; }
 .mobile-menu nav { position:absolute; right:0; top:50px; z-index:20; display:flex; flex-direction:column; min-width:210px; max-width:calc(100vw - 36px); background:#fff; padding:8px; border:1px solid var(--line); border-radius:14px; box-shadow:0 12px 32px #23314a19; }
 .mobile-menu nav a { border:0; min-height:44px; }
}
@media (max-width:730px) {
 .contact-strip > .wrap { width:calc(100% - 36px); justify-content:center; min-height:36px; }
 .contact-strip-label { display:none; }
 .contact-strip .direct-links { width:100%; justify-content:space-between; gap:6px; }
 .contact-strip .direct-links a { gap:6px; font-size:.69rem; }
 .head { gap:6px; }
 .floating-contact { right:12px; bottom:max(12px,env(safe-area-inset-bottom)); gap:8px; }
 .floating-contact a { width:44px; height:44px; }
 .legalbar { padding-bottom:122px; }
 .ecosystem-reading { padding:20px; }
}
@media print { .contact-strip,.floating-contact { display:none!important; } }
