@font-face {
    font-family: "Manrope";
    src: url("../fonts/manrope-latin-ext-wght-normal.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

@font-face {
    font-family: "Newsreader";
    src: url("../fonts/newsreader-latin-ext-wght-normal.woff2") format("woff2-variations");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

:root {
    --navy: #06364d;
    --blue: #0b5875;
    --teal: #087f82;
    --teal-bright: #21a7a4;
    --gold: #e4ad43;
    --gold-soft: #fff1ce;
    --cream: #f6f5f0;
    --surface: #ffffff;
    --surface-soft: #edf6f4;
    --ink: #163442;
    --muted: #617782;
    --line: #d9e6e7;
    --shadow-sm: 0 10px 30px rgba(6, 54, 77, .08);
    --shadow-md: 0 22px 55px rgba(6, 54, 77, .13);
    --radius-sm: 12px;
    --radius-md: 20px;
    --radius-lg: 30px;
    --font-sans: "Manrope", "Segoe UI", Arial, sans-serif;
    --font-display: "Newsreader", Georgia, serif;
}

body {
    background: #fbfcfb;
    font-family: var(--font-sans);
    font-size: 15px;
    letter-spacing: -.008em;
}

h1,
h2,
h3,
.brand-copy strong,
.hero-copy h1,
.quick-card strong,
.service-grid strong,
.section-heading h2,
.two-columns h2,
.news-body h3,
.listing-card h2,
.gallery-card-body h2,
.page-hero h1,
.prose h1,
.prose h2,
.prose h3,
.contact-card h2,
.contact-card h3,
.contact-map-card h2,
.contact-form-section h2,
.contact-notice strong,
.contact-directory summary,
.report-problem strong,
.footer-grid strong {
    font-family: var(--font-display);
    font-variation-settings: "wght" 560;
}

::selection {
    color: #fff;
    background: var(--teal);
}

a,
button,
input,
textarea,
select {
    transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
    outline: 3px solid rgba(228, 173, 67, .7);
    outline-offset: 3px;
}

.official-bar {
    position: relative;
    overflow: hidden;
    background: linear-gradient(100deg, #042d44 0%, #07546b 68%, #087c7d 100%);
}

.official-bar::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .17;
    background-image: radial-gradient(circle, #fff 1px, transparent 1.5px);
    background-size: 18px 18px;
    mask-image: linear-gradient(90deg, transparent 25%, #000 100%);
    pointer-events: none;
}

.official-inner {
    position: relative;
    z-index: 1;
    min-height: 42px;
    font-size: 11px;
    font-weight: 650;
}

.official-inner a,
.official-inner button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.official-inner svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.site-header {
    box-shadow: 0 9px 35px rgba(7, 47, 67, .07);
}

.brand-row {
    min-height: 116px;
}

.brand {
    border-radius: 16px;
}

.brand:hover .brand-mark {
    transform: translateY(-2px) rotate(-1deg);
    filter: drop-shadow(0 10px 12px rgba(6, 54, 77, .18));
}

.brand-mark {
    width: 72px;
    height: 82px;
    margin-right: 18px;
    background: transparent;
    clip-path: none;
    filter: drop-shadow(0 7px 9px rgba(6, 54, 77, .13));
    transition: transform .25s ease, filter .25s ease;
}

.brand-copy small {
    margin-bottom: 2px;
    color: var(--teal);
    font-size: 10px;
    letter-spacing: .26em;
}

.brand-copy strong {
    font-size: 29px;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.brand-copy em {
    margin-top: 5px;
    font-size: 10px;
    font-weight: 600;
}

.header-tools {
    gap: 9px;
}

.search-toggle,
.online-button,
.menu-toggle {
    min-height: 46px;
    gap: 9px;
    border-radius: 999px;
    padding: 0 18px;
    font-size: 12px;
    font-weight: 750;
}

.header-tools svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.search-toggle,
.menu-toggle {
    color: var(--navy);
    border-color: #d7e3e5;
    box-shadow: 0 5px 18px rgba(6, 54, 77, .05);
}

.search-toggle:hover,
.menu-toggle:hover {
    color: var(--teal);
    border-color: #9fc9c9;
    background: var(--surface-soft);
    transform: translateY(-1px);
}

.online-button {
    background: linear-gradient(135deg, #f1c563, var(--gold));
    box-shadow: 0 10px 24px rgba(190, 132, 32, .22);
}

.online-button:hover {
    color: #102f3d;
    box-shadow: 0 14px 28px rgba(190, 132, 32, .3);
    transform: translateY(-2px);
}

.search-panel {
    padding: 18px 0;
    background: linear-gradient(135deg, #eff8f6, #f9fbfa);
}

.search-panel input,
.search-panel button {
    min-height: 48px;
    border-radius: 12px;
}

.main-nav {
    border-color: #e4ecee;
    background: rgba(255, 255, 255, .96);
}

.nav-inner {
    min-height: 58px;
    gap: 4px;
}

.nav-inner a {
    position: relative;
    margin: 8px 0;
    padding: 0 13px;
    border: 0;
    border-radius: 10px;
    color: #294a59;
    font-size: 11px;
    font-weight: 750;
}

.nav-home svg {
    width: 16px;
    height: 16px;
    margin-right: 7px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nav-inner a::before {
    content: "";
    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 5px;
    height: 2px;
    border-radius: 3px;
    background: var(--gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .22s ease;
}

.nav-inner a:hover,
.nav-inner a:focus {
    color: var(--teal);
    background: #f0f7f6;
}

.nav-inner a:hover::before,
.nav-inner a:focus::before {
    transform: scaleX(1);
}

.primary-menu ul {
    padding: 9px;
    border-radius: 15px;
    box-shadow: var(--shadow-md);
}

.primary-menu ul a {
    margin: 0;
    border-radius: 9px;
}

.hero-section {
    min-height: 540px;
}

.hero-grid {
    min-height: 540px;
    grid-template-columns: 1.35fr .72fr;
    gap: 74px;
}

.hero-photo-overlay {
    background: linear-gradient(93deg, rgba(2, 35, 52, .78) 0%, rgba(3, 54, 67, .50) 42%, rgba(5, 73, 75, .22) 74%, rgba(5, 73, 75, .08) 100%), linear-gradient(0deg, rgba(0, 30, 41, .10), transparent 55%);
}

.hero-slide img {
    filter: saturate(1.08) contrast(1.06) brightness(1.07);
}

.hero-section::after {
    content: "";
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    opacity: .08;
    background: repeating-linear-gradient(115deg, transparent 0 18px, rgba(255, 255, 255, .13) 19px 20px);
    mask-image: linear-gradient(transparent, #000);
    pointer-events: none;
}

.hero-copy {
    position: relative;
    z-index: 1;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    letter-spacing: .21em;
}

.eyebrow::before {
    content: "";
    width: 28px;
    height: 2px;
    border-radius: 3px;
    background: currentColor;
}

.hero-copy h1 {
    max-width: 760px;
    font-size: clamp(48px, 5vw, 67px);
    line-height: .98;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.hero-copy > p:not(.eyebrow) {
    max-width: 610px;
    color: #d6e8eb;
    font-size: 15px;
}

.button {
    min-height: 46px;
    gap: 8px;
    border-radius: 999px;
    padding: 12px 22px;
}

.button:hover {
    transform: translateY(-2px);
}

.button.gold {
    background: linear-gradient(135deg, #f0c66d, var(--gold));
    box-shadow: 0 14px 30px rgba(0, 22, 33, .28);
}

.button.outline {
    border-width: 1.5px;
}

.button.navy {
    background: linear-gradient(135deg, var(--blue), var(--navy));
    box-shadow: 0 12px 28px rgba(6, 54, 77, .18);
}

.arrow-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.arrow-link:hover {
    gap: 12px;
}

.quick-card {
    position: relative;
    border-radius: 22px;
    border-color: rgba(255, 255, 255, .28);
    background: rgba(3, 43, 58, .68);
    box-shadow: 0 30px 70px rgba(0, 21, 30, .38);
    backdrop-filter: blur(14px);
}

.quick-card-close {
    display: none;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #ffffff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(0, 21, 30, .18);
}

.quick-card-close:hover,
.quick-card-close:focus-visible {
    background: rgba(255, 255, 255, .2);
}

.quick-card > small {
    padding: 18px 20px 12px;
}

.quick-card > a {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 13px;
    padding: 17px 19px;
}

.quick-card > a:hover {
    background: rgba(255, 255, 255, .09);
}

.quick-icon {
    grid-row: 1 / 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: #f1cb77;
    background: rgba(255, 255, 255, .11);
}

.quick-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.quick-card > a strong {
    grid-column: 2;
    font-size: 17px;
}

.quick-card > a span {
    grid-column: 2;
    margin-top: 3px;
}

.quick-card > a b {
    position: static;
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
}

.heritage {
    padding: 16px 20px;
    background: linear-gradient(135deg, #fff8e8, #f4ead5);
}

.heritage strong {
    font-family: var(--font-display);
    font-size: 34px;
}

.heritage > a {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    color: inherit;
    text-decoration: none;
}

.hero-section.no-quick-card .hero-grid {
    grid-template-columns: minmax(0, 1fr);
}

.service-strip {
    position: relative;
    z-index: 5;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.service-grid {
    margin-top: -26px;
    overflow: hidden;
    border: 1px solid rgba(217, 230, 231, .9);
    border-radius: 20px;
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--shadow-md);
}

.service-grid > a {
    min-height: 128px;
    border-color: var(--line);
    background: linear-gradient(180deg, #fff, #fbfdfc);
}

.service-grid > a:first-child {
    border-left: 0;
}

.service-grid > a:hover {
    position: relative;
    z-index: 1;
    background: linear-gradient(145deg, #edf8f5, #fff8e8);
    box-shadow: inset 0 3px var(--gold);
}

.service-grid .service-icon {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 15px;
    color: var(--teal);
    background: linear-gradient(145deg, #e2f3f0, #f4faf8);
    box-shadow: inset 0 0 0 1px rgba(8, 127, 130, .08);
}

.service-grid strong {
    font-size: 17px;
}

.service-grid small {
    font-size: 10px;
}

.content-section {
    padding: 88px 0 96px;
}

.content-section.cream,
.page-section.cream,
.contact-section {
    background-color: var(--cream);
    background-image: radial-gradient(circle at 8% 8%, rgba(33, 167, 164, .08), transparent 24%), radial-gradient(circle at 95% 18%, rgba(228, 173, 67, .1), transparent 22%);
}

.section-heading {
    margin-bottom: 38px;
}

.section-heading h2,
.two-columns h2 {
    font-size: clamp(36px, 4vw, 48px);
    letter-spacing: -.025em;
}

.news-grid {
    gap: 26px;
}

.news-card,
.listing-card,
.gallery-card {
    border-color: rgba(211, 226, 226, .9);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.news-card:hover,
.listing-card:hover,
.gallery-card:hover {
    border-color: rgba(8, 127, 130, .25);
    box-shadow: var(--shadow-md);
    transform: translateY(-7px);
}

.news-art {
    height: 148px;
    overflow: hidden;
    background: linear-gradient(135deg, #0b6073, #16a09a);
}

.news-art::before {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -35px;
    bottom: -90px;
    border: 26px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
}

.news-art::after {
    inset: 26px;
    border-radius: 60% 20% 65% 25%;
    transform: rotate(-8deg);
}

.news-card:nth-child(2) .news-art {
    background: linear-gradient(135deg, #986e24, #e1ae48);
}

.news-card:nth-child(3) .news-art {
    background: linear-gradient(135deg, #294c6b, #627da1);
}

.featured .news-art {
    height: 178px;
}

.news-body {
    padding: 25px;
}

.news-body h3 {
    font-size: 23px;
}

.document-list {
    display: grid;
    gap: 9px;
}

.document-list > a {
    padding: 15px 16px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: #fff;
}

.document-list > a:hover {
    border-color: #cfe2e1;
    box-shadow: var(--shadow-sm);
    transform: translateX(5px);
}

.file-icon {
    width: 43px;
    height: 47px;
    border-radius: 11px;
    background: linear-gradient(145deg, #e2f3f0, #f4faf8);
}

.govora-panel {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 12px;
    min-height: 400px;
    padding: 42px;
    border-radius: var(--radius-lg);
    background: linear-gradient(155deg, rgba(14, 133, 133, .98), rgba(4, 47, 69, 1));
    box-shadow: var(--shadow-md);
}

.govora-panel-logo {
    position: absolute;
    top: 24px;
    right: 24px;
    width: min(228px, 60%);
    height: auto;
    opacity: .22;
    pointer-events: none;
    user-select: none;
    filter: drop-shadow(0 14px 28px rgba(0, 0, 0, .14));
}

.govora-panel > * {
    position: relative;
    z-index: 1;
}

.govora-panel p,
.govora-panel h2,
.govora-panel span,
.govora-panel a {
    max-width: 88%;
}

.govora-panel::after {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -80px;
    bottom: -110px;
    border: 34px solid rgba(255, 255, 255, .06);
    border-radius: 50%;
}

.page-hero {
    position: relative;
    overflow: hidden;
    padding: 72px 0 78px;
    background: linear-gradient(118deg, #04344c 0%, #08717b 70%, #1b9290 100%);
}

.page-hero::before,
.page-hero::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
    pointer-events: none;
}

.page-hero::before {
    width: 360px;
    height: 360px;
    right: -80px;
    top: -180px;
}

.page-hero::after {
    width: 210px;
    height: 210px;
    right: 190px;
    bottom: -150px;
}

.page-hero .container {
    position: relative;
    z-index: 1;
}

.page-hero h1 {
    max-width: 920px;
    font-size: clamp(42px, 5vw, 61px);
    letter-spacing: -.035em;
    text-wrap: balance;
}

.breadcrumbs {
    display: inline-flex;
    padding: 7px 11px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(1, 35, 49, .16);
    backdrop-filter: blur(6px);
}

.page-section {
    padding: 76px 0 92px;
}

.page-section > .container.prose {
    max-width: 980px;
    padding: clamp(28px, 5vw, 58px);
    border: 1px solid rgba(217, 230, 231, .88);
    border-radius: var(--radius-lg);
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.prose {
    font-size: 15px;
    line-height: 1.85;
}

.prose h2 {
    margin-top: 1.6em;
    font-size: 34px;
    line-height: 1.18;
}

.prose h3 {
    color: var(--navy);
    font-size: 25px;
}

.prose blockquote {
    padding: 20px 24px;
    border: 0;
    border-left: 5px solid var(--gold);
    border-radius: 0 14px 14px 0;
    background: var(--gold-soft);
}

.listing-card {
    padding: 29px;
}

.document-table {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.gallery-card {
    overflow: hidden;
}

.gallery-card-cover {
    overflow: hidden;
}

.gallery-card-cover img {
    transition: transform .5s ease;
}

.gallery-card:hover .gallery-card-cover img {
    transform: scale(1.045);
}

.content-image-inline img,
.content-images figure,
.gallery-photo {
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
}

.contact-overview {
    gap: 28px;
}

.contact-card,
.contact-map-card,
.contact-directory,
.contact-form-section {
    border-color: rgba(211, 226, 226, .9);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
}

.contact-card {
    position: relative;
    overflow: hidden;
    padding: 38px;
}

.contact-card::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    right: -55px;
    top: -55px;
    border: 20px solid rgba(8, 127, 130, .06);
    border-radius: 50%;
}

.contact-card h2,
.contact-map-card h2,
.contact-form-section h2 {
    font-size: 36px;
    letter-spacing: -.02em;
}

.contact-details > div {
    grid-template-columns: 205px 1fr;
    align-items: center;
    gap: 13px;
}

.contact-details dt {
    display: grid;
    grid-template-columns: 40px 1fr;
    align-items: center;
    gap: 12px;
}

.contact-detail-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--teal);
    background: var(--surface-soft);
}

.contact-detail-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.audience-list li {
    position: relative;
    padding-left: 22px;
}

.audience-list li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 19px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 5px var(--gold-soft);
}

.contact-notice {
    padding: 25px 30px;
    border: 1px solid #efd898;
    border-left: 6px solid var(--gold);
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(143, 97, 17, .08);
}

.contact-map-card {
    padding: 38px;
}

.map-consent {
    border-radius: 17px;
    background-color: #e4f1ee;
    background-image: radial-gradient(circle at 25% 25%, rgba(8, 127, 130, .17) 0 2px, transparent 3px), linear-gradient(135deg, transparent 48%, rgba(8, 127, 130, .06) 49% 51%, transparent 52%);
    background-size: 28px 28px, 70px 70px;
}

.contact-directory summary {
    padding: 24px 28px;
    font-size: 23px;
}

.contact-directory[open] summary {
    border-bottom: 1px solid var(--line);
    background: #f3f9f7;
}

.contact-directory tbody tr:hover {
    background: #f3f9f7;
}

.report-problem {
    padding: 28px 31px;
    border-radius: var(--radius-md);
    background: linear-gradient(125deg, var(--navy), #096d77);
    box-shadow: var(--shadow-md);
}

.contact-form-section {
    padding: 46px;
}

.contact-form-intro {
    position: relative;
    padding: 25px;
    border-radius: 18px;
    background: linear-gradient(145deg, #edf7f4, #fff9e9);
}

.contact-form input,
.contact-form textarea {
    border-radius: 12px;
    padding: 13px 14px;
    background: #fcfdfd;
}

.site-footer {
    position: relative;
    overflow: hidden;
    padding: 66px 0 28px;
    background: linear-gradient(125deg, #032c43, #06475b 65%, #075f63);
}

.site-footer::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -180px;
    top: -220px;
    border: 55px solid rgba(255, 255, 255, .035);
    border-radius: 50%;
}

.footer-grid,
.footer-bottom {
    position: relative;
    z-index: 1;
}

.footer-grid > div {
    padding-left: 18px;
    border-left: 1px solid rgba(255, 255, 255, .13);
}

.footer-grid > div:first-child {
    padding-left: 0;
    border-left: 0;
}

.footer-grid strong {
    font-size: 26px;
}

.footer-grid h2 {
    display: flex;
    align-items: center;
    gap: 9px;
}

.footer-grid h2::before {
    content: "";
    width: 19px;
    height: 2px;
    border-radius: 3px;
    background: var(--gold);
}

.footer-grid a:hover {
    color: #fff;
    transform: translateX(3px);
}

.motion-ready .reveal-item {
    opacity: 0;
    transform: translateY(22px);
}

.motion-ready .reveal-item.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .65s ease, transform .65s cubic-bezier(.2, .72, .25, 1);
}

.motion-ready .reveal-item:nth-child(2) {
    transition-delay: .07s;
}

.motion-ready .reveal-item:nth-child(3) {
    transition-delay: .14s;
}

.motion-ready .reveal-item:nth-child(4) {
    transition-delay: .21s;
}

body.high-contrast .official-bar,
body.high-contrast .page-hero,
body.high-contrast .site-footer,
body.high-contrast .report-problem,
body.high-contrast .govora-panel {
    background: #000;
}

@media (max-width: 860px) {
    .govora-panel {
        min-height: 340px;
        padding: 34px;
    }

    .govora-panel-logo {
        width: min(188px, 46%);
        top: 22px;
        right: 18px;
        opacity: .18;
    }

    .govora-panel p,
    .govora-panel h2,
    .govora-panel span,
    .govora-panel a {
        max-width: 100%;
    }
}

@media (max-width: 1050px) {
    .nav-inner a {
        padding-right: 9px;
        padding-left: 9px;
        font-size: 10px;
    }

    .hero-grid {
        gap: 42px;
    }
}

@media (max-width: 900px) {
    .main-nav {
        box-shadow: 0 18px 35px rgba(6, 54, 77, .12);
    }

    .nav-inner a {
        margin: 2px 0;
        padding: 0 13px;
        font-size: 12px;
    }

    .hero-grid {
        padding-top: 72px;
        padding-bottom: 100px;
    }

    .service-grid {
        margin-top: -18px;
    }

    .contact-details > div {
        grid-template-columns: 205px 1fr;
    }
}

@media (max-width: 600px) {
    .brand-row {
        min-height: 92px;
    }

    .brand-mark {
        width: 52px;
        height: 62px;
        margin-right: 11px;
    }

    .brand-copy strong {
        font-size: 20px;
    }

    .header-tools {
        gap: 5px;
    }

    .search-toggle,
    .menu-toggle {
        width: 43px;
        min-height: 43px;
        justify-content: center;
        padding: 0;
    }

    .header-tools button span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .hero-section,
    .hero-grid {
        min-height: 600px;
    }

    .hero-copy h1 {
        font-size: 44px;
    }

    .quick-card > a {
        grid-template-columns: 38px 1fr auto;
        padding: 15px;
    }

    .quick-icon {
        width: 38px;
        height: 38px;
    }

    .service-grid {
        margin-top: -12px;
        border-radius: 17px;
    }

    .service-grid > a {
        min-height: 108px;
    }

    .content-section {
        padding: 68px 0 74px;
    }

    .page-hero {
        padding: 56px 0 61px;
    }

    .page-section {
        padding: 52px 0 66px;
    }

    .page-section > .container.prose {
        width: calc(100% - 22px);
        padding: 25px 20px;
        border-radius: 20px;
    }

    .contact-card,
    .contact-map-card,
    .contact-form-section {
        padding: 25px;
    }

    .contact-details > div {
        grid-template-columns: 1fr;
    }

    .contact-details dt {
        grid-template-columns: 40px 1fr;
    }

    .contact-details dd {
        grid-column: 1;
        padding-left: 52px;
    }

    .footer-grid > div {
        padding: 18px 0 0;
        border-top: 1px solid rgba(255, 255, 255, .13);
        border-left: 0;
    }

    .footer-grid > div:first-child {
        padding-top: 0;
        border-top: 0;
    }
}

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

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }

    .motion-ready .reveal-item {
        opacity: 1;
        transform: none;
    }
}

/* Secțiuni configurabile pentru pagina Acasă – v0.3.8 */
.home-notices-section,
.home-services-section,
.home-projects-section,
.official-monitor-section {
    padding: 78px 0;
}

.home-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 34px;
}

.home-section-heading.compact {
    margin-bottom: 24px;
}

.home-section-heading > div {
    max-width: 760px;
}

.home-section-heading h2 {
    margin: 5px 0 8px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: clamp(34px, 4vw, 52px);
    font-variation-settings: "wght" 560;
    letter-spacing: -.03em;
    line-height: 1.02;
}

.home-section-heading p:not(.eyebrow) {
    max-width: 650px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}

.home-notices-section {
    padding: 52px 0;
    border-top: 1px solid #e9e4d7;
    border-bottom: 1px solid #e9e4d7;
    background: linear-gradient(115deg, #fff9ec 0%, #f8f6ef 60%, #edf7f5 100%);
}

.home-notices-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.home-notice {
    position: relative;
    min-height: 210px;
    overflow: hidden;
    padding: 23px;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(6, 54, 77, .09);
    border-radius: 18px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 12px 30px rgba(6, 54, 77, .06);
}

.home-notice::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--teal);
}

.home-notice.notice-urgent::before,
.home-notice.notice-interruption::before {
    background: #cb5b3f;
}

.home-notice.notice-debate::before {
    background: var(--gold);
}

.home-notice-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.home-notice-meta span {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: var(--navy);
    background: #e7f3f1;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.home-notice.notice-urgent .home-notice-meta span,
.home-notice.notice-interruption .home-notice-meta span {
    color: #8b2f1f;
    background: #fee9e2;
}

.home-notice-meta time {
    color: var(--muted);
    font-size: 9px;
}

.home-notice h3 {
    margin: 22px 0 10px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 24px;
    font-variation-settings: "wght" 580;
    line-height: 1.08;
}

.home-notice p {
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}

.home-notice > a {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--teal);
    font-size: 11px;
    font-weight: 800;
}

.home-services-section {
    background: #fff;
}

.citizen-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.citizen-service-card {
    min-height: 145px;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 18px;
    color: var(--ink);
    background: linear-gradient(145deg, #fff, #fbfdfc);
    box-shadow: var(--shadow-sm);
}

.citizen-service-card:hover {
    border-color: #9dcac8;
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.citizen-service-card i {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--teal);
    background: var(--surface-soft);
}

.citizen-service-card svg,
.official-monitor-grid svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.citizen-service-card span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.citizen-service-card strong {
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 18px;
    font-variation-settings: "wght" 580;
    line-height: 1.12;
}

.citizen-service-card small {
    color: var(--muted);
    font-size: 10px;
    line-height: 1.45;
}

.citizen-service-card b {
    color: var(--teal);
    font-size: 18px;
}

.official-monitor-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(115deg, #04354c 0%, #07596a 58%, #087f7e 100%);
}

.official-monitor-section::before,
.official-monitor-section::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    pointer-events: none;
}

.official-monitor-section::before {
    width: 420px;
    height: 420px;
    top: -250px;
    right: -70px;
}

.official-monitor-section::after {
    width: 240px;
    height: 240px;
    bottom: -170px;
    left: 8%;
}

.home-section-heading.light {
    position: relative;
    z-index: 1;
}

.home-section-heading.light h2,
.home-section-heading.light p:not(.eyebrow) {
    color: #fff;
}

.home-section-heading.light p:not(.eyebrow) {
    opacity: .76;
}

.official-monitor-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.official-monitor-grid > a {
    min-height: 130px;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 17px;
    color: #fff;
    background: rgba(2, 35, 50, .33);
    backdrop-filter: blur(8px);
}

.official-monitor-grid > a:hover {
    border-color: rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .1);
    transform: translateY(-3px);
}

.official-monitor-grid i {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #ffd675;
    background: rgba(255, 255, 255, .1);
}

.official-monitor-grid span {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.official-monitor-grid strong {
    color: #fff;
    font-family: var(--font-display);
    font-size: 18px;
    font-variation-settings: "wght" 560;
    line-height: 1.12;
}

.official-monitor-grid small {
    color: rgba(255, 255, 255, .68);
    font-size: 9px;
    line-height: 1.5;
}

.official-monitor-grid b {
    min-width: 42px;
    color: #ffd675;
    font-family: var(--font-display);
    font-size: 29px;
    font-variation-settings: "wght" 580;
    text-align: right;
}

.home-projects-section {
    background: linear-gradient(180deg, #f7f6f1, #fff);
}

.home-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home-project-card {
    min-height: 335px;
    display: flex;
    flex-direction: column;
    padding: 27px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.home-project-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
}

.home-project-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.home-project-top span {
    padding: 7px 10px;
    border-radius: 999px;
    color: #086d70;
    background: #e9f6f3;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.home-project-top strong {
    color: var(--teal);
    font-family: var(--font-display);
    font-size: 26px;
}

.home-project-card h3 {
    margin: 23px 0 12px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 28px;
    font-variation-settings: "wght" 570;
    line-height: 1.05;
}

.home-project-card > p {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}

.project-progress {
    width: 100%;
    height: 8px;
    overflow: hidden;
    margin: 0 0 20px;
    border: 0;
    border-radius: 999px;
    background: #e8efef;
    appearance: none;
}

.project-progress::-webkit-progress-bar {
    border-radius: 999px;
    background: #e8efef;
}

.project-progress::-webkit-progress-value {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--teal), var(--teal-bright));
}

.project-progress::-moz-progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, var(--teal), var(--teal-bright));
}

.home-project-card dl {
    margin: auto 0 18px;
}

.home-project-card dl > div {
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid #edf1f1;
}

.home-project-card dt {
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.home-project-card dd {
    margin: 0;
    color: var(--ink);
    font-size: 10px;
    font-weight: 700;
}

.home-project-card > a {
    color: var(--teal);
    font-size: 11px;
    font-weight: 850;
}

@media (max-width: 1120px) {
    .home-notices-grid,
    .citizen-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .official-monitor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .home-notices-section,
    .home-services-section,
    .home-projects-section,
    .official-monitor-section {
        padding: 58px 0;
    }
    .home-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
    }
    .home-projects-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .home-notices-grid,
    .citizen-services-grid,
    .official-monitor-grid {
        grid-template-columns: 1fr;
    }
    .citizen-service-card,
    .official-monitor-grid > a {
        min-height: 120px;
    }
    .home-section-heading h2 {
        font-size: 36px;
    }
}

/* Evenimente și Descoperă Băile Govora – v0.3.9 */
.home-events-section,
.home-discover-section {
    padding: 82px 0;
}

.home-events-section {
    background: #fff;
}

.home-events-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.home-event-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home-event-card:hover {
    border-color: #9dcac8;
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.home-event-media {
    position: relative;
    height: 225px;
    display: block;
    overflow: hidden;
    background: #e9f2f1;
}

.home-event-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}

.home-event-card:hover .home-event-media img {
    transform: scale(1.035);
}

.home-event-media.without-image {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #07596a, #0c8a83);
}

.home-event-media.without-image > i {
    width: 84px;
    height: 84px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 24px;
    background: rgba(255,255,255,.1);
}

.home-event-media.without-image svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-event-media time {
    position: absolute;
    left: 18px;
    bottom: 16px;
    max-width: calc(100% - 36px);
    padding: 8px 11px;
    border-radius: 999px;
    color: var(--navy);
    background: rgba(255,255,255,.94);
    box-shadow: 0 7px 22px rgba(3,42,58,.18);
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
}

.home-event-body {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.home-event-location {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--teal);
    font-size: 10px;
    font-weight: 800;
}

.home-event-location svg,
.events-archive-location svg {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-event-body h3 {
    margin: 15px 0 11px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 27px;
    font-variation-settings: "wght" 580;
    line-height: 1.05;
}

.home-event-body h3 a {
    color: inherit;
}

.home-event-body p {
    margin: 0 0 20px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.65;
}

.home-event-link {
    margin-top: auto;
    color: var(--teal);
    font-size: 11px;
    font-weight: 850;
}

.home-discover-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(120deg, #032f46 0%, #075968 55%, #087c79 100%);
}

.home-discover-section::before,
.home-discover-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.home-discover-section::before {
    width: 430px;
    height: 430px;
    top: -260px;
    left: -80px;
    border: 1px solid rgba(255,255,255,.13);
}

.home-discover-section::after {
    width: 320px;
    height: 320px;
    right: -120px;
    bottom: -190px;
    background: rgba(255,255,255,.04);
}

.discover-heading,
.home-discover-grid {
    position: relative;
    z-index: 1;
}

.home-discover-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 205px;
    gap: 14px;
}

.home-discover-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 19px;
    color: #fff;
    background: #0b5d68;
    box-shadow: 0 18px 38px rgba(2,30,43,.22);
}

.home-discover-card.featured {
    grid-column: span 2;
    grid-row: span 2;
}

.home-discover-card img,
.home-discover-symbol {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-discover-card img {
    display: block;
    object-fit: cover;
    transition: transform .4s ease;
}

.home-discover-card:hover img {
    transform: scale(1.045);
}

.home-discover-symbol {
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.28);
    background: linear-gradient(145deg, #0d6d73, #043b53);
}

.home-discover-symbol svg {
    width: 88px;
    height: 88px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-discover-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(2,27,39,.04) 12%, rgba(2,28,40,.87) 100%);
}

.home-discover-card.without-image .home-discover-overlay {
    background: linear-gradient(180deg, rgba(2,27,39,.08), rgba(2,28,40,.58));
}

.home-discover-copy {
    position: absolute;
    inset: auto 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
}

.home-discover-card.featured .home-discover-copy {
    padding: 30px;
}

.home-discover-copy > i {
    width: 34px;
    height: 34px;
    margin-bottom: 11px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #ffd675;
    background: rgba(255,255,255,.12);
}

.home-discover-copy > i svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-discover-copy strong {
    color: #fff;
    font-family: var(--font-display);
    font-size: 22px;
    font-variation-settings: "wght" 580;
    line-height: 1.05;
}

.home-discover-card.featured .home-discover-copy strong {
    font-size: 34px;
}

.home-discover-copy small {
    max-width: 540px;
    margin-top: 7px;
    color: rgba(255,255,255,.74);
    font-size: 10px;
    line-height: 1.5;
}

.home-discover-copy b {
    margin-top: 11px;
    color: #ffd675;
    font-size: 10px;
    font-weight: 850;
}

.home-discover-card:hover {
    border-color: rgba(255,255,255,.35);
    transform: translateY(-3px);
}

.events-page-hero {
    background: linear-gradient(115deg, #04354c, #087a78);
}

.events-archive-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.events-archive-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.events-archive-image {
    min-height: 260px;
    background: #e8f1f1;
}

.events-archive-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.events-archive-image.fallback {
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #07596a, #0c8a83);
}

.events-archive-image.fallback svg {
    width: 64px;
    height: 64px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.events-archive-card > div:last-child {
    padding: 24px;
}

.events-archive-card time {
    color: var(--teal);
    font-size: 10px;
    font-weight: 850;
}

.events-archive-card h2 {
    margin: 12px 0;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 28px;
    line-height: 1.05;
}

.events-archive-card p {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.65;
}

.events-archive-location {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--teal) !important;
    font-weight: 800;
}

.past-events-list {
    border-top: 1px solid var(--line);
}

.past-events-list article {
    padding: 18px 0;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
    border-bottom: 1px solid var(--line);
}

.past-events-list time {
    color: var(--teal);
    font-size: 10px;
    font-weight: 850;
}

.past-events-list h3 {
    margin: 0;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 21px;
}

.past-events-list p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 10px;
}

.past-events-list a {
    color: var(--teal);
    font-size: 10px;
    font-weight: 850;
}

@media (max-width: 1120px) {
    .home-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .home-discover-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .home-discover-card.featured {
        grid-column: span 2;
    }
    .events-archive-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .home-events-section,
    .home-discover-section {
        padding: 58px 0;
    }
    .home-discover-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 210px;
    }
    .home-discover-card.featured {
        grid-column: span 2;
        grid-row: span 1;
    }
    .events-archive-card {
        grid-template-columns: 180px minmax(0, 1fr);
    }
    .past-events-list article {
        grid-template-columns: 150px minmax(0, 1fr);
    }
    .past-events-list a {
        grid-column: 2;
    }
}

@media (max-width: 620px) {
    .home-events-grid,
    .home-discover-grid {
        grid-template-columns: 1fr;
    }
    .home-discover-card.featured {
        grid-column: auto;
    }
    .home-discover-grid {
        grid-auto-rows: 230px;
    }
    .home-event-media {
        height: 210px;
    }
    .events-archive-card {
        grid-template-columns: 1fr;
    }
    .events-archive-image {
        min-height: 230px;
        height: 230px;
    }
    .past-events-list article {
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .past-events-list a {
        grid-column: auto;
    }
}

/* v0.4.0 — informații utile, subsol și preferințe cookie */
.home-useful-section {
    padding: 72px 0 78px;
    background: linear-gradient(180deg, #f7faf9 0%, #eef5f4 100%);
    border-top: 1px solid var(--line);
}
.home-useful-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.home-useful-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    padding: 22px;
    border: 1px solid #d7e4e3;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    box-shadow: var(--shadow-sm);
}
.home-useful-card > i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(145deg, var(--teal), var(--navy));
}
.home-useful-card svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.home-useful-card h3 {
    margin: 1px 0 7px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 20px;
    line-height: 1.1;
}
.home-useful-card p {
    margin: 0;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.55;
}
.home-useful-actions {
    margin-top: 11px;
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
}
.home-useful-actions a {
    color: var(--teal);
    font-size: 10px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.site-footer {
    padding: 58px 0 22px;
}
.footer-main-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(150px, .7fr));
    gap: 42px;
}
.footer-identity {
    min-width: 0;
}
.footer-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    color: #fff;
}
.footer-brand > span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    width: 56px;
    height: 68px;
    overflow: visible;
}
.footer-brand img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
.footer-brand strong {
    font-family: var(--font-display);
    font-size: 20px;
    line-height: 1.12;
}

@media (max-width: 600px) {
    .footer-brand > span {
        flex-basis: 48px;
        width: 48px;
        height: 58px;
    }
}
.footer-identity > p {
    max-width: 430px;
    margin: 18px 0;
    color: rgba(224,240,243,.76);
    font-size: 11px;
    line-height: 1.7;
}
.footer-contact-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: rgba(224,240,243,.86);
    font-size: 10px;
}
.footer-contact-list a:hover,
.footer-column a:hover,
.footer-social a:hover,
.footer-bottom a:hover,
.footer-bottom button:hover {
    color: #ffd675;
}
.footer-social {
    margin-top: 17px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.footer-social a {
    padding: 6px 9px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 999px;
    color: #fff;
    font-size: 9px;
    font-weight: 800;
}
.footer-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
}
.footer-column h2 {
    position: relative;
    margin: 0 0 9px;
    padding-bottom: 10px;
    color: #f3cf7c;
    font-size: 10px;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.footer-column h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 28px;
    height: 2px;
    background: #d9aa4c;
}
.footer-column a {
    color: rgba(224,240,243,.78);
    font-size: 10px;
    line-height: 1.35;
}
.footer-bottom {
    position: relative;
    z-index: 1;
    align-items: center;
}

.footer-bottom-copy {
    display: grid;
    gap: 4px;
}
.footer-technical-credit {
    color: rgba(224,240,243,.62);
    font-size: 9px;
    line-height: 1.45;
}

.footer-bottom a,
.footer-bottom button {
    color: inherit;
}
.footer-bottom button {
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.cookie-banner {
    position: fixed;
    z-index: 1200;
    left: 22px;
    right: 22px;
    bottom: 20px;
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 17px;
    color: #fff;
    background: rgba(4,47,68,.97);
    box-shadow: 0 20px 70px rgba(0,25,37,.38);
    backdrop-filter: blur(10px);
}
.cookie-banner[hidden] { display: none; }
.cookie-banner strong {
    font-family: var(--font-display);
    font-size: 18px;
}
.cookie-banner p {
    max-width: 660px;
    margin: 5px 0 0;
    color: rgba(232,245,247,.76);
    font-size: 10px;
    line-height: 1.55;
}
.cookie-banner-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.cookie-banner .button {
    min-height: 38px;
    padding: 9px 13px;
    font-size: 10px;
}
.cookie-banner .button.outline {
    border-color: rgba(255,255,255,.42);
    color: #fff;
    background: transparent;
}
.cookie-dialog {
    width: min(650px, calc(100% - 30px));
    max-height: calc(100vh - 30px);
    padding: 0;
    overflow: auto;
    border: 0;
    border-radius: 20px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 30px 90px rgba(0,25,37,.38);
}
.cookie-dialog::backdrop {
    background: rgba(1,24,35,.72);
    backdrop-filter: blur(4px);
}
.cookie-dialog-card {
    padding: 26px;
}
.cookie-dialog-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}
.cookie-dialog-heading small {
    color: var(--teal);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.cookie-dialog h2 {
    margin: 5px 0 0;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 31px;
}
.cookie-dialog-card > p {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.65;
}
.cookie-close {
    width: 38px;
    height: 38px;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--navy);
    background: #fff;
    font-size: 24px;
    cursor: pointer;
}
.cookie-choice {
    margin-top: 11px;
    padding: 15px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #f8fbfa;
}
.cookie-choice.locked { background: #eef5f4; }
.cookie-choice span {
    display: flex;
    flex-direction: column;
}
.cookie-choice strong {
    color: var(--navy);
    font-size: 12px;
}
.cookie-choice small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.5;
}
.cookie-choice input {
    width: 21px;
    height: 21px;
    accent-color: var(--teal);
}
.cookie-dialog-actions {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.cookie-dialog-actions > a {
    color: var(--teal);
    font-size: 10px;
    font-weight: 800;
}

.sitemap-hero,
.privacy-hero {
    background: linear-gradient(115deg, #04354c, #087a78);
}
.sitemap-page-hero .container { position: relative; }
.sitemap-page-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 28px;
    align-items: start;
}
.sitemap-page-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.85);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.sitemap-anchor-nav {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.sitemap-anchor-nav a {
    display: inline-flex;
    align-items: center;
    padding: 10px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.22);
    color: #fff;
    font-size: 10px;
    font-weight: 750;
    background: rgba(255,255,255,.06);
}
.sitemap-anchor-nav a:hover,
.sitemap-anchor-nav a:focus-visible {
    background: rgba(255,255,255,.14);
    text-decoration: none;
}
.sitemap-highlight-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}
.sitemap-highlight-card {
    position: relative;
    min-width: 0;
    padding: 18px 18px 18px 74px;
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 20px 48px rgba(3,31,44,.18);
    backdrop-filter: blur(10px);
    color: #fff;
}
.sitemap-highlight-card > i {
    position: absolute;
    left: 18px;
    top: 18px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(255,255,255,.18);
}
.sitemap-highlight-card > i svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sitemap-highlight-card strong {
    display: block;
    font-family: var(--font-display);
    font-size: 38px;
    line-height: 1;
}
.sitemap-highlight-card span {
    display: block;
    margin-top: 6px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.8);
}
.sitemap-highlight-card small {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,.8);
    font-size: 10px;
    line-height: 1.6;
}
.sitemap-page-section {
    padding-top: 48px;
}
.sitemap-shell {
    display: grid;
    gap: 28px;
}
.sitemap-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 22px;
    align-items: stretch;
}
.sitemap-search-panel,
.sitemap-quick-actions,
.sitemap-list-card,
.sitemap-overview-card,
.sitemap-support-grid article {
    min-width: 0;
    border: 1px solid rgba(7,59,75,.08);
    border-radius: 24px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 16px 36px rgba(3,31,44,.06);
}
.sitemap-search-panel {
    padding: 24px;
}
.sitemap-search-panel p {
    margin: 12px 0 0;
    color: var(--muted);
}
.sitemap-search-box {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(7,59,75,.12);
    border-radius: 18px;
    background: #f7fafb;
}
.sitemap-search-box > span {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #e5f5f5;
    color: var(--teal);
}
.sitemap-search-box > span svg,
.sitemap-quick-actions i svg,
.sitemap-overview-icon svg,
.sitemap-list-icon svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 1.8;
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sitemap-search-box input {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    outline: none;
    color: var(--navy);
    font-size: 14px;
    font-weight: 650;
}
.sitemap-quick-actions {
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-content: start;
}
.sitemap-quick-actions a {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #fbfcfd, #f4f8f8);
    border: 1px solid rgba(7,59,75,.08);
    color: var(--navy);
    font-size: 11px;
    font-weight: 800;
}
.sitemap-quick-actions a:hover,
.sitemap-quick-actions a:focus-visible {
    border-color: rgba(10,136,133,.25);
    box-shadow: 0 14px 24px rgba(8,122,120,.12);
    text-decoration: none;
    transform: translateY(-1px);
}
.sitemap-quick-actions i,
.sitemap-overview-icon,
.sitemap-list-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    color: var(--teal);
    background: #eaf7f7;
}
.sitemap-quick-actions b {
    color: var(--teal);
    font-size: 14px;
}
.sitemap-section-block {
    display: grid;
    gap: 20px;
}
.sitemap-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}
.sitemap-section-heading > p {
    max-width: 540px;
    margin: 0;
    color: var(--muted);
}
.sitemap-overview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.sitemap-overview-card {
    padding: 24px;
    position: relative;
    overflow: hidden;
}
.sitemap-overview-card::after {
    content: '';
    position: absolute;
    inset: auto -46px -46px auto;
    width: 130px;
    height: 130px;
    border-radius: 999px;
    background: rgba(8,122,120,.07);
}
.sitemap-overview-card.accent-gold::after { background: rgba(212,162,40,.09); }
.sitemap-overview-card.accent-emerald::after { background: rgba(40,156,116,.08); }
.sitemap-overview-card.accent-rose::after { background: rgba(181,87,92,.08); }
.sitemap-overview-card.accent-slate::after { background: rgba(75,102,122,.08); }
.sitemap-overview-card.accent-teal::after,
.sitemap-overview-card.accent-navy::after { background: rgba(8,122,120,.07); }
.sitemap-overview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.sitemap-overview-meta {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f5f8f8;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.sitemap-overview-card h3 {
    margin: 16px 0 10px;
    font-size: 28px;
}
.sitemap-overview-card p {
    margin: 0;
    color: var(--muted);
}
.sitemap-overview-links {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    display: grid;
    gap: 10px;
}
.sitemap-overview-links li { margin: 0; }
.sitemap-overview-links a,
.sitemap-link-columns a,
.sitemap-link-stack a,
.sitemap-support-grid a {
    color: var(--navy);
    font-weight: 750;
}
.sitemap-overview-links a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 13px;
    border-radius: 14px;
    background: #f7fafb;
}
.sitemap-overview-links a::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--teal);
    box-shadow: 0 0 0 4px rgba(8,122,120,.12);
}
.sitemap-overview-links a:hover,
.sitemap-overview-links a:focus-visible,
.sitemap-link-columns a:hover,
.sitemap-link-columns a:focus-visible,
.sitemap-link-stack a:hover,
.sitemap-link-stack a:focus-visible,
.sitemap-support-grid a:hover,
.sitemap-support-grid a:focus-visible {
    text-decoration: none;
    color: var(--teal-dark);
}
.sitemap-resource-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.sitemap-list-card {
    padding: 24px;
}
.sitemap-list-card-pages {
    grid-column: 1 / -1;
}
.sitemap-list-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}
.sitemap-list-head h3 {
    margin: 0;
    font-size: 26px;
}
.sitemap-list-head p {
    margin: 4px 0 0;
    color: var(--muted);
}
.sitemap-link-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 20px;
}
.sitemap-link-columns a,
.sitemap-link-stack a {
    display: block;
    padding: 9px 0;
    border-bottom: 1px solid #edf1f1;
    font-size: 10px;
}
.sitemap-link-stack {
    display: grid;
}
.sitemap-link-featured {
    margin-bottom: 6px;
    padding: 14px 16px !important;
    border-radius: 16px;
    border: 1px solid rgba(7,59,75,.08);
    background: linear-gradient(180deg, #fbfcfd, #f4f8f8);
}
.sitemap-link-featured strong {
    display: block;
    font-size: 11px;
}
.sitemap-link-featured small {
    display: block;
    margin-top: 5px;
    color: var(--muted);
}
.sitemap-no-results {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f6faf9;
    border: 1px dashed rgba(7,59,75,.16);
    color: var(--muted);
}
.sitemap-support-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.sitemap-support-grid article {
    padding: 22px;
}
.sitemap-support-grid strong {
    display: block;
    margin-bottom: 10px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 24px;
    line-height: 1.2;
}
.sitemap-support-grid p {
    margin: 0 0 14px;
    color: var(--muted);
}

@media (max-width: 1200px) {
    .sitemap-page-hero-inner,
    .sitemap-toolbar,
    .sitemap-overview-grid,
    .sitemap-resource-grid,
    .sitemap-support-grid { grid-template-columns: 1fr; }
    .sitemap-link-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1050px) {
    .home-useful-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-main-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .footer-identity { grid-column: span 3; }
    .sitemap-highlight-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sitemap-overview-card h3,
    .sitemap-list-head h3,
    .sitemap-support-grid strong { font-size: 24px; }
}
@media (max-width: 760px) {
    .home-useful-section { padding: 56px 0; }
    .home-useful-grid,
    .sitemap-highlight-grid,
    .sitemap-quick-actions,
    .sitemap-support-grid,
    .sitemap-link-columns { grid-template-columns: 1fr; }
    .sitemap-page-section { padding-top: 36px; }
    .sitemap-anchor-nav { gap: 8px; }
    .sitemap-anchor-nav a { width: 100%; justify-content: center; }
    .sitemap-section-heading { align-items: start; flex-direction: column; }
    .sitemap-list-card,
    .sitemap-overview-card,
    .sitemap-search-panel { padding: 20px; }
    .sitemap-quick-actions a { grid-template-columns: 42px minmax(0, 1fr) 18px; }
    .footer-main-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 22px; }
    .footer-identity { grid-column: span 2; }
    .cookie-banner { align-items: flex-start; flex-direction: column; }
    .cookie-banner-actions { width: 100%; justify-content: flex-start; }
}
@media (max-width: 520px) {
    .home-useful-card { grid-template-columns: 46px minmax(0, 1fr); padding: 17px; }
    .home-useful-card > i { width: 46px; height: 46px; }
    .footer-main-grid { grid-template-columns: 1fr; }
    .footer-identity { grid-column: auto; }
    .cookie-banner { left: 10px; right: 10px; bottom: 10px; padding: 15px; }
    .cookie-banner-actions { display: grid; grid-template-columns: 1fr; }
    .cookie-dialog-card { padding: 20px; }
    .cookie-dialog-actions { align-items: stretch; flex-direction: column; }
}

