.card-image {
    width:100%;
    height:250px;
    object-fit:cover;
    border-radius:12px;
    margin-bottom:14px
}

.current-photo {
    width:160px;
    height:160px;
    object-fit:cover;
    border-radius:14px;
    margin:8px 0 18px
}

.page-head {
    min-height:215px;
    display:flex;
    align-items:center
}

.page-head h1 {
    margin:.1em 0;
    font-size:clamp(2rem,4vw,3.35rem);
    line-height:1.08
}

.editor label,.login-box label {
    font-weight:500
}

.editor input,.editor textarea,.editor select,.login-box input {
    font-weight:400;
    color:#17312b
}

.admin-head h1 {
    font-weight:650;
    letter-spacing:-.02em
}

.table-wrap th {
    font-weight:600
}

.table-wrap td {
    font-weight:400
}

.sidebar nav a {
    font-weight:450
}

.note-editor.note-frame {
    border:1px solid #bdcec6;
    border-radius:10px;
    overflow:hidden
}

.note-editor .note-toolbar {
    background:#f4f7f5;
    border-bottom:1px solid #dbe7e1
}

.note-editor .note-editable {
    font-weight:400;
    line-height:1.65;
    color:#17312b;
    background:#fff
}

.note-editor .note-btn {
    font-weight:400
}

.sidebar {
    height:100vh;
    overflow:hidden
}

.sidebar nav {
    flex:1;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    flex-wrap:nowrap;
    padding-right:6px;
    scrollbar-width:thin;
    scrollbar-color:#54776e transparent
}

.sidebar nav::-webkit-scrollbar {
    width:6px
}

.sidebar nav::-webkit-scrollbar-thumb {
    background:#54776e;
    border-radius:20px
}

.sidebar>form {
    flex:0 0 auto;
    margin-top:0;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.16);
    background:#17312b
}

.sidebar>form button {
    width:100%;
    padding:10px 12px;
    border-radius:8px;
    text-align:left;
    font-weight:500
}

.sidebar>form button:hover {
    background:#284b43
}

@media(max-width:800px) {
    .sidebar {
        height:auto;
        max-height:none;
        overflow:visible
    }

    .sidebar nav {
        max-height:50vh
    }

    .sidebar>form {
        position:static
    }
}

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

.settings-group {
    margin:24px 0;
    padding:20px;
    border:1px solid #dbe7e1;
    border-radius:12px
}

.settings-group legend {
    padding:0 8px;
    font-weight:600
}

.logo-preview {
    display:block;
    max-width:280px;
    max-height:120px;
    object-fit:contain;
    margin:8px 0 18px;
    padding:10px;
    border:1px solid #dbe7e1;
    border-radius:10px;
    background:#f8fbf9
}

.file-input-native {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important
}

.file-picker {
    display:grid;
    grid-template-columns:44px 1fr auto;
    align-items:center;
    gap:14px;
    margin-top:8px;
    padding:16px;
    border:1.5px dashed #9fbeb2;
    border-radius:12px;
    background:#f8fbf9;
    cursor:pointer;
    transition:.2s ease;
    outline:none
}

.file-picker:hover,.file-picker:focus,.file-picker.is-dragging {
    border-color:#28765d;
    background:#edf7f2;
    box-shadow:0 0 0 3px rgba(40,118,93,.1)
}

.file-picker-icon {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:10px;
    background:#dff0e8;
    color:#28765d;
    font-size:24px;
    font-weight:400
}

.file-picker-copy {
    display:flex;
    flex-direction:column;
    min-width:0
}

.file-picker-copy strong {
    font-size:.95rem;
    font-weight:550
}

.file-picker-copy span {
    font-size:.82rem;
    font-weight:400;
    color:#667a72;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}

.file-picker-button {
    border:1px solid #28765d;
    border-radius:8px;
    background:#fff;
    color:#28765d;
    padding:9px 13px;
    font:inherit;
    font-size:.88rem;
    font-weight:550;
    cursor:pointer
}

.file-live-preview {
    display:none;
    grid-column:1/-1;
    padding-top:14px;
    border-top:1px solid #dbe7e1
}

.file-picker.has-file .file-live-preview {
    display:block
}

.file-preview-image {
    display:block;
    width:180px;
    height:130px;
    object-fit:cover;
    border-radius:10px;
    border:1px solid #dbe7e1;
    background:#fff
}

.file-preview-document {
    display:flex;
    align-items:center;
    gap:12px
}

.file-preview-document b {
    display:grid;
    place-items:center;
    min-width:52px;
    height:42px;
    border-radius:8px;
    background:#e8efeC;
    color:#36574e;
    font-size:.75rem
}

.file-preview-document span {
    font-weight:400
}

@media(max-width:650px) {
    .file-picker {
        grid-template-columns:40px 1fr
    }

    .file-picker-button {
        grid-column:1/-1;
        width:100%
    }
}

.top {
    background:rgba(10,15,14,.97);
    border-bottom-color:rgba(255,255,255,.1);
    box-shadow:0 8px 28px rgba(0,0,0,.14)
}

.top .brand,.top nav a {
    color:#fff
}

.top nav a {
    font-weight:450;
    opacity:.88;
    transition:opacity .18s ease,color .18s ease
}

.top nav a:hover,.top nav a:focus {
    color:#fff;
    opacity:1
}

.hero {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#17312b;
    color:#fff;
    min-height:610px;
    display:flex;
    align-items:center
}

.hero::before {
    content:"";
    position:absolute;
    z-index:-2;
    inset:-8px;
    background:url('../images/hero-gradinita.jpg') center center/cover no-repeat;
    filter:blur(2.2px);
    transform:scale(1.025)
}

.hero::after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(90deg,rgba(7,19,16,.82) 0%,rgba(12,31,26,.64) 48%,rgba(7,19,16,.32) 100%)
}

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

.hero .eyebrow {
    color:#ccecdf
}

.hero h1 {
    color:#fff;
    text-shadow:0 3px 24px rgba(0,0,0,.24)
}

.hero p {
    color:rgba(255,255,255,.92);
    text-shadow:0 2px 12px rgba(0,0,0,.24)
}

.hero .button {
    background:#fff;
    color:#17312b;
    box-shadow:0 10px 28px rgba(0,0,0,.2)
}

.hero .button:hover,.hero .button:focus {
    background:#e9f5ef;
    color:#17312b
}

@media(max-width:700px) {
    .hero {
        min-height:540px
    }

    .hero::after {
        background:rgba(7,19,16,.68)
    }
}

.list-tools,.public-list-tools {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin:0 0 20px;
    padding:16px 18px;
    border:1px solid #dbe7e1;
    border-radius:12px;
    background:#fff
}

.list-filters {
    display:flex;
    gap:12px;
    flex-wrap:wrap
}

.list-tools label,.public-list-tools label {
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:.82rem;
    font-weight:550
}

.list-tools select,.list-tools input,.public-list-tools select,.public-list-tools input {
    min-width:180px;
    padding:10px 12px;
    border:1px solid #bdcec6;
    border-radius:8px;
    background:#fff;
    font:inherit;
    font-weight:400
}

.quick-search {
    margin-left:auto
}

.quick-search input {
    min-width:280px
}

