/* The same official assets, green and chrome budget as the Flutter app.
   Public telemedicine pages only; professional/partner dashboards are untouched. */
.pd-official-brand {
    --ast-global-color-0: #1b6936;
    --ast-global-color-1: #134e28;
}
.pd-official-brand :is(.pd-public-home,.pd-pronto-attendance,.pd-pronto-modal,.pd-public-integrated-booking,.pd-public-app-download) {
    --pd-green: #1b6936;
    --pd-green-dark: #134e28;
    --pd-green-deep: #134e28;
    --pd-booking-green: #1b6936;
    --pd-booking-green-dark: #134e28;
    --pd-app-green: #1b6936;
    --pd-app-green-deep: #134e28;
}
.pd-official-brand #masthead :is(.ast-above-header-bar,.ast-primary-header-bar,.main-header-bar) { background: #1b6936 !important; }
.pd-official-brand #masthead :is(.menu-toggle,.ast-custom-button-link,.ast-custom-button,.main-header-menu > .menu-item > .menu-link) { color: white !important; }
.pd-official-brand #masthead .pd-official-header-brand { padding: 0 !important; border: 0 !important; background: transparent !important; line-height: 1; }
.pd-official-brand #masthead .pd-official-brand-with-back { display: flex; align-items: center; gap: 8px; }
.pd-official-brand #masthead .pd-official-header-back { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; border: 1px solid #cfe1d4; border-radius: 50%; background: white; color: #134e28 !important; }
.pd-official-brand #masthead .pd-official-header-back svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pd-official-brand #masthead .pd-official-header-back:focus-visible { outline: 3px solid #a6c9b0; outline-offset: 2px; }
.pd-official-brand.pd-account-back-in-header .pd-patient-account-top[hidden] { display: none !important; }
.pd-official-brand.pd-account-back-in-header .pd-public-mobile-back { display: none !important; }
.pd-official-brand.pd-account-back-in-header .pd-public-catalog-back-button { display: none !important; }
.pd-official-brand.pd-account-back-in-header .pd-patient-account { padding-top: 12px; }
.pd-official-brand.pd-account-back-in-header .pd-patient-account-article { padding-top: 0; }
.pd-official-brand .pd-pronto-attendance-live { font-weight: 400; text-align: left; }
.pd-official-brand .pd-catalog-spotlight-footer strong { color: #526a59; }
@media (max-width: 767px) {
    .pd-official-brand .pronto-doutor-especialidades .pd-catalog-spotlights { margin-bottom: 24px; }
    .pd-official-brand .pronto-doutor-especialidades .pd-catalog-spotlight--urgent { margin-bottom: 0 !important; }
    .pd-official-brand .pd-pronto-attendance-hero > :last-child { margin-bottom: 0; }
}
.pd-official-brand :is(.pd-pronto-attendance,.pd-public-integrated-booking) [data-pd-brasilia-label] { color: #526a59; font-size: 12px; margin: 3px 0 8px; }
.pd-official-brand #masthead img.pd-official-header-logo { display: block; width: 104px !important; height: 48px !important; max-width: 104px; object-fit: cover; }
.pd-official-brand .pd-official-footer-logo { display: block; width: 96px; height: 96px; object-fit: cover; margin: 0 auto; }
.pd-official-brand #appbar-bottom a { font-size: 11px !important; font-weight: 500 !important; }
.pd-official-brand #appbar-bottom a:not(.active):not([aria-current="page"]) { color: #173d25; }
.pd-official-brand #appbar-bottom :is(.active,[aria-current="page"]) { color: #1b6936 !important; }
.pd-official-brand .pronto-doutor-especialidades .catalog-filter.is-active { border-color: #1b6936; background: #1b6936; }
.pd-official-brand .pronto-doutor-especialidades .catalog-filter.is-active:hover { border-color: #134e28; background: #134e28; }
/* Calendar arrows: stronger contrast, including unavailable previous days. */
.pd-official-brand :is(.pd-public-integrated-date-arrow,.pd-pronto-date-filter-arrow,.pd-pronto-doctor-date-arrow) {
    background: #134e28 !important;
    color: #fff !important;
}
.pd-official-brand :is(.pd-public-integrated-date-arrow,.pd-pronto-date-filter-arrow,.pd-pronto-doctor-date-arrow):enabled:is(:hover,:focus,:focus-visible,:active) {
    background: #173d25 !important;
    color: #fff !important;
}
.pd-official-brand :is(.pd-public-integrated-date-arrow,.pd-pronto-date-filter-arrow,.pd-pronto-doctor-date-arrow):disabled {
    background: #a6c9b0 !important;
    color: #134e28 !important;
    opacity: 1;
}
/* Shared booking widgets retain their original colors in the admin panel;
   only public Pronto Doutor pages inherit this brand palette. */
.pd-official-brand .pd-booking-patient-fields input:focus-visible { outline-color: #1b6936 !important; }
.pd-official-brand .pd-pronto-booking-form button.pd-pronto-booking-submit,
.pd-official-brand .pd-public-integrated-booking-form button.pd-public-integrated-booking-submit { background: #1b6936 !important; }
.pd-official-brand [data-pd-patient-phone].is-pd-phone-valid,
.pd-official-brand [data-pd-patient-email].is-pd-email-valid { border-color: #1b6936 !important; box-shadow: 0 0 0 3px rgba(27,105,54,.12) !important; }
.pd-official-brand :is(.pd-patient-phone-validation,.pd-patient-email-validation,[data-pd-patient-phone-feedback],[data-pd-patient-email-feedback]).is-valid { color: #134e28; }
.pd-official-brand :is(.pd-booking-safety,.pd-consultation-terms) input[type=checkbox] { accent-color: #1b6936 !important; }
.pd-official-brand .pd-consultation-terms :is(summary,button.pd-consultation-terms-link) { color: #1b6936; }
.pd-official-brand .pd-pronto-doctor :is(.pd-pronto-doctor-registry,.pd-pronto-doctor-price,.pd-pronto-slot,.pd-pronto-doctor-day-head strong,.pd-pronto-doctor-day-head span) { font-weight: 500 !important; }
.pd-official-brand .pd-pronto-doctor-name { font-weight: 650 !important; }
@media (max-width: 767px) {
    .pd-official-brand .pd-pronto-doctor { grid-template-columns: 108px minmax(0,1fr) !important; }
    .pd-official-brand .pd-pronto-doctor .pd-pronto-doctor-photo { width: 108px !important; height: 136px !important; }
    .pd-official-brand .pd-pronto-doctor :is(.pd-pronto-doctor-registry,.pd-pronto-doctor-bio) { font-size: 12px !important; }
    .pd-official-brand .pd-pronto-slot { font-size: 12px !important; min-height: 44px; }
}