/* v0.4.1 · navigare ierarhică stabilizată */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.primary-menu > li,
.primary-menu ul li {
    display: block;
}
.primary-menu .menu-item-row {
    display: flex;
    align-items: stretch;
}
.primary-menu .menu-item-row > a {
    flex: 1 1 auto;
    min-width: 0;
}
.submenu-toggle {
    width: 34px;
    min-height: 40px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    border-radius: 9px;
    color: var(--teal);
    background: transparent;
    cursor: pointer;
}
.submenu-toggle:hover,
.submenu-toggle:focus-visible {
    color: var(--navy);
    background: #eef6f5;
    outline: 2px solid currentColor;
    outline-offset: -2px;
}
.submenu-toggle > span[aria-hidden="true"] {
    display: block;
    font-size: 14px;
    line-height: 1;
    transition: transform .18s ease;
}
.primary-menu li.submenu-open > .menu-item-row .submenu-toggle > span[aria-hidden="true"] {
    transform: rotate(180deg);
}
.primary-menu li.submenu-open > ul {
    display: block;
}

@media (min-width: 901px) {
    .primary-menu > li > .menu-item-row > .submenu-toggle {
        width: 28px;
        margin: 8px 4px 8px -8px;
        min-height: 38px;
    }
    .primary-menu ul .menu-item-row > .submenu-toggle {
        width: 34px;
        margin-right: 2px;
    }
    .primary-menu ul .submenu-toggle > span[aria-hidden="true"] {
        transform: rotate(-90deg);
    }
    .primary-menu ul li.submenu-open > .menu-item-row .submenu-toggle > span[aria-hidden="true"] {
        transform: rotate(90deg);
    }
}