.empty-filter,.empty-public-filter {
    padding:28px;
    text-align:center;
    color:#667a72
}

.menu-toggle {
    display:none;
    width:44px;
    height:42px;
    padding:9px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:8px;
    background:transparent
}

.menu-toggle span {
    display:block;
    height:2px;
    margin:4px 0;
    border-radius:3px;
    background:#fff
}

@media(max-width:980px) {
    .top .wrap {
        position:relative;
        min-height:70px;
        flex-direction:row;
        align-items:center;
        padding:10px 0
    }

    .menu-toggle {
        display:block;
        margin-left:auto
    }

    .top nav {
        display:none;
        position:absolute;
        z-index:20;
        top:100%;
        left:0;
        right:0;
        flex-direction:column;
        gap:4px;
        padding:14px;
        background:#0a0f0e;
        border-top:1px solid rgba(255,255,255,.1);
        box-shadow:0 18px 28px rgba(0,0,0,.2)
    }

    .top nav.is-open {
        display:flex
    }

    .top nav a {
        padding:10px 12px;
        border-radius:7px
    }

    .top nav a:hover {
        background:rgba(255,255,255,.08)
    }

    .site-logo {
        max-width:180px;
        max-height:48px
    }
}

@media(max-width:760px) {
    .wrap {
        width:min(100% - 28px,1160px)
    }

    .section {
        padding:44px 0
    }

    .page-head {
        min-height:160px
    }

    .hero {
        padding:70px 0;
        min-height:520px
    }

    .hero h1 {
        font-size:clamp(2.25rem,11vw,3.6rem)
    }

    .grid {
        grid-template-columns:1fr
    }

    .list-tools,.public-list-tools {
        align-items:stretch;
        flex-direction:column
    }

    .list-filters {
        flex-direction:column
    }

    .quick-search {
        margin-left:0
    }

    .list-tools select,.list-tools input,.public-list-tools select,.public-list-tools input,.quick-search input {
        width:100%;
        min-width:0
    }

    .admin-head {
        align-items:flex-start;
        gap:16px;
        flex-direction:column
    }

    .admin-head .button {
        width:100%;
        text-align:center
    }

    .table-wrap {
        padding:12px;
        background:transparent;
        box-shadow:none
    }

    .table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap th,.table-wrap td {
        display:block
    }

    .table-wrap thead {
        position:absolute;
        width:1px;
        height:1px;
        overflow:hidden;
        clip:rect(0 0 0 0)
    }

    .table-wrap tr {
        margin-bottom:14px;
        padding:14px;
        border:1px solid #dbe7e1;
        border-radius:12px;
        background:#fff;
        box-shadow:0 8px 24px rgba(23,49,43,.06)
    }

    .table-wrap td {
        display:grid;
        grid-template-columns:minmax(100px,38%) 1fr;
        gap:10px;
        padding:8px 0;
        border:0
    }

    .table-wrap td::before {
        content:attr(data-label);
        font-weight:600;
        color:#52675f
    }

    .table-wrap td.actions {
        display:flex;
        justify-content:flex-start;
        padding-top:14px;
        border-top:1px solid #e4ece8
    }

    .editor {
        padding:20px
    }

    .form-grid {
        grid-template-columns:1fr
    }
}

