/* Shared Dental Registry footer and WhatsApp button, used on every public page.
   Self-contained: it resets the generic footer/link rules older page styles apply.
   Markup is written into each page by scripts/apply-site-chrome.mjs. */
footer.drf,footer.drf *{box-sizing:border-box}
footer.drf{display:block;clear:both;width:auto;max-width:none;margin:48px 0 0;padding:0;border:0;border-top:1px solid #d3dfd0;background:#eef4ea;color:#153e3c;font:400 16px/1.6 'DM Sans',sans-serif;text-align:left}
footer.drf a{display:inline;color:#153e3c;text-decoration:none;margin:0;padding:0;font:inherit}
footer.drf a:hover{text-decoration:underline;text-underline-offset:3px}
footer.drf a:focus-visible{outline:3px solid #21675b;outline-offset:3px;border-radius:3px}
footer.drf .drf-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:40px;align-items:start;max-width:1200px;width:100%;margin:0 auto;padding:44px 32px}
footer.drf .drf-col{display:block;min-width:0;margin:0;padding:0}
footer.drf .drf-logo{display:inline-block;line-height:0}
footer.drf .drf-logo img{display:block;height:44px;width:auto}
footer.drf .drf-about{margin:16px 0 0;max-width:32ch;font-size:16px;line-height:1.6;color:#3a5551}
footer.drf .drf-h{display:block;width:100%;margin:0 0 16px;padding:0;font:700 14px/1.3 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#21675b;white-space:normal}
footer.drf nav{display:block;height:auto;min-height:0;max-height:none;width:auto;overflow:visible;gap:0;margin:0;padding:0;border:0;background:none;position:static}
footer.drf ul{display:grid;grid-template-columns:1fr;gap:10px;list-style:none;margin:0;padding:0}
footer.drf li{display:block;margin:0;padding:0;list-style:none;font-size:16px;line-height:1.5}
footer.drf .drf-mail{font-weight:600;font-size:16px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
footer.drf .drf-legal{border-top:1px solid #cfdccb}
footer.drf .drf-legal p{max-width:1200px;margin:0 auto;padding:18px 104px 18px 32px;font-size:14px;line-height:1.6;color:#3a5551}
footer.drf .drf-legal a{text-decoration:underline;text-underline-offset:3px;font-size:inherit}

@media (max-width:1100px){footer.drf .drf-in{grid-template-columns:1fr 1fr;gap:32px 40px}footer.drf .drf-brand{grid-column:1/-1}}
@media (max-width:560px){footer.drf .drf-in{grid-template-columns:1fr;gap:28px;padding:36px 20px 28px}footer.drf .drf-legal p{padding:18px 20px}footer.drf li{font-size:17px}footer.drf a{padding:3px 0}}

/* WhatsApp button: fixed bottom-right. On phones it shrinks to an icon, sits above any
   sticky bottom bar, and the page gets matching bottom padding so nothing is hidden behind it. */
.drw{position:fixed!important;right:20px;bottom:20px;z-index:55;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 16px;border-radius:999px;background:#1e7a4f;color:#fff;font:700 16px/1 'DM Sans',sans-serif;text-decoration:none;box-shadow:0 4px 16px rgba(21,62,60,.28)}
.drw:hover{background:#17653f}
.drw:focus-visible{outline:3px solid #153e3c;outline-offset:3px}
.drw svg{display:block;width:24px;height:24px;max-width:24px;max-height:24px;flex:none;fill:currentColor}
@media (max-width:760px){
  .drw{right:14px!important;bottom:14px!important;width:52px!important;height:52px!important;min-height:0;padding:0;justify-content:center}
  .drw span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body:has(.mobile-actions) .drw{bottom:84px!important}
  footer.drf .drf-legal{padding-bottom:72px}
  .comparebar{bottom:80px!important}
}
@media print{.drw{display:none}}

/* The button steps aside (fades out) while it would cover a control or image. */
.drw{transition:opacity .1s ease,visibility .1s}
.drw.drw-away:not(:focus-visible){opacity:0;visibility:hidden;pointer-events:none}

/* Some page styles pad the bottom of <body> on phones, leaving a white band under the footer.
   The footer carries that clearance itself instead (room for the floating button / sticky action bar). */
@media (max-width:800px){
  body:has(footer.drf){padding-bottom:0}
  body:has(.mobile-actions) footer.drf .drf-legal{padding-bottom:104px}
}
