:root {
    --das-blue: #174a78;
    --das-blue-dark: #123b60;
    --das-blue-soft: #edf4fa;
    --das-gold: #c89b3c;
    --das-text: #24313d;
    --das-muted: #66727d;
    --das-border: #dfe6ec;
    --das-bg: #f7f9fb;
    --das-white: #ffffff;
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--das-text);
    background: var(--das-white);
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
}

a {
    color: var(--das-blue);
}

a:hover {
    color: var(--das-blue-dark);
}

.skip-link {
    position: absolute;
    z-index: 9999;
}

.site-header {
    background: var(--das-white);
}

.site-brand {
    display: inline-flex;
    flex-direction: column;
    color: var(--das-blue-dark);
}

.site-brand-title {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
    font-weight: 700;
    line-height: 1.15;
}

.site-brand-subtitle {
    color: var(--das-muted);
    font-size: .95rem;
}

.header-contact {
    color: var(--das-muted);
}

.site-navbar {
    background: var(--das-blue-dark);
}

.site-navbar .nav-link {
    color: rgba(255, 255, 255, .88);
    padding-top: .85rem;
    padding-bottom: .85rem;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus,
.site-navbar .nav-link.active {
    color: #fff;
}

.hero-section {
    background:
        linear-gradient(90deg, rgba(237, 244, 250, .97), rgba(255, 255, 255, .96));
    border-bottom: 1px solid var(--das-border);
}

.py-lg-6 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.hero-kicker,
.section-kicker {
    color: var(--das-gold);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    font-size: .78rem;
    margin-bottom: .45rem;
}

.hero-section h1 {
    color: var(--das-blue-dark);
    max-width: 900px;
}

.hero-section .lead {
    max-width: 760px;
    color: var(--das-muted);
}

.btn-primary {
    background-color: var(--das-blue);
    border-color: var(--das-blue);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--das-blue-dark);
    border-color: var(--das-blue-dark);
}

.btn-outline-primary {
    color: var(--das-blue);
    border-color: var(--das-blue);
}

.btn-outline-primary:hover {
    background-color: var(--das-blue);
    border-color: var(--das-blue);
}

.hero-panel {
    background: var(--das-white);
    border: 1px solid var(--das-border);
    border-radius: 1rem;
    padding: 1.35rem;
    box-shadow: 0 10px 30px rgba(18, 59, 96, .06);
}

.hero-panel a {
    display: block;
    padding: .6rem 0;
    border-bottom: 1px solid var(--das-border);
    text-decoration: none;
    font-weight: 600;
}

.hero-panel a:last-child {
    border-bottom: 0;
}

.projects-section {
    background: var(--das-white);
    border-bottom: 1px solid var(--das-border);
}

.section-heading h2 {
    color: var(--das-blue-dark);
}

.section-link {
    font-weight: 600;
    text-decoration: none;
}

.project-card,
.news-card,
.sidebar-card,
.about-panel {
    border: 1px solid var(--das-border);
    border-radius: 1rem;
    background: var(--das-white);
}

.project-card {
    padding: 1.5rem;
    box-shadow: 0 8px 24px rgba(18, 59, 96, .04);
}

.project-logo-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: .5rem .8rem;
    margin-bottom: 1rem;
    border: 1px dashed #aeb9c3;
    color: #7a8791;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.content-section {
    background: var(--das-bg);
}

.service-card {
    border-radius: 1rem;
    padding: 1.4rem;
    border: 1px solid rgba(23, 74, 120, .10);
    transition: transform .15s ease, box-shadow .15s ease;
}

.service-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(18, 59, 96, .08);
}

.service-card h3 {
    color: var(--das-blue-dark);
}

.service-card p {
    color: #4f5e69;
}

.service-card a {
    font-weight: 600;
    text-decoration: none;
}

