/* Shared Dental Registry header, used on every public page. Self-contained: it resets the
   generic header/nav/link rules that some older page styles apply. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--drh-ink:#153e3c;--drh-green:#21675b;--drh-line:#dbe4db;--drh-h:76px;scroll-padding-top:calc(var(--drh-h) + 16px)}

.drh-top,.drh-top *,header.drh,header.drh *{box-sizing:border-box}
.drh-top{background:#153e3c;color:#edf4e9;font:500 12px/1.4 'DM Sans',sans-serif}
.drh-top .drh-in{display:flex;align-items:center;gap:10px;min-height:36px}
.drh-top .drh-mark-uk{font-size:10px;letter-spacing:1px;border:1px solid #7c9a8b;border-radius:3px;padding:1px 5px}
.drh-top a{margin-left:auto;color:#e5eddf;font-size:11px;text-decoration:none}
.drh-top a:hover{text-decoration:underline}

header.drh{position:sticky;top:0;z-index:60;display:block;margin:0;padding:0;max-width:none;border:0;border-bottom:1px solid var(--drh-line);background:#fff;box-shadow:none;font:500 14px/1.4 'DM Sans',sans-serif;color:var(--drh-ink)}
.drh-in{max-width:var(--drh-max,1200px);margin:0 auto;padding:0 var(--drh-pad,32px);box-sizing:border-box}
/* The homepage content is wider (1320px, 34px padding); the header lines up with it there. */
:root:has(#dr-simple){--drh-max:1320px;--drh-pad:34px}
header.drh .drh-in{height:var(--drh-h);display:flex;align-items:center;gap:26px}
header.drh a{color:var(--drh-ink);text-decoration:none;margin:0;border:0;background:none;font:inherit}
header.drh .drh-logo{display:flex;align-items:center;gap:9px;margin-right:auto;font:800 22px/1 Manrope,sans-serif;letter-spacing:-1px;color:var(--drh-ink);white-space:nowrap}
header.drh .drh-logo img{display:block;height:44px;width:auto}
header.drh .drh-links{display:flex;align-items:center;gap:24px;height:auto;margin:0;padding:0;background:none}
header.drh .drh-links a{position:relative;padding:6px 0;font-size:14px;white-space:nowrap}
header.drh .drh-links a:hover{color:var(--drh-green)}
header.drh .drh-links a[aria-current=page]{color:var(--drh-green);font-weight:600}
header.drh .drh-links a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--drh-green)}
header.drh .drh-saved{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--drh-ink)}
header.drh .drh-saved:hover,header.drh .drh-saved[aria-current=page]{background:#eef4ec;color:var(--drh-green)}
header.drh .drh-saved svg{width:21px;height:21px}
header.drh .drh-count{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--drh-green);color:#fff;font:700 10px/16px 'DM Sans',sans-serif;text-align:center}
header.drh .drh-saved::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--drh-ink);color:#fff;font:500 12px/1 'DM Sans',sans-serif;padding:7px 9px;border-radius:5px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s}
header.drh .drh-saved:hover::after,header.drh .drh-saved:focus-visible::after{opacity:1}
header.drh .drh-cta{display:inline-flex;align-items:center;gap:6px;background:var(--drh-green);color:#fff;border-radius:8px;padding:12px 18px;font-weight:700;font-size:13px;white-space:nowrap}
header.drh .drh-cta:hover{filter:brightness(.92);color:#fff}
header.drh .drh-cta[aria-current=page]{box-shadow:0 0 0 3px #d9edaa}
header.drh .drh-toggle{display:none}
header.drh a:focus-visible,header.drh button:focus-visible{outline:3px solid #b5ce82;outline-offset:3px;border-radius:6px}

/* Profile pages: keep the sticky contact panel below the sticky header. */
.contact-panel{top:calc(var(--drh-h) + 20px)}

/* Tablet and phone: logo, saved heart, For Clinics and a menu button; links open in a panel. */
@media(max-width:1000px){
  header.drh .drh-in{gap:12px}
  html.drh-js header.drh .drh-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--drh-line);border-radius:8px;background:#fff;color:var(--drh-ink);cursor:pointer;padding:0;margin:0}
  html.drh-js header.drh .drh-toggle svg{width:20px;height:20px}
  html.drh-js header.drh .drh-links{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 14px;background:#fff;border-bottom:1px solid var(--drh-line);box-shadow:0 14px 24px #153e3c14}
  html.drh-js header.drh.drh-open .drh-links{display:flex}
  html.drh-js header.drh .drh-links a{padding:13px 4px;font-size:16px;border-bottom:1px solid #eef2ee}
  html.drh-js header.drh .drh-links a:last-child{border-bottom:0}
  html.drh-js header.drh .drh-links a[aria-current=page]::after{left:-20px;right:auto;top:10px;bottom:10px;width:3px;height:auto}
  html:not(.drh-js) header.drh .drh-in{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
  html:not(.drh-js) header.drh .drh-links{order:5;width:100%;flex-wrap:wrap;gap:6px 18px}
}
@media(max-width:700px){:root:has(#dr-simple){--drh-pad:20px}}
@media(max-width:600px){
  :root{--drh-h:64px}
  :root:not(:has(#dr-simple)){--drh-pad:16px}
  .drh-top .drh-in{min-height:32px;font-size:11px}
  header.drh .drh-logo img{height:34px}
  header.drh .drh-cta{padding:10px 12px;font-size:12px}
  header.drh .drh-saved::after{display:none}
}
