/* Legibilidade para público 40+: carregado por último, só sobrescreve tamanhos, pesos e contraste. */
:root{--muted:#5e544e;--accessible-border:#d9cbc0;--choice-surface:#f8f4f0;--choice-border:#c9b6aa;--choice-hover:#a98479;--choice-selected:#f3e9e4;--radio-border:#8f7a6f;--indicator-muted:#cdbcb1;--control-hover:#fff;--control-shadow:4px 4px 10px #d7cdc3,-4px -4px 10px #fffaf5}
body{font-size:17px;line-height:1.7}
h1,h2,h3{font-weight:600;letter-spacing:0}
em{font-weight:600}
nav{font-size:15px}
.button,.hero .button{font-size:16px}.small,.header .button,.header .small{font-size:15px}
.eyebrow,.contact-info .eyebrow{font-size:13px;letter-spacing:1.5px}
.intro,.hero .intro{font-size:18px}
.micro,.hero-meta{font-size:14px}
.photo-caption span{font-size:14px}
.section-head>p,.care-grid p,.about p:not(.eyebrow),.consult p:not(.eyebrow),.contact p:not(.eyebrow){font-size:17px}
.credentials li{font-size:16px}.credentials span{font-size:14px}
.about .registration{font-size:14px!important}
.steps article>span{font-size:14px}
.text-link{font-size:15px}
blockquote,.google-review blockquote{font-size:16px}
figcaption{font-size:14px}.review-note{font-size:13px}
.contact-info p{font-size:16px!important}.contact-info>a{font-size:17px}
footer{font-size:14px}
.wordmark small{font-size:11px}
.mobile-cta{font-size:16px}
/* Agendamento */
.doctor-card span{font-size:15px}.doctor-card small{font-size:13px}
.booking-label,.booking-summary>span,.dialog-toolbar>span{font-size:12px}
.step-count{font-size:13px}
.progress li{font-size:14px}.progress li span{font-size:13px;width:28px;height:28px}
.booking-help,.booking-dialog .booking-help{font-size:16px}
.choice strong{font-size:17px}.choice small{font-size:14px}
.booking-next,.booking-dialog .booking-next{font-size:16px}
.booking-foot,.booking-dialog .booking-foot{font-size:14px}
.booking-summary strong{font-size:18px}.booking-summary p{font-size:14px}
.back-button{font-size:15px}
/* Avaliações */
.all-reviews{font-size:14px}
.rating-total{font-size:14px}.rating-caption{font-size:15px}.rating-cta{font-size:14px}
.review-avatar{font-size:14px}
.review-author{font-size:15px}.review-author small{font-size:13px}
.review-source{font-size:14px}
.reviews-bottom p{font-size:13px}
/* Exames */
.exam-copy p{font-size:15px}
/* Contraste: bordas visíveis em cartões e botões que antes dependiam só de sombra */
.booking,.doctor-card,.care-grid article,figure,.google-review,.about-photo{border:1px solid var(--accessible-border)}
.choice{background:var(--choice-surface);border:1px solid var(--choice-border);min-height:68px}
.choice:hover{border-color:var(--choice-hover)}
.choice:has(input:checked){border:2px solid var(--rose);background:var(--choice-selected)}
.radio-mark{width:24px;height:24px;border:2px solid var(--radio-border)}
.choice:has(input:checked) .radio-mark{border:7px solid var(--rose)}
.step-count,.progress li span{border:1px solid var(--indicator-muted)}
.contact-grid{border:1px solid var(--accessible-border)}
/* Áreas de toque de pelo menos 44px */
.booking-next{min-height:56px}
.back-button{min-height:48px;padding:0 16px}
.dialog-close{width:48px;height:48px;border:1px solid var(--accessible-border)}
.all-reviews{min-height:44px}
.review-source,.rating-cta{display:inline-block;padding:10px 0}
/* Carrossel de exames */
.exams-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:10px}
.exams-arrow{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--choice-border);background:var(--paper);color:var(--rose);font:30px/1 Georgia,serif;padding:0 0 4px;cursor:pointer;box-shadow:var(--control-shadow)}
.exams-arrow:hover{background:var(--control-hover)}
.exams-dots{display:flex;gap:8px;width:124px;justify-content:center;flex-shrink:0}
.exams-dots span{width:10px;height:10px;border-radius:5px;background:var(--indicator-muted);transition:width .2s,background .2s}
.exams-dots span.is-active{width:24px;background:var(--rose)}
@media(prefers-reduced-motion:reduce){.exams-dots span{transition:none}}
@media(max-width:600px){
 body{font-size:16px}
 .header .button,.header .small{font-size:14px}
 .eyebrow{font-size:12px;letter-spacing:1.2px}
 .intro,.hero .intro{font-size:17px}
 .section-head>p,.care-grid p,.about p:not(.eyebrow),.consult p:not(.eyebrow),.contact p:not(.eyebrow){font-size:16px}
 .hero-meta{font-size:13px;flex-wrap:wrap;row-gap:6px}
 .progress li{font-size:13px}
}
@media(max-width:350px){.exam-copy p{font-size:14px}.header .button,.header .small{font-size:13px}}
.choice-price{display:block;margin-top:4px;font-style:normal;font-weight:700;color:var(--rose);font-size:15px}
.booking-summary strong em{display:block;margin-top:4px;font-style:normal;font-size:12px;color:var(--rose)}