@media(max-width:800px) {
    .admin-body {
        display:block
    }

    .sidebar {
        position:relative;
        inset:auto;
        width:100%;
        padding:20px
    }

    .sidebar nav {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        max-height:44vh
    }

    .sidebar>form button {
        text-align:center
    }

    .admin-main {
        padding:20px
    }

    .stats {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width:480px) {
    .sidebar nav,.stats {
        grid-template-columns:1fr,
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .card {
        padding:18px
    }

    .card-image {
        height:auto
    }

    .page-head h1 {
        font-size:2rem
    }
}

[data-public-list] {
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch
}

[data-public-list] .card {
    min-width:0;
    width:100%
}

[data-public-list] .card-image {
    object-position:center top
}

@media(max-width:1050px) {
    [data-public-list] {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
}

@media(max-width:800px) {
    [data-public-list] {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width:540px) {
    [data-public-list] {
        grid-template-columns:1fr
    }
}

.member-profile {
    display:grid;
    grid-template-columns:minmax(280px,440px) 1fr;
    gap:clamp(36px,6vw,84px);
    align-items:start
}

.member-photo {
    overflow:hidden;
    border-radius:20px;
    background:#e9f5ef;
    box-shadow:0 18px 50px rgba(23,49,43,.12)
}

.member-photo img {
    display:block;
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
    object-position:center top
}

.member-details h2 {
    margin:.1em 0;
    font-size:clamp(2rem,4vw,3.4rem);
    line-height:1.05;
    font-weight:650
}

.member-leadership {
    display:inline-block;
    margin:8px 0 12px;
    padding:7px 13px;
    border-radius:7px;
    background:#28765d;
    color:#fff;
    font-weight:550
}

.member-summary {
    margin:8px 0 24px;
    color:#50675f;
    font-size:1.05rem
}

.member-data {
    margin:24px 0;
    border:1px solid #dbe7e1;
    border-radius:14px;
    overflow:hidden
}

.member-data div {
    display:grid;
    grid-template-columns:minmax(150px,38%) 1fr;
    border-bottom:1px solid #dbe7e1
}

.member-data div:last-child {
    border-bottom:0
}

.member-data dt,.member-data dd {
    margin:0;
    padding:12px 15px
}

.member-data dt {
    background:#f3f8f5;
    font-weight:550
}

.member-data dd {
    font-weight:400
}

.member-description {
    margin-top:30px
}

@media(max-width:780px) {
    .member-profile {
        grid-template-columns:1fr
    }

    .member-photo {
        max-width:520px
    }

    .member-data div {
        grid-template-columns:1fr
    }

    .member-data dt {
        padding-bottom:4px
    }

    .member-data dd {
        padding-top:4px
    }
}

.card-clickable {
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}

.card-clickable:hover,.card-clickable:focus-within,.card-clickable:focus {
    transform:translateY(-4px);
    border-color:#a9cfc0;
    box-shadow:0 20px 48px rgba(23,49,43,.14);
    outline:none
}

.card-clickable h2 a,.card-clickable h3 a {
    color:inherit
}

.card-link {
    display:inline-flex;
    margin-top:auto;
    font-weight:550
}

.member-profile {
    display:grid!important;
    grid-template-columns:minmax(300px,420px) minmax(0,1fr)!important;
    gap:clamp(36px,6vw,82px)!important;
    align-items:start!important
}

.member-details {
    grid-column:2;
    padding:clamp(26px,4vw,48px);
    border:1px solid #dbe7e1;
    border-radius:20px;
    background:#fff;
    box-shadow:0 18px 50px rgba(23,49,43,.09)
}

.member-photo {
    grid-column:1;
    position:sticky;
    top:110px
}

.member-details .eyebrow {
    margin-top:0
}

.member-data {
    background:#fff
}

.member-description {
    padding-top:24px;
    border-top:1px solid #dbe7e1
}

@media(max-width:780px) {
    .member-profile {
        grid-template-columns:1fr!important;
        gap:28px!important
    }

    .member-photo,.member-details {
        grid-column:1
    }

    .member-photo {
        position:static
    }

    .member-details {
        padding:22px
    }
}

.document-card {
    display:flex;
    min-height:390px;
    flex-direction:column;
    padding:20px;
    overflow:hidden
}

.document-card .card-image {
    height:170px;
    margin-bottom:18px;
    background:#eef7f3;
    object-fit:cover
}

.document-card h2 {
    margin:4px 0 14px;
    font-size:1.08rem;
    font-weight:650;
    line-height:1.35;
    overflow-wrap:anywhere;
    word-break:break-word
}

.document-card>p:empty {
    display:none
}

.document-download {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:15px;
    border-top:1px solid #e1ebe6;
    font-size:.92rem;
    font-weight:550
}

.document-download span {
    display:grid;
    width:28px;
    height:28px;
    flex:0 0 28px;
    place-items:center;
    border-radius:50%;
    background:var(--mint);
    font-size:1rem
}

@media(max-width:800px) {
    .document-card {
        min-height:360px
    }

    .document-card .card-image {
        height:185px
    }
}

.cv-download {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:600
}

.cv-download span {
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    border-radius:50%;
    background:var(--mint)
}

.member-cv-row dd {
    display:flex;
    align-items:center
}

.admin-file-field {
    margin-bottom:18px;
    padding:18px;
    border:1px solid #dbe7e1;
    border-radius:12px;
    background:#f8fbf9
}

.admin-file-field>label {
    margin-bottom:10px
}

.current-file {
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
    padding-top:12px;
    border-top:1px solid #dbe7e1
}

.current-file>span {
    font-weight:600
}

.current-file .remove-file {
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    gap:7px;
    margin:0 0 0 auto;
    font-weight:450;
    color:#8d3434
}

.current-file .remove-file input {
    width:auto;
    margin:0
}

.file-help {
    margin:8px 0 0;
    color:#667a72;
    font-size:.9rem
}

@media(max-width:600px) {
    .current-file {
        align-items:flex-start;
        flex-direction:column
    }

    .current-file .remove-file {
        margin-left:0
    }
}

.documents-list {
    display:flex;
    flex-direction:column;
    gap:12px
}

.document-list-item {
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    min-height:92px;
    padding:17px 20px;
    border-radius:14px;
    box-shadow:0 8px 28px rgba(23,49,43,.07)
}

.document-list-icon {
    display:grid;
    width:50px;
    height:56px;
    place-items:center;
    border-radius:9px;
    background:#e9f5ef;
    color:#28765d;
    font-size:.72rem;
    font-weight:750;
    letter-spacing:.05em
}

.document-list-content {
    min-width:0
}

.document-list-content h2 {
    margin:0 0 5px;
    font-size:1.06rem;
    font-weight:600;
    line-height:1.35;
    overflow-wrap:anywhere
}

.document-list-content h2 a {
    color:var(--ink)
}

.document-list-content h2 a:hover {
    color:var(--green);
    text-decoration:underline
}

.document-list-content time {
    color:#687b74;
    font-size:.83rem
}

.document-list-download {
    display:inline-flex;
    align-items:center;
    gap:11px;
    white-space:nowrap;
    font-weight:600
}

.document-list-download b {
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    border-radius:50%;
    background:var(--mint);
    font-size:1rem
}

.document-unavailable {
    color:#8b6d68;
    font-size:.86rem
}

@media(max-width:650px) {
    .document-list-item {
        grid-template-columns:44px minmax(0,1fr);
        gap:14px;
        padding:15px
    }

    .document-list-icon {
        width:42px;
        height:48px
    }

    .document-list-download,.document-unavailable {
        grid-column:2;
        justify-self:start
    }
}

body {
    display:flex;
    min-height:100vh;
    flex-direction:column
}

body>main {
    display:block;
    flex:1 0 auto;
    width:100%
}

body>footer {
    flex-shrink:0;
    margin-top:auto
}

body.admin-body {
    display:block;
    min-height:0
}

.detail-content {
    margin:0;
    text-align:left
}

.facility-profile {
    display:grid;
    grid-template-columns:minmax(320px,1.05fr) minmax(0,.95fr);
    gap:clamp(34px,5vw,72px);
    align-items:start
}

.facility-gallery {
    position:sticky;
    top:105px;
    margin:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:20px;
    background:#f2f8f5;
    box-shadow:var(--shadow)
}

.facility-gallery a {
    display:block
}

.facility-gallery img {
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover
}

.facility-gallery figcaption {
    padding:12px 16px;
    color:#657970;
    font-size:.82rem;
    background:#fff
}

.facility-information {
    padding:clamp(24px,4vw,42px);
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--shadow)
}

.facility-information>.eyebrow {
    margin-top:0
}

.facility-information h2 {
    margin:6px 0 20px;
    font-size:clamp(1.8rem,3vw,2.7rem);
    line-height:1.1
}

.facility-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
    padding:13px 15px;
    border-radius:10px;
    background:var(--mint)
}

.facility-meta span {
    color:#587067;
    font-size:.88rem
}

.facility-meta strong {
    font-weight:600
}

.facility-description {
    max-width:none;
    padding-top:22px;
    border-top:1px solid var(--line)
}

.facility-description>:first-child {
    margin-top:0
}

.facility-empty {
    color:#687b74
}

.facility-responsibles {
    margin-top:28px;
    padding-top:24px;
    border-top:1px solid var(--line)
}

.facility-responsibles h3 {
    margin:0 0 14px;
    font-size:1.05rem
}

.responsible-list {
    display:grid;
    gap:10px
}

.responsible-person {
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px;
    border:1px solid var(--line);
    border-radius:12px;
    color:var(--ink);
    transition:border-color .2s ease,background .2s ease
}

.responsible-person:hover {
    border-color:#a9cfc0;
    background:#f7fbf9
}

.responsible-person img {
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:50%;
    object-fit:cover;
    object-position:center top
}

.responsible-person span {
    display:flex;
    min-width:0;
    flex-direction:column
}

.responsible-person strong {
    font-weight:600
}

.responsible-person small {
    color:#687b74
}

@media(max-width:850px) {
    .facility-profile {
        grid-template-columns:1fr
    }

    .facility-gallery {
        position:static
    }

    .facility-information {
        padding:24px
    }
}

.facility-groups {
    display:flex;
    flex-direction:column;
    gap:54px
}

.facility-group>header {
    position:relative;
    margin-bottom:20px;
    padding:0 80px 12px 0;
    border-bottom:1px solid var(--line)
}

.facility-group>header .eyebrow {
    margin:0
}

.facility-group>header h2 {
    margin:2px 0;
    font-size:clamp(1.7rem,3vw,2.4rem)
}

.facility-group>header>span {
    position:absolute;
    right:0;
    bottom:16px;
    color:#687b74;
    font-size:.86rem
}

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

.facility-card {
    display:flex;
    min-width:0;
    flex-direction:column;
    padding:0;
    overflow:hidden
}

.facility-card .card-image {
    height:220px;
    margin:0;
    border-radius:0
}

.facility-card-body {
    display:flex;
    flex:1;
    flex-direction:column;
    padding:20px
}

.facility-category {
    margin:0 0 5px;
    color:var(--green);
    font-size:.75rem;
    font-weight:650;
    text-transform:uppercase;
    letter-spacing:.08em
}

.facility-card h3 {
    margin:0 0 16px;
    font-size:1.22rem;
    overflow-wrap:anywhere
}

.facility-card-responsibles {
    display:flex;
    align-items:flex-start;
    gap:5px 9px;
    flex-wrap:wrap;
    margin-bottom:16px
}

.facility-card-responsibles>span {
    width:100%;
    color:#687b74;
    font-size:.78rem
}

.facility-card-responsibles a {
    padding:4px 9px;
    border-radius:999px;
    background:var(--mint);
    font-size:.82rem;
    font-weight:550
}

.facility-card-unassigned {
    margin:0 0 16px;
    color:#806e68;
    font-size:.84rem
}

.facility-card .card-link {
    margin-top:auto
}

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

@media(max-width:600px) {
    .facility-grid {
        grid-template-columns:1fr
    }

    .facility-group>header {
        padding-right:0
    }

    .facility-group>header>span {
        position:static;
        display:block;
        margin-top:4px
    }

    .facility-card .card-image {
        height:230px
    }
}

/* Sistem unitar pentru acțiunile din administrare */
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:38px;
    padding:8px 14px;
    border:1px solid transparent;
    border-radius:8px;
    color:#fff!important;
    font:inherit;
    font-size:.9rem;
    font-weight:550!important;
    line-height:1.2;
    text-decoration:none;
    cursor:pointer;
    transition:filter .18s ease,transform .18s ease
}

.btn:hover {
    filter:brightness(.94)
}

.btn:active {
    transform:translateY(1px)
}

.btn-primary,.btn-add {
    background:#2563eb
}

.btn-edit {
    background:#d97706
}

.btn-save {
    background:#168556
}

.btn-danger,.btn-logout {
    background:#c93636
}

.btn-back {
    border-color:#bdcbc5;
    background:#64756f
}

.actions .btn,.actions button.btn {
    border:1px solid transparent;
    background-color:inherit;
    color:#fff
}

.actions .btn-edit {
    background:#d97706
}

.actions .btn-danger {
    background:#c93636
}

.actions {
    align-items:center;
    flex-wrap:wrap
}

.actions form {
    margin:0
}

/* Cadru fix și meniu grupat pentru admin */
.admin-body {
    --admin-sidebar:270px;
    --admin-top:68px;
    --admin-bottom:46px;
    background:#f3f6f4
}

.admin-body .sidebar {
    position:fixed;
    z-index:80;
    inset:0 auto 0 0;
    width:var(--admin-sidebar);
    height:100vh;
    padding:20px 18px;
    background:#17312b;
    display:flex;
    flex-direction:column;
    gap:14px;
    overflow:hidden
}

.sidebar-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:2px 8px 12px
}

