/* Shared Roseline's Pflege palette. Load after the page styles. */
:root {
    --brand-magenta: #D91E7E;
    --brand-blue: #2C8DC4;
    --brand-turquoise: #087F8C;
    --brand-gold: #B59652;
    --primary-color: var(--brand-turquoise);
    --primary-dark: #08636E;
    --primary-light: #E5F3F4;
    --secondary-color: var(--brand-blue);
    --secondary-dark: #216F98;
    --secondary-light: #EAF4FA;
    --accent-color: var(--brand-gold);
    --accent-dark: #80672F;
    --accent-light: #F6F1E6;
    --text-color: #30434B;
    --text-dark: #243A43;
    --text-light: #566B75;
    --text-muted: #62747C;
    --bg-light: #F4F8F9;
    --bg-dark: #173B46;
    --bs-primary-rgb: 8, 127, 140;
}

h1, h2,
.hero-content h1,
.career-hero-content h1,
.career-hero-content h1 .highlight,
.section-header h2,
.legal-header h1 {
    color: var(--brand-magenta);
}

h3, h4,
.service-card h3,
.feature-content h4,
.member-info h4,
.legal-section h2,
.legal-section h3 {
    color: var(--brand-blue);
}

.section-header > p,
.career-slogan {
    color: var(--secondary-dark);
}

.hero, .career-hero, .legal-header {
    background: linear-gradient(120deg, #FFFFFF 10%, #F4FAFB 60%, #E0F1F3);
}

.top-contact-bar { background-color: var(--primary-color); }
.coming-soon-title, .coming-soon-heart { color: var(--brand-magenta); }
.coming-soon-subtitle { color: var(--secondary-dark); }

.hero::before, .services::before, .about::before, .footer::after {
    background-image: none;
}

.section-header h2::after,
.hero-content h1::after,
.legal-header h1::after,
.career-hero-content h1 .highlight::after {
    background: var(--brand-gold);
}

.brand-text, .footer .brand-text, .brand-logo span {
    background: none;
    color: var(--brand-magenta);
    -webkit-text-fill-color: currentColor;
}

.brand-subtitle, .footer .brand-subtitle {
    background: none;
    color: var(--secondary-dark);
    -webkit-text-fill-color: currentColor;
}

.contact {
    background: linear-gradient(120deg, #08636E, #1D668E);
}

.contact .section-header { background: transparent; box-shadow: none; }

.contact .section-header h2,
.contact .section-header p,
.contact .info-text h4,
.contact .info-text a,
.contact .info-text p {
    color: #FFFFFF;
}

.contact .section-header h2::after {
    background: var(--brand-gold);
}

.contact .info-text a { text-decoration: underline; text-underline-offset: 3px; }

.footer::before {
    background: linear-gradient(90deg, var(--brand-turquoise), var(--brand-blue));
}

.footer-address { font-style: normal; color: inherit; }

.btn-primary {
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-dark);
    --bs-btn-hover-border-color: var(--primary-dark);
    --bs-btn-active-bg: var(--primary-dark);
    --bs-btn-active-border-color: var(--primary-dark);
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    box-shadow: 0 4px 12px rgba(8, 127, 140, .15);
}

.btn-primary:hover, .btn-primary:focus-visible {
    box-shadow: 0 6px 16px rgba(8, 127, 140, .22);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-dark);
    --bs-btn-border-color: var(--primary-dark);
    --bs-btn-hover-bg: var(--primary-dark);
    --bs-btn-hover-border-color: var(--primary-dark);
    --bs-btn-active-bg: var(--primary-dark);
    --bs-btn-active-border-color: var(--primary-dark);
}

.service-card, .team-member, .benefit-card, .position-card {
    box-shadow: 0 5px 22px rgba(23, 59, 70, .08);
}

.loader-heart { color: var(--brand-magenta); }

:focus-visible { outline: 3px solid var(--secondary-dark); outline-offset: 3px; }
.contact a:focus-visible { outline-color: #FFFFFF; }

@media (max-width: 575.98px) {
    .top-contact-bar { min-height: 38px; }
    .top-contact-content { flex-direction: row; justify-content: center; gap: 1rem; }
    .top-contact-content .contact-info-item:nth-child(n+3) { display: none; }
    .contact-info-item { font-size: .7rem; gap: .35rem; white-space: nowrap; }
    .contact-info-item i { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

@media print {
    .hero, .career-hero, .legal-header, .contact { background: #FFFFFF; }
    h1, h2, h3, h4, .hero-content h1, .career-hero-content h1,
    .career-hero-content h1 .highlight, .section-header h2, .legal-header h1,
    .legal-section h2, .legal-section h3, .contact .section-header h2,
    .contact .section-header p, .contact .info-text h4,
    .contact .info-text p, .contact .info-text a { color: #000000; }
}