@media (max-width: 900px) {
    .main-nav.open {
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .primary-menu ul {
        display: none;
        padding-left: 14px;
        border-left: 2px solid #dbe9e7;
    }
    .primary-menu li.submenu-open > ul {
        display: block;
    }
    .primary-menu .menu-item-row {
        width: 100%;
        align-items: center;
    }
    .primary-menu .menu-item-row > a {
        min-height: 45px;
    }
    .submenu-toggle {
        width: 44px;
        min-height: 44px;
        margin-left: 4px;
        border: 1px solid #dce8e7;
        background: #f7fbfa;
    }
}

/* v0.4.3 · Căutare unificată și registre publice */
.search-panel .container {
    grid-template-columns: auto minmax(260px, 1fr) auto auto;
}
.search-autocomplete {
    position: relative;
    min-width: 0;
}
.search-autocomplete > input {
    width: 100%;
}
.search-advanced-link {
    color: var(--teal);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.search-suggestions {
    position: absolute;
    z-index: 80;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    max-height: min(440px, 62vh);
    overflow-y: auto;
    padding: 8px;
    border: 1px solid #d7e4e4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(4, 46, 65, .2);
}
.search-suggestions[hidden] {
    display: none;
}
.search-suggestions a {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 2px 12px;
    padding: 11px 12px;
    border-radius: 10px;
}
.search-suggestions a:hover,
.search-suggestions a.active,
.search-suggestions a:focus-visible {
    outline: none;
    background: #edf7f5;
}
.search-suggestions span {
    grid-row: 1 / span 2;
    align-self: center;
    color: var(--teal);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.search-suggestions strong {
    overflow: hidden;
    color: var(--navy);
    font-size: 13px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search-suggestions small {
    overflow: hidden;
    color: var(--muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search-suggestions small:empty {
    display: none;
}

.search-page-section {
    min-height: 480px;
}
.unified-search-form {
    display: grid;
    grid-template-columns: minmax(260px, 1.65fr) minmax(160px, .75fr) minmax(180px, .9fr) minmax(100px, .4fr) minmax(135px, .55fr);
    gap: 14px;
    padding: 22px;
    border: 1px solid #d8e3e4;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 42px rgba(6, 57, 78, .08);
}
.unified-search-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: var(--navy);
    font-size: 11px;
    font-weight: 800;
}
.unified-search-form input,
.unified-search-form select {
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid #bccbce;
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
}
.unified-search-form input:focus,
.unified-search-form select:focus {
    border-color: var(--teal);
    outline: 3px solid rgba(18, 123, 133, .13);
}
.search-advanced {
    grid-column: 1 / -1;
    border-top: 1px solid #e5ecec;
    padding-top: 12px;
}
.search-advanced summary {
    width: max-content;
    color: var(--teal);
    cursor: pointer;
    font-size: 11px;
    font-weight: 850;
}
.search-advanced > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 14px;
    margin-top: 14px;
}
.unified-search-actions {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
}
.search-empty-guide {
    margin-top: 26px;
    padding: 42px;
    border: 1px dashed #b9c9cc;
    border-radius: 18px;
    text-align: center;
    background: rgba(255, 255, 255, .72);
}
.search-empty-guide h2 {
    margin: 0 0 8px;
    color: var(--navy);
    font-family: var(--font-display, Georgia, serif);
    font-size: 26px;
}
.search-empty-guide p {
    color: var(--muted);
}
.search-empty-guide > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin-top: 20px;
}
.search-empty-guide a,
.search-type-tabs a {
    border: 1px solid #d2e0e0;
    border-radius: 999px;
    background: #fff;
}
.search-empty-guide a {
    padding: 8px 13px;
    color: var(--teal);
    font-size: 11px;
    font-weight: 800;
}
.search-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 28px 0 14px;
    color: var(--muted);
    font-size: 11px;
}
.search-summary > div {
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.search-summary strong {
    color: var(--navy);
    font-size: 18px;
}
.search-type-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 0 0 13px;
    scrollbar-width: thin;
}
.search-type-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    padding: 8px 12px;
    color: #48636e;
    font-size: 10px;
    font-weight: 800;
}
.search-type-tabs a.active,
.search-type-tabs a:hover {
    border-color: var(--teal);
    color: #fff;
    background: var(--teal);
}
.search-type-tabs b {
    display: inline-grid;
    min-width: 23px;
    min-height: 23px;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: rgba(7, 58, 85, .08);
    font-size: 9px;
}
.search-type-tabs a.active b,
.search-type-tabs a:hover b {
    background: rgba(255, 255, 255, .18);
}
.unified-search-results {
    display: grid;
    gap: 12px;
}
.unified-search-result {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: start;
    padding: 22px;
    border: 1px solid #dce6e6;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(6, 57, 78, .045);
}
.unified-search-result:hover {
    border-color: #b7d2d1;
    box-shadow: 0 14px 34px rgba(6, 57, 78, .09);
    transform: translateY(-1px);
}
.search-result-type {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}
.search-result-type span {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--teal);
    background: #eaf5f3;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.search-result-type small {
    color: var(--muted);
    font-size: 9px;
}
.search-result-content h2 {
    margin: 0 0 6px;
    color: var(--navy);
    font-family: var(--font-display, Georgia, serif);
    font-size: 21px;
    line-height: 1.3;
}
.search-result-content h2 a:hover {
    color: var(--teal);
}
.search-result-content mark {
    padding: 0 .12em;
    border-radius: 3px;
    color: inherit;
    background: #ffe7a8;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.search-result-content > p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 12px;
}
.search-result-content .search-result-meta {
    margin-top: 0;
    color: #6d858e;
    font-size: 10px;
    font-weight: 700;
}
.search-result-open {
    align-self: center;
    padding: 8px 11px;
    border-radius: 9px;
    color: var(--teal);
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}
.search-result-open:hover {
    background: #edf7f5;
}