.sidebar-head .brand {
    font-size:1.12rem;
    font-weight:650
}

.sidebar-close {
    display:none;
    border:0;
    background:transparent;
    color:#fff;
    font-size:1.8rem;
    cursor:pointer
}

.admin-body .sidebar nav {
    display:block;
    flex:1;
    min-height:0;
    padding:0 5px 14px;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:#719188 transparent
}

.sidebar details {
    margin-bottom:9px;
    border-bottom:1px solid rgba(255,255,255,.1);
    padding-bottom:9px
}

.sidebar summary {
    padding:9px 10px;
    color:#a9c8bd;
    font-size:.72rem;
    font-weight:650;
    text-transform:uppercase;
    letter-spacing:.1em;
    cursor:pointer;
    list-style:none
}

.sidebar summary::-webkit-details-marker {
    display:none
}

.sidebar summary::after {
    content:'＋';
    float:right
}

.sidebar details[open] summary::after {
    content:'−'
}

.sidebar details>div {
    display:grid;
    gap:2px
}

.admin-body .sidebar nav a {
    display:block;
    padding:8px 11px;
    border-radius:7px;
    color:#f5fbf8;
    font-size:.91rem;
    font-weight:400
}

.admin-body .sidebar nav a:hover {
    background:#284b43
}

.sidebar-logout {
    flex:0 0 auto;
    margin:0!important;
    padding:12px 5px 0;
    border-top:1px solid rgba(255,255,255,.14)
}

.sidebar-logout .btn {
    width:100%
}

.admin-topbar {
    position:fixed;
    z-index:60;
    top:0;
    left:var(--admin-sidebar);
    right:0;
    height:var(--admin-top);
    display:flex;
    align-items:center;
    gap:18px;
    padding:0 28px;
    border-bottom:1px solid #dbe7e1;
    background:#fff;
    box-shadow:0 5px 18px rgba(23,49,43,.05)
}

.admin-topbar>a {
    color:#17312b;
    font-weight:600
}

.admin-user {
    display:flex;
    margin-left:auto;
    flex-direction:column;
    text-align:right;
    line-height:1.25
}

.admin-user span {
    font-size:.9rem;
    font-weight:600
}

.admin-user small {
    color:#6b7c75;
    font-size:.74rem
}

.admin-menu-toggle {
    display:none;
    border:0;
    background:#17312b;
    color:#fff;
    width:40px;
    height:38px;
    border-radius:8px;
    font-size:1.2rem
}

.admin-footer {
    position:fixed;
    z-index:55;
    left:var(--admin-sidebar);
    right:0;
    bottom:0;
    height:var(--admin-bottom);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 28px;
    border-top:1px solid #dbe7e1;
    background:#fff;
    color:#65776f;
    font-size:.78rem
}

.admin-authenticated .admin-main {
    width:auto;
    max-width:none;
    margin:0 0 0 var(--admin-sidebar);
    padding:calc(var(--admin-top) + 30px) 32px calc(var(--admin-bottom) + 30px)
}

.admin-guest .admin-topbar {
    left:0
}

.admin-guest .admin-footer {
    left:0
}

.admin-guest .admin-main {
    max-width:none;
    margin:0;
    padding:calc(var(--admin-top) + 20px) 20px calc(var(--admin-bottom) + 20px)
}

.admin-backdrop {
    display:none
}

.admin-body .editor label,.admin-body .login-box label {
    font-weight:550
}

.admin-body .button {
    font-weight:550
}

/* Formular contact public */
.contact-layout {
    display:grid;
    grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
    gap:clamp(35px,7vw,90px);
    align-items:start
}

.contact-details {
    padding:30px;
    border-radius:18px;
    background:var(--mint)
}

.contact-details h2 {
    margin:5px 0 20px;
    line-height:1.25
}

.contact-details address {
    margin-bottom:26px;
    font-style:normal
}

.contact-details>p:not(.eyebrow) {
    display:flex;
    flex-direction:column;
    margin:18px 0
}

.contact-details>p span {
    color:#65776f;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.06em
}

.contact-details>p a {
    font-weight:600
}

.contact-form-card {
    padding:clamp(24px,4vw,42px);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow)
}

.contact-form-card h2 {
    margin:3px 0 24px
}

.contact-form-card label {
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-bottom:17px;
    font-size:.9rem;
    font-weight:550
}

.contact-form-card input,.contact-form-card textarea {
    width:100%;
    padding:12px 13px;
    border:1px solid #bdcec6;
    border-radius:9px;
    background:#fff;
    font:inherit;
    font-weight:400
}

