/* Shared clinic navigation. Keep fixed actions clear of the reading area. */
.gm-navigation-enabled { --gm-ink:#34233f; --gm-accent:#75448b; }
html:has(.gm-navigation-enabled) { scroll-padding-top:164px; }
.gm-navigation-enabled .toc { top:164px; }
.gm-navigation-enabled .guide-contents { top:164px; }
.gm-navigation-enabled .language-contact,
.gm-navigation-enabled .quick-contact,
.gm-navigation-enabled .mobile-contact,
.gm-navigation-enabled [aria-label="빠른 예약"][data-hide-mobile],
.gm-navigation-enabled div[style^="position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;"],
.gm-navigation-enabled [data-mobile-only="true"] { display:none!important; }
.gm-resource-links { box-sizing:border-box; display:flex; align-items:center; justify-content:flex-end; gap:22px; margin:0 auto; padding:0 26px; min-height:38px; max-width:1440px; border-top:1px solid #eee9f0; color:var(--gm-ink); font-size:13px; line-height:1.4; }
.gm-resource-links>span { color:#776c7e; font-size:12px; }
.gm-resource-links a { display:inline-flex; align-items:center; gap:7px; min-height:38px; color:inherit; text-decoration:none; font-weight:600; white-space:nowrap; }
.gm-resource-links a:hover { color:var(--gm-accent); text-decoration:underline; text-underline-offset:4px; }
.gm-resource-links svg { width:18px; height:18px; flex-shrink:0; }
.gm-resource-links a:focus-visible { outline:2px solid var(--gm-accent); outline-offset:2px; }
.gm-quick-contact { box-sizing:border-box; position:fixed; z-index:80; display:grid; background:#fff; border:1px solid #e3dce8; border-radius:14px; box-shadow:0 6px 24px #30213d16; overflow:hidden; }
.gm-quick-contact a { box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:14px 5px; min-height:82px; color:var(--gm-ink); font-size:13px; font-weight:650; line-height:1.4; text-align:center; text-decoration:none; }
.gm-quick-contact svg { display:block; flex-shrink:0; }
.gm-quick-contact .gm-contact-booking { background:#07843e; color:#fff; }
.gm-quick-contact .gm-contact-booking:hover { background:#086f37; }
.gm-quick-contact .gm-contact-map:hover { background:#f3eff6; }
.gm-quick-contact .gm-contact-phone { background:var(--gm-accent); color:#fff; }
.gm-quick-contact a:focus-visible { outline:3px solid #e5bb47; outline-offset:-4px; }
@media(min-width:1200px) {
  body.gm-navigation-enabled { padding-right:112px; }
  .gm-quick-contact { right:14px; top:50%; transform:translateY(-50%); width:86px; }
  .gm-quick-contact .gm-contact-phone { display:none; }
  .gm-contact-map { border-top:1px solid #e3dce8; }
}
@media(min-width:1101px) and (max-width:1500px) {
  .gm-navigation-enabled .header-actions>[data-hide-narrow] { display:none!important; }
  .gm-navigation-enabled .site-logo { width:210px!important; }
}
@media(max-width:1199px) {
  body.gm-navigation-enabled { padding-right:0; padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
  html { scroll-padding-bottom:100px; }
  .gm-quick-contact { bottom:0; left:0; right:0; grid-template-columns:repeat(3,minmax(0,1fr)); border-radius:12px 12px 0 0; padding-bottom:env(safe-area-inset-bottom,0px); }
  .gm-quick-contact a { min-height:68px; padding:10px 5px; font-size:12px; gap:4px; }
  .gm-quick-contact a+a { border-left:1px solid #ffffff35; }
}
@media(max-width:600px) {
  .gm-resource-links { justify-content:center; gap:24px; padding:0 16px; font-size:13px; }
  .gm-resource-links>span { display:none; }
  html:has(.gm-navigation-enabled) { scroll-padding-top:190px; }
}
@media(min-width:601px) and (max-width:1100px) {
  html:has(.gm-navigation-enabled) { scroll-padding-top:190px; }
}
@media print {
  body.gm-navigation-enabled { padding:0; }
  .gm-resource-links,.gm-quick-contact { display:none; }
}