.registers-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 28px;
}
.registers-intro h2 {
    margin: 0;
    color: var(--navy);
    font-family: var(--font-display, Georgia, serif);
    font-size: 34px;
}
.registers-intro p:last-child {
    max-width: 720px;
    color: var(--muted);
}
.register-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.register-cards > a {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    min-height: 146px;
    padding: 22px;
    border: 1px solid #d9e4e5;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(6, 57, 78, .055);
}
.register-cards > a:hover {
    border-color: #a9ccca;
    box-shadow: 0 17px 40px rgba(6, 57, 78, .11);
    transform: translateY(-2px);
}
.register-cards i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--teal);
    background: #eaf5f3;
}
.register-cards i svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}
.register-cards span {
    display: flex;
    flex-direction: column;
}
.register-cards strong {
    color: var(--navy);
    font-family: var(--font-display, Georgia, serif);
    font-size: 20px;
}
.register-cards small {
    margin-top: 5px;
    color: var(--muted);
    font-size: 11px;
}
.register-cards em {
    margin-top: 9px;
    color: #799099;
    font-size: 9px;
    font-style: normal;
}
.register-cards b {
    min-width: 52px;
    color: var(--teal);
    font-family: var(--font-display, Georgia, serif);
    font-size: 26px;
    text-align: right;
}
.register-filter-form {
    display: grid;
    grid-template-columns: minmax(240px, 1.5fr) minmax(130px, .55fr) minmax(190px, .75fr) auto auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 20px;
    padding: 18px;
    border: 1px solid #d9e4e5;
    border-radius: 15px;
    background: #fff;
}
.register-filter-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: var(--navy);
    font-size: 11px;
    font-weight: 800;
}
.register-filter-form input,
.register-filter-form select {
    width: 100%;
    min-height: 44px;
    padding: 0 11px;
    border: 1px solid #bdcbce;
    border-radius: 9px;
    background: #fff;
}
.register-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}
.register-toolbar > div {
    display: flex;
    flex-direction: column;
}
.register-toolbar strong {
    color: var(--navy);
}
.register-toolbar span {
    color: var(--muted);
    font-size: 10px;
}
.register-table-wrap {
    overflow: hidden;
    border: 1px solid #d8e3e4;
    border-radius: 15px;
    background: #fff;
}
.register-table {
    width: 100%;
    border-collapse: collapse;
}
.register-table th,
.register-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #e4ebec;
    text-align: left;
    vertical-align: top;
}
.register-table th {
    color: #526c76;
    background: #edf5f4;
    font-size: 9px;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.register-table td {
    color: #4d6671;
    font-size: 11px;
}
.register-table td:first-child strong {
    color: var(--navy);
}
.register-table td:nth-child(3) {
    width: 45%;
}
.register-table td:nth-child(3) a {
    color: var(--navy);
    font-weight: 750;
}
.register-table td:nth-child(3) a:hover,
.register-open {
    color: var(--teal);
}
.register-open {
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

@media (max-width: 1050px) {
    .search-panel .container {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }
    .search-advanced-link {
        grid-column: 2;
    }
    .unified-search-form {
        grid-template-columns: 1fr 1fr;
    }
    .register-filter-form {
        grid-template-columns: 1fr 1fr 1fr;
    }
}


@media (max-width: 940px) and (min-width: 701px) {
    .document-viewer-dialog {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
    }

    .document-viewer-heading strong {
        font-size: 19px;
    }

    .document-viewer-external {
        width: 42px;
        padding: 0;
        overflow: hidden;
        color: transparent;
        font-size: 0;
    }

    .document-viewer-external::before {
        content: "↗";
        color: #fff;
        font-size: 20px;
    }
}

@media (max-width: 700px) {
    .search-panel .container {
        grid-template-columns: 1fr auto;
    }
    .search-panel label {
        grid-column: 1 / -1;
    }
    .search-autocomplete {
        grid-column: 1;
    }
    .search-advanced-link {
        grid-column: 1 / -1;
    }
    .search-suggestions {
        position: fixed;
        top: 145px;
        right: 14px;
        left: 14px;
        max-height: calc(100vh - 170px);
    }
    .search-suggestions a {
        grid-template-columns: 74px minmax(0, 1fr);
    }
    .unified-search-form,
    .search-advanced > div,
    .register-cards,
    .register-filter-form {
        grid-template-columns: 1fr;
    }
    .unified-search-actions {
        flex-direction: column;
    }
    .search-summary,
    .registers-intro,
    .register-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
    .search-summary > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }
    .unified-search-result {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    .search-result-type {
        flex-direction: row;
        align-items: center;
    }
    .search-result-open {
        justify-self: start;
        padding-left: 0;
    }
    .register-cards > a {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        min-height: 130px;
        padding: 18px;
    }
    .register-cards i {
        width: 46px;
        height: 46px;
    }
    .register-cards strong {
        font-size: 17px;
    }
    .register-table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
    }
    .register-table,
    .register-table tbody,
    .register-table tr,
    .register-table td {
        display: block;
        width: 100%;
    }
    .register-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }
    .register-table tr {
        margin-bottom: 12px;
        padding: 13px 15px;
        border: 1px solid #d8e3e4;
        border-radius: 13px;
        background: #fff;
    }
    .register-table td {
        display: grid;
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 10px;
        padding: 7px 0;
        border: 0;
    }
    .register-table td::before {
        content: attr(data-label);
        color: #71858d;
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .05em;
        text-transform: uppercase;
    }
    .register-table td:last-child {
        display: block;
        padding-top: 12px;
    }
}

body.high-contrast .search-suggestions,
body.high-contrast .unified-search-form,
body.high-contrast .unified-search-result,
body.high-contrast .register-cards > a,
body.high-contrast .register-filter-form,
body.high-contrast .register-table-wrap {
    border: 2px solid currentColor;
}

/* Accesibilitate și SEO – v0.4.4 */
.skip-link {
    position: fixed;
    z-index: 9999;
    top: 10px;
    left: 10px;
    padding: 12px 18px;
    border-radius: 9px;
    background: #fff;
    color: #06364d;
    font-weight: 850;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .28);
    transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.main-nav a[aria-current="page"],
.primary-menu a[aria-current="page"] {
    text-decoration: underline;
    text-decoration-color: var(--gold);
    text-decoration-thickness: 3px;
    text-underline-offset: 7px;
}
.official-inner button[aria-pressed="true"] {
    color: #062f43;
    background: #fff;
}
.button,
.menu-toggle,
.search-toggle,
.online-button,
.submenu-toggle,
.search-panel button,
.cookie-banner button,
.cookie-dialog button,
.footer-bottom button,
.pagination a {
    min-height: 42px;
}
button,
.button { touch-action: manipulation; }
.search-panel[hidden] { display: none !important; }
.error-page-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.error-search { max-width:720px; margin-top:28px; display:grid; grid-template-columns:1fr auto; gap:10px; }
.error-search input { min-height:48px; padding:10px 14px; border:1px solid var(--line); border-radius:10px; }
@media (max-width:600px) {
    .error-search { grid-template-columns:1fr; }
    .error-search button { width:100%; }
}
body.high-contrast .skip-link,
body.high-contrast .main-nav a[aria-current="page"],
body.high-contrast .primary-menu a[aria-current="page"] { outline-color: currentColor; }

/* v0.4.6.2 · alinierea uniformă a elementelor din meniul principal */
@media (min-width: 901px) {
    .primary-menu > li {
        display: flex;
        align-items: stretch;
    }

    .primary-menu > li > a,
    .primary-menu > li > .menu-item-row {
        height: 100%;
    }
}

