/* Additive contact and section-navigation controls. */
body .floating-whatsapp {
  position: fixed; z-index: 2100; display: inline-flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; min-width: 56px; min-height: 56px; max-width: 56px;
  right: max(16px, env(safe-area-inset-right, 0px));
  bottom: calc(max(16px, env(safe-area-inset-bottom, 0px)) + var(--contact-bottom-offset, 0px));
  padding: 0; border-radius: 50%; border: 2px solid #fff !important;
  color: #fff !important; background: #128c4b !important; text-decoration: none;
  box-shadow: 0 6px 24px rgba(0,0,0,.28) !important; transform: none; transition: background-color .15s ease;
}
body .floating-whatsapp:hover { background: #08783d !important; transform: none; }
body .floating-whatsapp:focus-visible { outline: 3px solid #f6c768; outline-offset: 4px; }
body .floating-whatsapp svg { display: block; width: 32px; height: 32px; flex: none; }
.floating-whatsapp-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
footer .footer-section-nav { width:100%; flex-basis:100%; grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:.35rem 1.2rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.2); }
footer .footer-section-nav strong { width:100%; font-size:.95rem; }
footer .footer-section-nav a { display:inline-flex; align-items:center; min-height:44px; color:#fff; font-size:.9rem; text-underline-offset:.2em; }
footer .footer-section-nav a:focus-visible, .section-shortcuts a:focus-visible { outline:3px solid #f6c768; outline-offset:3px; }
.section-shortcuts { display:flex; align-items:center; flex-wrap:wrap; gap:.25rem 1.2rem; padding:.5rem clamp(1.1rem,4vw,5rem); background:#101e3a; color:#fff; border-bottom:1px solid rgba(226,183,91,.35); }
.section-shortcuts a { display:inline-flex; align-items:center; min-height:44px; font-size:.88rem; font-weight:650; text-decoration:none; }
.section-shortcuts a:hover { text-decoration:underline; text-underline-offset:.3em; }
@media(min-width:1181px) { .section-shortcuts { display:none; } }
@media(max-width:620px) { .section-shortcuts { gap:.25rem 1rem; padding:.5rem 1.15rem; } .section-shortcuts a { font-size:.8rem; } }
body footer { padding-bottom: max(88px, calc(env(safe-area-inset-bottom, 0px) + 72px)); }
body:has(.legal-main), body:has(main.legal-page) { padding-bottom:88px; }
@media(prefers-reduced-motion:reduce) { body .floating-whatsapp { transition:none; } }

/* Keep the initial mobile actions outside the persistent contact corner. */
@media(max-width:620px) {
  body .hero .actions { width:calc(100% - 72px); margin-right:auto; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