.contact-form-card input:focus,.contact-form-card textarea:focus {
    outline:2px solid rgba(40,118,93,.18);
    border-color:#28765d
}

.contact-consent {
    flex-direction:row!important;
    align-items:flex-start
}

.contact-consent input {
    width:auto;
    margin-top:5px
}

.contact-honeypot {
    position:absolute!important;
    left:-10000px!important
}

.contact-success {
    margin-bottom:20px;
    padding:13px 15px;
    border-radius:9px;
    background:#e4f6ed;
    color:#176b48
}

@media(max-width:900px) {
    .admin-body {
        --admin-sidebar:min(86vw,300px)
    }

    .admin-body .sidebar {
        transform:translateX(-105%);
        transition:transform .22s ease
    }

    .admin-menu-open .sidebar {
        transform:translateX(0)
    }

    .sidebar-close {
        display:block
    }

    .admin-backdrop {
        position:fixed;
        z-index:70;
        inset:0;
        display:block;
        background:rgba(8,20,17,.48);
        opacity:0;
        pointer-events:none;
        transition:opacity .22s
    }

    .admin-menu-open .admin-backdrop {
        opacity:1;
        pointer-events:auto
    }

    .admin-topbar,.admin-footer {
        left:0
    }

    .admin-menu-toggle {
        display:inline-grid;
        place-items:center
    }

    .admin-authenticated .admin-main {
        margin-left:0;
        padding-left:20px;
        padding-right:20px
    }

    .admin-user small {
        max-width:48vw;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap
    }
}

@media(max-width:760px) {
    .contact-layout {
        grid-template-columns:1fr
    }

    .admin-topbar {
        padding:0 15px
    }

    .admin-topbar>a {
        font-size:.9rem
    }

    .admin-user small {
        display:none
    }

    .admin-footer {
        padding:0 16px
    }

    .admin-footer span:first-child {
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap
    }

    .admin-body .table-wrap {
        overflow-x:visible
    }

    .admin-body .actions .btn {
        width:auto
    }

    .admin-body .editor {
        max-width:none
    }

    .contact-form-card .form-grid {
        grid-template-columns:1fr
    }
}

/* Titlurile cardurilor rămân compacte, indiferent de lungimea denumirii. */
.card h2,.card h3 {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3;
    max-height:3.75em;
    overflow-wrap:anywhere
}

/* Carousel echipă homepage */
.team-carousel-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px
}

.team-carousel-head .eyebrow {
    margin:0
}

.team-carousel-head h2 {
    margin:3px 0 0
}

.carousel-controls {
    display:flex;
    gap:9px
}

.carousel-controls button {
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    border:1px solid #bcd2c9;
    border-radius:50%;
    background:#fff;
    color:var(--ink);
    font-size:1.15rem;
    cursor:pointer;
    transition:background .18s,border-color .18s
}

.carousel-controls button:hover,.carousel-controls button:focus {
    border-color:var(--green);
    background:var(--green);
    color:#fff;
    outline:none
}

.team-carousel-viewport {
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none
}

.team-carousel-viewport::-webkit-scrollbar {
    display:none
}

.team-carousel-track {
    display:flex;
    gap:22px
}

.team-slide {
    display:flex;
    flex:0 0 calc((100% - 66px)/4);
    min-width:0;
    flex-direction:column;
    scroll-snap-align:start
}

.team-slide .card-image {
    height:210px
}

.team-slide h3 {
    margin-top:12px
}

.team-slide>p {
    margin-top:auto
}

@media(max-width:1050px) {
    .team-slide {
        flex-basis:calc((100% - 44px)/3)
    }
}

@media(max-width:760px) {
    .team-slide {
        flex-basis:calc((100% - 22px)/2)
    }
}

@media(max-width:520px) {
    .team-slide {
        flex-basis:100%
    }

    .team-carousel-head {
        align-items:center
    }

    .team-slide .card-image {
        height:260px
    }
}

@media(prefers-reduced-motion:reduce) {
    .team-carousel-viewport {
        scroll-behavior:auto
    }
}

.admin-body .sidebar nav a.menu-messages {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px
}

.admin-body .sidebar nav a.menu-messages.has-unread {
    background:#315d50;
    color:#fff
}

.menu-badge {
    display:inline-grid;
    min-width:25px;
    height:25px;
    padding:0 7px;
    place-items:center;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:.74rem;
    font-weight:650;
    line-height:1;
    box-shadow:0 0 0 3px rgba(239,68,68,.16)
}

.btn-view {
    background:#2563eb
}

.btn-read {
    background:#168556
}

.message-actions {
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap
}

.message-actions form {
    margin:0
}

.message-actions .btn {
    min-height:34px;
    padding:7px 10px;
    font-size:.8rem
}

.messages-table-wrap td:last-child {
    min-width:250px
}

.message-unread {
    background:#f3faf7
}

.message-preview {
    display:-webkit-box;
    max-width:560px;
    margin:7px 0 0;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    color:#53675f;
    font-weight:400
}

.message-status-new {
    display:table;
    margin-top:7px;
    padding:3px 8px;
    border-radius:999px;
    background:#dcf5e8;
    color:#176b48;
    font-size:.7rem;
    font-weight:650;
    text-transform:uppercase
}

.admin-message-modal {
    width:min(720px,calc(100% - 30px));
    max-height:min(82vh,760px);
    padding:0;
    border:0;
    border-radius:18px;
    background:#fff;
    color:var(--ink);
    box-shadow:0 28px 90px rgba(9,27,22,.28);
    overflow:auto
}

.admin-message-modal::backdrop {
    background:rgba(7,20,16,.58);
    backdrop-filter:blur(2px)
}

.modal-head {
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:22px 25px 18px;
    border-bottom:1px solid var(--line);
    background:#fff
}

.modal-head .eyebrow {
    margin:0
}

.modal-head h2 {
    margin:4px 0 0;
    font-size:1.45rem;
    line-height:1.25
}

.modal-close {
    display:grid;
    width:38px;
    height:38px;
    flex:0 0 38px;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#edf3f0;
    color:#30463f;
    font-size:1.45rem;
    cursor:pointer
}

.modal-message-meta {
    display:grid;
    grid-template-columns:1fr 1fr;
    margin:0;
    padding:20px 25px;
    gap:13px 24px;
    background:#f7faf8
}

.modal-message-meta div {
    min-width:0
}

.modal-message-meta dt {
    color:#687b74;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.06em
}

.modal-message-meta dd {
    margin:3px 0 0;
    overflow-wrap:anywhere;
    font-weight:550
}

.modal-message-body {
    margin:24px 25px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    white-space:pre-wrap;
    overflow-wrap:anywhere
}

.modal-actions {
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding:0 25px 24px
}

@media(max-width:760px) {
    .messages-table-wrap td:last-child {
        min-width:0
    }

    .message-actions {
        justify-content:flex-start
    }

    .modal-message-meta {
        grid-template-columns:1fr
    }

    .modal-actions {
        align-items:stretch;
        flex-direction:column
    }

    .modal-actions .btn {
        width:100%
    }
}

.captcha-trap {
    position:absolute!important;
    left:-10000px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important
}

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

