/*
 * GjejeMjekun public color system.
 *
 * Navy owns primary actions, blue owns interactive/decorative accents, and
 * pale blue owns supporting surfaces. Green, amber, and red are reserved for
 * success/verified, warning/unverified, and danger/emergency states.
 */
:root {
    --hp-public-navy: #092c44;
    --hp-public-navy-hover: #0e4566;
    --hp-public-blue: #0b6fb8;
    --hp-public-blue-strong: #075891;
    --hp-public-blue-soft: #eaf4fb;
    --hp-public-blue-soft-hover: #dcecf8;
    --hp-public-border: #b8d5e8;
    --hp-public-focus: rgba(11, 111, 184, .24);
    --hp-public-indigo: #4f63c7;
    --hp-public-indigo-strong: #3949a3;
    --hp-public-indigo-soft: #eef0ff;
    --hp-public-indigo-border: #cbd2f5;
    --hp-public-success: #08745f;
    --hp-public-success-soft: #dcf7ec;
    --hp-public-warning: #8a5a00;
    --hp-public-warning-soft: #fff2d8;
    --hp-public-danger: #a63434;
    --hp-public-danger-soft: #fde8e8;
    --hp-action-primary: var(--hp-public-navy);
    --hp-action-primary-hover: var(--hp-public-navy-hover);
    --hp-action-focus: var(--hp-public-blue);
}

/* Homepage information architecture: one blue accent, not competing teal. */
body.hp-home-body .healthcare-section-heading p,
body.hp-home-body .healthcare-step-card i,
body.hp-home-body .healthcare-home-shell .healthcare-feature-card i {
    color: var(--hp-public-blue);
}

body.hp-home-body .healthcare-step-card span,
body.hp-home-body .healthcare-home-shell .healthcare-feature-card i {
    background: var(--hp-public-blue-soft);
}

