/* Preserve the existing clinic palette and parent-theme controls. */
.spring-carousel {
    position: relative;
    z-index: 2;
    --spring-slide-width: 250px;
    --spring-slide-height: 180px;
    --spring-duration: 40s;
    margin-block: 1rem;
}
.spring-carousel--gallery {
    --spring-slide-width: min(400px, 85vw);
    --spring-slide-height: 220px;
    --spring-duration: 32s;
}
.spring-carousel-viewport {
    overflow-x: auto;
    overscroll-behavior-x: contain;
}
.spring-carousel-track, .spring-carousel-group {
    display: flex;
    width: max-content;
}
.spring-carousel-group { flex: 0 0 auto; }
.spring-carousel-slide {
    flex: 0 0 var(--spring-slide-width);
    width: var(--spring-slide-width);
    height: var(--spring-slide-height);
    padding: 5px;
}
.spring-carousel-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.spring-carousel--gallery img { object-fit: cover; }
.spring-carousel-group[aria-hidden="true"] { display: none; }
.spring-carousel.is-animated .spring-carousel-group[aria-hidden="true"] { display: flex; }
.spring-carousel.is-animated .spring-carousel-viewport { overflow: hidden; }
.spring-carousel.is-animated .spring-carousel-track {
    animation: spring-carousel-scroll var(--spring-duration) linear infinite;
}
.spring-carousel.is-paused .spring-carousel-track,
.spring-carousel:hover .spring-carousel-track,
.spring-carousel-viewport:focus-visible .spring-carousel-track {
    animation-play-state: paused;
}
@keyframes spring-carousel-scroll {
    to { transform: translateX(-50%); }
}
.spring-carousel-toggle {
    display: block;
    margin: 0 auto .5rem .75rem;
    padding: .5rem 1rem;
    min-height: 44px;
}
.spring-carousel-toggle[hidden] { display: none; }
.spring-carousel button:focus-visible,
.spring-carousel-viewport:focus-visible,
.spring-schedule-scroll:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
.section-features video,
.section-features iframe,
.section-videolightbox iframe {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
}
.section-features video { object-fit: contain; }
.section-features .feature-item { margin-bottom: 1.5rem; }
.service-content img { max-width: 100%; height: auto; }
.spring-schedule-scroll {
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    margin-bottom: 1rem;
}
.spring-schedule-scroll #doctor-schedule {
    min-width: 650px;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 0;
}
.spring-schedule-scroll #doctor-schedule th,
.spring-schedule-scroll #doctor-schedule td {
    padding: .65rem .4rem;
    font-size: .95rem;
    line-height: 1.6;
}
.spring-schedule-scroll #doctor-schedule .doctor-mark {
    width: auto;
    height: auto;
    min-height: 30px;
    border-radius: 6px;
    font-size: 1rem;
}
.spring-schedule-scroll #doctor-schedule small { font-size: .8rem; }
.spring-schedule-scroll #doctor-schedule th:first-child { width: 80px; }
.spring-schedule-scroll #doctor-schedule .doctor-mark.closed {
    background: transparent;
    color: inherit;
}
.spring-schedule-hint { display: none; }
.section-features .shared-health-info-link {
    height: auto;
    min-height: 50px;
    line-height: 1.6;
    overflow-wrap: anywhere;
    margin-bottom: .75rem;
}
#home-footer a { overflow-wrap: anywhere; }
.section-contact iframe { max-width: 100%; }
@media (max-width: 767px) {
    .c-bully { display: none; }
    .spring-schedule-hint { display: block; text-align: center; }
    .section-features .feature-item { padding-inline: 15px; }
    .section-features .shared-health-info-link { width: 100%; padding: .75rem; }
    .section-content .btn, .service-content .btn, .section-about .btn, .entry-content .btn {
        white-space: normal;
        max-width: 100%;
        min-height: 44px;
    }
    #schedule .btn, .page-id-1448 .btn { max-width: calc(100% - 16px); }
    .entry-content { font-size: 1rem; line-height: 1.8; }
    .entry-title { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    .spring-carousel.is-animated .spring-carousel-track { animation: none; transform: none; }
    .spring-carousel.is-animated .spring-carousel-viewport { overflow-x: auto; }
    .spring-carousel.is-animated .spring-carousel-group[aria-hidden="true"] { display: none; }
    .spring-carousel-toggle { display: none; }
}

#news .doc-links {
    list-style: none;
    padding-inline-start: 0;
    margin-inline: 0;
}
#news .doc-links > li { list-style: none; }