/* v0.4.6.3 · axă verticală unică pentru toate opțiunile meniului principal */
@media (min-width: 901px) {
    .nav-inner,
    .primary-menu,
    .primary-menu > li {
        min-height: 58px;
        align-items: stretch;
    }

    .nav-inner > .nav-home,
    .primary-menu > li > a,
    .primary-menu > li > .menu-item-row,
    .primary-menu > li > .menu-item-row > a {
        min-height: 58px;
        height: auto;
        margin-top: 0;
        margin-bottom: 0;
    }

    .nav-inner > .nav-home,
    .primary-menu > li > a,
    .primary-menu > li > .menu-item-row > a {
        display: flex;
        align-items: center;
        line-height: 1.2;
    }

    .primary-menu > li > .menu-item-row {
        display: flex;
        align-items: stretch;
    }

    .primary-menu > li > .menu-item-row > .submenu-toggle {
        min-height: 58px;
        align-self: stretch;
        margin-top: 0;
        margin-bottom: 0;
    }
}

/* v0.4.6.8 · submeniu stilizat și registre dedicate Consiliului Local */
.menu-council-icon {
    width: 38px;
    height: 38px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 38px;
    border-radius: 11px;
    color: var(--teal);
    background: linear-gradient(145deg, #e9f6f3, #f7fbfa);
    border: 1px solid #d5eae6;
}
.menu-council-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.menu-council-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}
.menu-council-copy strong {
    color: var(--navy);
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}
.menu-council-copy small {
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.35;
}

@media (min-width: 901px) {
    .primary-menu > li.menu-council-panel > ul {
        left: -42px;
        width: min(720px, calc(100vw - 48px));
        min-width: 650px;
        padding: 16px;
        border: 1px solid #d6e7e6;
        border-radius: 0 0 20px 20px;
        background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(244,250,249,.99));
        box-shadow: 0 26px 65px rgba(6, 54, 77, .19);
    }
    .primary-menu > li.menu-council-panel:hover > ul,
    .primary-menu > li.menu-council-panel:focus-within > ul,
    .primary-menu > li.menu-council-panel.submenu-open > ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .primary-menu > li.menu-council-panel > ul > li {
        min-width: 0;
    }
    .primary-menu > li.menu-council-panel > ul > li[data-menu-kind="overview"] {
        grid-column: 1 / -1;
    }
    .primary-menu > li.menu-council-panel > ul > li > a {
        min-height: 68px;
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 11px 12px;
        border: 1px solid transparent;
        border-radius: 13px;
        white-space: normal;
        background: rgba(255,255,255,.72);
    }
    .primary-menu > li.menu-council-panel > ul > li > a::before {
        display: none;
    }
    .primary-menu > li.menu-council-panel > ul > li > a:hover,
    .primary-menu > li.menu-council-panel > ul > li > a:focus-visible,
    .primary-menu > li.menu-council-panel > ul > li > a[aria-current="page"] {
        border-color: #b9dcd7;
        background: #fff;
        box-shadow: 0 10px 28px rgba(6, 54, 77, .09);
        transform: translateY(-1px);
        text-decoration: none;
    }
    .primary-menu > li.menu-council-panel > ul > li[data-menu-kind="overview"] > a {
        min-height: 74px;
        background: linear-gradient(125deg, #edf8f5, #fff8e8);
        border-color: #d7e8e3;
    }
    .primary-menu > li.menu-council-panel > ul > li[data-menu-kind="overview"] .menu-council-icon {
        color: #fff;
        background: linear-gradient(135deg, var(--teal), var(--navy));
        border-color: transparent;
    }
}

.council-register-hero {
    background: linear-gradient(115deg, #06364d 0%, #08787d 72%, #159796 100%);
}
.council-register-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin: 0 0 24px;
}
.council-register-tabs a {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 13px 14px;
    border: 1px solid #d5e5e5;
    border-radius: 14px;
    color: var(--navy);
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 24px rgba(6,54,77,.06);
}
.council-register-tabs a:hover,
.council-register-tabs a:focus-visible,
.council-register-tabs a[aria-current="page"] {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--teal), var(--navy));
    box-shadow: 0 14px 32px rgba(6,54,77,.18);
    transform: translateY(-2px);
}
.council-register-tabs span {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
}
.council-register-tabs b {
    min-width: 34px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    padding: 0 7px;
    border-radius: 999px;
    color: var(--teal);
    background: #edf7f5;
    font-size: 10px;
}
.council-register-tabs a[aria-current="page"] b,
.council-register-tabs a:hover b,
.council-register-tabs a:focus-visible b {
    color: var(--navy);
    background: #fff;
}

@media (max-width: 1100px) {
    .council-register-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .primary-menu > li.menu-council-panel > ul {
        width: 100%;
        padding: 7px 0 7px 12px;
        border-left: 2px solid #cfe3df;
        background: transparent;
    }
    .primary-menu > li.menu-council-panel > ul > li > a {
        min-height: 58px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 8px 10px;
        border-radius: 11px;
    }
    .menu-council-copy small { display: block; }
}
@media (max-width: 680px) {
    .council-register-tabs { grid-template-columns: 1fr; }
    .council-register-tabs a { min-height: 58px; }
}

body.high-contrast .primary-menu > li.menu-council-panel > ul,
body.high-contrast .primary-menu > li.menu-council-panel > ul > li > a,
body.high-contrast .council-register-tabs a {
    border: 2px solid currentColor;
}

/* Vizualizator PDF pentru Regulamentul Consiliului Local */
body.document-viewer-open {
    overflow: hidden;
}

.document-viewer-dialog {
    position: relative;
    width: min(1180px, calc(100vw - 36px));
    height: min(860px, calc(100vh - 36px));
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(6, 54, 77, .2);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 35px 100px rgba(0, 28, 40, .45);
}

.document-viewer-dialog::backdrop {
    background: rgba(2, 28, 40, .72);
    backdrop-filter: blur(5px);
}

.document-viewer-shell {
    display: grid;
    grid-template-rows: auto 1fr;
    height: 100%;
}

.document-viewer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 76px;
    padding: 13px 74px 13px 20px;
    color: #fff;
    background: linear-gradient(110deg, var(--navy), var(--blue) 62%, var(--teal));
}

.document-viewer-heading,
.document-viewer-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.document-viewer-heading {
    min-width: 0;
    overflow: hidden;
}

.document-viewer-heading > div {
    min-width: 0;
    overflow: hidden;
}

.document-viewer-actions {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
}

.document-viewer-heading small {
    display: block;
    margin-bottom: 2px;
    color: #bfe4e3;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.document-viewer-heading strong {
    display: block;
    overflow: hidden;
    font-family: var(--font-display);
    font-size: clamp(18px, 2vw, 25px);
    font-weight: 560;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-viewer-icon {
    display: inline-grid;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 13px;
    color: #f5c767;
    background: rgba(255, 255, 255, .1);
}

.document-viewer-icon svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.document-viewer-external,
.document-viewer-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, .11);
}

.document-viewer-external {
    padding: 0 16px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.document-viewer-external:hover,
.document-viewer-close:hover {
    color: var(--navy);
    background: #fff;
}

/* v0.4.6.31.99: butonul de închidere este scos din fluxul flex al antetului.
   Astfel rămâne permanent vizibil chiar când titlul PDF-ului este foarte lung. */
.document-viewer-close {
    position: absolute;
    z-index: 12;
    top: 17px;
    right: 16px;
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    font-family: inherit;
    font-size: 29px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0, 25, 38, .16);
}

.document-viewer-close span {
    display: block;
    margin-top: -2px;
}

.document-viewer-close:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.document-viewer-body {
    position: relative;
    min-height: 0;
    background: #eef3f4;
}

.document-viewer-body iframe {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #fff;
}

.document-viewer-fallback {
    position: absolute;
    z-index: 1;
    inset: 50% auto auto 50%;
    width: min(520px, calc(100% - 40px));
    margin: 0;
    color: var(--muted);
    text-align: center;
    transform: translate(-50%, -50%);
}

.menu-council-link[data-menu-kind="regulation"] > a::after {
    content: "PDF";
    align-self: center;
    margin-left: auto;
    padding: 3px 7px;
    border-radius: 999px;
    color: #8b5a00;
    background: var(--gold-soft);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}

@media (max-width: 700px) {
    .document-viewer-dialog {
        width: 100vw;
        height: 100dvh;
        border: 0;
        border-radius: 0;
    }

    .document-viewer-header {
        min-height: 70px;
        padding: 10px 62px 10px 12px;
    }

    .document-viewer-close {
        top: 14px;
        right: 10px;
        width: 44px;
        height: 44px;
        min-height: 44px;
    }

    .document-viewer-icon {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }

    .document-viewer-heading strong {
        max-width: 54vw;
        font-size: 17px;
    }

    .document-viewer-external {
        width: 42px;
        padding: 0;
        overflow: hidden;
        color: transparent;
        font-size: 0;
    }

    .document-viewer-external::before {
        content: "↗";
        color: #fff;
        font-size: 20px;
    }

    .document-viewer-external:hover::before {
        color: var(--navy);
    }

}

@media (prefers-reduced-motion: reduce) {
    .document-viewer-dialog::backdrop {
        backdrop-filter: none;
    }
}


/* v0.4.6.25.4 · iconițe configurabile și submeniu Primăria stilizat */
.menu-item-icon {
    width: 38px;
    height: 38px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 38px;
    border-radius: 11px;
    color: var(--teal);
    background: linear-gradient(145deg, #e9f6f3, #f7fbfa);
    border: 1px solid #d5eae6;
}
.menu-item-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.menu-item-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}
.menu-item-copy strong {
    color: var(--navy);
    font-family: var(--font-sans);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}
.menu-item-copy small {
    color: var(--muted);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.35;
}
.primary-menu ul li.menu-rich-link > a {
    display: flex;
    align-items: center;
    gap: 10px;
}
.primary-menu > li.menu-rich-link > a,
.primary-menu > li.menu-rich-link > .menu-item-row > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.primary-menu > li.menu-rich-link .menu-item-icon {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
    border: 0;
    border-radius: 8px;
    background: #edf7f5;
}
.primary-menu > li.menu-rich-link .menu-item-icon svg {
    width: 15px;
    height: 15px;
}
.primary-menu > li.menu-rich-link > a .menu-item-copy small,
.primary-menu > li.menu-rich-link > .menu-item-row > a .menu-item-copy small {
    display: none;
}
.primary-menu > li.menu-rich-link > a .menu-item-copy strong,
.primary-menu > li.menu-rich-link > .menu-item-row > a .menu-item-copy strong {
    color: inherit;
    font-size: inherit;
}

@media (min-width: 901px) {
    .primary-menu > li.menu-institution-panel > ul {
        left: -45px;
        width: min(790px, calc(100vw - 48px));
        min-width: 700px;
        padding: 16px;
        border: 1px solid #d6e7e6;
        border-radius: 0 0 20px 20px;
        background: linear-gradient(145deg, rgba(255,255,255,.99), rgba(244,250,249,.99));
        box-shadow: 0 26px 65px rgba(6, 54, 77, .19);
    }
    .primary-menu > li.menu-institution-panel:hover > ul,
    .primary-menu > li.menu-institution-panel:focus-within > ul,
    .primary-menu > li.menu-institution-panel.submenu-open > ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .primary-menu > li.menu-institution-panel > ul > li {
        min-width: 0;
    }
    .primary-menu > li.menu-institution-panel > ul > li > a {
        min-height: 70px;
        display: flex;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 11px 12px;
        border: 1px solid transparent;
        border-radius: 13px;
        white-space: normal;
        background: rgba(255,255,255,.76);
    }
    .primary-menu > li.menu-institution-panel > ul > li > a::before {
        display: none;
    }
    .primary-menu > li.menu-institution-panel > ul > li > a:hover,
    .primary-menu > li.menu-institution-panel > ul > li > a:focus-visible,
    .primary-menu > li.menu-institution-panel > ul > li > a[aria-current="page"] {
        border-color: #b9dcd7;
        background: #fff;
        box-shadow: 0 10px 28px rgba(6, 54, 77, .09);
        transform: translateY(-1px);
        text-decoration: none;
    }
    .primary-menu > li.menu-institution-panel > ul > li[data-menu-kind="mayor"] .menu-item-icon,
    .primary-menu > li.menu-institution-panel > ul > li[data-menu-kind="deputy"] .menu-item-icon,
    .primary-menu > li.menu-institution-panel > ul > li[data-menu-kind="secretary"] .menu-item-icon {
        color: #fff;
        border-color: transparent;
        background: linear-gradient(135deg, var(--teal), var(--navy));
    }
    .primary-menu > li.menu-institution-panel > ul > li[data-menu-kind="briefcase"] > a {
        background: linear-gradient(125deg, #edf8f5, #fff8e8);
        border-color: #d7e8e3;
    }
    .primary-menu > li.menu-institution-panel > ul > li > a[href*="/document/"]::after {
        content: "PDF";
        align-self: center;
        margin-left: auto;
        padding: 4px 7px;
        border-radius: 999px;
        color: #7a5500;
        background: #ffe9a9;
        font-size: 8px;
        font-weight: 850;
        letter-spacing: .06em;
    }
}

@media (max-width: 900px) {
    .primary-menu > li.menu-institution-panel > ul {
        width: 100%;
        padding: 7px 0 7px 12px;
        border-left: 2px solid #cfe3df;
        background: transparent;
    }
    .primary-menu > li.menu-institution-panel > ul > li > a,
    .primary-menu ul li.menu-rich-link > a {
        min-height: 58px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 8px 10px;
        border-radius: 11px;
    }
    .primary-menu > li.menu-rich-link > a .menu-item-copy small,
    .primary-menu > li.menu-rich-link > .menu-item-row > a .menu-item-copy small,
    .menu-item-copy small {
        display: block;
    }
}

body.high-contrast .primary-menu > li.menu-institution-panel > ul,
body.high-contrast .primary-menu > li.menu-institution-panel > ul > li > a,
body.high-contrast .menu-item-icon {
    border: 2px solid currentColor;
}

/* v0.4.6.31.15 — centru de acces rapid și căutare pe pagina Acasă */
.home-task-hub {
    position: relative;
    padding: 66px 0 72px;
    overflow: hidden;
    border-top: 1px solid #dce8e6;
    border-bottom: 1px solid #dce8e6;
    background:
        radial-gradient(circle at 8% 0%, rgba(15, 139, 135, .10), transparent 34%),
        linear-gradient(180deg, #f9fcfb 0%, #eef6f4 100%);
}
.home-task-hub::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    right: -180px;
    bottom: -190px;
    border: 1px solid rgba(6, 74, 91, .10);
    border-radius: 50%;
    pointer-events: none;
}
.home-task-hub > .container {
    position: relative;
    z-index: 1;
}
.home-task-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 430px);
    align-items: end;
    gap: 52px;
    margin-bottom: 30px;
}
.home-task-top > div:first-child {
    max-width: 670px;
}
.home-task-top h2 {
    margin: 5px 0 9px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: clamp(34px, 4vw, 50px);
    font-variation-settings: "wght" 570;
    letter-spacing: -.03em;
    line-height: 1.02;
}
.home-task-top p:not(.eyebrow) {
    max-width: 620px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
}
.home-service-search {
    padding: 18px;
    border: 1px solid rgba(6, 74, 91, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 14px 34px rgba(5, 53, 71, .08);
}
.home-service-search > label {
    display: block;
    margin-bottom: 8px;
    color: var(--navy);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.home-service-search > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid #c9d9d7;
    border-radius: 11px;
    background: #fff;
}
.home-service-search input {
    min-width: 0;
    height: 47px;
    border: 0;
    outline: 0;
    padding: 0 14px;
    color: var(--ink);
    background: transparent;
    font: inherit;
    font-size: 12px;
}
.home-service-search input:focus {
    box-shadow: inset 0 0 0 2px rgba(10, 126, 126, .22);
}
.home-service-search button {
    min-width: 84px;
    border: 0;
    padding: 0 16px;
    color: #fff;
    background: var(--teal);
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}
.home-service-search button:hover {
    background: var(--navy);
}
.home-service-search small {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.45;
}
.home-task-hub .citizen-services-grid {
    gap: 14px;
}
.home-task-hub .citizen-services-grid.services-limit-4,
.home-task-hub .citizen-services-grid.services-limit-8 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.home-task-hub .citizen-services-grid.services-limit-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.home-task-hub .citizen-service-card {
    position: relative;
    min-height: 132px;
    padding: 20px;
    border-color: rgba(8, 81, 91, .11);
    background: rgba(255, 255, 255, .94);
}
.home-task-hub .citizen-service-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    border-radius: 18px 0 0 18px;
    background: linear-gradient(180deg, var(--gold), var(--teal));
    opacity: 0;
    transition: opacity .2s ease;
}
.home-task-hub .citizen-service-card:hover::before,
.home-task-hub .citizen-service-card:focus-visible::before {
    opacity: 1;
}
.home-task-hub .citizen-service-card i {
    width: 48px;
    height: 48px;
    border-radius: 14px;
}
.home-task-hub .citizen-service-card strong {
    font-size: 17px;
}
.home-services-footer {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.home-services-footer > span {
    color: var(--muted);
    font-size: 10px;
}
.home-services-footer > span a {
    color: var(--teal);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}
@media (max-width: 1120px) {
    .home-task-top {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 390px);
        gap: 30px;
    }
    .home-task-hub .citizen-services-grid.services-limit-4,
    .home-task-hub .citizen-services-grid.services-limit-6,
    .home-task-hub .citizen-services-grid.services-limit-8 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 780px) {
    .home-task-hub {
        padding: 54px 0 58px;
    }
    .home-task-top {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 24px;
    }
    .home-services-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }
}
@media (max-width: 560px) {
    .home-task-hub .citizen-services-grid.services-limit-4,
    .home-task-hub .citizen-services-grid.services-limit-6,
    .home-task-hub .citizen-services-grid.services-limit-8 {
        grid-template-columns: 1fr;
    }
    .home-task-hub .citizen-service-card {
        min-height: 116px;
        grid-template-columns: 46px minmax(0, 1fr) auto;
        padding: 17px;
    }
    .home-service-search > div {
        grid-template-columns: 1fr;
    }
    .home-service-search input {
        height: 45px;
    }
    .home-service-search button {
        min-height: 42px;
    }
}
body.high-contrast .home-task-hub,
body.high-contrast .home-service-search,
body.high-contrast .home-task-hub .citizen-service-card {
    color: #000;
    border-color: #000;
    background: #fff;
}
body.high-contrast .home-service-search > div {
    border-color: #000;
}
body.high-contrast .home-service-search button {
    color: #fff;
    background: #000;
}

