.brand-mark {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    position: relative;
    border-radius: 50% 50% 46% 54%;
    background: #f2b84b;
    color: #123839;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -.08em;
    transform: rotate(-4deg);
    box-shadow: inset -5px -5px 0 rgba(230, 109, 83, .35);
}

.brand-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.brand-mark i {
    display: none;
}

.map-locations p {
    margin: 18px 0 2px;
}

.main-nav {
    gap: 21px;
}

.activities-filter {
    position: sticky;
    z-index: 80;
    top: 0;
    background: #fff;
    border-bottom: 1px solid #d9dfd8;
}

.filter-scroll {
    display: flex;
    gap: 8px;
    padding-block: 14px;
    overflow-x: auto;
}

.filter-scroll a {
    padding: 8px 14px;
    border: 1px solid #d9dfd8;
    border-radius: 999px;
    white-space: nowrap;
    font-size: .8rem;
    font-weight: 700;
}

.filter-scroll a.active,
.filter-scroll a:hover {
    border-color: #123839;
    background: #123839;
    color: #fff;
}

.posts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.post-card {
    border: 1px solid #d9dfd8;
    background: #fff;
    transition: transform .2s, box-shadow .2s;
}

.post-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(16,53,54,.12);
}

.post-image {
    height: 240px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #dcece4;
}

.post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-image span {
    font-family: "Fraunces", Georgia, serif;
    font-size: 3rem;
    color: #1d5955;
}

.post-card-body {
    padding: 26px;
}

.post-card-body h2,
.post-card-body h3 {
    margin-bottom: 14px;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.65rem;
}

.post-card-body > p:not(.post-meta) {
    color: #607171;
}

.post-meta,
.article-date {
    color: #e66d53;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.empty-activities {
    max-width: 700px;
    margin: auto;
    padding: 70px 30px;
    text-align: center;
    background: #f7f3e9;
}

.empty-activities > span {
    color: #e66d53;
    font-size: 2.5rem;
}

.empty-activities h2 {
    margin-top: 15px;
    font-size: 2.2rem;
}

.article-header {
    padding: 90px 0 55px;
    background: #f7f3e9;
}

.article-narrow {
    max-width: 900px;
}

.article-header h1 {
    margin: 15px 0 24px;
    font-size: clamp(3rem, 6vw, 5.5rem);
}

.dark-link {
    color: #173638;
}

.article-lead {
    max-width: 800px;
    margin-top: 30px;
    color: #455d5d;
    font-size: 1.25rem;
}

.article-cover {
    margin-top: 45px;
}

.article-cover img {
    width: 100%;
    max-height: 650px;
    object-fit: cover;
}

.article-layout {
    display: grid;
    grid-template-columns: minmax(0, 760px) 280px;
    justify-content: center;
    gap: 80px;
    padding-block: 75px;
}

.article-content {
    color: #334d4d;
    font-size: 1.1rem;
    line-height: 1.9;
    white-space: normal;
}

.article-aside {
    padding-left: 25px;
    border-left: 1px solid #d9dfd8;
}