.module-card {
    display:flex;
    min-height:220px;
    flex-direction:column;
    align-items:stretch;
    padding:25px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow)
}

.module-card-content {
    width:100%
}

.module-card-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px
}

.module-card h2 {
    margin:0
}

.module-card p {
    color:#62766e
}

.module-card .btn {
    align-self:flex-start;
    margin-top:auto
}

.module-state {
    display:inline-flex;
    flex:0 0 auto;
    padding:4px 9px;
    border-radius:999px;
    font-size:.72rem;
    font-weight:650
}

.module-state.enabled {
    background:#dcf5e8;
    color:#176b48
}

.module-state.disabled {
    background:#f1e5e3;
    color:#8e3932
}

.module-toggle {
    flex-direction:row!important;
    align-items:center;
    gap:10px
}

.module-toggle input {
    width:auto;
    margin:0
}

.module-info {
    margin-bottom:20px;
    padding:14px;
    border-radius:10px;
    background:#eaf4ff;
    color:#25517c
}

.gdpr-layout {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
    gap:clamp(35px,6vw,80px);
    align-items:start
}

.gdpr-information {
    max-width:none
}

.gdpr-action-form {
    display:grid;
    min-width:220px;
    gap:8px
}

.gdpr-action-form select,.gdpr-action-form textarea {
    width:100%;
    padding:8px;
    border:1px solid #bdcec6;
    border-radius:7px;
    font:inherit
}

.gdpr-log-title {
    margin-top:38px
}

.gdpr-banner {
    position:fixed;
    z-index:120;
    left:20px;
    right:20px;
    bottom:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    width:min(960px,calc(100% - 40px));
    margin:auto;
    padding:18px 20px;
    border:1px solid #c9dcd4;
    border-radius:16px;
    background:#fff;
    box-shadow:0 22px 70px rgba(12,35,28,.24)
}

.gdpr-banner strong {
    font-size:1rem
}

.gdpr-banner p {
    margin:3px 0 0;
    color:#53675f;
    font-size:.88rem
}

.gdpr-banner-actions {
    display:flex;
    flex:0 0 auto;
    gap:9px
}

.gdpr-banner-actions>button:not(.button) {
    padding:10px 13px;
    border:1px solid #bdcec6;
    border-radius:9px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    cursor:pointer
}

.footer-legal a {
    color:#dcebe5;
    text-decoration:underline
}

@media(max-width:800px) {
    .module-grid,.gdpr-layout {
        grid-template-columns:1fr
    }

    .gdpr-banner {
        align-items:stretch;
        flex-direction:column
    }

    .gdpr-banner-actions {
        width:100%
    }

    .gdpr-banner-actions button {
        flex:1
    }
}

.local-captcha-badge {
    position:fixed;
    z-index:9;
    right:14px;
    bottom:14px;
    display:flex;
    align-items:center;
    gap:10px;
    width:auto;
    margin:0;
    padding:9px 12px;
    border:1px solid #c9dcd4;
    border-radius:9px;
    background:rgba(255,255,255,.97);
    color:#17312b;
    box-shadow:0 5px 22px rgba(23,49,43,.16);
    font-style:normal;
    line-height:1.2
}

.local-captcha-badge>span:last-child {
    display:flex;
    flex-direction:column
}

.local-captcha-badge strong {
    font-size:.76rem;
    font-weight:650
}

.local-captcha-badge small {
    margin-top:2px;
    color:#64776f;
    font-size:.64rem
}

.local-captcha-shield {
    display:grid;
    flex:0 0 30px;
    width:30px;
    height:34px;
    place-items:center;
    border-radius:15px 15px 18px 18px;
    background:#28765d;
    color:#fff;
    font-size:.9rem;
    font-weight:700
}

@media(max-width:520px) {
    .local-captcha-badge {
        right:8px;
        bottom:8px;
        padding:7px 9px
    }

    .local-captcha-badge small {
        display:none
    }

    .local-captcha-shield {
        flex-basis:26px;
        width:26px;
        height:29px
    }
}

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

.section-heading h2 {
    margin:0
}

.section-heading .eyebrow {
    margin:0 0 4px
}

.section-link {
    flex:0 0 auto;
    font-weight:600
}

.material-card h3,.home-materials .card h3,.member-materials .card h3 {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    line-clamp:3
}

.material-author {
    margin:7px 0;
    color:#64766f;
    font-size:.88rem
}

.material-author a {
    font-weight:600
}

.detail-author {
    margin:12px 0 0;
    color:#53675f
}

.detail-author a {
    font-weight:650
}

.detail-featured-image {
    display:block;
    width:min(100%,850px);
    max-height:520px;
    margin:0 0 30px;
    object-fit:cover;
    border-radius:18px
}

.member-materials {
    border-top:1px solid var(--line)
}

@media(max-width:620px) {
    .section-heading {
        align-items:flex-start;
        flex-direction:column;
        gap:8px
    }
}

.page-head {
    position:relative;
    overflow:hidden;
    background-color:#e9f5ef;
    background-image:linear-gradient(105deg,rgba(233,245,239,.97) 0%,rgba(233,245,239,.82) 48%,rgba(216,239,228,.76) 100%),url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiIGhlaWdodD0iMjEwIiB2aWV3Qm94PSIwIDAgNDIwIDIxMCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMjg3NjVkIiBzdHJva2Utd2lkdGg9IjIiIG9wYWNpdHk9Ii4xMyI+PGNpcmNsZSBjeD0iMzQ1IiBjeT0iNDUiIHI9IjI4Ii8+PGNpcmNsZSBjeD0iMzQ1IiBjeT0iNDUiIHI9IjE2Ii8+PHBhdGggZD0iTTIyIDE3MGM0Mi01NSA4NC01NSAxMjYgMHM4NCA1NSAxMjYgMCA4NC01NSAxMjYgMCIvPjxwYXRoIGQ9Ik0zMiAyOGMyNSAwIDI1IDM4IDUwIDM4czI1LTM4IDUwLTM4Ii8+PHBhdGggZD0iTTI2MCA4OGMxOC0zMCA1MS0zMCA2OSAwLTE4IDMwLTUxIDMwLTY5IDBaIi8+PC9nPjxnIGZpbGw9IiNmMmE2NWEiIG9wYWNpdHk9Ii4xNiI+PGNpcmNsZSBjeD0iNzIiIGN5PSIxMTIiIHI9IjEzIi8+PGNpcmNsZSBjeD0iMzgyIiBjeT0iMTI4IiByPSI3Ii8+PC9nPjxnIGZpbGw9IiMyODc2NWQiIG9wYWNpdHk9Ii4wOCI+PHBhdGggZD0iTTE4OCAyNGwxMyAyNCAyNyA1LTE5IDIwIDQgMjgtMjUtMTItMjUgMTIgNC0yOC0xOS0yMCAyNy01WiIvPjxwYXRoIGQ9Ik0zMDQgMTQ1YzIwLTI0IDQyLTE4IDQ0IDgtMjEgOS0zNiA3LTQ0LThaIi8+PC9nPjwvc3ZnPg==");
    background-position:center,center;
    background-size:auto,420px 210px;
    background-repeat:no-repeat,repeat;
    box-shadow:inset 0 -1px 0 rgba(40,118,93,.09)
}