body.hp-home-body .healthcare-home-band {
    background: linear-gradient(135deg, var(--hp-public-blue-soft), #f4f9fd);
}

body.hp-home-body .healthcare-home-shell .healthcare-home-band .healthcare-home-kicker {
    color: var(--hp-public-blue-strong);
}

body.hp-home-body .healthcare-mobile-feature-card span,
body.hp-home-body .healthcare-mobile-feature-card:nth-child(2) span,
body.hp-home-body .healthcare-mobile-feature-card:nth-child(3) span,
body.hp-home-body .healthcare-mobile-app-card .healthcare-mobile-promo-icon {
    background: var(--hp-public-blue-soft);
    color: var(--hp-public-blue);
}

body.hp-home-body .healthcare-homepage-language-switch > li.active > a,
body.hp-home-body .healthcare-homepage-language-switch > li.active > a:focus,
body.hp-home-body .healthcare-homepage-language-switch > li.active > a:hover {
    color: var(--hp-public-blue-strong);
}

/* Search-assistant context and location prompts use blue unless state is semantic. */
.hp-assistant-search-context {
    border-color: var(--hp-public-border);
    background: #f4f9fd;
}

.hp-assistant-search-context__icon,
.healthcare-location-dialog-icon {
    background: var(--hp-public-blue-soft);
    color: var(--hp-public-blue);
}

.hp-assistant-search-context__choices a:hover,
.hp-assistant-search-context__choices a:focus,
.hp-assistant-search-context__choices .is-selected {
    border-color: var(--hp-public-blue);
}

.hp-assistant-search-context__choices a:hover,
.hp-assistant-search-context__choices a:focus {
    background: var(--hp-public-blue-soft);
}

.hp-assistant-search-context__choices .is-selected {
    background: var(--hp-public-blue);
    color: #fff;
}

.hp-assistant-search-context__change,
.hp-assistant-search-context__privacy i {
    color: var(--hp-public-blue-strong);
}

.hp-assistant-search-context__editor textarea:focus {
    border-color: var(--hp-public-blue);
    outline: 3px solid var(--hp-public-focus);
}

/* Professional acquisition and contact pages share the public palette. */
.hp-pro-product,
.hp-professional-contact {
    --hp-pro-ink: var(--hp-public-navy);
    --hp-pro-blue: var(--hp-public-blue);
    /* Compatibility alias for existing component rules; visually this is blue. */
    --hp-pro-teal: var(--hp-public-blue);
    --hp-pro-pale: var(--hp-public-blue-soft);
    --hp-pro-border: var(--hp-public-border);
    --hp-pro-indigo: var(--hp-public-indigo);
}

.hp-pro-product__hero {
    background: linear-gradient(105deg, var(--hp-public-blue-soft) 0, #f7fbfe 54%, #dcecf8 100%);
}

.hp-pro-product__feature-grid i,
.hp-professional-contact__intro i {
    background: var(--hp-public-blue-soft);
}

.hp-pro-product__final .hp-pro-kicker {
    color: #a9d8f5;
}

.hp-pro-product .hp-pro-primary:hover,
.hp-pro-product .hp-pro-primary:focus-visible,
.hp-professional-contact .hp-pro-primary:hover,
.hp-professional-contact .hp-pro-primary:focus-visible {
    background: var(--hp-public-navy-hover);
    color: #fff;
}

/*
 * Professional acquisition color roles:
 * blue = product/discovery, indigo = clinic/team/organization, navy = action.
 * The existing live/active indicator intentionally keeps semantic success.
 */
body.hp-professional-product-body .hp-pro-product__hero {
    background:
        radial-gradient(circle at 76% 18%, rgba(79, 99, 199, .13), transparent 31%),
        linear-gradient(118deg, var(--hp-public-blue-soft) 0%, #f8fbff 53%, var(--hp-public-indigo-soft) 100%);
}

.hp-pro-product__audience i,
.hp-pro-product__workspace-mark,
.hp-pro-product__proof i,
.hp-pro-product__feature-grid i {
    color: var(--hp-public-blue);
}

.hp-pro-product__workspace-mark,
body.hp-professional-product-body .hp-pro-product__proof i,
.hp-pro-product__feature-grid i {
    background: var(--hp-public-blue-soft);
}

.hp-pro-product__workspace-preview::before {
    background: linear-gradient(90deg, var(--hp-public-blue), var(--hp-public-indigo));
}

.hp-pro-product__workspace-list em {
    background: var(--hp-public-indigo-soft);
    color: var(--hp-public-indigo-strong);
}

.hp-pro-product__avatar.is-indigo {
    background: var(--hp-public-indigo-soft);
    color: var(--hp-public-indigo-strong);
}

.hp-pro-product__avatar.is-blue {
    background: var(--hp-public-blue-soft);
    color: var(--hp-public-blue-strong);
}

.hp-pro-product__avatar.is-slate {
    background: #edf2f6;
    color: #526f82;
}

.hp-pro-product__workspace-note > i {
    color: #a9d8f5;
}

body.hp-professional-product-body .hp-pro-product__feature-grid--expanded article:hover {
    border-color: var(--hp-public-blue);
}

.hp-pro-product__clinic-section::before {
    background: rgba(79, 99, 199, .24);
}

.hp-pro-product__clinic-copy li i {
    color: #a9b7ff;
}

.hp-pro-product__roles-head > span,
.hp-pro-product__roles-panel article > i {
    background: var(--hp-public-indigo-soft);
    color: var(--hp-public-indigo);
}

.hp-pro-product__roles-panel article > span {
    background: var(--hp-public-indigo-soft);
    color: var(--hp-public-indigo-strong);
}

.hp-pro-product__roles-summary > i,
.hp-pro-product__identity-roles i {
    color: var(--hp-public-indigo);
}

.hp-pro-product__identity-section {
    background: linear-gradient(110deg, var(--hp-public-blue-soft), var(--hp-public-indigo-soft));
    border-color: var(--hp-public-indigo-border);
}

.hp-pro-product__identity-icon {
    background: var(--hp-public-indigo);
}

.hp-pro-product__plan-limits span {
    background: var(--hp-public-blue-soft);
    color: var(--hp-public-blue-strong);
}

.hp-pro-product__patient-benefit {
    border-color: var(--hp-public-indigo-border);
    background: var(--hp-public-indigo-soft);
}

.hp-pro-product__patient-benefit > i {
    background: #dfe4ff;
    color: var(--hp-public-indigo);
}

.hp-pro-product__patient-benefit strong {
    color: var(--hp-public-indigo-strong);
}

.hp-pro-product__patient-benefit small {
    color: #52627d;
}

.hp-pro-product__plan-details summary:hover i,
.hp-pro-product__plan-details summary:focus-visible i,
.hp-pro-product__plan-details p i,
.hp-pro-product__boost-copy > small i {
    color: var(--hp-public-blue);
}

.hp-pro-product__boost-rates article.is-saving {
    background: var(--hp-public-indigo-soft);
    border-color: var(--hp-public-indigo-border);
}

/* Shared public footer uses blue for interaction; safety text keeps semantics. */
.hp-public-footer__contact-item > i,
.hp-public-footer__emergency > i {
    color: #79bde7;
}

.hp-public-footer__contact-item[href]:hover > i,
.hp-public-footer__emergency-numbers a:hover,
.hp-public-footer__emergency-numbers a:focus-visible {
    border-color: #79bde7;
    background: var(--hp-public-navy-hover);
}

.hp-public-footer__connect .healthcare-home-footer-language a.active {
    border-color: #79bde7;
    background: var(--hp-public-blue-soft);
    color: var(--hp-public-blue-strong);
}

.hp-public-footer__connect .healthcare-home-footer-language a:hover {
    border-color: #79bde7;
}

.hp-public-footer__connect .healthcare-home-footer-language a.active:hover {
    background: #fff;
    color: var(--hp-public-navy);
}

.hp-public-footer__connect .healthcare-home-footer-language a:focus-visible,
.hp-public-footer__emergency-numbers a:focus-visible {
    outline: 3px solid var(--hp-public-focus);
}

/* Public registration and content accents must also use the same blue family. */
.hp-account-register-card.is-professional,
.hp-professional-register-card,
.hp-public-action-card,
.hp-public-content-card {
    border-color: var(--hp-public-border);
}

.hp-account-register-card.is-professional i,
.hp-professional-register-card i,
.hp-public-action-card i,
.hp-public-content-card i {
    color: var(--hp-public-blue);
}

.hp-register-workspace-choice i {
    background: var(--hp-public-blue-soft);
    color: var(--hp-public-blue);
}

.hp-register-workspace-choice input:checked + span {
    border-color: var(--hp-public-blue);
    background: #f4f9fd;
    box-shadow: 0 0 0 2px var(--hp-public-focus);
}

.hp-register-workspace-choice input:focus-visible + span {
    outline: 3px solid var(--hp-public-focus);
}

body.healthcare-search-body .healthcare-result-avatar {
    background: var(--hp-public-blue-soft);
    color: var(--hp-public-blue);
}

/* Keyboard focus is consistent anywhere the public palette is in scope. */
body.hp-home-body a:focus-visible,
body.hp-home-body button:focus-visible,
.hp-pro-product a:focus-visible,
.hp-professional-contact a:focus-visible,
.hp-professional-contact button:focus-visible {
    outline: 3px solid var(--hp-public-focus);
    outline-offset: 2px;
}
