/* CareForAll v200: one coherent, compact and readable component system. */
:root { --review-ink:#29333b; --review-muted:#59656e; --review-blue:#476b80; }
body { font-family:Arial,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif; }
main { color:var(--review-ink); }
main .pageview p { margin:5px 0 !important; line-height:1.6 !important; }
main .pageview :is(.card,.contentcard,.contactbox,.guide-step,.task-card) { min-height:0 !important; padding:12px !important; height:auto !important; }
main .pageview :is(.card,.contentcard,.contactbox,.guide-step,.task-card) :is(h2,h3) { text-align:left !important; margin:0 0 6px !important; line-height:1.4; }
main .pageview .compact-box-heading { display:flex !important; align-items:center !important; gap:7px !important; grid-column:1/-1 !important; width:100% !important; min-width:0; margin:0 0 6px !important; }
main .pageview .compact-box-heading > :is(h2,h3) { min-width:0; flex:1; width:auto !important; grid-column:auto !important; grid-row:auto !important; margin:0 !important; }
main .pageview .compact-box-heading > .line-icon { flex:0 0 26px; margin:0 !important; }
main .pageview .card .foot { margin-top:6px !important; padding-top:6px !important; }
main .pageview .cards { gap:10px !important; }
main .pageview :is(.contentcard,.card) .actions { margin:6px 0 0 !important; }
/* Accordion rows: one-line summaries no longer occupy a large coloured panel. */
main .pageview details:is(.topic-question,.faqitem,.physio-question,.child-question) { padding:0 !important; min-height:0 !important; margin:8px 0 !important; }
main .pageview details:is(.topic-question,.faqitem,.physio-question,.child-question) > summary { display:list-item; min-height:44px !important; box-sizing:border-box; padding:10px 12px !important; margin:0 !important; font-weight:650; }
main .pageview details:is(.topic-question,.faqitem,.physio-question,.child-question) > :not(summary) { margin:0 12px 8px !important; padding-top:0 !important; }
main .pageview .stacked-panels { padding-top:10px !important; padding-bottom:10px !important; }
main .pageview :is(.topic-question,.service-detail-panel) { scroll-margin-top:120px; }
main .pageview .service-detail-panel { padding:12px !important; margin-bottom:10px !important; }
main .pageview .supporting-copy, main .pageview :is(.micro-note,.branch-availability,.product-price-note,.denovo-start-note) { font-size:14px !important; color:var(--review-muted); }
/* White canvas makes the pastel clinic cards distinct. */
main .pageview[data-page="home"] .home-intro-compact,
main .pageview[data-page="home"] .home-intro-compact > .paired-column-left { background:#fff !important; }
main .pageview[data-page="home"] .home-current-clinic-highlight { background:#fff1f6 !important; }
main .pageview[data-page="home"] .home-new-clinic-highlight { background:#edf6fc !important; }
main .pageview[data-page="home"] .home-core-message { color:var(--review-blue) !important; font-weight:650; }
main .pageview[data-page="home"] .home-purpose .purpose-item { background:#fff !important; border:1px solid #dae4eb !important; }
main .pageview[data-page="home"] .home-purpose .purpose-item:last-child { border-color:#ead6df !important; }
main .pageview[data-page="home"] .home-purpose h2 { color:var(--review-blue); }
/* Navigation: identical sequence, one mobile entry per destination. */
header :is(nav a,nav summary,.mobilebar a,.mobilebar summary), footer .footerlinks a { font-weight:650 !important; }
header nav :is(a,summary,button) { white-space:nowrap; }
header .mobilebar > a, header .mobilebar > details > summary { font-weight:650 !important; }
@media(max-width:760px) {
 header .nav > nav > a.about-header-link:not(.btn):not(.lang), header .nav > nav > .moremenu, header .nav > nav > .services-navigation { display:none !important; }
 header .mobilebar { display:flex !important; flex-wrap:nowrap !important; align-items:center; justify-content:space-between !important; gap:1px !important; padding:3px 7px !important; }
 header .mobilebar > a,header .mobilebar > details > summary { padding:4px 3px !important; min-height:44px; font-size:12px !important; white-space:nowrap; }
 html[lang^="en"] header .mobilebar > a,html[lang^="en"] header .mobilebar > details > summary { font-size:11px !important; flex:0 1 auto !important; }
 main .pageview .wrap { padding-left:12px !important; padding-right:12px !important; }
 main .pageview .wrap .wrap { padding-left:0 !important; padding-right:0 !important; }
 main .pageview :is(.card,.contentcard,.contactbox,.guide-step,.task-card) { padding:10px !important; }
}
/* English text wraps at spaces rather than splitting individual words. */
html[lang^="en"] main :is(p,li,h1,h2,h3,h4,a,span,small),html[lang^="en"] header :is(a,span,summary) { word-break:normal !important; overflow-wrap:normal !important; hyphens:none !important; }
html[lang^="en"] main .service-title-tile h3 { font-size:14px !important; }
html[lang^="en"] header nav { gap:10px !important; }
html[lang^="en"] header nav :is(a,summary,button) { font-size:14px !important; }
/* Doctor names and roles keep complete words/phrases. */
main .doctorcard { min-width:0; }
main .doctorcard h3,main .doctorcard h3 span { white-space:nowrap !important; word-break:keep-all !important; overflow-wrap:normal !important; font-size:18px !important; }
main .doctorcard small,main .doctorcard small span { white-space:nowrap !important; word-break:keep-all !important; font-size:14px !important; }
main .doctorcard .initials { float:none !important; position:absolute; top:10px; right:10px; width:36px; height:36px; font-size:18px; opacity:.5; }
main .doctorcard { position:relative; padding-right:12px !important; }
main .doctorcard small { display:block; padding-right:28px; }
@media(max-width:1000px) { main .teamcards { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media(max-width:600px) { main .teamcards { grid-template-columns:minmax(0,1fr) !important; } }
/* One branded WhatsApp icon, not a pseudo-element plus an inline icon. */
a.whatsapp-contact { display:inline-flex; align-items:center; gap:6px; color:#176b45 !important; }
a.whatsapp-contact::before,a.whatsapp-contact::after { content:none !important; display:none !important; }
a.whatsapp-contact > svg.whatsapp-brand-icon { display:inline-block !important; flex:0 0 18px; width:18px !important; height:18px !important; color:#176b45 !important; }
main .ask-doctor-instructions :is(p,li,li span,p span) { font-size:15px !important; line-height:1.6 !important; }
main .ask-doctor-instructions h2 { font-size:18px !important; }
main .ask-doctor-instructions ol { margin:5px 0; padding-left:23px; }
main .ask-doctor-instructions li { margin:3px 0; }
/* Compact contacts and brand-coloured symbols. */
footer .footer-contact-links { gap:7px !important; padding-top:8px !important; padding-bottom:8px !important; }
footer .footer-contact-link { min-height:40px !important; padding:7px 10px !important; gap:6px !important; font-size:14px !important; border-radius:10px !important; }
footer .footer-contact-link :is(span,svg) { font-size:14px !important; }
footer .footer-contact-link svg,.contact-social-card .contact-social-icon { width:17px !important; height:17px !important; flex:0 0 17px; }
a[href*="facebook.com"] svg { color:#1877f2 !important; }
a[href*="instagram.com"] svg { color:#a83b89 !important; }
a[href^="mailto:"] svg { color:#476b80 !important; }
a[href^="tel:"] svg { color:#405664 !important; }
.contact-social-grid { gap:10px !important; }
.contact-social-card { display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:10px !important; min-height:0 !important; padding:10px 12px !important; }
.contact-social-card strong { font-size:16px !important; margin:0 !important; }
.contact-social-card > span > span { font-size:14px !important; margin:2px 0 0 !important; }
footer :is(.quicklinks,.footerlinks,.footer-bottom-links) a { font-weight:650 !important; }
/* Shared service headers never inherit the one-character-wide grid column. */
main .pageview a.servicecard.service-title-tile { display:grid !important; grid-template-columns:26px minmax(0,1fr) !important; grid-template-rows:auto !important; min-height:0 !important; height:auto !important; padding:10px !important; gap:6px !important; }
main .pageview a.servicecard.service-title-tile > h3 { grid-column:2 !important; grid-row:1 !important; min-width:0; width:auto !important; text-align:left !important; white-space:normal !important; }
main .service-title-tile:nth-child(3n+1) .line-icon { color:#9b4b6b !important; background:#fff1f6 !important; }
main .service-title-tile:nth-child(3n+2) .line-icon { color:#3d738d !important; background:#edf6fc !important; }
main .service-title-tile:nth-child(3n) .line-icon { color:#48786b !important; background:#edf7f1 !important; }
/* Wider English words need wider tracks; do not shrink to illegible text. */
@media(min-width:1000px) { html[lang^="en"] main .cards.service-card-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; } }
@media(max-width:420px) { html[lang^="en"] main .cards.service-card-grid { grid-template-columns:minmax(0,1fr) !important; } }
footer .compact-footer-links a { font-weight:650 !important; }
@media(max-width:760px) {
 .pageview[data-page="home"] .home-team-intro-grid > div { padding:12px !important; }
}
header nav button { font-weight:650 !important; }
a.whatsapp-contact.btn { background:#f1faf4 !important; border-color:#bdd9cc !important; color:#176b45 !important; }