.article-aside h2 {
    margin: 25px 0 12px;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: .75rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.article-aside h2:first-child {
    margin-top: 0;
}

.article-aside > a {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #d9dfd8;
    font-weight: 700;
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.tag-list span {
    padding: 5px 9px;
    border-radius: 999px;
    background: #dcece4;
    font-size: .75rem;
}

.article-carousel {
    display: flex;
    gap: 10px;
    margin-top: 35px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
}

.article-content a {
    color: #1d5955;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #9fb7ad;
    text-underline-offset: 3px;
}

.article-pdf-section {
    padding: 20px 0 80px;
}

.article-pdf-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.article-pdf-heading h2 {
    margin: 0;
    font-size: clamp(1.7rem, 3vw, 2.6rem);
}

.article-pdf-viewer {
    display: block;
    width: 100%;
    height: min(78vh, 900px);
    min-height: 600px;
    border: 1px solid #d9dfd8;
    background: #f7f3e9;
}

.pdf-fallback {
    margin: 12px 0 0;
    color: #607171;
    font-size: .82rem;
}

.pdf-fallback a {
    color: #1d5955;
    font-weight: 700;
}

.article-carousel .gallery-item {
    flex: 0 0 min(820px, 85vw);
    height: 500px;
    scroll-snap-align: start;
}

.carousel-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 25px;
}

.carousel-heading h2 {
    margin: 0;
}

.carousel-heading button {
    width: 44px;
    height: 44px;
    border: 1px solid #173638;
    background: transparent;
    color: #173638;
    cursor: pointer;
    font-size: 1.2rem;
}

.schedule-note {
    margin-top: 30px;
    padding: 20px;
    border-left: 4px solid #e66d53;
    background: #f7f3e9;
}

.schedule-note p {
    margin: 5px 0 0;
}

.public-documents h3 {
    margin: 34px 0 10px;
    font-family: "Fraunces", Georgia, serif;
    font-size: 1.55rem;
}

.public-documents > a {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid #d9dfd8;
    background: #fff;
}

.public-documents > a > span {
    padding: 7px 4px;
    border-radius: 3px;
    background: #e66d53;
    color: #fff;
    text-align: center;
    font-size: .7rem;
    font-weight: 700;
}

.public-documents small {
    display: block;
    color: #607171;
}

.document-category-card .doc-icon {
    font-family: "DM Sans", Arial, sans-serif;
    font-size: .65rem;
    font-weight: 700;
}

.category-documents li {
    display: block;
    padding: 0;
}

.category-documents li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    width: 100%;
    padding: 13px 0;
}

.category-documents strong,
.category-documents small {
    display: block;
}

.category-documents small {
    margin-top: 2px;
    color: #607171;
}

.category-documents em {
    white-space: nowrap;
}

.document-dropdown {
    margin-top: 10px;
    border-top: 1px solid #d9dfd8;
}

.document-dropdown summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 2px;
    cursor: pointer;
    color: #173638;
    font-weight: 700;
    list-style: none;
}

.document-dropdown summary::-webkit-details-marker {
    display: none;
}

.document-dropdown summary::after {
    content: "+";
    margin-left: auto;
    color: #e66d53;
    font-size: 1.3rem;
}

.document-dropdown[open] summary::after {
    content: "−";
}

.document-dropdown summary span {
    display: grid;
    place-items: center;
    min-width: 27px;
    height: 27px;
    padding-inline: 7px;
    border-radius: 99px;
    background: #dcece4;
    color: #1d5955;
    font-size: .72rem;
}

.document-dropdown .category-documents {
    margin: 0;
    border-top: 0;
}

.no-documents {
    margin: 18px 0 0;
    padding: 14px;
    background: #f7f3e9;
    color: #607171;
    font-size: .85rem;
}

@media (max-width: 950px) {
    .posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .article-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .article-aside {
        padding: 25px 0 0;
        border-top: 1px solid #d9dfd8;
        border-left: 0;
    }

}

@media (max-width: 680px) {
    .posts-grid {
        grid-template-columns: 1fr;
    }

    .article-carousel .gallery-item {
        height: 310px;
    }

    .article-pdf-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .article-pdf-viewer {
        height: 65vh;
        min-height: 430px;
    }

    /* Păstrează decorul antetului în fundal și în interiorul ecranului. */
    .page-hero::after {
        width: 220px;
        height: 220px;
        right: -95px;
        top: -70px;
        border-width: 52px;
        opacity: .32;
    }

    .footer-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

/* Siguranță responsive: niciun decor sau text lung nu lărgește pagina. */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

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

.page-hero::after {
    z-index: 0;
    pointer-events: none;
}

.main-nav,
.footer-grid,
.contact-details,
.article-content,
.document-card {
    min-width: 0;
}

.footer-grid a,
.contact-details a,
.article-content,
.document-card {
    overflow-wrap: anywhere;
}