/* v0.4.6.31.35 — deplasare finală suplimentară a meniului Acces rapid și a comenzilor sliderului */
@media (min-width: 901px) {
    .hero-section[data-hero-slider] .quick-card {
        transform: translateX(98px);
    }

    .hero-section[data-hero-slider] .hero-slider-controls {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(0, .72fr);
        column-gap: 74px;
        justify-content: normal;
    }

    .hero-section[data-hero-slider] .hero-slider-controls-inner {
        grid-column: 2;
        justify-self: center;
        transform: translateX(98px);
    }
}

@media (min-width: 901px) and (max-width: 1050px) {
    .hero-section[data-hero-slider] .quick-card {
        transform: translateX(48px);
    }

    .hero-section[data-hero-slider] .hero-slider-controls {
        column-gap: 42px;
    }

    .hero-section[data-hero-slider] .hero-slider-controls-inner {
        transform: translateX(48px);
    }
}

@media (max-width: 900px) {
    .hero-section[data-hero-slider] .quick-card,
    .hero-section[data-hero-slider] .hero-slider-controls-inner {
        transform: none;
    }

    .hero-section[data-hero-slider] .hero-slider-controls {
        display: flex;
        justify-content: center;
    }
}

@media (min-width: 901px) {
    .hero-section.no-quick-card[data-hero-slider] .hero-slider-controls {
        display: flex;
        justify-content: flex-end;
    }
    .hero-section.no-quick-card[data-hero-slider] .hero-slider-controls-inner {
        transform: none;
    }
}

/* v0.4.6.31.55.1 · corectarea suprapunerii sugestiilor de căutare peste meniul principal */
.site-header {
    isolation: isolate;
    overflow: visible;
}
.search-panel {
    position: relative;
    z-index: 120;
    overflow: visible;
}
.search-panel > .container,
.search-autocomplete {
    overflow: visible;
}
.main-nav {
    position: relative;
    z-index: 40;
}

/* v0.4.6.31.55.2 · sugestiile sunt randate într-un strat global, independent de meniul principal */
.search-suggestions.search-suggestions-portal {
    position: fixed !important;
    z-index: 2147483000 !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
}

/* v0.4.6.31.59 · marcaj automat „Ultima actualizare” */
.footer-last-update {
    position: relative;
    z-index: 1;
    margin-top: 9px;
    color: rgba(224,240,243,.66);
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .01em;
}
.footer-last-update time {
    color: rgba(255,255,255,.88);
    font-variant-numeric: tabular-nums;
}
@media (max-width: 600px) {
    .footer-last-update { margin-top: 11px; }
}