.page-head::after {
    content:"";
    position:absolute;
    right:-70px;
    bottom:-95px;
    width:260px;
    height:190px;
    border:42px solid rgba(40,118,93,.055);
    border-radius:50%;
    pointer-events:none
}

.page-head .wrap {
    position:relative;
    z-index:1
}

.page-head::before {
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    background-image:radial-gradient(circle at 9% 30%,rgba(242,166,90,.34) 0 13px,transparent 14px),radial-gradient(circle at 83% 24%,rgba(40,118,93,.18) 0 46px,transparent 47px),url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiIGhlaWdodD0iMjEwIiB2aWV3Qm94PSIwIDAgNDIwIDIxMCI+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMjg3NjVkIiBzdHJva2Utd2lkdGg9IjIiIG9wYWNpdHk9Ii4xMyI+PGNpcmNsZSBjeD0iMzQ1IiBjeT0iNDUiIHI9IjI4Ii8+PGNpcmNsZSBjeD0iMzQ1IiBjeT0iNDUiIHI9IjE2Ii8+PHBhdGggZD0iTTIyIDE3MGM0Mi01NSA4NC01NSAxMjYgMHM4NCA1NSAxMjYgMCA4NC01NSAxMjYgMCIvPjxwYXRoIGQ9Ik0zMiAyOGMyNSAwIDI1IDM4IDUwIDM4czI1LTM4IDUwLTM4Ii8+PHBhdGggZD0iTTI2MCA4OGMxOC0zMCA1MS0zMCA2OSAwLTE4IDMwLTUxIDMwLTY5IDBaIi8+PC9nPjxnIGZpbGw9IiNmMmE2NWEiIG9wYWNpdHk9Ii4xNiI+PGNpcmNsZSBjeD0iNzIiIGN5PSIxMTIiIHI9IjEzIi8+PGNpcmNsZSBjeD0iMzgyIiBjeT0iMTI4IiByPSI3Ii8+PC9nPjxnIGZpbGw9IiMyODc2NWQiIG9wYWNpdHk9Ii4wOCI+PHBhdGggZD0iTTE4OCAyNGwxMyAyNCAyNyA1LTE5IDIwIDQgMjgtMjUtMTItMjUgMTIgNC0yOC0xOS0yMCAyNy01WiIvPjxwYXRoIGQ9Ik0zMDQgMTQ1YzIwLTI0IDQyLTE4IDQ0IDgtMjEgOS0zNiA3LTQ0LThaIi8+PC9nPjwvc3ZnPg==");
    background-position:center,center,center;
    background-size:auto,auto,340px 170px;
    background-repeat:no-repeat,no-repeat,repeat;
    opacity:.78;
    pointer-events:none
}

.page-head::after {
    border-color:rgba(40,118,93,.13);
    background:rgba(255,255,255,.12)
}

.order-buttons {
    display:flex;
    gap:6px
}

.order-buttons form {
    margin:0
}

.btn.btn-order {
    display:grid;
    width:34px;
    height:34px;
    padding:0;
    place-items:center;
    background:#e6f2ec;
    color:#176b48
}

.btn.btn-order:hover {
    background:#cfe7db
}

.btn.btn-order:disabled {
    opacity:.35;
    cursor:not-allowed
}

.table-wrap td>small {
    display:block;
    margin-top:3px;
    color:#687b73
}

.hero-content {
    max-width:680px;
    margin-bottom:22px
}

.hero-content>:first-child {
    margin-top:0
}

.hero-content>:last-child {
    margin-bottom:0
}

.custom-home-section h2 {
    margin-top:0
}

.custom-home-section .button {
    margin-top:18px
}

.section-bottom-link {
    display:inline-block;
    margin-top:24px
}

/* Liste admin compacte și aliniate uniform. */
.admin-body .table-wrap {
    overflow-x:auto
}

.admin-body .table-wrap th,.admin-body .table-wrap td {
    vertical-align:middle;
    line-height:1.35
}

.admin-body .table-wrap th {
    padding:10px 14px
}

.admin-body .table-wrap td {
    padding:9px 14px
}

.admin-body .table-wrap tbody tr {
    height:auto
}

.admin-body .table-wrap td p {
    margin-top:5px;
    margin-bottom:5px
}

.admin-body .module-state,.module-card .module-state {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    color:#fff;
    font-size:.72rem;
    font-weight:650;
    line-height:1.2;
    white-space:nowrap
}

.admin-body .module-state.enabled,.module-card .module-state.enabled {
    background:#168556;
    color:#fff
}

.admin-body .module-state.disabled,.module-card .module-state.disabled {
    background:#c93636;
    color:#fff
}

.module-card-actions {
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:auto
}

.module-card-actions form {
    margin:0
}

.module-card-actions .btn {
    margin-top:0
}

.admin-body .sidebar nav a.is-active {
    background:#284b43;
    color:#fff;
    box-shadow:inset 3px 0 0 #8fcbb7
}

.admin-body .actions button.btn-danger,.admin-body .message-actions button.btn-danger,.admin-body button.btn-danger {
    border-color:transparent;
    background:#c93636;
    color:#fff
}

.grid .card>p:not(.meta),.team-slide>p {
    display:-webkit-box;
    max-height:8.25em;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:5;
    line-clamp:5;
    overflow-wrap:anywhere
}

.admin-body .editor label.toggle-control,.admin-body label.toggle-control {
    position:relative;
    display:flex!important;
    width:max-content;
    max-width:100%;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:11px;
    margin:4px 0 20px!important;
    padding:0;
    cursor:pointer;
    font-weight:550
}

.toggle-control input[type="checkbox"] {
    position:absolute;
    width:1px!important;
    height:1px!important;
    margin:0!important;
    padding:0!important;
    opacity:0;
    pointer-events:none
}

.toggle-track {
    position:relative;
    display:inline-block;
    width:48px;
    height:27px;
    flex:0 0 48px;
    border:1px solid #9db3aa;
    border-radius:999px;
    background:#dce6e1;
    box-shadow:inset 0 1px 2px rgba(23,49,43,.1);
    transition:background .18s,border-color .18s,box-shadow .18s
}

.toggle-track::after {
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:19px;
    height:19px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 5px rgba(23,49,43,.24);
    transition:transform .18s
}

.toggle-control input:checked+.toggle-track {
    border-color:#168556;
    background:#168556
}

.toggle-control input:checked+.toggle-track::after {
    transform:translateX(21px)
}

.toggle-control.toggle-danger input:checked+.toggle-track {
    border-color:#c93636;
    background:#c93636
}

.toggle-control input:focus-visible+.toggle-track {
    box-shadow:0 0 0 3px rgba(37,99,235,.22)
}

.toggle-control input:disabled+.toggle-track {
    opacity:.55;
    cursor:not-allowed
}

.toggle-label {
    min-width:0;
    line-height:1.35
}

.current-file .toggle-control.remove-file {
    margin:0 0 0 auto!important;
    color:#8d3434
}

.admin-topbar>a.admin-view-site {
    display:inline-flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
    padding:8px 12px;
    border:1px solid #b9cec5;
    border-radius:8px;
    background:#f3f8f5;
    color:#176b48;
    font-size:.82rem;
    font-weight:600;
    line-height:1.2;
    transition:background .18s,border-color .18s,color .18s
}

