/* Shared clinic actions, verified hours and native user-controlled galleries. */
.hp-clinic-refresh { --clinic-serif:var(--hp-font-primary); --clinic-blue:#23677f; }
.hp-outpatient-menu__item { text-decoration:none; }
.hp-outpatient-menu__phrase { display:inline-block; }
.hp-outpatient-menu__icon { display:grid; place-items:center; background:#edf6ee; color:#28794f; }
.hp-outpatient-menu__description { display:block; color:#5c6f65; }
.hp-outpatient-menu__visit { display:inline-block; margin-top:14px; padding:5px 9px; border-radius:5px; color:#295b3c; background:#edf5ef; font-size:13px; line-height:1.6; font-weight:500; }
.hp-outpatient-menu__photo { margin:0; }
.hp-clinic-refresh .clinic-copy-link { color:#226741; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.hp-clinic-refresh .clinic-copy-link:focus-visible { outline:3px solid #23677f; outline-offset:4px; }
.clinic-content-image { margin:0; min-width:0; }
.clinic-content-image img { display:block; width:100%; height:auto; border-radius:16px; }
.clinic-content-image figcaption { margin-top:8px; color:#5c6f65; font-size:13px; }
.clinic-icon { display:block; width:24px; height:24px; flex:0 0 24px; overflow:visible; }
.clinic-section-symbol { display:inline-grid; place-items:center; width:52px; height:52px; color:#28794f; background:#e6f1e9; border-radius:50%; }
.clinic-section-symbol .clinic-icon { width:28px; height:28px; }
.hp-clinic-refresh .clinic-phone-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:64px; padding:12px 22px; border:1px solid #28794f; border-radius:999px; background:#28794f; color:#fff; text-decoration:none; line-height:1.4; }
.hp-clinic-refresh .clinic-phone-button>span { display:flex; flex-direction:column; }
.hp-clinic-refresh .clinic-phone-button small { font-size:13px; font-weight:400; }
.hp-clinic-refresh .clinic-phone-button strong { font-size:23px; font-weight:600; white-space:nowrap; letter-spacing:.01em; }
.hp-clinic-refresh .clinic-phone-button .clinic-icon { width:27px; height:27px; flex-basis:27px; }
.hp-clinic-refresh .dcs-header__phone { display:flex; align-items:center; gap:9px; min-height:46px; padding:8px 14px; border:1px solid #dce9df; border-radius:999px; }
.clinic-header-phone { display:none; }
.clinic-quick-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.clinic-quick-links>a { display:flex; align-items:center; gap:12px; min-height:94px; padding:18px 16px; color:#233d35; text-decoration:none; border:1px solid #dce9df; border-radius:12px; background:#fff; box-shadow:0 8px 24px #233d3505; }
.clinic-quick-links__icon { display:grid; place-items:center; flex:0 0 46px; height:46px; border:1px solid #e0ebe3; border-radius:50%; color:#28794f; background:#f7faf7; }
.clinic-quick-links__icon .clinic-icon { width:26px; height:26px; }
.clinic-quick-links>a>span:nth-child(2) { flex:1; min-width:0; }
.clinic-quick-links strong { display:block; font-size:15px; line-height:1.5; font-weight:600; }
.clinic-quick-links small { display:block; margin-top:6px; font-size:13px; line-height:1.55; color:#62736c; }
.clinic-quick-links>a>.clinic-icon { width:16px; height:16px; flex-basis:16px; color:#507a69; }
.clinic-hours { min-width:0; }
.clinic-hours__table { width:100%; border-collapse:collapse; table-layout:fixed; background:#fff; color:#233d35; font-variant-numeric:tabular-nums; }
.clinic-hours__table caption { text-align:left; font-size:13px; color:#5c6f65; margin:0 0 12px; }
.clinic-hours__table th,.clinic-hours__table td { padding:12px 3px; border:0; border-bottom:1px solid #d9e6de; text-align:center; font-size:15px; line-height:1.5; vertical-align:middle; }
.clinic-hours__table thead th { background:#edf5ef; font-weight:500; font-size:14px; }
.clinic-hours__table th:first-child { width:28%; }
.clinic-hours__table tbody th { white-space:nowrap; font-size:17px; font-weight:500; }
.clinic-hours__table tbody tr:last-child>* { border-bottom:0; }
.clinic-hours__mark { color:#8c9c94; font-size:17px; }
.clinic-hours__mark.is-open { color:#28794f; font-size:15px; }
.clinic-hours__legend { display:flex; flex-wrap:wrap; gap:4px 16px; margin:8px 0 14px; font-size:13px!important; color:#607369; }
.clinic-hours__reception { display:flex; gap:16px; align-items:flex-start; padding-top:14px; border-top:1px solid #d9e6de; }
.clinic-hours__reception>strong { flex:0 0 auto; border-radius:4px; background:#eaf2ed; padding:4px 8px; font-size:13px; font-weight:600; }
.clinic-hours__reception p { font-size:14px!important; margin:0 0 4px!important; line-height:1.7!important; }
.clinic-hours__table--notice th:first-child { width:30%; white-space:normal; }
.clinic-hours__table--notice td { text-align:left; padding:12px; }
.clinic-carousel { min-width:0; }
.clinic-carousel__track { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:2px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#a4c6b1 transparent; padding:4px 2px 20px; }
.clinic-carousel__track>[data-carousel-slide] { flex:0 0 calc((100% - 48px)/3); scroll-snap-align:start; min-width:0; }
.clinic-carousel__controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:8px; }
.clinic-carousel__controls[hidden] { display:none; }
.clinic-carousel__status { font-size:14px; color:#476555; min-width:60px; font-variant-numeric:tabular-nums; }
.clinic-carousel__dots { display:flex; align-items:center; gap:0; }
.clinic-carousel__dots button { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; padding:0; border:0; background:transparent; cursor:pointer; }
.clinic-carousel__dots button[hidden] { display:none; }
.clinic-carousel__dots button>span { display:block; width:7px; height:7px; border-radius:50%; background:#c3d8cb; }
.clinic-carousel__dots button[aria-current="true"]>span { background:#28794f; width:20px; border-radius:5px; }
.clinic-carousel__arrows { display:flex; gap:10px; }
.clinic-carousel__arrows button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid #bad0c2; background:#fff; color:#28794f; border-radius:50%; cursor:pointer; }
.clinic-carousel__arrows button[aria-disabled="true"] { color:#718e7b; border-color:#dbe5df; background:#edf3ee; cursor:default; }
@media(hover:hover) and (pointer:fine) {
 .hp-clinic-refresh .clinic-phone-button:hover { background:#1d6040; }
 .clinic-quick-links>a:hover { border-color:#7caf90; background:#f7fbf8; }
 .clinic-carousel__arrows button:not([aria-disabled="true"]):hover { color:#fff; border-color:#28794f; background:#28794f; }
}
@media(max-width:1180px) {
 .clinic-header-phone { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; width:52px; min-height:52px; margin-left:auto; margin-right:12px; color:#233d35; text-decoration:none; border-right:1px solid #e1e9e3; padding-right:12px; }
 .clinic-header-phone span { font-size:11px; line-height:1.2; }
 .clinic-quick-links { gap:10px; }
 .clinic-quick-links>a { padding:15px 12px; gap:10px; }
 .clinic-quick-links__icon { flex-basis:38px; height:38px; }
 .clinic-quick-links small { font-size:12px; }
}
@media(max-width:900px) {
 .clinic-quick-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .clinic-carousel__track>[data-carousel-slide] { flex-basis:calc((100% - 24px)/2); }
}
@media(max-width:767px) {
 .hp-clinic-refresh .dcs-header__inner { width:calc(100% - 32px); }
 .hp-clinic-refresh .dcs-brand img { width:175px; max-height:34px; }
 .hp-clinic-refresh .dcs-menu-toggle { min-width:44px; }
 .clinic-header-phone { margin-right:6px; padding-right:8px; width:44px; }
 .clinic-quick-links { gap:10px; }
 .clinic-quick-links>a { min-height:88px; padding:13px 10px; gap:9px; }
 .clinic-quick-links__icon { flex-basis:36px; height:36px; }
 .clinic-quick-links__icon .clinic-icon { width:23px; height:23px; }
 .clinic-quick-links strong { font-size:14px; }
 .clinic-quick-links small { font-size:13px; margin-top:4px; }
 .clinic-quick-links>a>.clinic-icon { display:none; }
 .clinic-hours__table th,.clinic-hours__table td { padding:12px 1px; }
 .clinic-hours__table th:first-child { width:106px; }
 .clinic-hours__table thead th { font-size:12px; white-space:nowrap; }
 .clinic-hours__table tbody th { font-size:15px; letter-spacing:-.02em; }
 .clinic-hours__mark,.clinic-hours__mark.is-open { font-size:12px; }
 .clinic-hours__reception { gap:10px; flex-direction:column; }
 .clinic-hours__reception p { font-size:14px!important; }
 .clinic-carousel__track { gap:16px; }
 .clinic-carousel__track>[data-carousel-slide] { flex-basis:86%; }
 .clinic-carousel__controls { flex-wrap:wrap; gap:4px 12px; }
 .clinic-carousel__dots { order:3; width:100%; justify-content:center; }
 .hp-clinic-refresh .clinic-contact-bar a { display:flex; flex-direction:row; gap:10px; justify-content:center; align-items:center; padding:9px 12px; }
 .hp-clinic-refresh .clinic-contact-bar a>span { display:block; }
 .hp-clinic-refresh .clinic-contact-bar a .clinic-icon { flex-basis:23px; width:23px; height:23px; }
 .hp-clinic-refresh .clinic-contact-bar a small { display:block; }
}
@media(max-width:359px) {
 .hp-clinic-refresh .dcs-brand img { width:158px; }
 .clinic-header-phone { margin-right:3px; width:44px; min-width:44px; padding-right:4px; }
 .clinic-carousel__dots { width:calc(100% + 32px); margin-inline:-16px; }
 .clinic-quick-links>a { gap:6px; padding-inline:8px; }
 .clinic-quick-links__icon { flex-basis:28px; height:28px; }
 .clinic-quick-links>a>.clinic-icon { display:none; }
 .clinic-hours__table tbody th { font-size:14px; }
 .clinic-hours__table thead th { font-size:11px; white-space:normal; }
 .hp-clinic-refresh .clinic-phone-button { padding-inline:16px; gap:10px; }
 .hp-clinic-refresh .clinic-phone-button strong { font-size:20px; }
 .hp-clinic-refresh .clinic-contact-bar a { gap:6px; padding-inline:7px; font-size:12px; }
}
html[data-font-size="large"] .clinic-quick-links strong { font-size:18px; }
html[data-font-size="large"] .clinic-quick-links small { font-size:16px; }
html[data-font-size="large"] .clinic-hours__reception p { font-size:18px!important; }
@media(prefers-reduced-motion:reduce) { .clinic-carousel__track { scroll-behavior:auto; } }
/* Keep the access telephone text legible on its green action surface. */
.hp-clinic-refresh .dc-home-access .dc-home-access__contact .clinic-phone-button,
.hp-clinic-refresh .dc-home-access .dc-home-access__contact .clinic-phone-button small,
.hp-clinic-refresh .dc-home-access .dc-home-access__contact .clinic-phone-button strong { color:#fff; }

@media(max-width:767px) {
 .hp-clinic-refresh .clinic-contact-bar a,
 .hp-clinic-refresh .clinic-contact-bar a:first-child,
 .hp-clinic-refresh .clinic-contact-bar a:last-child { flex-direction:column; gap:2px; justify-content:center; padding:4px 2px; font-size:12px; }
 .hp-clinic-refresh .clinic-contact-bar a .clinic-icon { flex-basis:19px; width:19px; height:19px; }
}