.service-card-blue { background: #edf5fb; }
.service-card-green { background: #eef8f2; }
.service-card-lilac { background: #f4f0fa; }
.service-card-sky { background: #edf7fa; }
.service-card-gold { background: #fbf6e9; }
.service-card-teal { background: #edf8f7; }
.service-card-neutral { background: #f3f5f7; }

.sidebar-stack {
    display: grid;
    gap: 1rem;
}

.sidebar-card {
    padding: 1.25rem;
}

.sidebar-card-projects {
    border-top: 4px solid var(--das-gold);
}

.sidebar-card-infopub {
    background: #f2f8f4;
    border-top: 4px solid #4d8c62;
}

.sidebar-links a {
    display: block;
    padding: .55rem 0;
    border-bottom: 1px solid var(--das-border);
    text-decoration: none;
    font-weight: 600;
}

.sidebar-links a:last-child {
    border-bottom: 0;
}

.news-section {
    background: var(--das-white);
}

.news-card {
    padding: 1.35rem;
}

.news-date {
    color: var(--das-muted);
    font-size: .85rem;
    margin-bottom: .5rem;
}

.centres-section {
    background: var(--das-blue-soft);
}

.centre-link {
    display: block;
    height: 100%;
    padding: 1rem 1.1rem;
    background: var(--das-white);
    border: 1px solid var(--das-border);
    border-radius: .8rem;
    text-decoration: none;
    font-weight: 600;
}

.about-section {
    background: var(--das-white);
}

.about-panel {
    padding: 1.5rem;
}

.site-footer {
    background: var(--das-blue-dark);
    color: rgba(255, 255, 255, .88);
}

.site-footer a {
    color: #fff;
    text-decoration: none;
}

.site-footer a:hover {
    text-decoration: underline;
}

.site-footer hr {
    border-color: rgba(255, 255, 255, .18);
}

@media (max-width: 991.98px) {
    .py-lg-6 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    .header-contact {
        text-align: left;
    }
}

/* Bara principală rămâne vizibilă la derulare. */
.site-navbar {
    background: #123b60;
    z-index: 1030;
}

.site-navbar .nav-link {
    color: rgba(255,255,255,.92);
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus {
    color: #fff;
}

/* Pagina listă proiecte */
.projects-list-page .project-list-card {
    border: 1px solid #dfe6ec;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 6px 20px rgba(18, 59, 96, .05);
}

.projects-list-page .project-logo {
    max-height: 90px;
    width: auto;
}


/* Meniul este în afara headerului, astfel sticky se raportează la pagină,
   nu la înălțimea headerului. */
.site-navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
}

/* Antet: logo DAS stânga, informații spre dreapta, stema la extremitatea dreaptă */
.site-header-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 2rem;
}

.site-header-brand-group {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 1rem;
}

.site-header-logo-link,
.site-header-crest-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.site-header-logo-das {
    display: block;
    width: auto;
    max-width: 220px;
    max-height: 96px;
    object-fit: contain;
}

.site-header-crest {
    display: block;
    width: auto;
    max-width: 90px;
    max-height: 100px;
    object-fit: contain;
}

.site-header .site-brand {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.site-header .site-brand-title {
    white-space: nowrap;
}

.site-header .header-contact {
    min-width: 260px;
}

@media (max-width: 991.98px) {
    .site-header-grid {
        grid-template-columns: 1fr auto;
        gap: 1rem;
    }

    .site-header-brand-group {
        gap: .75rem;
    }

    .site-header-logo-das {
        max-width: 160px;
        max-height: 76px;
    }

    .site-header-crest {
        max-width: 72px;
        max-height: 82px;
    }

    .site-header .header-contact {
        grid-column: 1 / -1;
        grid-row: 2;
        text-align: center !important;
        min-width: 0;
    }
}

@media (max-width: 575.98px) {
    .site-header-brand-group {
        align-items: center;
    }

    .site-header-logo-das {
        max-width: 110px;
        max-height: 60px;
    }

    .site-header-crest {
        max-width: 58px;
        max-height: 66px;
    }

    .site-header .site-brand-title {
        white-space: normal;
        font-size: 1rem;
        line-height: 1.15;
    }

    .site-header .site-brand-subtitle {
        font-size: .8rem;
    }

    .site-header .header-contact {
        display: none;
    }
}


/* =========================================================
   Pagina detaliu serviciu
   ========================================================= */
.service-detail-layout {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 2rem;
}

.service-detail-main {
    padding-right: 1.25rem;
}

.service-detail-sidebar {
    padding-left: .75rem;
}

.service-summary {
    background: linear-gradient(135deg, #edf7ff 0%, #e4f2ff 100%);
    border: 1px solid #cfe7fb;
    border-radius: 1rem;
    padding: 1.15rem 1.35rem;
    line-height: 1.65;
    text-align: justify;
    text-justify: inter-word;
}

.service-info-card {
    display: flex;
    gap: 1rem;
    border: 1px solid rgba(13, 71, 161, .10);
    border-radius: 1rem;
    padding: 1.2rem;
    box-shadow: 0 .25rem .8rem rgba(25, 61, 96, .045);
}

.service-info-card h2 {
    color: #123b78;
    font-weight: 700;
    margin-bottom: .65rem;
}

.service-info-icon {
    flex: 0 0 3rem;
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    border-radius: .85rem;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1;
}

.service-info-content {
    min-width: 0;
    flex: 1 1 auto;
}

.service-justified-text {
    text-align: justify;
    text-justify: inter-word;
    line-height: 1.6;
}

.service-info-blue { background: linear-gradient(135deg, #f4f9ff, #edf6ff); }
.service-info-blue .service-info-icon { background: #dceeff; color: #0d6efd; }

.service-info-green { background: linear-gradient(135deg, #f3fbf6, #eaf8ef); }
.service-info-green .service-info-icon { background: #d5f2df; color: #198754; }

.service-info-orange { background: linear-gradient(135deg, #fff9f2, #fff3e5); }
.service-info-orange .service-info-icon { background: #ffe1c1; color: #d75b00; }

.service-info-rose { background: linear-gradient(135deg, #fff6f6, #ffeded); }
.service-info-rose .service-info-icon { background: #ffdada; color: #b4232c; }

.service-info-teal { background: linear-gradient(135deg, #f2fbfa, #e8f8f6); }
.service-info-teal .service-info-icon { background: #d0f0ec; color: #087f75; }

.service-info-sky { background: linear-gradient(135deg, #f3f9ff, #eaf5ff); }
.service-info-sky .service-info-icon { background: #d8ebff; color: #0b63ce; }

.service-info-lilac { background: linear-gradient(135deg, #faf7ff, #f2ecff); }
.service-info-lilac .service-info-icon { background: #e5dcff; color: #5f3dc4; }

.service-info-gold { background: linear-gradient(135deg, #fffaf0, #fff4d8); }
.service-info-gold .service-info-icon { background: #ffe9a8; color: #9a6b00; }

.service-side-card {
    background: #f7fbff;
    border: 1px solid #dbeaf7;
    border-radius: 1rem;
    padding: 1.1rem;
    box-shadow: 0 .25rem .8rem rgba(25, 61, 96, .04);
}

.service-side-heading {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin-bottom: .9rem;
    color: #123b78;
}

.service-side-icon {
    flex: 0 0 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #dceeff;
    color: #0d6efd;
    font-weight: 800;
}

.service-documents-card {
    background: linear-gradient(180deg, #eef8ff 0%, #e5f3ff 100%);
}

.service-document-list {
    display: grid;
    gap: .55rem;
}

.service-document-link {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    background: rgba(255,255,255,.88);
    border-radius: .75rem;
    padding: .75rem;
    color: #123b78;
    text-decoration: none;
}

.service-document-link:hover {
    background: #fff;
    color: #0d6efd;
}

.service-document-link small {
    display: block;
    color: #6c757d;
    margin-top: .15rem;
}

.service-document-mark {
    flex: 0 0 auto;
    border-radius: .45rem;
    background: #dc3545;
    color: #fff;
    font-size: .68rem;
    font-weight: 700;
    padding: .28rem .35rem;
}

.service-side-meta {
    background: #fffaf0;
    border-color: #f1dfae;
}

@media (max-width: 991.98px) {
    .service-detail-main,
    .service-detail-sidebar {
        padding-left: calc(var(--bs-gutter-x) * .5);
        padding-right: calc(var(--bs-gutter-x) * .5);
    }
}

@media (max-width: 575.98px) {
    .service-info-card {
        padding: 1rem;
        gap: .8rem;
    }

    .service-info-icon {
        flex-basis: 2.65rem;
        width: 2.65rem;
        height: 2.65rem;
        font-size: 1.2rem;
    }

    .service-justified-text,
    .service-summary {
        text-align: left;
    }
}


/* =========================================================
   Lista serviciilor dintr-o categorie
   ========================================================= */
.service-category-heading {
    max-width: 72rem;
}

.service-list-card {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-height: 21rem;
    border: 1px solid rgba(13, 71, 161, .11);
    border-radius: 1.1rem;
    padding: 1.5rem;
    box-shadow: 0 .35rem 1rem rgba(25, 61, 96, .055);
    transition: transform .18s ease, box-shadow .18s ease;
}

.service-list-card::after {
    content: "";
    position: absolute;
    top: -4.5rem;
    right: -4.5rem;
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    background: rgba(255,255,255,.38);
    pointer-events: none;
}

.service-list-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 .6rem 1.35rem rgba(25, 61, 96, .09);
}

.service-list-card-top {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
    position: relative;
    z-index: 1;
}

.service-list-icon {
    flex: 0 0 3.5rem;
    width: 3.5rem;
    height: 3.5rem;
    display: grid;
    place-items: center;
    border-radius: .9rem;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1;
}

.service-list-content {
    min-width: 0;
    flex: 1 1 auto;
}

.service-list-label {
    margin-bottom: .35rem;
    color: #6c757d;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.service-list-card h2 {
    margin-bottom: 1rem;
    color: #123b78;
    font-weight: 700;
    line-height: 1.2;
}

.service-list-summary {
    margin-bottom: 0;
    color: #46576a;
    line-height: 1.65;
    text-align: justify;
    text-justify: inter-word;
}

.service-list-footer {
    position: relative;
    z-index: 1;
    margin-top: auto;
    padding-top: 1.25rem;
}

.service-list-unit {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    border-top: 1px solid rgba(18,59,120,.12);
    padding-top: 1rem;
    margin-bottom: 1rem;
    color: #46576a;
}

.service-list-unit-icon {
    color: #0d5eb8;
    font-size: 1.25rem;
    line-height: 1.2;
}

.service-list-unit small,
.service-list-unit strong {
    display: block;
}

.service-list-unit strong {
    color: #263b50;
    font-weight: 600;
}

.service-list-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    min-width: 11.5rem;
    border-radius: .65rem;
    padding: .7rem 1rem;
    background: #0d6efd;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 .2rem .5rem rgba(13,110,253,.13);
}

.service-list-button:hover {
    background: #0b5ed7;
    color: #fff;
}

.service-list-blue {
    background: linear-gradient(135deg, #f3f9ff 0%, #e7f3ff 100%);
    border-color: #c9e2fa;
}
.service-list-blue .service-list-icon { background:#d6ebff; color:#0d6efd; }

.service-list-gold {
    background: linear-gradient(135deg, #fffaf0 0%, #fff3d8 100%);
    border-color: #f2dfaa;
}
.service-list-gold .service-list-icon { background:#ffe9a9; color:#9a6b00; }
.service-list-gold .service-list-button { background:#f6c515; color:#123b78; }
.service-list-gold .service-list-button:hover { background:#eab800; color:#123b78; }

.service-list-green {
    background: linear-gradient(135deg, #f3fbf6 0%, #e7f7ed 100%);
    border-color: #cce9d6;
}
.service-list-green .service-list-icon { background:#d5f2df; color:#198754; }

.service-list-lilac {
    background: linear-gradient(135deg, #faf7ff 0%, #f0eaff 100%);
    border-color: #ded3f6;
}
.service-list-lilac .service-list-icon { background:#e4dbff; color:#5f3dc4; }

.service-list-teal {
    background: linear-gradient(135deg, #f2fbfa 0%, #e5f7f5 100%);
    border-color: #c8e9e5;
}
.service-list-teal .service-list-icon { background:#d0f0ec; color:#087f75; }

.service-list-sky {
    background: linear-gradient(135deg, #f4faff 0%, #eaf6ff 100%);
    border-color: #cfe6f7;
}
.service-list-sky .service-list-icon { background:#d9ecfa; color:#0b63a8; }

.service-list-empty {
    border: 1px dashed #cbd8e5;
    border-radius: 1rem;
    padding: 2rem;
    background: #f8fbfd;
    color: #6c757d;
}

@media (max-width: 575.98px) {
    .service-list-card {
        min-height: 0;
        padding: 1.15rem;
    }

    .service-list-card-top {
        gap: .85rem;
    }

    .service-list-icon {
        flex-basis: 2.8rem;
        width: 2.8rem;
        height: 2.8rem;
        font-size: 1.2rem;
    }

    .service-list-summary {
        text-align: left;
    }

    .service-list-button {
        width: 100%;
    }
}


/* Contact page */
.contact-card {
    background: #fff;
    border: 1px solid rgba(20, 55, 95, .10);
    border-radius: 1.25rem;
    padding: 1.5rem;
    box-shadow: 0 .5rem 1.5rem rgba(25, 55, 90, .07);
}
.contact-card-blue { background: linear-gradient(135deg, #f3f8ff 0%, #ffffff 78%); border-top: 4px solid #6aa6e8; }
.contact-card-gold { background: linear-gradient(135deg, #fff9e9 0%, #ffffff 82%); border-top: 4px solid #e2bb52; }
.contact-card-lilac { background: linear-gradient(135deg, #f8f4ff 0%, #ffffff 82%); border-top: 4px solid #aa8bd5; }
.contact-card-teal { background: linear-gradient(135deg, #eefaf8 0%, #ffffff 82%); border-top: 4px solid #5bb7aa; }
.contact-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem 1.5rem; }
.contact-data-grid div { display: flex; flex-direction: column; gap: .2rem; }
.contact-data-grid span, .contact-data-grid a { font-size: 1.02rem; }
.domestic-violence-box { border-radius: 1rem; padding: 1rem 1.15rem; background: #fff4f4; border: 1px solid #f0caca; }
.domestic-phone { display: inline-block; margin-top: .2rem; font-size: 1.55rem; font-weight: 750; text-decoration: none; color: #b4232d; }
.contact-map { width: 100%; min-height: 350px; height: 100%; border: 0; display: block; }
.contact-form-card { border-top: 4px solid #5b91d1; }
.contact-form-card .form-control { border-radius: .8rem; padding: .7rem .85rem; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.contact-card a { overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
    .contact-data-grid { grid-template-columns: 1fr; }
    .contact-map { min-height: 300px; }
    .contact-card { padding: 1.2rem; }
}


/* Homepage hero with institutional photo */
.home-photo-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 390px;
    display: flex;
    align-items: center;
    background:
        linear-gradient(90deg, rgba(5, 42, 82, .82) 0%, rgba(7, 49, 91, .70) 43%, rgba(7, 49, 91, .42) 72%, rgba(7, 49, 91, .25) 100%),
        url('/assets/images/primaria-bacau.jpg') center 34% / cover no-repeat;
    color: #fff;
}
.home-photo-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 25, 55, .10));
    pointer-events: none;
}
.home-photo-hero .container {
    position: relative;
    z-index: 1;
}
.home-photo-hero .hero-kicker {
    color: #ffd04a;
    font-weight: 700;
    letter-spacing: .06em;
}
.home-photo-hero h1 {
    color: #fff;
    max-width: 850px;
    text-shadow: 0 2px 12px rgba(0, 24, 54, .22);
}
.home-photo-hero .lead {
    color: rgba(255,255,255,.94);
    max-width: 760px;
    text-shadow: 0 1px 6px rgba(0, 24, 54, .18);
}
.home-photo-hero .home-hero-button {
    background: #f4c430;
    border-color: #f4c430;
    color: #082f58;
    font-weight: 700;
    box-shadow: 0 .4rem 1rem rgba(0, 0, 0, .12);
}
.home-photo-hero .home-hero-button:hover,
.home-photo-hero .home-hero-button:focus {
    background: #ffd34f;
    border-color: #ffd34f;
    color: #082f58;
}
@media (max-width: 767.98px) {
    .home-photo-hero {
        min-height: 350px;
        background:
            linear-gradient(90deg, rgba(5, 42, 82, .94), rgba(7, 49, 91, .72)),
            url('/assets/images/primaria-bacau.jpg') 40% center / cover no-repeat;
    }
    .home-photo-hero h1 {
        font-size: clamp(2rem, 10vw, 3rem);
    }
}


/* Homepage hero slogan */
.home-hero-slogan {
    position: relative;
    width: max-content;
    max-width: 100%;
    padding: 1rem 1.25rem 2.1rem;
    color: #fff;
    font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
    font-size: clamp(2rem, 2.65vw, 3.25rem);
    font-style: italic;
    font-weight: 400;
    line-height: 1.18;
    letter-spacing: -.035em;
    text-align: left;
    transform: rotate(-2deg);
    text-shadow: 0 2px 10px rgba(0, 25, 55, .28);
}
.home-hero-slogan div + div {
    margin-left: 1.25rem;
}
.home-hero-slogan-line {
    position: absolute;
    left: 18%;
    right: 2%;
    bottom: .55rem;
    height: 1rem;
    border-top: .34rem solid #f4c430;
    border-radius: 50% 50% 0 0;
    transform: rotate(-5deg);
}
.home-hero-slogan-line::after {
    content: "";
    position: absolute;
    right: -.1rem;
    top: -.36rem;
    width: 2.1rem;
    border-top: .22rem solid #f4c430;
    transform: rotate(8deg);
}


/* Header refinement: DAS logo left, municipal crest right, uniform institutional typography */
.site-header-left {
    justify-self: start;
}
.site-header-right {
    justify-self: end;
}
.site-header .site-brand-title,
.site-header .site-brand-subtitle {
    font-family: Arial, Helvetica, sans-serif;
    font-style: normal;
    letter-spacing: 0;
}
.site-header .site-brand-title {
    font-weight: 700;
}
.site-header .site-brand-subtitle {
    font-weight: 400;
}

/* Pagina Proiecte - carduri pastelate */
.projects-list-page {
    max-width: 1180px;
}

.projects-list-page .project-list-card {
    position: relative;
    overflow: hidden;
    border: 0;
    border-radius: 1.25rem;
    box-shadow: 0 10px 28px rgba(18, 59, 96, .08);
    transition: transform .18s ease, box-shadow .18s ease;
}

.projects-list-page .project-list-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 6px;
    background: var(--project-accent);
}

.projects-list-page .project-list-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(18, 59, 96, .13);
}

.projects-list-page .project-card-style-1 {
    --project-accent: #477fb3;
    --project-button: #285f91;
    background: #eef6fc;
}

.projects-list-page .project-card-style-2 {
    --project-accent: #6fa65a;
    --project-button: #4f813d;
    background: #f1f8ed;
}

.projects-list-page .project-card-style-3 {
    --project-accent: #8b78b6;
    --project-button: #6d5a98;
    background: #f5f1fb;
}

.projects-list-page .project-card-style-4 {
    --project-accent: #c69b3c;
    --project-button: #8d6b1e;
    background: #fff8e8;
}

.projects-list-page .project-card-kicker {
    color: var(--project-button);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .65rem;
}

.projects-list-page .project-card-title {
    color: #123b60;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.projects-list-page .project-logo {
    max-height: 100px;
    max-width: 100%;
    width: auto;
    object-fit: contain;
}

.projects-list-page .project-card-button {
    color: #fff;
    background: var(--project-button);
    border: 1px solid var(--project-button);
    border-radius: .75rem;
    padding: .65rem 1rem;
    font-weight: 600;
}

.projects-list-page .project-card-button:hover,
.projects-list-page .project-card-button:focus {
    color: #fff;
    filter: brightness(.92);
}


/* Culori card proiect selectabile din administrare */
.projects-list-page .project-card-style-blue {
    --project-accent: #477fb3;
    --project-button: #285f91;
    background: #eef6fc;
}
.projects-list-page .project-card-style-green {
    --project-accent: #6fa65a;
    --project-button: #4f813d;
    background: #f1f8ed;
}
.projects-list-page .project-card-style-lilac {
    --project-accent: #8b78b6;
    --project-button: #6d5a98;
    background: #f5f1fb;
}
.projects-list-page .project-card-style-gold {
    --project-accent: #c69b3c;
    --project-button: #8d6b1e;
    background: #fff8e8;
}
.projects-list-page .project-card-style-sky {
    --project-accent: #63a6c8;
    --project-button: #347b9e;
    background: #edf8fc;
}
.projects-list-page .project-card-style-teal {
    --project-accent: #5c9e94;
    --project-button: #39766d;
    background: #edf8f6;
}
.projects-list-page .project-card-style-neutral {
    --project-accent: #7b8793;
    --project-button: #58636e;
    background: #f4f6f8;
}

/* Header: link Informații și relații cu publicul */
.site-header .header-contact a {
    font-size: 1.1rem;
    font-weight: 600;
}

/* Pagina Despre DAS - carduri pastelate */
.about-page {
    background: #f8fafc;
}

.about-info-card,
.about-principle-card {
    --about-accent: #477fb3;
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(11, 70, 119, .08);
    border-radius: 1.15rem;
    padding: 1.6rem;
    box-shadow: 0 .55rem 1.5rem rgba(27, 61, 89, .07);
    transition: transform .18s ease, box-shadow .18s ease;
}

.about-info-card::after,
.about-principle-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: var(--about-accent);
}

.about-info-card:hover,
.about-principle-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 .8rem 1.9rem rgba(27, 61, 89, .11);
}

.about-info-card h2,
.about-principle-card strong {
    color: #123b60;
}

.about-principle-card {
    height: 100%;
    min-height: 155px;
}

.about-principle-card strong {
    display: inline-block;
    margin-bottom: .55rem;
    font-size: 1.08rem;
}

.about-principle-card span {
    color: #52616f;
}

.about-card-blue {
    --about-accent: #2f74c8;
    background: #eef6ff;
}

.about-card-gold {
    --about-accent: #d5a51d;
    background: #fff8df;
}

.about-card-green {
    --about-accent: #3b9960;
    background: #edfaF2;
}

.about-card-lilac {
    --about-accent: #8b62bf;
    background: #f6effd;
}

.about-card-sky {
    --about-accent: #3996b4;
    background: #ecf9fc;
}

.about-card-peach {
    --about-accent: #d97945;
    background: #fff1e9;
}

.about-card-gold .btn-outline-primary {
    color: #76580b;
    border-color: #c99a1b;
}

.about-card-gold .btn-outline-primary:hover,
.about-card-gold .btn-outline-primary:focus {
    color: #fff;
    background: #9b7614;
    border-color: #9b7614;
}

@media (max-width: 767.98px) {
    .about-info-card,
    .about-principle-card {
        padding: 1.35rem;
    }
    .about-principle-card {
        min-height: 0;
    }
}

/* Acces rapid - imagini / bannere administrabile */
.quick-link-image-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(15, 61, 99, .12);
}

.quick-link-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: .5rem;
    background: #fff;
    border: 1px solid rgba(15, 61, 99, .12);
    border-radius: .75rem;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.quick-link-image:hover,
.quick-link-image:focus {
    transform: translateY(-2px);
    border-color: rgba(15, 61, 99, .25);
    box-shadow: 0 .45rem 1rem rgba(27, 61, 89, .10);
}

.quick-link-image img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 90px;
    object-fit: contain;
}

/* UPDATE 13.1 - corectii responsive homepage si bannere Acces rapid */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

.content-section .row > *,
.service-grid > *,
.sidebar-stack,
.sidebar-card,
.quick-link-image-grid,
.quick-link-image {
    min-width: 0;
}

.quick-link-image-grid {
    width: 100%;
    max-width: 100%;
}

.quick-link-image {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.quick-link-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 90px;
    object-fit: contain;
}

@media (max-width: 767.98px) {
    .content-section {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    .content-section > .container {
        width: 100%;
        max-width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .service-grid > [class*="col-"] {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }

    .service-card,
    .sidebar-card {
        width: 100%;
        max-width: 100%;
    }

    .service-card {
        padding: 1.15rem;
    }

    .quick-link-image {
        padding: .4rem;
    }

    .quick-link-image img {
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 76px;
    }
}

/* UPDATE 13.2 - finisare responsive pentru telefoane */
@media (max-width: 767.98px) {
    .content-section {
        padding-top: 1.35rem !important;
        padding-bottom: 1.35rem !important;
    }

    .content-section > .container {
        padding-left: .75rem;
        padding-right: .75rem;
    }

    .content-section > .container > .row,
    .service-grid {
        --bs-gutter-x: 1rem;
        --bs-gutter-y: 1rem;
    }

    .section-heading {
        margin-bottom: 1rem !important;
    }

    .service-card {
        padding: 1rem;
        border-radius: .85rem;
    }

    .service-card h3 {
        margin-bottom: .55rem;
    }

    .service-card p {
        margin-bottom: .75rem;
    }

    .sidebar-stack {
        gap: .8rem;
    }

    .sidebar-card {
        padding: 1rem;
        border-radius: .85rem;
    }

    .sidebar-card h2 {
        margin-bottom: .75rem;
    }

    .sidebar-links a {
        padding: .45rem 0;
    }

    .quick-link-image-grid {
        gap: .5rem;
        margin-top: .75rem;
        padding-top: .75rem;
    }

    .quick-link-image {
        width: min(100%, 320px);
        min-height: 0;
        margin-left: auto;
        margin-right: auto;
        padding: .25rem;
        border-radius: .75rem;
    }

    .quick-link-image img {
        width: auto;
        max-width: 100%;
        max-height: 72px;
        height: auto;
    }
}

/* UPDATE 14 - footer administrabil */
.site-footer {
    background: var(--das-blue-dark);
    color: rgba(255, 255, 255, .88);
}

.site-footer .footer-heading {
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.site-footer .footer-links {
    columns: 2;
    column-gap: 2.5rem;
}

.site-footer .footer-links li {
    break-inside: avoid;
    margin-bottom: .55rem;
}

.site-footer .footer-links a,
.site-footer .footer-contact a,
.site-footer .footer-bottom a {
    color: rgba(255, 255, 255, .94);
}

.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus,
.site-footer .footer-contact a:hover,
.site-footer .footer-contact a:focus {
    color: #fff;
}

.site-footer .footer-contact {
    font-style: normal;
    line-height: 1.65;
}

.site-footer .footer-contact-label {
    color: rgba(255, 255, 255, .68);
}

.site-footer .footer-bottom {
    color: rgba(255, 255, 255, .7);
}

@media (max-width: 767.98px) {
    .site-footer .footer-links {
        columns: 1;
    }

    .site-footer .footer-heading {
        margin-bottom: .75rem;
    }
}


/* UPDATE 15 - Centre sociale */
.centre-public-card { background:#fff; border:1px solid rgba(18,55,91,.12); border-radius:1rem; padding:1.25rem; box-shadow:0 .35rem 1rem rgba(18,55,91,.06); }
.centre-public-card h2 a { color:var(--das-blue-dark); text-decoration:none; }
.centre-public-card h2 a:hover { text-decoration:underline; }
.centre-status { display:inline-block; border-radius:999px; padding:.28rem .62rem; font-size:.76rem; font-weight:700; white-space:nowrap; }
.centre-status-active { background:#e5f4ea; color:#21613a; }
.centre-status-suspended { background:#fff3cd; color:#765800; }
.centre-status-inactive { background:#e9ecef; color:#5c636a; }
@media (max-width:767.98px){ .centre-public-card{padding:1rem;} .centre-status{white-space:normal;text-align:center;} }

/* UPDATE 16 - șablon detaliat centre sociale */
.centre-detail-hero { background: linear-gradient(180deg,#f4f8fc 0%,#fff 100%); border-bottom:1px solid var(--das-border); }
.centre-detail-hero .lead { max-width: 900px; color:var(--das-muted); }
.centre-info-card { border:1px solid rgba(18,55,91,.10); border-radius:1rem; padding:1.4rem; height:100%; line-height:1.7; box-shadow:0 .35rem 1rem rgba(18,55,91,.045); }
.centre-info-card h2 { color:var(--das-blue-dark); margin-bottom:1rem; }
.centre-info-blue { background:#eef6ff; }
.centre-info-green { background:#eef9f1; }
.centre-info-gold { background:#fff8df; }
.centre-info-lilac { background:#f6f0ff; }
.centre-info-sky { background:#eef9fc; }
.centre-side-stack { display:grid; gap:1rem; position:sticky; top:5.5rem; }
.centre-contact-card,.centre-free-card { border:1px solid rgba(18,55,91,.12); border-radius:1rem; padding:1.2rem; background:#fff; }
.centre-contact-card h2 { color:var(--das-blue-dark); margin-bottom:1rem; }
.centre-contact-card p:last-child { margin-bottom:0; }
.centre-free-card { background:#e9f7ed; border-color:#cce8d4; display:flex; flex-direction:column; gap:.25rem; }
.centre-free-card strong { color:#21613a; font-size:1.1rem; }
.centre-free-card span { color:#385846; }
@media (max-width:991.98px){.centre-side-stack{position:static;}}
@media (max-width:767.98px){.centre-detail-hero{padding-top:2rem!important;padding-bottom:2rem!important}.centre-info-card{padding:1rem}.centre-detail-page .display-6{font-size:2rem}.centre-side-stack{gap:.8rem}}

/* UPDATE 17 - activități și galerii centre */
.centre-activities-section { border-top:1px solid var(--das-border); padding-top:2.25rem; }
.centre-activity-card { background:#fff; border:1px solid rgba(18,55,91,.12); border-radius:1rem; overflow:hidden; box-shadow:0 .35rem 1rem rgba(18,55,91,.05); }
.centre-activity-card h3 a { color:var(--das-blue-dark); text-decoration:none; }
.centre-activity-card h3 a:hover { text-decoration:underline; }
.centre-activity-cover { display:block; width:100%; height:210px; object-fit:cover; background:#eef3f7; }
.centre-activity-detail { max-width:900px; }
.centre-activity-text { line-height:1.75; font-size:1.05rem; }
.centre-gallery img { width:100%; height:260px; object-fit:cover; border-radius:.9rem; border:1px solid rgba(18,55,91,.10); box-shadow:0 .3rem .9rem rgba(18,55,91,.06); }
@media (max-width:767.98px){.centre-activities-section{padding-top:1.5rem}.centre-activity-cover{height:190px}.centre-gallery img{height:auto;max-height:360px;object-fit:contain;background:#f4f7fa}.centre-activity-detail .display-6{font-size:2rem}}

/* UPDATE 17.1 - aliniere stanga-dreapta pentru continutul public */
main p,
main li,
.about-info-card > div,
.about-principle-card span,
.service-justified-text,
.service-list-summary,
.centre-info-card > div,
.centre-activity-text,
.centre-activity-card p,
.centre-public-card p {
    text-align: justify;
    text-justify: inter-word;
}

/* Elementele scurte/functionale raman aliniate natural. */
main .centre-contact-card p,
main .sidebar-card p,
main .footer-contact,
main .small,
main .section-kicker,
main .centre-status,
main .btn,
main label {
    text-align: left;
}

/* UPDATE 17.2 - justificare selectiva: cardurile scurte raman aliniate la stanga */
.service-card p,
.service-list-summary,
.about-principle-card span,
.centre-public-card p,
.centre-activity-card p,
.news-card p,
.projects-list-page .project-list-card p,
.sidebar-card p {
    text-align: left;
    text-justify: auto;
}

/* Continutul amplu ramane justificat. */
.about-info-card > div,
.service-justified-text,
.centre-info-card > div,
.centre-activity-text {
    text-align: justify;
    text-justify: inter-word;
}


/* UPDATE 18 - documente institutionale */
.institutional-doc-card { background:#fff; border:1px solid rgba(17,57,91,.12); border-radius:1rem; box-shadow:0 .35rem 1rem rgba(17,57,91,.06); }
.institutional-doc-card p { text-align:justify; text-justify:inter-word; }
.navbar .dropdown-menu { border:0; border-radius:.8rem; box-shadow:0 .75rem 2rem rgba(0,0,0,.14); }
.navbar .dropdown-item { padding:.65rem 1rem; }


/* UPDATE 18.2.2 - Angajari si promovari: evidentiere pastelata */
.recruitment-procedure-card { border: 1px solid rgba(18,55,91,.10) !important; }
.recruitment-card-blue { background: #eef6ff; }
.recruitment-card-green { background: #eef9f1; }
.recruitment-card-archive { background: #fff0f0; border-color: rgba(170,55,55,.12) !important; }
.recruitment-procedure-card .list-group-item { background: rgba(255,255,255,.58); }


/* UPDATE 18.3 - Achizitii publice: aceeasi schema pastelata ca la Angajari */
.procurement-card { border: 1px solid rgba(18,55,91,.10) !important; }
.procurement-card-blue { background: #eef6ff; }
.procurement-card-green { background: #eef9f1; }
.procurement-card-archive { background: #fff0f0; border-color: rgba(170,55,55,.12) !important; }
.procurement-card .list-group-item { background: rgba(255,255,255,.58); }


/* UPDATE 19 - editor vizual simplu pentru continutul serviciilor */
.rich-text-editor { border:1px solid #ced4da; border-radius:.5rem; background:#fff; overflow:hidden; }
.rich-text-toolbar { padding:.45rem; background:#f8f9fa; border-bottom:1px solid #dee2e6; }
.rich-text-toolbar .rich-text-btn { min-width:2.2rem; }
.rich-text-area.form-control {
    border:0;
    border-radius:0;
    min-height:9rem;
    height:auto;
    overflow:auto;
    box-shadow:none;
    line-height:1.55;
}
.rich-text-area:focus { box-shadow:inset 0 0 0 2px rgba(13,110,253,.16); }
.rich-text-area p:last-child,
.service-justified-text p:last-child { margin-bottom:0; }
.service-justified-text ul,
.service-justified-text ol { margin-bottom:.75rem; padding-left:1.4rem; }
.service-justified-text a { overflow-wrap:anywhere; }


/* =========================================================
   UPDATE 20 - Navigare permanentă + Acces rapid global
   ========================================================= */

.site-navbar-anchor {
    height: 0;
}

.site-navbar.site-navbar-fixed {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1040;
}

.site-navbar-anchor.site-navbar-anchor-active {
    height: var(--site-navbar-height, 56px);
}

.global-quick-access-toggle {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 1035;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    transform: translateY(-50%);
    padding: .8rem .75rem;
    border: 1px solid rgba(18, 59, 96, .18);
    border-right: 0;
    border-radius: .85rem 0 0 .85rem;
    background: #fff7d8;
    color: var(--das-blue-dark);
    box-shadow: 0 .5rem 1.5rem rgba(18, 59, 96, .14);
    font-weight: 700;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.global-quick-access-toggle:hover,
.global-quick-access-toggle:focus-visible {
    background: #ffefb2;
    box-shadow: 0 .65rem 1.8rem rgba(18, 59, 96, .20);
}

.global-quick-access-toggle-icon {
    writing-mode: horizontal-tb;
    font-size: 1.1rem;
    line-height: 1;
}

.global-quick-access-panel {
    width: min(380px, 92vw);
    border-left: 0;
    box-shadow: -1rem 0 2.5rem rgba(18, 59, 96, .16);
}

.global-quick-access-panel .offcanvas-header {
    border-bottom: 1px solid var(--das-border);
}

.global-quick-access-links {
    display: grid;
    gap: .65rem;
}

.global-quick-access-link {
    display: flex;
    align-items: flex-start;
    gap: .7rem;
    padding: .9rem 1rem;
    border: 1px solid var(--das-border);
    border-radius: .8rem;
    background: #fff;
    color: var(--das-blue-dark);
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.global-quick-access-link:hover,
.global-quick-access-link:focus-visible {
    transform: translateY(-1px);
    background: #f5f9fc;
    box-shadow: 0 .4rem 1rem rgba(18, 59, 96, .08);
}

.global-quick-access-link small {
    display: block;
    margin-top: .2rem;
    color: var(--das-muted);
    font-weight: 400;
}

.global-quick-access-icon {
    flex: 0 0 auto;
}

.global-quick-link-highlighted {
    background: #fff7d8;
    border-color: #ead89a;
}

.global-quick-access-resources {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--das-border);
}

.global-quick-access-resources .quick-link-image {
    width: 100%;
}

@media (max-width: 767.98px) {
    .global-quick-access-toggle {
        top: auto;
        right: 1rem;
        bottom: 1rem;
        transform: none;
        writing-mode: horizontal-tb;
        border-right: 1px solid rgba(18, 59, 96, .18);
        border-radius: 999px;
        padding: .7rem 1rem;
    }

    .global-quick-access-toggle-icon {
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .global-quick-access-toggle,
    .global-quick-access-link {
        transition: none;
    }
}


/* =========================================================
   UPDATE 20.1 - Noutăți recente în Acces rapid
   ========================================================= */

.global-quick-link-news-new {
    background: #eef8ef;
    border-color: #b9ddbe;
    box-shadow: 0 .35rem 1rem rgba(41, 103, 55, .08);
}

.global-quick-link-news-new:hover,
.global-quick-link-news-new:focus-visible {
    background: #e4f4e6;
}

.global-quick-access-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
}

.global-quick-news-badge {
    display: inline-flex;
    align-items: center;
    gap: .22rem;
    padding: .18rem .48rem;
    border-radius: 999px;
    background: #dff1e2;
    border: 1px solid #acd4b3;
    color: #245f32;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .035em;
}

.global-quick-news-dots {
    display: inline-flex;
    align-items: center;
    gap: .12rem;
    min-width: 1rem;
}

.global-quick-news-dots i {
    display: block;
    width: .2rem;
    height: .2rem;
    border-radius: 50%;
    background: currentColor;
    animation: das-news-dot 1.35s ease-in-out infinite;
}

.global-quick-news-dots i:nth-child(2) {
    animation-delay: .18s;
}

.global-quick-news-dots i:nth-child(3) {
    animation-delay: .36s;
}

@keyframes das-news-dot {
    0%, 60%, 100% {
        opacity: .35;
        transform: translateY(0);
    }
    30% {
        opacity: 1;
        transform: translateY(-2px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .global-quick-news-dots i {
        animation: none;
        opacity: 1;
    }
}

/* UPDATE 20.5 - Angajări și promovări: calendar concurs evidențiat */
.recruitment-dates-card {
    overflow: hidden;
    border: 1px solid rgba(13,110,253,.22);
    border-radius: .9rem;
    background: rgba(255,255,255,.55);
    box-shadow: 0 .2rem .65rem rgba(17,57,91,.06);
}
.recruitment-date-item {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-width: 0;
    padding: 1rem 1.15rem;
}
.recruitment-date-item + .recruitment-date-item {
    border-left: 1px solid rgba(13,110,253,.14);
}
.recruitment-date-icon {
    flex: 0 0 2.65rem;
    width: 2.65rem;
    height: 2.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1;
}
.recruitment-date-icon-deadline { background: #dceeff; color: #0b5da8; }
.recruitment-date-icon-written { background: #fff0bf; color: #9b6900; }
.recruitment-date-icon-interview { background: #dff4e6; color: #187a3d; }
.recruitment-date-label {
    margin-bottom: .15rem;
    color: #263746;
    font-size: .9rem;
    font-weight: 600;
}
.recruitment-date-value {
    color: #084f91;
    font-size: 1.05rem;
    font-weight: 700;
    white-space: nowrap;
}
@media (max-width: 767.98px) {
    .recruitment-date-item + .recruitment-date-item {
        border-left: 0;
        border-top: 1px solid rgba(13,110,253,.14);
    }
    .recruitment-date-value { white-space: normal; }
}



/* UPDATE 20.6 - Etapele și rezultatele concursului */
.recruitment-results {
    padding-top: .25rem;
}
.recruitment-result-card {
    border: 1px solid rgba(17,57,91,.12);
    border-radius: .9rem;
    padding: 1rem;
    background: rgba(255,255,255,.7);
    box-shadow: 0 .2rem .65rem rgba(17,57,91,.05);
}
.recruitment-result-card.is-pending {
    opacity: .72;
    background: rgba(248,249,250,.7);
}
.recruitment-result-head {
    display: flex;
    align-items: center;
    gap: .75rem;
}
.recruitment-result-icon {
    flex: 0 0 2.4rem;
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 700;
    background: #e7f1ff;
    color: #0b5da8;
}
.recruitment-result-written .recruitment-result-icon { background:#fff0bf; color:#8a6200; }
.recruitment-result-interview .recruitment-result-icon { background:#dff4e6; color:#187a3d; }
.recruitment-result-final .recruitment-result-icon { background:#eee7ff; color:#5b3ea6; }
.recruitment-result-title {
    font-weight: 700;
    color: #173a5e;
}
.recruitment-result-state {
    font-size: .78rem;
    color: #6c757d;
}
.recruitment-result-card.is-published .recruitment-result-state {
    color: #267343;
    font-weight: 600;
}
.recruitment-result-docs {
    margin-top: .9rem;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}
.recruitment-result-link {
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.recruitment-result-link:hover { text-decoration: underline; }

/* UPDATE 20.7 - momentul publicării în concursuri */
.recruitment-result-published{margin-top:.1rem;margin-bottom:.35rem;color:#6c757d;font-size:.78rem;}

/* UPDATE 20.7.1 - data si ora publicarii, evidentiate explicit */
.recruitment-published-at,
.recruitment-result-published {
    color: #66717d;
    font-size: .82rem;
}
.recruitment-published-at strong,
.recruitment-result-published strong {
    color: #173a5e;
    font-weight: 700;
}
.recruitment-result-published {
    margin-top: .18rem;
    margin-bottom: .4rem;
}


/* UPDATE 21.4 - culori pastel pentru noutatile promovate pe homepage */
.news-card.news-card-blue { background: #eef6ff; border-color: #cfe2f7; }
.news-card.news-card-green { background: #eff9f2; border-color: #cfe8d5; }
.news-card.news-card-lilac { background: #f7f1fb; border-color: #e2d2ed; }
.news-card.news-card-gold { background: #fff8e8; border-color: #f0dfb0; }
.news-card.news-card-sky { background: #eef9fb; border-color: #cce8ed; }
.news-card.news-card-teal { background: #edf8f7; border-color: #c9e4e1; }


/* UPDATE 21.5 - aliniere stanga-dreapta pentru textul de continut public */
main p,
main li,
main .rich-text-content,
main .rich-text-content p,
main .rich-text-content li,
.service-card p,
.news-card p,
.centre-info-card p,
.centre-info-card li,
.project-card p,
.document-card p {
    text-align: justify;
    text-justify: inter-word;
}

/* Elementele de interfata raman aliniate natural, nu sunt justificate. */
main .small,
main .form-text,
main label,
main button,
main .btn,
main nav,
main .breadcrumb {
    text-align: initial;
}


/* UPDATE 21.6 - Noutati in extrema dreapta + extensii editor */
.navbar-news {
    margin-left: auto;
}
.navbar-news-badge {
    background: #f2c94c;
    color: #183153;
    font-size: .65rem;
    letter-spacing: .04em;
}
.rich-text-color {
    width: auto;
    min-width: 105px;
}
.rich-text-area blockquote {
    margin-left: 2rem;
    padding-left: .85rem;
    border-left: 3px solid #d7dee8;
}
@media (max-width: 991.98px) {
    .navbar-news {
        margin-left: 0;
        padding-top: .25rem;
        border-top: 1px solid rgba(255,255,255,.16);
    }
}


/* UPDATE 21.6.1 - text justificat in pagina individuala a proiectului */
.project-detail > p,
.project-detail > div.mt-4 {
    text-align: justify;
    text-justify: inter-word;
}


/* UPDATE 21.6.2 - continut justificat in pagina individuala Noutati/Anunturi */
.news-detail-content,
.news-detail-content p,
.news-detail-content div,
.news-detail-content li {
    text-align: justify;
    text-justify: inter-word;
}


/* UPDATE 21.6.5 - stare vizuala Documente strategice */
.institutional-doc-card-current {
    background: #eef6ff;
    border-color: #b9d7f2;
    color: #173f68;
}
.institutional-doc-card-current h3,
.institutional-doc-card-current p {
    color: #173f68;
}
.institutional-doc-card-current .text-secondary {
    color: #365f86 !important;
}

.institutional-doc-card-archive {
    background: #d9dde2;
    border-color: #aeb5bd;
    color: #202428;
}
.institutional-doc-card-archive h3,
.institutional-doc-card-archive p {
    color: #202428;
}
.institutional-doc-card-archive .text-secondary {
    color: #454b52 !important;
}


/* UPDATE 21.7 - Organizare administrabila */
.organization-card-content > :last-child {
    margin-bottom: 0;
}
.organization-card-content {
    text-align: justify;
    text-justify: inter-word;
}


/* UPDATE 21.8 - pagina Despre DAS */
.about-full-card {
    width: 100%;
}
.about-full-card > div,
.about-principle-card span {
    text-align: justify;
    text-justify: inter-word;
}