.admin-topbar>a.admin-view-site:hover,.admin-topbar>a.admin-view-site:focus {
    border-color:#28765d;
    background:#28765d;
    color:#fff;
    outline:none
}

.admin-body .sidebar .sidebar-logout button.btn-logout {
    border:1px solid #d94848;
    background:#c93636;
    color:#fff
}

.admin-body .sidebar .sidebar-logout button.btn-logout:hover,.admin-body .sidebar .sidebar-logout button.btn-logout:focus {
    background:#a92323;
    color:#fff;
    outline:none
}

@media(max-width:600px) {
    .current-file .toggle-control.remove-file {
        margin-left:0!important
    }
}

@media(min-width:761px) {
    .admin-body .table-wrap td.actions {
        display:table-cell;
        white-space:nowrap
    }

    .admin-body .table-wrap td.actions>a,.admin-body .table-wrap td.actions>form {
        display:inline-flex;
        vertical-align:middle;
        margin:0 7px 0 0
    }

    .admin-body .table-wrap td.actions>form:last-child,.admin-body .table-wrap td.actions>a:last-child {
        margin-right:0
    }

    .admin-body .table-wrap .order-buttons {
        align-items:center
    }

    .admin-body .table-wrap .message-actions {
        align-items:center
    }
}

.contact-form-card select {
    width:100%;
    min-height:50px;
    padding:12px 44px 12px 13px;
    appearance:none;
    border:1px solid #bdcec6;
    border-radius:9px;
    background-color:#fff;
    background-image:linear-gradient(45deg,transparent 50%,#28765d 50%),linear-gradient(135deg,#28765d 50%,transparent 50%);
    background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;
    background-size:6px 6px,6px 6px;
    background-repeat:no-repeat;
    color:var(--ink);
    font:inherit;
    font-weight:400;
    cursor:pointer;
    transition:border-color .18s,box-shadow .18s
}

.contact-form-card select:hover {
    border-color:#82aa9b
}

.contact-form-card select:focus {
    outline:0;
    border-color:#28765d;
    box-shadow:0 0 0 3px rgba(40,118,93,.16)
}

/* Filtre admin: comportament stabil pe ecrane tactile/mobile. */
.admin-body [hidden] {
    display:none!important
}

.admin-body .list-tools select, .admin-body .list-tools input[type="search"] {
    position:relative;
    z-index:1;
    min-height:44px;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
}

.admin-body .list-tools select {
    cursor:pointer
}

@media(max-width:760px) {
    .admin-body .list-tools, .admin-body .list-filters, .admin-body .quick-search, .admin-body .list-tools label {
        width:100%;
        min-width:0;
    }

    .admin-body .list-tools select, .admin-body .list-tools input[type="search"] {
        display:block;
        width:100%;
        max-width:none;
        min-width:0;
        font-size:16px;
    }
}

/* Mentenanță publică */
.maintenance-page {
    min-height:100vh;
    margin:0;
    background:#edf4f0;
    color:#17312b
}

.maintenance-shell {
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:32px 20px
}

.maintenance-card {
    width:min(720px,100%);
    padding:clamp(34px,7vw,72px);
    border:1px solid #d8e5df;
    border-radius:28px;
    background:#fff;
    box-shadow:0 24px 70px rgba(23,49,43,.12);
    text-align:center
}

.maintenance-logo {
    display:block;
    max-width:min(300px,70%);
    max-height:110px;
    margin:0 auto 34px;
    object-fit:contain
}

.maintenance-site-name {
    margin:0 0 34px;
    font-size:1rem;
    font-weight:650
}

.maintenance-icon {
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin:0 auto 22px;
    border-radius:50%;
    background:#e5f2ec;
    color:#28765d;
    font-size:1.7rem
}

.maintenance-card h1 {
    margin:8px 0 18px;
    font-size:clamp(2rem,6vw,4.2rem);
    line-height:1.05
}

.maintenance-message {
    max-width:570px;
    margin:0 auto;
    color:#5d7068;
    font-size:clamp(1rem,2.5vw,1.18rem);
    line-height:1.75
}

.maintenance-contact {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px 24px;
    margin-top:30px;
    padding-top:25px;
    border-top:1px solid #e0eae5
}

.maintenance-contact a {
    color:#176b48;
    font-weight:650
}

/* Logout fixat la baza meniului pe mobil */
@media(max-width:900px) {
    .admin-body .sidebar nav {
        padding-bottom:92px
    }

    .admin-body .sidebar .sidebar-logout {
        position:absolute;
        z-index:2;
        left:18px;
        right:18px;
        bottom:0;
        margin:0!important;
        padding:14px 5px 18px;
        background:#17312b
    }
}

/* Ajustări landing page mentenanță: logo + fundal SVG */
.maintenance-page {
    position: relative;
    overflow-x: hidden;
    background: #edf4f0;
}

.maintenance-page::before {
    content: "";
    position: fixed;
    inset: -18px;
    z-index: 0;
    pointer-events: none;
    background-image: url('../img/maintenance-bg.svg');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: .12;
    filter: blur(1.4px);
    transform: scale(1.03);
}

.maintenance-shell {
    position: relative;
    z-index: 1;
}

.maintenance-logo-wrap {
    position: relative;
    display: inline-grid;
    place-items: center;
    margin: 0 auto 34px;
    isolation: isolate;
}

/* Logo-ul are cifra 16 albă. Discul portocaliu plasat sub zona centrală
   îi oferă contrast fără să fie modificat fișierul logo încărcat din setări. */
.maintenance-logo-wrap::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: #ed941f;
    transform: translate(-50%, -50%);
}

.maintenance-logo {
    position: relative;
    z-index: 1;
    display: block;
    width: auto;
    max-width: min(300px, 70vw);
    max-height: 110px;
    margin: 0;
    object-fit: contain;
}

@media(max-width: 520px) {
    .maintenance-logo-wrap::before {
        width: 58px;
        height: 58px;
    }
}

/* Corecție definitivă drawer admin pe mobil: viewport dinamic + nav flexibil */
@media (max-width: 900px) {
    .admin-body.admin-menu-open {
        overflow: hidden;
        overscroll-behavior: none;
    }

    .admin-body .sidebar {
        top: 0;
        bottom: auto;
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
        padding: 18px 18px 0;
        display: flex;
        flex-direction: column;
        gap: 0;
        overflow: hidden;
    }

    .admin-body .sidebar .sidebar-head {
        flex: 0 0 auto;
        padding: 2px 8px 14px;
        margin-bottom: 6px;
    }

    .admin-body .sidebar nav {
        display: block;
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        height: auto;
        padding: 8px 5px 18px;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        scrollbar-gutter: stable;
    }

    .admin-body .sidebar .sidebar-logout {
        position: static;
        inset: auto;
        flex: 0 0 auto;
        margin: 0 !important;
        padding: 14px 5px max(18px, env(safe-area-inset-bottom));
        border-top: 1px solid rgba(255,255,255,.14);
        background: #17312b;
    }

    .admin-body .sidebar .sidebar-logout .btn {
        min-height: 48px;
        margin: 0;
    }
}