/* v0.4.6.31.60 · trasee de interes, repere locale și buton UP */
.home-audiences-section {
    position: relative;
    padding: 58px 0 62px;
    overflow: hidden;
    border-bottom: 1px solid #e6eceb;
    background: linear-gradient(180deg, #f9fbfa 0%, #f2f7f5 100%);
}
.home-audiences-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 25px;
}
.home-audiences-heading > div { max-width: 760px; }
.home-audiences-heading h2 {
    margin: 5px 0 8px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: clamp(32px, 3.7vw, 48px);
    font-variation-settings: "wght" 560;
    letter-spacing: -.03em;
    line-height: 1.04;
}
.home-audiences-heading p:not(.eyebrow) {
    max-width: 680px;
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}
.home-audiences-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.home-audience-card {
    --audience-accent: var(--teal);
    position: relative;
    min-height: 178px;
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    overflow: hidden;
    padding: 22px 20px;
    border: 1px solid #dce8e6;
    border-radius: 20px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 13px 34px rgba(6,54,77,.065);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.home-audience-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4px;
    background: var(--audience-accent);
}
.home-audience-card.accent-gold { --audience-accent: #c99431; }
.home-audience-card.accent-blue { --audience-accent: #2d7290; }
.home-audience-card.accent-navy { --audience-accent: #073a55; }
.home-audience-card:hover,
.home-audience-card:focus-visible {
    border-color: color-mix(in srgb, var(--audience-accent) 40%, #dce8e6);
    box-shadow: 0 20px 44px rgba(6,54,77,.12);
    transform: translateY(-4px);
}
.home-audience-card > i {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--audience-accent);
    background: color-mix(in srgb, var(--audience-accent) 9%, white);
}
.home-audience-card > i svg,
.home-stat-card > i svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.home-audience-card > span { min-width: 0; display: flex; flex-direction: column; }
.home-audience-card strong {
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 20px;
    font-variation-settings: "wght" 590;
    line-height: 1.08;
}
.home-audience-card small {
    margin-top: 8px;
    color: var(--muted);
    font-size: 10.5px;
    line-height: 1.55;
}
.home-audience-card > b {
    margin-top: 15px;
    color: var(--audience-accent);
    font-size: 19px;
    transition: transform .2s ease;
}
.home-audience-card:hover > b { transform: translateX(3px); }

.home-stats-section {
    padding: 68px 0 72px;
    border-top: 1px solid #e4ebe9;
    border-bottom: 1px solid #e4ebe9;
    background: linear-gradient(135deg, #f7f2e7 0%, #fbfaf6 48%, #eff7f5 100%);
}
.home-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: 16px;
}
.home-stat-card {
    min-height: 178px;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    padding: 24px;
    border: 1px solid rgba(7,58,85,.09);
    border-radius: 21px;
    color: inherit;
    background: rgba(255,255,255,.88);
    box-shadow: 0 14px 34px rgba(7,58,85,.055);
}
.home-stat-card[href]:hover,
.home-stat-card[href]:focus-visible { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(7,58,85,.1); }
.home-stat-card > i {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    color: #a97820;
    background: #fbefd4;
}
.home-stat-card > span { display: flex; flex-direction: column; min-width: 0; }
.home-stat-card strong {
    color: var(--teal);
    font-family: var(--font-display);
    font-size: clamp(34px, 4vw, 48px);
    font-variation-settings: "wght" 610;
    letter-spacing: -.035em;
    line-height: .95;
}
.home-stat-card b {
    margin-top: 7px;
    color: var(--navy);
    font-family: var(--font-display);
    font-size: 17px;
    font-variation-settings: "wght" 600;
    line-height: 1.15;
}
.home-stat-card small {
    margin-top: 9px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.55;
}

.back-to-top {
    --back-top-bottom: 24px;
    position: fixed;
    z-index: 1150;
    right: 22px;
    bottom: var(--back-top-bottom);
    width: 52px;
    height: 52px;
    display: grid;
    grid-template-rows: 20px 12px;
    place-content: center;
    gap: 1px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 50%;
    color: #fff;
    background: rgba(5,47,69,.94);
    box-shadow: 0 12px 34px rgba(0,28,40,.28);
    backdrop-filter: blur(8px);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background .2s ease, bottom .2s ease;
}
.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
.back-to-top:hover,
.back-to-top:focus-visible { background: #087b7c; }
.back-to-top svg {
    width: 21px;
    height: 21px;
    margin: 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.back-to-top span { font-size: 8px; font-weight: 900; letter-spacing: .13em; line-height: 1; }
body.high-contrast .home-audience-card,
body.high-contrast .home-stat-card { border: 2px solid currentColor; }
body.high-contrast .back-to-top { border: 2px solid #fff; background: #000; }

@media (max-width: 1050px) {
    .home-audiences-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .home-audiences-section { padding: 48px 0 52px; }
    .home-audiences-grid { grid-template-columns: 1fr; }
    .home-audience-card { min-height: 0; }
    .home-stats-section { padding: 52px 0 56px; }
    .home-stats-grid { grid-template-columns: 1fr; }
    .home-stat-card { min-height: 0; }
    .back-to-top { right: 12px; width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-audience-card,
    .home-stat-card,
    .back-to-top { transition: none !important; transform: none !important; }
}
/* v0.4.6.31.61 · logo turism mărit discret în cardul „Tradiție, patrimoniu și dezvoltare” */

/* v0.4.6.31.70 — Govora în detalii · restabilire cadrare statuie cu harpă */
.home-details-section {
    position: relative;
    padding: 82px 0 88px;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 10%, rgba(8,126,128,.08), transparent 28%),
        linear-gradient(180deg,#fbfaf6 0%,#f5f1e8 100%);
}
.home-details-section::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -170px;
    bottom: -230px;
    border: 1px solid rgba(5,76,92,.10);
    border-radius: 50%;
    pointer-events: none;
}
.home-details-section .container { position: relative; z-index: 1; }
.details-heading { margin-bottom: 30px; }
.home-details-mosaic {
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr));
    grid-template-rows: repeat(2,250px);
    gap: 14px;
}
.home-detail-card {
    position: relative;
    overflow: hidden;
    margin: 0;
    min-width: 0;
    border-radius: 22px;
    background: #dfe9e6;
    box-shadow: 0 16px 36px rgba(7,50,61,.10);
}
.home-detail-card.columns { grid-column: 1 / span 4; grid-row: 1 / span 2; }
.home-detail-card.lilies { grid-column: 5 / span 5; grid-row: 1; }
.home-detail-card.wood { grid-column: 10 / span 3; grid-row: 1; }
.home-detail-card.ornament { grid-column: 5 / span 3; grid-row: 2; }
.home-detail-card.capital { grid-column: 8 / span 3; grid-row: 2; }
.home-detail-card.art { grid-column: 11 / span 2; grid-row: 2; }
.home-detail-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease, filter .55s ease;
    cursor: zoom-in;
}
.home-detail-card.columns img { object-position: center 42%; }
.home-detail-card.lilies img { object-position: center 46%; }
.home-detail-card.wood img { object-position: center 34%; }
.home-detail-card.ornament img { object-position: center 10%; }
.home-detail-card.capital img { object-position: center center; }
.home-detail-card.art img { object-position: center 34%; }
.home-detail-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,transparent 46%,rgba(2,31,42,.70) 100%);
    pointer-events: none;
}
.home-detail-card figcaption {
    position: absolute;
    z-index: 2;
    left: 18px;
    right: 18px;
    bottom: 16px;
    color: #fff;
}
.home-detail-card figcaption span {
    display: inline-block;
    max-width: 100%;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .02em;
    line-height: 1.25;
    text-shadow: 0 2px 12px rgba(0,0,0,.28);
}
.home-detail-card:hover img {
    transform: scale(1.045);
    filter: saturate(1.04) contrast(1.02);
}
.home-details-note {
    display: flex;
    justify-content: center;
    padding-top: 20px;
    color: #577079;
    font-family: var(--font-display);
    font-size: 13px;
    font-style: italic;
    text-align: center;
}
@media (max-width: 1040px) {
    .home-details-mosaic {
        grid-template-columns: repeat(2,minmax(0,1fr));
        grid-template-rows: 320px repeat(2,220px);
    }
    .home-detail-card.columns { grid-column: 1; grid-row: 1; }
    .home-detail-card.lilies { grid-column: 2; grid-row: 1; }
    .home-detail-card.wood { grid-column: 1; grid-row: 2; }
    .home-detail-card.ornament { grid-column: 2; grid-row: 2; }
    .home-detail-card.capital { grid-column: 1; grid-row: 3; }
    .home-detail-card.art { grid-column: 2; grid-row: 3; }
}
@media (max-width: 680px) {
    .home-details-section { padding: 56px 0 60px; }
    .home-details-mosaic {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-rows: 245px;
        gap: 11px;
    }
    .home-detail-card.columns,
    .home-detail-card.lilies,
    .home-detail-card.wood,
    .home-detail-card.ornament,
    .home-detail-card.capital,
    .home-detail-card.art { grid-column: auto; grid-row: auto; }
    .home-detail-card.columns { grid-row: span 2; }
    .home-detail-card { border-radius: 18px; }
}

/* v0.4.6.31.71 — Patrimoniu viu / surse locale externe */
.home-heritage-live-section{position:relative;overflow:hidden;padding:74px 0 76px;background:linear-gradient(135deg,#063f55 0%,#087877 58%,#0a6f70 100%);color:#fff}.home-heritage-live-section::before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-190px;top:-210px}.home-heritage-live-section::after{content:"";position:absolute;width:250px;height:250px;border:44px solid rgba(255,255,255,.035);border-radius:50%;left:-120px;bottom:-150px}.home-heritage-live-section .container{position:relative;z-index:1}.heritage-live-heading{margin-bottom:28px}.heritage-live-heading p{max-width:690px;color:rgba(255,255,255,.78)}.home-heritage-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-heritage-live-card{position:relative;overflow:hidden;display:flex;min-height:265px;flex-direction:column;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:23px;background:rgba(255,255,255,.09);box-shadow:0 18px 36px rgba(0,35,48,.14);color:#fff;text-decoration:none;backdrop-filter:blur(5px);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.home-heritage-live-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.14);box-shadow:0 24px 44px rgba(0,35,48,.2)}.home-heritage-live-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:22px;border:1px solid rgba(255,255,255,.22);border-radius:17px;background:rgba(255,255,255,.1)}.home-heritage-live-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.65}.home-heritage-live-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:10px}.home-heritage-live-meta b{padding:5px 8px;border-radius:999px;background:#f0b542;color:#073e55;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.home-heritage-live-meta time{color:rgba(255,255,255,.74);font-size:10px;font-weight:800}.home-heritage-live-card>strong{font-size:21px;line-height:1.22}.home-heritage-live-card>small{display:block;margin:10px 0 20px;color:rgba(255,255,255,.78);font-size:12px;line-height:1.65}.home-heritage-live-source{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;border-top:1px solid rgba(255,255,255,.15);color:#fff;font-size:10px;font-weight:900}.home-heritage-live-source i{font-style:normal;font-size:14px}.home-heritage-live-note{margin:18px 0 0;color:rgba(255,255,255,.6);font-size:10px;font-style:italic;text-align:center}@media(max-width:980px){.home-heritage-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-heritage-live-card:last-child:nth-child(odd){grid-column:1/-1;min-height:220px}}@media(max-width:680px){.home-heritage-live-section{padding:54px 0 58px}.home-heritage-live-grid{grid-template-columns:1fr}.home-heritage-live-card:last-child:nth-child(odd){grid-column:auto}.home-heritage-live-card{min-height:0}.home-heritage-live-icon{margin-bottom:16px}}

/* v0.4.6.31.81 — pagini interne de detaliu pentru toate evenimentele */
.past-events-list h3 a{color:inherit;text-decoration:none}.past-events-list h3 a:hover{color:var(--teal)}
.event-detail-hero{padding-bottom:52px}.event-detail-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.event-detail-hero-row h1{max-width:980px;margin-top:14px}.event-detail-status{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.event-detail-status.past{background:rgba(255,255,255,.15);color:#fff}.event-detail-status.upcoming{background:#f3c354;color:#173942}.event-detail-section{background:#f7faf9}.event-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start}.event-detail-main{min-width:0}.event-detail-image{overflow:hidden;margin:0 0 28px;border-radius:24px;background:#e7f0ef;box-shadow:0 18px 44px rgba(15,55,62,.12)}.event-detail-image img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:#eef4f2}.event-detail-copy{padding:4px 4px 0}.event-detail-copy h2{margin-top:0}.event-detail-lead{font-size:18px;line-height:1.72;color:#365860}.event-detail-source-note{margin-top:28px;color:#667d82;font-size:13px}.event-detail-aside{position:sticky;top:110px;display:grid;gap:12px}.event-detail-info-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;align-items:center;padding:16px;border:1px solid #d9e6e4;border-radius:17px;background:#fff;box-shadow:0 10px 26px rgba(15,55,62,.06)}.event-detail-info-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e5f3f0;color:var(--teal)}.event-detail-info-card svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.event-detail-info-card small{display:block;margin-bottom:4px;color:#75888c;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.event-detail-info-card strong{display:block;color:var(--navy);font-size:14px;line-height:1.35}
@media(max-width:900px){.event-detail-layout{grid-template-columns:1fr}.event-detail-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.event-detail-hero-row{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.event-detail-aside{grid-template-columns:1fr}.event-detail-hero{padding-bottom:38px}.event-detail-lead{font-size:16px}.event-detail-image{border-radius:18px}}

/* v0.4.6.31.96 — Documente recente relocate sub Anunțuri publice */
.home-recent-documents-section {
    position: relative;
    padding: 72px 0 78px;
    background:
        radial-gradient(circle at 92% 12%, rgba(8,127,130,.07), transparent 27%),
        linear-gradient(180deg, #fbfdfc 0%, #f5f8f6 100%);
    border-top: 1px solid rgba(8,127,130,.07);
    border-bottom: 1px solid rgba(8,127,130,.08);
}
.home-recent-documents-section .home-section-heading { margin-bottom: 24px; }
.home-recent-documents-section .home-section-heading p:not(.eyebrow) {
    max-width: 680px;
    margin: 8px 0 0;
    color: var(--muted);
}
.home-recent-documents-list {
    overflow: hidden;
    border: 1px solid rgba(199,218,218,.95);
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 20px 50px rgba(5,55,75,.06);
}
.home-recent-documents-list > a {
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) auto;
    align-items: center;
    gap: 16px;
    min-height: 78px;
    padding: 12px 18px;
    border-bottom: 1px solid #e3ecec;
    transition: background .2s ease, transform .2s ease;
}
.home-recent-documents-list > a:last-child { border-bottom: 0; }
.home-recent-documents-list > a:hover,
.home-recent-documents-list > a:focus-visible {
    background: #f4faf8;
}
.home-recent-document-badge {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(145deg,#e2f3f0,#f4faf8);
    color: var(--teal);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .02em;
}
.home-recent-document-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.home-recent-document-copy strong {
    color: var(--navy);
    font-size: 14px;
    line-height: 1.35;
}
.home-recent-document-copy small {
    color: #748891;
    font-size: 10px;
}
.home-recent-documents-list > a > b {
    color: var(--teal);
    font-size: 13px;
}

/* Cardul de identitate locală este mutat lângă secțiunea de patrimoniu. */
.govora-panel.govora-panel-wide {
    min-height: 245px;
    margin-top: 32px;
    padding: 38px 42px;
    justify-content: center;
    align-items: flex-start;
}
.govora-panel.govora-panel-wide > .govora-panel-logo {
    position: absolute;
    z-index: 0;
    top: 50%;
    right: 42px;
    width: min(250px, 28%);
    transform: translateY(-50%);
    opacity: .22;
}
.govora-panel.govora-panel-wide p,
.govora-panel.govora-panel-wide h2,
.govora-panel.govora-panel-wide span,
.govora-panel.govora-panel-wide a {
    max-width: 62%;
}
.govora-panel.govora-panel-wide h2 {
    margin: 2px 0 0;
    font-size: clamp(30px,3vw,44px);
}
.govora-panel.govora-panel-wide > span {
    margin: 7px 0 18px;
    font-size: 13px;
}

body.high-contrast .home-recent-documents-section,
body.high-contrast .home-recent-documents-list { background: #fff; }
body.high-contrast .home-recent-documents-list { border: 2px solid #000; }

@media (max-width: 760px) {
    .home-recent-documents-section { padding: 54px 0 58px; }
    .home-recent-documents-list > a {
        grid-template-columns: 48px minmax(0,1fr) auto;
        gap: 12px;
        padding: 12px 13px;
    }
    .home-recent-document-badge { width: 44px; height: 44px; }
    .govora-panel.govora-panel-wide {
        min-height: 330px;
        padding: 32px 28px;
        justify-content: flex-end;
    }
    .govora-panel.govora-panel-wide > .govora-panel-logo {
        top: 28px;
        right: 24px;
        width: min(190px, 52%);
        transform: none;
    }
    .govora-panel.govora-panel-wide p,
    .govora-panel.govora-panel-wide h2,
    .govora-panel.govora-panel-wide span,
    .govora-panel.govora-panel-wide a { max-width: 100%; }
}


/* v0.4.6.31.97 — informații utile în Contact + bandă compactă pe Acasă */
.home-contact-strip-section {
    padding: 24px 0 28px;
    background: linear-gradient(180deg, #f8fbfa 0%, #eef6f4 100%);
    border-top: 1px solid rgba(211,226,226,.85);
}
.home-contact-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #d5e4e1;
    border-radius: 20px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 34px rgba(15,55,62,.08);
}
.home-contact-strip > a {
    position: relative;
    min-width: 0;
    min-height: 96px;
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) 16px;
    gap: 13px;
    align-items: center;
    padding: 18px 17px;
    border-right: 1px solid #e2ecea;
    transition: background .2s ease, transform .2s ease;
}
.home-contact-strip > a:last-child { border-right: 0; }
.home-contact-strip > a:hover,
.home-contact-strip > a:focus-visible { background: #f0f8f6; }
.home-contact-strip i {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--teal);
    background: #e5f3f0;
}
.home-contact-strip svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.home-contact-strip span { min-width: 0; display: grid; gap: 3px; }
.home-contact-strip strong { color: var(--navy); font-family: var(--font-display); font-size: 17px; line-height: 1.15; }
.home-contact-strip small { overflow: hidden; color: #687d82; font-size: 10px; line-height: 1.35; text-overflow: ellipsis; }
.home-contact-strip b { color: var(--teal); font-size: 13px; }

.contact-useful-section {
    margin: 30px 0;
    padding: 34px;
    border: 1px solid #d8e6e3;
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #f5faf8, #fffdf7);
    box-shadow: var(--shadow-sm);
    scroll-margin-top: 110px;
}
.contact-useful-heading { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.contact-useful-heading h2 { margin: 0 0 8px; color: var(--navy); font-family: var(--font-display); font-size: 34px; letter-spacing: -.02em; }
.contact-useful-heading p:not(.eyebrow) { margin: 0; color: var(--muted); }
.contact-useful-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.contact-useful-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 50px minmax(0,1fr);
    gap: 14px;
    padding: 19px;
    border: 1px solid #dbe7e5;
    border-radius: 16px;
    background: rgba(255,255,255,.94);
}
.contact-useful-card > i { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,var(--teal),var(--navy)); }
.contact-useful-card svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.contact-useful-card h3 { margin: 1px 0 6px; color: var(--navy); font-family: var(--font-display); font-size: 19px; line-height: 1.15; }
.contact-useful-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.contact-useful-actions { display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 10px; }
.contact-useful-actions a { color: var(--teal); font-size: 10px; font-weight: 850; overflow-wrap: anywhere; }
#program-cu-publicul, #informatii-utile { scroll-margin-top: 110px; }

@media (max-width: 900px) {
    .home-contact-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .home-contact-strip > a:nth-child(2) { border-right: 0; }
    .home-contact-strip > a:nth-child(-n+2) { border-bottom: 1px solid #e2ecea; }
}
@media (max-width: 680px) {
    .home-contact-strip-section { padding: 18px 0 22px; }
    .home-contact-strip { grid-template-columns: 1fr; border-radius: 17px; }
    .home-contact-strip > a { min-height: 82px; border-right: 0; border-bottom: 1px solid #e2ecea; }
    .home-contact-strip > a:nth-child(2) { border-right: 0; }
    .home-contact-strip > a:last-child { border-bottom: 0; }
    .contact-useful-section { padding: 24px 18px; }
    .contact-useful-grid { grid-template-columns: 1fr; }
    .contact-useful-heading h2 { font-size: 29px; }
}

/* v0.4.6.31.148 · meniu principal desktop mai compact, fără schimbarea tipografiei sau a structurii */
@media (min-width: 901px) {
    .nav-inner {
        gap: 0;
    }

    .nav-inner > .nav-home,
    .primary-menu > li > a,
    .primary-menu > li > .menu-item-row > a {
        padding-left: 9px;
        padding-right: 9px;
    }

    .nav-home svg {
        margin-right: 5px;
    }

    .primary-menu > li.menu-rich-link > a,
    .primary-menu > li.menu-rich-link > .menu-item-row > a {
        gap: 5px;
    }

    .primary-menu > li > .menu-item-row > .submenu-toggle {
        width: 23px;
        margin-left: -6px;
        margin-right: 1px;
    }

    .nav-inner > .nav-home::before,
    .primary-menu > li > a::before,
    .primary-menu > li > .menu-item-row > a::before {
        left: 9px;
        right: 9px;
    }
}

/* v0.4.6.31.168 · corecție responsive Pagina Acasă / antet pe telefon
   Tema modernă este încărcată după site.css, deci reafirmăm explicit layout-ul mobil
   pentru a nu păstra grila desktop a hero-ului pe ecrane înguste. */
@media (max-width: 900px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .site-header,
    .official-bar,
    .main-nav,
    .hero-section {
        max-width: 100vw;
    }

    .hero-grid,
    .hero-section[data-hero-slider] .hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .hero-copy,
    .quick-card {
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    .hero-copy h1,
    .hero-copy > p:not(.eyebrow) {
        max-width: 100%;
    }

    .hero-section[data-hero-slider] .quick-card {
        margin-top: 30px;
        transform: none !important;
        justify-self: stretch;
    }
}

@media (max-width: 600px) {
    .container {
        width: calc(100% - 24px);
    }

    .brand-row {
        min-height: 86px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
    }

    .brand {
        min-width: 0;
    }

    .brand-copy {
        min-width: 0;
    }

    .brand-mark,
    .brand-mark:has(img) {
        width: 44px;
        height: 58px;
        margin-right: 8px;
        flex: 0 0 auto;
    }

    .brand-copy strong {
        max-width: 100%;
        font-size: 17px;
        line-height: 1.08;
        white-space: normal;
    }

    .header-tools {
        flex: 0 0 auto;
        gap: 6px;
    }

    .search-toggle,
    .menu-toggle {
        width: 44px;
        min-width: 44px;
        min-height: 44px;
    }

    .hero-section,
    .hero-grid {
        min-height: 0;
    }

    .hero-grid,
    .hero-section[data-hero-slider] .hero-grid {
        padding-top: 46px;
        padding-bottom: 88px;
    }

    .hero-copy h1 {
        font-size: clamp(34px, 11vw, 42px);
        line-height: 1.02;
        letter-spacing: -.035em;
        overflow-wrap: normal;
        word-break: normal;
        text-wrap: pretty;
    }

    .hero-copy > p:not(.eyebrow) {
        margin-top: 18px;
        font-size: 14px;
        line-height: 1.62;
    }

    .hero-copy .eyebrow {
        max-width: 100%;
        font-size: 9px;
        letter-spacing: .16em;
        line-height: 1.55;
    }

    .hero-section[data-hero-slider] .quick-card {
        margin-top: 26px;
        border-radius: 18px;
    }

    .quick-card-close {
        display: inline-flex;
    }

    .quick-card.is-mobile-dismissed {
        display: none !important;
    }

    .quick-card > small {
        padding: 15px 56px 11px 16px;
    }

    .quick-card > a {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        column-gap: 11px;
        padding: 14px 15px;
    }

    .quick-card > a strong,
    .quick-card > a span {
        min-width: 0;
        overflow-wrap: break-word;
    }

    .quick-card > a strong {
        font-size: 15px;
    }

    .heritage {
        padding: 14px 16px;
    }
}

@media (max-width: 390px) {
    .brand-mark,
    .brand-mark:has(img) {
        width: 41px;
        height: 54px;
        margin-right: 7px;
    }

    .brand-copy strong {
        font-size: 16px;
    }

    .search-toggle,
    .menu-toggle {
        width: 42px;
        min-width: 42px;
        min-height: 42px;
    }

    .hero-copy h1 {
        font-size: clamp(32px, 10.5vw, 39px);
    }
}

/* v0.4.6.31.171 — semnătură vizuală compactă, implicit sub footer */
.site-signature-banner{position:relative;height:var(--signature-height-desktop,128px);overflow:hidden;background:#f5f7f6;border-top:1px solid rgba(5,47,69,.08)}
.site-signature-banner-inner{position:relative;display:block;width:100%;height:100%;overflow:hidden;color:inherit;background:#fff}
.site-signature-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%;background:#fff;opacity:var(--signature-opacity,.42);filter:saturate(.82) contrast(.96);transform:scale(1.005)}
.site-signature-banner::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.38),rgba(255,255,255,.08) 48%,rgba(255,255,255,.32)),linear-gradient(180deg,rgba(255,255,255,.16),rgba(3,47,69,.05))}
.site-signature-banner.is-after-footer{border-top:0;border-bottom:1px solid rgba(5,47,69,.08)}
.site-signature-banner a:focus-visible{outline:3px solid #d6a13e;outline-offset:-3px}
.site-signature-banner-slogan{position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);max-width:min(900px,88vw);padding:8px 16px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(5px);color:#06445e;text-align:center;font-size:14px;font-weight:800;line-height:1.35;box-shadow:0 8px 28px rgba(3,47,69,.08)}
.site-footer.has-signature-background{isolation:isolate;background:linear-gradient(125deg,#032c43,#06475b 65%,#075f63)}
.site-footer.has-signature-background::after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background-image:var(--footer-signature-image);background-repeat:no-repeat;background-size:cover;background-position:center bottom;opacity:var(--footer-signature-opacity,.17);filter:saturate(.72) contrast(.94);mix-blend-mode:screen}
.site-footer.has-signature-background::before{z-index:1}
.site-footer.has-signature-background .footer-main-grid,.site-footer.has-signature-background .footer-bottom,.site-footer.has-signature-background .footer-last-update{position:relative;z-index:2}
.site-footer.has-signature-background .back-to-top{z-index:4}
@media(max-width:760px){
  .site-signature-banner{height:var(--signature-height-mobile,82px)}
  .site-signature-banner img{object-position:88% 50%}
  .site-signature-banner-slogan{bottom:8px;max-width:calc(100vw - 28px);padding:6px 11px;font-size:12px;line-height:1.3}
}


/* v0.4.6.31.172 — imagine integrată în footerul turcoaz, fără bandă suplimentară */
@media(max-width:760px){
  .site-footer.has-signature-background::after{background-size:auto 100%;background-position:68% bottom;opacity:min(var(--footer-signature-opacity,.17),.15)}
}


/* v0.4.6.31.173 — repară fundalul semnăturii vizuale și îl face vizibil, estompat, în footer */
.site-footer.has-signature-background::after{
  background-size:cover;
  background-position:center bottom;
  opacity:var(--footer-signature-opacity,.42);
  filter:saturate(.78) contrast(.94);
  mix-blend-mode:multiply;
}
@media(max-width:760px){
  .site-footer.has-signature-background::after{
    background-size:auto 100%;
    background-position:72% bottom;
    opacity:min(var(--footer-signature-opacity,.42),.30);
  }
}

/* v0.4.6.31.175 — păstrează completă semnătura vizuală în footer, fără decupare laterală */
.site-footer.has-signature-background::after{
  background-size:100% auto;
  background-position:center bottom;
  background-repeat:no-repeat;
}
@media(max-width:760px){
  .site-footer.has-signature-background::after{
    background-size:100% auto;
    background-position:center bottom;
  }
}

/* v0.4.6.31.185 — Politica de confidențialitate / GDPR */
.privacy-policy-hero .privacy-policy-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    padding: 7px 12px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.privacy-policy-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin-top: 24px;
    color: rgba(255,255,255,.9);
    font-size: .9rem;
}
.privacy-policy-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.privacy-policy-page {
    padding: 58px 0 78px;
    background: linear-gradient(180deg,#f8fbfc 0,#fff 280px);
}
.privacy-summary-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    margin-bottom: 34px;
}
.privacy-summary-card {
    position: relative;
    overflow: hidden;
    padding: 25px 27px;
    border: 1px solid #dce8eb;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(7,59,75,.07);
}
.privacy-summary-card::after {
    content: "";
    position: absolute;
    width: 130px;
    height: 130px;
    right: -58px;
    top: -66px;
    border: 1px solid rgba(11,126,128,.14);
    border-radius: 50%;
}
.privacy-summary-card > span {
    display: block;
    margin-bottom: 9px;
    color: #52717c;
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.privacy-summary-card h2 {
    margin: 0 0 10px;
    color: #073b4b;
    font-size: clamp(1.12rem,2vw,1.45rem);
    line-height: 1.2;
}
.privacy-summary-card p {
    margin: 0 0 13px;
    color: #526b74;
}
.privacy-summary-card div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}
.privacy-summary-card a {
    color: #087f81;
    font-weight: 750;
    overflow-wrap: anywhere;
}
.privacy-summary-card-accent {
    background: linear-gradient(135deg,#073b4b,#0b7d80);
    border-color: transparent;
    color: #fff;
}
.privacy-summary-card-accent > span,
.privacy-summary-card-accent h2,
.privacy-summary-card-accent p,
.privacy-summary-card-accent a,
.privacy-summary-card-accent strong { color: #fff; }
.privacy-summary-card-accent > span,
.privacy-summary-card-accent p { color: rgba(255,255,255,.82); }
.privacy-policy-layout {
    display: grid;
    grid-template-columns: minmax(220px,280px) minmax(0,1fr);
    gap: 30px;
    align-items: start;
}
.privacy-policy-aside {
    position: relative;
}
.privacy-policy-toc {
    position: sticky;
    top: 110px;
    padding: 22px;
    border: 1px solid #dce8eb;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(7,59,75,.06);
    max-height: calc(100vh - 135px);
    overflow: auto;
}
.privacy-policy-toc > strong {
    display: block;
    margin-bottom: 13px;
    color: #073b4b;
    font-size: .92rem;
}
.privacy-policy-toc ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: privacy-toc;
}
.privacy-policy-toc li {
    counter-increment: privacy-toc;
    border-top: 1px solid #edf3f4;
}
.privacy-policy-toc li:first-child { border-top: 0; }
.privacy-policy-toc li a {
    display: grid;
    grid-template-columns: 24px minmax(0,1fr);
    gap: 7px;
    padding: 9px 2px;
    color: #385b67;
    font-size: .82rem;
    line-height: 1.3;
    text-decoration: none;
}
.privacy-policy-toc li a::before {
    content: counter(privacy-toc,decimal-leading-zero);
    color: #0b7d80;
    font-weight: 800;
}
.privacy-policy-toc li a:hover,
.privacy-policy-toc li a:focus-visible { color: #073b4b; text-decoration: underline; }
.privacy-policy-toc-actions {
    display: grid;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #dce8eb;
}
.privacy-policy-toc-actions a,
.privacy-policy-toc-actions button {
    appearance: none;
    border: 0;
    padding: 0;
    background: none;
    color: #087f81;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}
.privacy-policy-content {
    width: 100%;
    max-width: none;
}
.privacy-policy-content .privacy-policy-section {
    scroll-margin-top: 120px;
    margin: 0 0 18px;
    padding: clamp(24px,3vw,34px);
    border: 1px solid #dce8eb;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(7,59,75,.055);
}
.privacy-policy-content .privacy-policy-section h2 {
    margin: 0 0 18px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e6eff1;
    color: #073b4b;
    font-size: clamp(1.25rem,2vw,1.65rem);
    line-height: 1.25;
}
.privacy-policy-content .privacy-policy-section h2:focus { outline: none; }
.privacy-policy-content .privacy-policy-section p:last-child,
.privacy-policy-content .privacy-policy-section ul:last-child,
.privacy-policy-content .privacy-policy-section ol:last-child { margin-bottom: 0; }
.privacy-policy-content .privacy-policy-section a { overflow-wrap: anywhere; }
.privacy-policy-note {
    margin-top: 24px;
    padding: 20px 22px;
    border-left: 4px solid #dba51c;
    border-radius: 14px;
    background: #fff9e8;
    color: #4f5660;
}
.privacy-policy-note strong {
    display: block;
    margin-bottom: 5px;
    color: #755900;
}
.privacy-policy-note p { margin: 0; }
@media (max-width: 980px) {
    .privacy-policy-layout { grid-template-columns: 1fr; }
    .privacy-policy-toc { position: static; max-height: none; }
    .privacy-policy-toc ol { columns: 2; column-gap: 24px; }
    .privacy-policy-toc li { break-inside: avoid; }
}
@media (max-width: 700px) {
    .privacy-policy-page { padding: 34px 0 54px; }
    .privacy-summary-grid { grid-template-columns: 1fr; }
    .privacy-summary-card { padding: 21px; border-radius: 18px; }
    .privacy-policy-toc { padding: 18px; border-radius: 16px; }
    .privacy-policy-toc ol { columns: 1; }
    .privacy-policy-content .privacy-policy-section { padding: 21px; border-radius: 18px; }
    .privacy-policy-hero-meta { display: grid; gap: 6px; }
}

/* v0.4.6.31.186 — formatarea editorului vizual pe paginile publice.
   Editorul salvează stilurile sigure ca clase rte-*; acestea trebuie interpretate
   și în paginile generice/juridice, nu doar în modulele Servicii publice. */
.rte-align-left { text-align: left !important; }
.rte-align-center { text-align: center !important; }
.rte-align-right { text-align: right !important; }
.rte-align-justify { text-align: justify !important; text-justify: inter-word; }
.rte-text-small { font-size: .88em !important; }
.rte-text-large { font-size: 1.18em !important; }
.rte-text-xlarge { font-size: 1.38em !important; }
.rte-bold { font-weight: 800 !important; }
.rte-italic { font-style: italic !important; }
.rte-underline { text-decoration: underline !important; }
.rte-strike { text-decoration: line-through !important; }
.rte-line-100 { line-height: 1 !important; }
.rte-line-115 { line-height: 1.15 !important; }
.rte-line-130 { line-height: 1.3 !important; }
.rte-line-150 { line-height: 1.5 !important; }
.rte-line-165 { line-height: 1.65 !important; }
.rte-line-180 { line-height: 1.8 !important; }
.rte-line-200 { line-height: 2 !important; }

/* v0.4.6.31.187 — politica privind modulele cookie */
.cookie-policy-page { padding-top: 42px; }
.cookie-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}
.cookie-category-grid article {
    position: relative;
    min-height: 188px;
    padding: 24px;
    border: 1px solid #d7e5e8;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(6, 59, 75, .06);
}
.cookie-category-grid article::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    border-radius: 20px 0 0 20px;
    background: #148b88;
}
.cookie-category-grid article.is-muted::before { background: #a7bac0; }
.cookie-category-icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    margin-bottom: 16px;
    border-radius: 50%;
    background: #e9f5f3;
    color: #076d70;
    font-weight: 900;
}
.cookie-category-grid article.is-muted .cookie-category-icon {
    background: #eef2f3;
    color: #657a82;
}
.cookie-category-grid small {
    display: block;
    margin-bottom: 5px;
    color: #56727c;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.cookie-category-grid h2 {
    margin: 0 0 9px;
    color: #073b4b;
    font-size: 1.18rem;
    line-height: 1.25;
}
.cookie-category-grid p {
    margin: 0;
    color: #536d76;
    font-size: .92rem;
    line-height: 1.58;
}
.cookie-tech-panel {
    margin-bottom: 28px;
    overflow: hidden;
    border: 1px solid #d5e4e7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(6, 59, 75, .06);
}
.cookie-tech-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 26px 19px;
    border-bottom: 1px solid #e2ecee;
    background: linear-gradient(135deg, #f7fbfb 0%, #eef8f6 100%);
}
.cookie-tech-heading span {
    display: block;
    margin-bottom: 4px;
    color: #07817f;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.cookie-tech-heading h2 {
    margin: 0;
    color: #073b4b;
    font-size: 1.45rem;
}
.cookie-tech-heading small { color: #64808a; }
.cookie-tech-table-wrap { overflow-x: auto; }
.cookie-tech-table {
    width: 100%;
    min-width: 960px;
    border-collapse: collapse;
    font-size: .9rem;
}
.cookie-tech-table th,
.cookie-tech-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #e5edef;
    text-align: left;
    vertical-align: top;
}
.cookie-tech-table th {
    color: #48656f;
    background: #fbfdfd;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.cookie-tech-table td { color: #3f5d66; line-height: 1.5; }
.cookie-tech-table td:first-child { color: #073b4b; }
.cookie-tech-table td:first-child strong { display: block; overflow-wrap: anywhere; }
.cookie-tech-table td:first-child small { display: block; margin-top: 4px; color: #71878e; }
.cookie-tech-table tbody tr:last-child td { border-bottom: 0; }
.cookie-tech-badge {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #e9f5f1;
    color: #087468;
    font-size: .76rem;
    font-weight: 800;
    white-space: nowrap;
}
.cookie-tech-badge.is-optional { background: #fff4d8; color: #8b6410; }
.cookie-tech-note {
    margin: 0;
    padding: 14px 20px;
    border-top: 1px solid #e5edef;
    background: #fbfdfd;
    color: #647b83;
    font-size: .84rem;
    line-height: 1.5;
}
.cookie-policy-control-note .button { margin-top: 14px; }
.cookie-policy-hero .privacy-policy-hero-meta span:first-child { font-weight: 800; }
@media (max-width: 1050px) {
    .cookie-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .cookie-policy-page { padding-top: 28px; }
    .cookie-category-grid { grid-template-columns: 1fr; }
    .cookie-category-grid article { min-height: 0; padding: 20px; }
    .cookie-tech-heading { align-items: flex-start; flex-direction: column; padding: 20px; }
    .cookie-tech-heading h2 { font-size: 1.25rem; }
}


/* v0.4.6.31.188 — Termeni de utilizare */
.terms-policy-page {
    padding-top: 42px;
}
.terms-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 26px;
}
.terms-summary-grid article {
    position: relative;
    overflow: hidden;
    min-height: 188px;
    padding: 24px 24px 22px;
    border: 1px solid rgba(7, 75, 96, .13);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(10, 61, 79, .07);
}
.terms-summary-grid article::after {
    content: "";
    position: absolute;
    right: -38px;
    bottom: -48px;
    width: 132px;
    height: 132px;
    border: 1px solid rgba(12, 139, 142, .13);
    border-radius: 50%;
}
.terms-summary-grid article > span {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: rgba(12, 139, 142, .09);
    color: #08777b;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .05em;
}
.terms-summary-grid h2 {
    margin: 0 0 8px;
    color: #063e56;
    font-size: 1.15rem;
}
.terms-summary-grid p {
    margin: 0;
    color: #526b76;
    line-height: 1.65;
}
.terms-policy-content .privacy-policy-section > ul {
    margin-top: 14px;
}
.terms-policy-note {
    border-left-color: #0b8a8d;
}
@media (max-width: 900px) {
    .terms-summary-grid {
        grid-template-columns: 1fr;
    }
    .terms-summary-grid article {
        min-height: 0;
    }
}

/* v0.4.6.31.189 — Declarația de accesibilitate */
.accessibility-summary-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    margin-bottom: 34px;
}
.accessibility-summary-card {
    position: relative;
    overflow: hidden;
    min-height: 190px;
    padding: 24px 25px;
    border: 1px solid #dce8eb;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(7,59,75,.07);
}
.accessibility-summary-card::after {
    content: "";
    position: absolute;
    width: 118px;
    height: 118px;
    right: -54px;
    top: -58px;
    border: 1px solid rgba(11,126,128,.14);
    border-radius: 50%;
}
.accessibility-summary-card > span {
    display: block;
    margin-bottom: 9px;
    color: #52717c;
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.accessibility-summary-card h2 {
    margin: 0 0 10px;
    color: #073b4b;
    font-size: clamp(1.12rem,2vw,1.42rem);
    line-height: 1.2;
}
.accessibility-summary-card p {
    margin: 0 0 13px;
    color: #526b74;
}
.accessibility-summary-card div {
    display: grid;
    gap: 6px;
}
.accessibility-summary-card a {
    color: #087f81;
    font-weight: 750;
    overflow-wrap: anywhere;
}
.accessibility-summary-card.is-partial {
    border-top: 4px solid #dba51c;
    background: linear-gradient(180deg,#fffdf6,#fff);
}
.accessibility-summary-card.is-full {
    border-top: 4px solid #2c9a62;
    background: linear-gradient(180deg,#f7fff9,#fff);
}
.accessibility-summary-card.is-nonconform {
    border-top: 4px solid #c94b4b;
    background: linear-gradient(180deg,#fff8f8,#fff);
}
.accessibility-summary-card-accent {
    border-color: transparent;
    background: linear-gradient(135deg,#073b4b,#0b7d80);
    color: #fff;
}
.accessibility-summary-card-accent > span,
.accessibility-summary-card-accent h2,
.accessibility-summary-card-accent p,
.accessibility-summary-card-accent a { color: #fff; }
.accessibility-summary-card-accent > span,
.accessibility-summary-card-accent p { color: rgba(255,255,255,.84); }
.accessibility-statement-note .button {
    display: inline-flex;
    margin-top: 5px;
    text-decoration: none;
}
.accessibility-statement-page .privacy-policy-content ul {
    padding-left: 1.3rem;
}
.accessibility-statement-page .privacy-policy-content li + li {
    margin-top: .45rem;
}
@media (max-width: 1050px) {
    .accessibility-summary-grid { grid-template-columns: 1fr 1fr; }
    .accessibility-summary-card-accent { grid-column: 1 / -1; min-height: 0; }
}
@media (max-width: 700px) {
    .accessibility-summary-grid { grid-template-columns: 1fr; }
    .accessibility-summary-card-accent { grid-column: auto; }
    .accessibility-summary-card { min-height: 0; padding: 21px; border-radius: 18px; }
}
