/* Component roles for the held clinic and health proposals. No global consumers. */
body[data-nm-fixed-family] { --nm-section-width: 1180px; --nm-section-gap: clamp(40px,6vw,72px); }
body[data-nm-fixed-family] :is(a,button,input,summary):focus-visible { outline: 3px solid #39727d; outline-offset: 4px; }
body[data-nm-fixed-family="health"] :is(.map-wrapper,.nm-service-locations,.nao-wellness-guide,.nao-wellness-faq) { width: min(var(--nm-section-width),calc(100% - 48px)); margin-inline: auto; box-sizing: border-box; }
body[data-nm-fixed-family="health"] :is(.map-wrapper,.nm-service-locations) { padding-block: var(--nm-section-gap); }
body[data-nm-fixed-family="health"] :is(.map-wrapper,.nm-service-locations,.nao-wellness-guide,.nao-wellness-faq,.nao-wellness-sources) h2 { color: #1e3565; font: 400 clamp(30px,3.6vw,48px)/1.12 "Tiempos Fine",Georgia,serif; letter-spacing: -.025em; margin: 0 0 24px; text-wrap: balance; }
body[data-nm-fixed-family="health"] .nao-wellness-guide__answer :is(h3,h4) { font: 700 20px/1.35 "TodaySansNow Pro",Arial,sans-serif; color: #1e3565; margin: 24px 0 8px; }
body[data-nm-fixed-family="health"] .nao-wellness-guide__answer :is(p,ul,ol) { font: 400 17px/1.65 "TodaySansNow Pro",Arial,sans-serif; margin: 0 0 16px; }
body[data-nm-fixed-family="health"] :is(.nao-wellness-guide__answer,.nao-wellness-faq__answer) > :last-child { margin-bottom: 0; }
body[data-nm-fixed-family="health"] .store-container { box-sizing: border-box; border: 1px solid #d7e2e8; border-radius: 12px; overflow: hidden; background: #fff; }
body[data-nm-fixed-family="health"] .store-container .info-container { min-width: 0; padding: 18px; }
body[data-nm-fixed-family="health"] .store-container :is(.nao-clinic-card-name,h3,h4) { font: 400 25px/1.2 "Tiempos Fine",Georgia,serif; margin: 0 0 12px; }
body[data-nm-fixed-family="health"] .store-container li { font: 400 16px/1.5 "TodaySansNow Pro",Arial,sans-serif; margin-bottom: 6px; }
body[data-nm-fixed-family="health"] :is(.nao-clinic-card-details,.nm-service-location-secondary) a { display: inline-flex; align-items: center; min-height: 40px; padding-block: 4px; color: #1e3565; text-decoration: underline; text-underline-offset: 3px; }
body[data-nm-fixed-family="health"] .nm-service-location-secondary a { color: #39727d; }
body[data-nm-fixed-family="health"] .nm-area-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 24px; }
body[data-nm-fixed-family="health"] .nm-area-card { padding: 24px; border: 1px solid #d7e2e8; border-radius: 12px; background: #f6f9fb; }
body[data-nm-fixed-family="health"] .nm-area-card h3 { font: 400 26px/1.2 "Tiempos Fine",Georgia,serif; color: #1e3565; margin: 0 0 16px; }
body[data-nm-fixed-family="health"] .nm-area-card a { display: block; padding-block: 10px; color: #1e3565; font: 400 16px/1.4 "TodaySansNow Pro",Arial,sans-serif; text-underline-offset: 3px; }
body[data-nm-fixed-family="health"] .nm-service-locations > p { max-width: 780px; font: 400 18px/1.6 "TodaySansNow Pro",Arial,sans-serif; color: #30506f; }
body[data-nm-fixed-family] .menu-dropdown.active .nm-mobile-booking { display: inline-flex !important; position: static !important; inset: auto !important; transform: none !important; align-items: center; justify-content: center; width: min(100%,300px); min-height: 48px; margin: 0 0 18px; padding: 12px 20px; border-radius: 28px; background: #9acf8c; color: #1e3565; font: 700 18px/1.3 "TodaySansNow Pro",Arial,sans-serif; box-sizing: border-box; }
body[data-nm-fixed-family] .menu-dropdown.active .astoria-shared-menu-close { color: #fff; min-width: 44px; min-height: 44px; }
body[data-nm-fixed-family].menu-open [data-astoria-menu-toggle] { visibility: hidden; }
body[data-nm-fixed-family] .menu-dropdown.active [data-astoria-menu-close] { display: flex !important; align-items: center; justify-content: center; background: none !important; z-index: 2; }
body[data-nm-fixed-family] .menu-dropdown.active [data-astoria-menu-close] svg { display: block !important; width: 24px; height: 24px; }
body[data-nm-fixed-family] .menu-dropdown.active [data-astoria-menu-close] path { stroke: #fff; }
body[data-nm-fixed-family="health"] .nao-wellness-faq { padding-block: var(--nm-section-gap); }
body[data-nm-fixed-family="clinic"] .nm-verified-review-link { width: min(var(--nm-section-width),calc(100% - 48px)); margin: var(--nm-section-gap) auto; padding: 32px; box-sizing: border-box; border-radius: 16px; background: #f4f8fb; }
body[data-nm-fixed-family="clinic"] .nm-verified-review-link h2 { font: 400 clamp(30px,3.6vw,48px)/1.12 "Tiempos Fine",Georgia,serif; margin: 0 0 20px; color: #1e3565; }
body[data-nm-fixed-family="clinic"] .nm-verified-review-link a { display: inline-flex; min-height: 44px; align-items: center; color: #1e3565; font: 400 18px/1.5 "TodaySansNow Pro",Arial,sans-serif; text-underline-offset: 3px; }
body[data-nm-fixed-family="clinic"] :is(.nao-astoria-content,.nao-reviews) h2 { color: #1e3565; font: 400 clamp(30px,3.6vw,48px)/1.12 "Tiempos Fine",Georgia,serif; letter-spacing: -.025em; }
body[data-nm-fixed-family="clinic"] .nao-astoria-service-panel { border-radius: 12px; }
body[data-nm-fixed-family="clinic"] .nao-astoria-service-list a { font: 400 17px/1.5 "TodaySansNow Pro",Arial,sans-serif; }
@media(max-width:900px) { body[data-nm-fixed-family="health"] .nm-area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 body[data-nm-fixed-family="health"] :is(.map-wrapper,.nm-service-locations,.nao-wellness-guide,.nao-wellness-faq),body[data-nm-fixed-family="clinic"] .nm-verified-review-link { width: calc(100% - 32px); }
 body[data-nm-fixed-family="health"] .nm-area-grid { grid-template-columns: minmax(0,1fr); }
 body[data-nm-fixed-family="health"] .nm-area-card { padding: 20px; }
 body[data-nm-fixed-family="health"] .store-container .info-container { padding: 16px; }
 body[data-nm-fixed-family="health"] :is(.nao-clinic-card-details,.nm-service-location-secondary) a { min-height: 44px; }
 body[data-nm-fixed-family="clinic"] .nm-verified-review-link { padding: 24px; }
}

body[data-nm-fixed-family] .menu-dropdown:not(.active) .nm-mobile-booking { display: none !important; }
