/* Patient-facing refinement, 2026-10-22. Load after the existing stylesheet.
   Identity assets, brand colors, typefaces and booking destinations are retained. */

/* A booking action keeps its color after existing routing changes its href. */
a[data-ui-booking],
.nav-links > a.btn-primary-small,
a.btn-doctoralia,
#mobile-sticky-cta a.btn-doctoralia {
    background: #007f6e !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(0, 127, 110, .18);
    transition-property: background-color, color, border-color, box-shadow, transform;
}
a[data-ui-booking]:hover,
.nav-links > a.btn-primary-small:hover,
a.btn-doctoralia:hover,
#mobile-sticky-cta a.btn-doctoralia:hover {
    background: #006858 !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(0, 127, 110, .22);
}
a[data-ui-booking]:focus-visible,
.nav-links > a.btn-primary-small:focus-visible,
a.btn-doctoralia:focus-visible {
    outline: 3px solid var(--clr-primary);
    outline-offset: 4px;
}

/* Services remain a generous touch target, with less emphasis than booking. */
.home-page #inicio .hero-cta .home-services-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 44px;
    padding: .65rem .35rem;
    color: var(--clr-link);
    background: transparent;
    border: 0;
    border-radius: .35rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: .2em;
    transition: color .2s ease;
}
.home-page #inicio .hero-cta .home-services-link:hover {
    color: var(--clr-heading);
    transform: none;
    box-shadow: none;
}
.home-page #inicio .hero-cta { gap: .35rem 1rem; }
.home-page #inicio .hero-cta + .home-fees { margin-top: 1.1rem; }

/* Keep important price and care conditions in the open, with readable support. */
.home-page .home-fees dt,
.home-page .home-fees dd span,
.home-page .home-fees-note,
.home-page .home-consultation-credential {
    font-size: .875rem;
    line-height: 1.55;
}
.home-page .home-secondary-links { margin-top: 1rem; }
.home-page .home-secondary-links .home-trust {
    margin: 0;
    font-size: .875rem;
}
.home-page .home-secondary-links .home-trust a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .35rem 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    text-decoration: underline;
    text-underline-offset: .2em;
}
.home-page .home-today-note {
    margin: .5rem 0 .75rem;
    max-width: 58ch;
    font-size: .875rem;
    line-height: 1.55;
}
.home-page .home-reservation-help {
    max-width: 62ch;
    margin-top: .5rem;
    border-top: 1px solid var(--glass-border);
    font-size: .875rem;
    line-height: 1.55;
}
.home-page .home-reservation-help > summary {
    display: list-item;
    min-height: 44px;
    padding: .75rem 0;
    color: var(--clr-text-main);
    cursor: pointer;
    font-weight: 600;
}
.home-page .home-reservation-help > summary:focus-visible {
    outline: 3px solid var(--clr-primary);
    outline-offset: 3px;
    border-radius: .25rem;
}
.home-page .home-reservation-help .home-support-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 0 0 .5rem;
    font-size: .875rem;
}
.home-page .home-reservation-help .home-support-links > span { display: none; }
.home-page .home-reservation-help .home-support-links a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: .5rem 0;
}

/* Enhanced only after JS is running. Without JS, the existing bar is retained.
   This beats the former observer's .visible toggles and the legacy display:flex. */
#mobile-sticky-cta[data-ui-enhanced="true"][hidden],
#mobile-sticky-cta[data-ui-enhanced="true"][data-ui-hidden="true"] {
    display: none !important;
}
@media (max-width: 768px) {
    #mobile-sticky-cta[data-ui-enhanced="true"][data-ui-hidden="false"] {
        display: flex;
        transform: none;
        transition: none;
    }
}
@media (min-width: 769px) {
    #mobile-sticky-cta[data-ui-enhanced="true"] { display: none !important; }
}
@media (max-width: 580px) {
    .home-page #inicio .hero-cta { flex-direction: column; align-items: stretch; }
    .home-page #inicio .hero-cta .home-services-link { align-self: center; width: auto; }
}

/* Respect the system preference for every page, including reveal animations
   and scrolling. Do not remove transforms that determine open/closed states. */
@media (prefers-reduced-motion: reduce) {
    html, body, *, *::before, *::after {
        scroll-behavior: auto !important;
        animation: none !important;
        transition: none !important;
    }
    .fade-in-section,
    .hero-title,
    .hero-subtitle,
    .hero-cta,
    .hero-image-wrapper {
        opacity: 1 !important;
        transform: none !important;
        will-change: auto;
    }
    :is(.btn-primary, .btn-primary-small, .btn-secondary, .btn-outline, .btn-doctoralia, .glass-card):hover {
        transform: none !important;
    }
}
