/*
:root {
    --default-body-bg-color: #fefaf1;
    --primary-color: #fbb016;
    --primary-color-rgb: 251, 176, 22;
    --primary-rgb: 251, 176, 22;
    --primary-color-dark: #b17a0c;
    --primary-color-dark-rgb: 177, 122, 12;
    --bs-body-color: #383838;
    --bs-body-color-rgb: 56, 56, 56;
}

.btn {
    --bs-border-radius: 0.65rem;
    font-weight: 600;
}

.btn-primary {
    --bs-btn-color: black;
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--primary-color-dark);
    --bs-btn-hover-border-color: var(--primary-color-dark);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--primary-color-dark);
    --bs-btn-active-border-color: var(--primary-color-dark);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--primary-color);
    --bs-btn-disabled-border-color: var(--primary-color);
}

.btn-primary {
    color: var(--bs-btn-color) !important;
}

.btn-green {
    --bs-btn-color: white;
    --bs-btn-bg: #3e9d56;
    --bs-btn-border-color: #3e9d56;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgba(62, 157, 86, 0.9);
    --bs-btn-hover-border-color: rgba(62, 157, 86, 0.9);
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgba(62, 157, 86, 0.9);;
    --bs-btn-active-border-color: rgba(62, 157, 86, 0.9);;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #3e9d56;
    --bs-btn-disabled-border-color: #3e9d56;
}

.btn-gray {
    --bs-btn-color: #383838;
    --bs-btn-bg: white;
    --bs-btn-border-color: #767676;
    --bs-btn-hover-color: #383838;
    --bs-btn-hover-bg: #F0F0F0;
    --bs-btn-hover-border-color: #767676;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: #383838;
    --bs-btn-active-bg: #F0F0F0;
    --bs-btn-active-border-color: #767676;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #383838;
    --bs-btn-disabled-bg: white;
    --bs-btn-disabled-border-color: #767676;
}

.main-header {
    background-color: #fefaf1;
    padding: 0.5rem;
    margin-bottom: 2rem;
}

.header-logo {
    width: fit-content;
    text-align: center;
}

.header-logo img {
    width: 150px;
}

.menu-btn {
    min-width: 80%;
    font-size: 20px;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 1rem;
}

.main-footer {
    background-color: #f6f6f6;
    box-shadow: 0 -2px 6px 0 rgba(0, 0, 0, 0.15);
    padding: 1.25rem 0;
    margin-top: 2rem;
}

ul.undecorated {
    list-style: none;
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.content {
    flex-grow: 1;
}

.big-textarea {
    height: 220px;
    resize: none;
}

.task-tabs-container .tab-pane {
    min-height: auto;
}

.task-pending-card {
    -webkit-border-start: .45rem solid rgba(var(--warning-rgb), .4) !important;
    border-inline-start: .45rem solid rgba(var(--warning-rgb), .4) !important;
}
*/
:root {
    /*--primary-color: #0060a5;*/
    --primary-color: #2b3e65;
    --bg: #0f172a;           /* slate-900 */
    --panel: #111827;        /* gray-900 */
    --muted: #94a3b8;        /* slate-400 */
    --text: #e5e7eb;         /* gray-200 */
    --accent: #22c55e;       /* green-500 */
    --accent-2: #3b82f6;     /* blue-500 */
    --card: #0b1220;         /* deep panel */
    --border: #1f2937;       /* gray-800 */
}
.landing-body {
    background: #e8e8e8;
}
.landing-body .app-sidebar {
    background-color: #0060a5;
}
.app-sidebar .side-menu__label {
    white-space: wrap;
}
.landing-body .program-aside {
    background: #0060a5;
}
.landing-body .program-aside a {
    color:#fff;
    padding: 10px 15px;
    display:block;
    font-size:1rem;
}

.landing-body .program-aside a + a {
    border-top: 1px solid #365eb1;
}
.truncate-text-multiline {
    overflow: hidden;
    display: -webkit-box;         /* For Webkit browsers (Chrome, Safari) */
    -webkit-line-clamp: 3;        /* Truncate after 3 lines */
    -webkit-box-orient: vertical; /* Required for -webkit-line-clamp to work */
    text-overflow: ellipsis;      /* Fallback for browsers that don't support -webkit-line-clamp */
    max-height: 4.5em;            /* (Approximate) Adjust based on line-height and desired lines */
    line-height: 1.5em;           /* Important: Set a consistent line-height */
}
@media (min-width: 992px) {
    [data-nav-style="menu-click"][data-nav-layout="horizontal"] .landing-body .app-sidebar .side-menu__item {
        -webkit-padding-end: .3rem;
        padding-inline-end: .3rem;
        -webkit-padding-start: .3rem;
        padding-inline-start: .3rem;
    }
}
@media (min-width: 992px) {
    [data-nav-style="menu-click"][data-nav-layout="horizontal"] .landing-body .app-sidebar .side-menu__item {
        -webkit-padding-end: .3rem;
        padding-inline-end: .3rem;
        -webkit-padding-start: .3rem;
        padding-inline-start: .3rem;
    }
    [data-nav-layout=horizontal] .horizontal-logo .header-logo img {
        height: 3.3rem;
        line-height: 3.3rem;
    }
    [data-nav-layout=horizontal] .horizontal-logo {
        padding: 0.2rem 0;
        display: block;
    }
}

@media (min-width: 1367px) {
    [data-nav-style="menu-click"][data-nav-layout="horizontal"] .landing-body .app-sidebar .side-menu__item {
        -webkit-padding-end: .8rem;
        padding-inline-end: .8rem;
        -webkit-padding-start: .8rem;
        padding-inline-start: .8rem;
    }
}

@media (max-width: 992px) {
    .app-sidebar .side-menu__label, .app-sidebar .side-menu__angle {
        color:#fff !important;
    }
    .app-sidebar .side-menu__item {
        color:#fff !important;
    }
}
.apel-program + .apel-program {
    margin-top:10px;
}
.apel-program {
    padding: 15px;
    border: 1px solid #ddd;
    background: #fafafa;
    border-left-color: #0060a5;
    position: relative;
}
.apel-program .item-btn {
    background: #0060a5;
    position:absolute;
    right:0;
    bottom:0;
    color:#ffffff;
    font-size: 1.2rem;
    padding: 5px 10px;
}
.bg-banner {
    background-color: #0060a5;
}
.footer-container ul {
    list-style: none;
    padding-left:0;
}
.footer-container ul a {
    font-size: .85rem;
    line-height: 1.2rem;
    color:#fff;
    display: inline-block;
    padding:5px 0;
}
.footer-container ul a:hover {
    color:#ddd;
}
.container-custom .card.custom-card .card-header {
    background-color: #0060a5 !important;
    color: #f6b80a;
}
.container-custom .card {
    border: none !important;
    overflow: hidden !important;
}
.container-custom .card .card-body {
    border: 1px solid var(--default-border) !important;
}
.container-custom .card.custom-card {
    padding-top:4.2rem;
}
.container-custom .card.custom-card a:not(.item-btn):not(.page-link) {
    color:#0060a5;
    text-decoration: underline;
}
.page-item.active .page-link {
    background-color: #0060a5 !important;
    border-color: #0060a5 !important;
}
/*
.container-custom .card-title {
    background: #0060a5;
    color: #f6b80a;
}*/

.btn-primary {
    background-color: #0060a5 !important;
    border-color: #0060a5 !important;
}
.btn-primary:hover {
    background-color: #365eb1 !important;
    border-color: #365eb1 !important;
}
.landing-body .landing-banner::before {
    background-color: #365eb1 !important;
}
.text-primary {
    color: #0060a5 !important;
}
.text-primary:hover  {
    color: #365eb1 !important;
}
/*.contact-container {
    max-width: 400px;
    margin: 40px auto;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    font-family: Arial, sans-serif;
    background-color: #f9f9f9;
}*/

.card-title, .text-blue {
    color: #0060a5 !important;
}

.contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 15px;
    color: #fff;
}

.contact-item i {
    font-size: 20px;
    margin-right: 12px;
    color: #f5b849;
    width: 24px;
    text-align: center;
}

.contact-label {
    /*font-weight: bold;*/
    margin-right: 8px;
}

.card-img-top {
    max-width: 100%;
    height:auto;
}
.card-img-top {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    width: 100%;
    height: 270px;
    object-fit: cover;
    flex: 1;
}
.card-img-top:hover {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}
.img-container {
    display: block;
    width:100%;
    height: 270px;
    overflow: hidden;
}
.post-input-comment {
    border-radius: 20px;
    background-color: #f0f2f5;
    border: none;
    padding: 8px 12px;
}
.profile-pic {
    width: 40px;
    height: 40px;
}
.comment-pic {
    width: 25px;
    height: 25px;
}
.comment-bubble {
    background-color: #f0f2f5;
    border-radius: 18px;
    padding: 8px 12px;
    flex-grow: 1;
}
.text-decoration-none:active, .text-decoration-none:focus, .text-decoration-none:disabled {
    border-color: transparent !important;
}

.app-sidebar .main-menu > li:hover .side-menu__item .side-menu__label {
    opacity: 1;
}
.social-feed .card-text {
    font-size:.95rem;
}

.main-content.landing-main > section {
	min-height: calc(100vh - 6.4rem);
}
.upload-container {
    width: 100%;
    background-color: #fff;
    border-radius: 12px;
    text-align: center;
}

#drop-zone {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    gap: 15px;
    border: 2px dashed #ccc;
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

#drop-zone:hover, #drop-zone.dragover {
    border-color: #007bff;
    background-color: #eaf5ff;
}

.icon-upload {
    font-size: 3rem !important;
    color: #007bff;
}

#drop-text {
    margin: 0;
    color: #555;
    font-size: 1rem;
}

#select-button {
    background-color: #007bff;
    color: white;
    padding: 10px 15px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s;
}

#select-button:hover {
    background-color: #0056b3;
}

#file-input {
    display: none; /* Hide the native file input */
}

.file-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.5rem;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
}

#file-name {
    font-weight: bold;
    color: #333;
    word-break: break-all;
}

#remove-btn {
    background: none;
    border: none;
    color: #ff4d4f;
    font-size: 1.5rem;
    cursor: pointer;
    margin-left: 10px;
}

.submit-button {
    width: 100%;
    padding: 12px;
    margin-top: 1.5rem;
    background-color: #28a745;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s;
}

.btn-like-respond {
    padding:0 !important;
    margin:0 !important;
    font-size: 0.813rem !important;
    border: none;
}

.submit-button:hover {
    background-color: #218838;
}
.active-like-dislike, .active-btn {
    font-weight: bold;
    color: #0056b3 !important;
}
.no-wrap {
    white-space: nowrap;
}
/*.comment-form-area {
    display: none;
}*/
.notification-read {
    background: #f2f2f2;
    color: #999;
}
.dropdownNotification ul li a {
    font-size: .75rem;
}

#upload-form {
    text-align: center;
}

/*.drop-modal-container {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 600px;
    margin-bottom: 20px;
/*}*!*/

.drop-area {
    border: 2px dashed #ccc;
    border-radius: 6px;
    padding: 15px 15px;
    transition: border-color 0.3s ease;
}

.drop-area.highlight {
    border-color: #007bff;
}

.drop-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cloud-icon {
    font-size: 3em;
    color: #999;
    margin-bottom: 0;
}

.drop-prompt {
    font-size: 1.2em;
    color: #555;
    margin-bottom: 0;
}

#select-files-btn {
    background-color: #007bff;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-weight: bold;
}

#select-files-btn:hover {
    background-color: #0056b3;
}

.file-list {
    margin-top: 0;
    text-align: left;
    max-height: 100px;
    overflow-y: auto;
}

.file-list p {
    margin: 4px 0;
    font-size: 0.9em;
    color: #333;
    border-bottom: 1px dotted #eee;
    padding-bottom: 2px;
}

#submit-btn {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
}
.error-message {
    margin-top: 15px;
    color: #dc3545; /* Red color for errors */
    font-weight: bold;
    font-size: 0.95em;
    display: none; /* Initially hidden */
}
/* Hide the default prompt elements when the preview is active */
.upload-prompt-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    /* Transition/fade out for better look */
    transition: opacity 0.3s ease;
    gap: 1rem;
}

/* Container for the image preview */
#image-preview-container {
    width: auto;
    height: 200px; /* Fixed height for consistent look */
    max-height: 200px;
    overflow: hidden;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;

    padding: 0;
}

/* The actual image */
.image-preview {
    width: 100%;
    height: 100%;
    display: block;
    /* KEY CHANGE: Use cover to fill the container completely */
    object-fit: cover;
}

/* Style for the Remove Button */
.remove-image-btn {
    position: absolute;
    top: 5px; /* Adjust as needed for 15px padding visual offset */
    right: 5px; /* Adjust as needed for 15px padding visual offset */
    background: rgba(255, 0, 0, 0.7); /* Semi-transparent red background */
    color: white;
    border: none;
    border-radius: 50%; /* Makes it circular */
    width: 28px;
    height: 28px;
    line-height: 1;
    font-size: 14px;
    cursor: pointer;
    z-index: 10;
    transition: background 0.2s;
}

.remove-image-btn:hover {
    background: red;
}
.btn-delete-comment:hover, .btn-delete-post:hover {
    color: red !important;
}
.reply-comment-container {
    padding-left: calc(25px + .5rem) !important;
}
.reply-comment-container .comment-bubble {
    background: #f8f8f8;
}
.swal-custom-textarea {
    max-width: calc(100% - 32px);
    margin: 15px;
    min-height: 180px !important;
    resize: vertical;
}
.read-more-link, .read-less-link {
    white-space: nowrap;
    color: rgba(var(--bs-link-color-rgb));
    display: block;
    margin-left: auto;
    font-size: .85rem;
    text-align: right;
    margin-top: 5px;
}
@media (max-width: 992px) {
    .landing-body .app-sidebar .side-menu__item {
        padding: 0.8rem 1rem 0.8rem .5rem !important;
    }
}
@media (max-width: 768px) {
    .container-actions-post {
        flex-wrap: wrap;
    }
    .social-auth {
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: center;
    }
    .social-auth .btn {
        width: 100%;
    }
    .social-auth .btn-facebook {
        margin-right:auto;
    }
    .container-actions-post > div:first-child {
        width: 100%;
        justify-content: center;
        margin-bottom: .5rem;
    }
    .main-content.landing-main > section:first-of-type {
        margin-top: 0 !important;
    }
    .flex-footer {
        text-align: center;
        margin-bottom: 3rem;
    }
    .flex-footer ul li {
        margin-top: .5rem;
    }
    .flex-footer ul li:last-of-type:before {
        border: 0 !important;
    }
}
@media (max-width:575px){
    .d-xs-none {
        display: none !important;
    }
}
.membru-list {
    transition: all 0.25s ease-out;
}
.membru-list:hover {
    transform: scale(1.05);
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 1rem;
    padding: 0.5rem 1rem !important;
    line-height:1.6 !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    font-size: 1rem;
    padding: 0.5rem 1rem;
    line-height:1.6 !important;
}

.select2-container .select2-results__option {
    font-size: 1rem;
    padding: 0.5rem 1rem;
    line-height:1.6 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 2.6rem !important;
}

/* ==========================================================================
   Identitate vizuală finanțator - PNRR / NextGenerationEU
   Cerință: siglele policrome vizibile în partea de sus, fără derularea paginii.
   Adăugat: 360 Advertising, 08.2026
   ========================================================================== */

.pnrr-topbar {
    position: relative;
    z-index: 105;
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #e6e9ef;
}

.pnrr-topbar-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 10px 16px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.pnrr-banner {
    display: block;
    width: 100%;
    max-width: 820px;
    height: auto;
}

/* Bara de navigare a aplicației este fixed în tema de bază, ceea ce ar
   acoperi banner-ul. O trecem pe sticky ca banner-ul să rămână vizibil la
   încărcarea paginii, iar meniul să se lipească de sus la derulare -
   exact comportamentul de pe apar.biz. */
.landing-body .app-sidebar,
.landing-body .app-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    inset-block-start: 0 !important;
    top: 0 !important;
}

@media (max-width: 991.98px) {
    .pnrr-topbar-inner {
        padding: 8px 12px;
    }
    .pnrr-banner {
        max-width: 100%;
    }
}

/* --- Subsol finanțator --- */
.pnrr-footer {
    background: #ffffff;
    padding: 22px 0 18px;
    text-align: center;
}

.pnrr-footer .pnrr-disclaimer {
    margin: 0 0 10px;
    font-size: .82rem;
    line-height: 1.45;
    color: #1b3a6b;
}

.pnrr-footer .pnrr-tricolor {
    height: 5px;
    max-width: 980px;
    margin: 0 auto 10px;
    background: linear-gradient(to right,
        #1b3a8c 0%,   #1b3a8c 33.33%,
        #f5c518 33.33%, #f5c518 66.66%,
        #ce1126 66.66%, #ce1126 100%);
}

.pnrr-footer .pnrr-slogan {
    margin: 0 0 8px;
    font-size: .95rem;
    font-weight: 700;
    color: #1b3a6b;
}

.pnrr-footer .pnrr-links {
    margin: 0;
    font-size: .85rem;
}

.pnrr-footer .pnrr-links a {
    color: #1b3a6b;
    font-weight: 600;
    text-decoration: none;
}

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

.pnrr-footer .pnrr-sep {
    margin: 0 10px;
    color: #9aa7bd;
}

@media (max-width: 575.98px) {
    .pnrr-footer .pnrr-disclaimer { font-size: .74rem; }
    .pnrr-footer .pnrr-slogan     { font-size: .85rem; }
    .pnrr-footer .pnrr-links      { font-size: .78rem; }
    .pnrr-footer .pnrr-sep        { display: block; height: 4px; visibility: hidden; }
}

/* ==========================================================================
   Postări: păstrarea rândurilor noi și a formatării
   Adăugat: 360 Advertising, 08.2026
   ========================================================================== */

/* Postările sunt salvate cu <br> de către nl2br() în core/main.php, deci
   white-space rămâne implicit - pre-line ar dubla spațierea. Fix-ul real
   este în social-feed.js, care nu mai distruge marcajul la trunchiere. */
.social-feed .card-text {
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Comentariile sunt salvate din corpul JSON, deci NU trec prin nl2br() și
   ajung în baza de date cu rânduri noi brute. Aici pre-line este corect. */
.comment-bubble > span.d-block {
    white-space: pre-line;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* Colapsarea postărilor lungi se face vizual, nu prin rescrierea textului,
   ca să nu se piardă marcajul HTML (rânduri noi, bold, link-uri). */
.social-feed .card-text.post-collapsed {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Formatare permisă în postări */
.social-feed .card-text a {
    color: #0060a5;
    text-decoration: underline;
    overflow-wrap: anywhere;
}
.social-feed .card-text ul,
.social-feed .card-text ol {
    margin: .4rem 0 .4rem 1.25rem;
    padding-left: .75rem;
}
.social-feed .card-text li {
    margin-bottom: .15rem;
}

/* --- Bară de formatare postare --- */
.post-format-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 6px 8px;
    border: 1px solid #dee2e6;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: #f8f9fa;
}

.post-format-toolbar .pf-btn {
    min-width: 32px;
    height: 30px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #43536b;
    font-size: .95rem;
    line-height: 1;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}

.post-format-toolbar .pf-btn:hover,
.post-format-toolbar .pf-btn:focus-visible {
    background: #fff;
    border-color: #cbd5e1;
    color: #0060a5;
}

.post-format-toolbar .pf-hint {
    margin-left: auto;
    font-size: .72rem;
    color: #8a94a6;
}

#postContent {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

@media (max-width: 575.98px) {
    .post-format-toolbar .pf-hint { display: none; }
}

/* ==========================================================================
   Căutare în comunitate
   - panoul lateral din social feed
   - bara din meniu, cu sugestii
   - pagina /cautare
   360 Advertising, 08.2026
   ========================================================================== */

/* --- Panoul lateral (fost "Modul AI") --- */
.sidebar-ai {
    --muted: #94a3b8;
    --border: #ddd;
    width: 100%;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: .375rem;
    padding: 14px;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
}

.sidebar-ai .ai-subtle { color: var(--muted); font-size: 12px; margin: 0; }
.sidebar-ai .ai-card   { background: #fff; padding: 12px 0; }
.sidebar-ai .ai-row    { display: grid; gap: 8px; margin-bottom: 10px; }

.sidebar-ai .ai-input {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px 12px;
    width: 100%;
}

.sidebar-ai .ai-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sidebar-ai .hint    { color: var(--muted); font-size: 11px; margin-top: 4px; }
.sidebar-ai .divider { height: 1px; background: var(--border); margin: 10px 0; }

.sidebar-ai .group {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px;
    background: #fff;
}
.sidebar-ai .group h4 { margin: 0 0 6px 0; font-size: 13px; }
.sidebar-ai .users    { display: flex; flex-wrap: wrap; gap: 6px; }

.sidebar-ai .avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0060a5;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    transition: transform .15s ease;
}
.sidebar-ai .avatar:hover { transform: scale(1.1); color: #fff; }

.chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 999px;
    font-size: 12px;
    background: #f1f4f9;
    color: #43536b;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.chip:hover { background: #0060a5; color: #fff; border-color: #0060a5; }
.chip-active { background: #0060a5; color: #fff; border-color: #0060a5; }

/* Rezultatele din panoul lateral */
.ai-hit {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 9px 10px;
    margin-top: 6px;
    border: 1px solid #e6e9ef;
    border-radius: 10px;
    text-decoration: none;
    color: #1f2937;
    transition: border-color .15s ease, background .15s ease;
}
.ai-hit:hover { border-color: #0060a5; background: #f7fbff; color: #1f2937; }
.ai-hit .ai-hit-kind {
    flex: 0 0 auto;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .4px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #eef2f7;
    color: #64748b;
}
.ai-hit .ai-hit-title   { font-size: 13px; font-weight: 600; line-height: 1.3; }
.ai-hit .ai-hit-sub     { font-size: 11.5px; color: #7b8798; line-height: 1.35; margin-top: 2px; }

/* --- Bara de căutare din meniu ---
   Pe desktop stă în colțul din dreapta-sus al barei albastre, DEASUPRA
   rândului de meniu. Motivul: în flux normal ocupa 221px din <ul.main-menu>,
   iar logo-ul APAR nu mai încăpea pe același rând și era împins dedesubt.
   Scoasă din flux, meniul are 956px + 164px logo = încape confortabil. */
.apar-search-slide { position: relative; display: flex; align-items: center; }

.apar-navsearch { position: relative; margin: 0 .35rem; }

.apar-navsearch input {
    width: 210px;
    max-width: 100%;
    padding: .42rem .7rem .42rem 2rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: .82rem;
    outline: none;
    transition: width .2s ease, background .2s ease, border-color .2s ease;
}
.apar-navsearch input::placeholder { color: rgba(255, 255, 255, .75); }
.apar-navsearch input:focus {
    width: 260px;
    background: #fff;
    color: #1f2937;
    border-color: #fff;
}
.apar-navsearch input:focus::placeholder { color: #9aa7bd; }

.apar-navsearch-icon {
    position: absolute;
    left: .65rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, .85);
    font-size: 1rem;
    pointer-events: none;
}
.apar-navsearch input:focus + .apar-suggest,
.apar-navsearch input:focus ~ .apar-navsearch-icon { color: #64748b; }

/* Meniul e alb după derulare - inversăm contrastul barei. */
.app-sidebar.sticky-pin .apar-navsearch input {
    border-color: #d7dce5;
    background: #f4f6fa;
    color: #1f2937;
}
.app-sidebar.sticky-pin .apar-navsearch input::placeholder { color: #9aa7bd; }
.app-sidebar.sticky-pin .apar-navsearch-icon { color: #7b8798; }

.apar-suggest {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    width: 320px;
    max-width: 90vw;
    max-height: 380px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e2e6ee;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .14);
    z-index: 1200;
    padding: 6px;
}
.apar-suggest[hidden] { display: none; }

.apar-suggest .sg-item {
    display: block;
    padding: 8px 10px;
    border-radius: 8px;
    text-decoration: none;
    color: #1f2937;
}
.apar-suggest .sg-item:hover,
.apar-suggest .sg-item.is-active { background: #f1f5fb; }
.apar-suggest .sg-title { font-size: .85rem; font-weight: 600; line-height: 1.3; }
.apar-suggest .sg-sub   { font-size: .74rem; color: #7b8798; line-height: 1.35; }
.apar-suggest .sg-kind  {
    display: inline-block;
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #64748b;
    background: #eef2f7;
    border-radius: 4px;
    padding: 1px 5px;
    margin-right: 5px;
}
.apar-suggest .sg-empty,
.apar-suggest .sg-loading { padding: 12px 10px; font-size: .8rem; color: #7b8798; }
.apar-suggest .sg-all {
    display: block;
    margin-top: 4px;
    padding: 8px 10px;
    border-top: 1px solid #eef1f6;
    font-size: .78rem;
    font-weight: 600;
    color: #0060a5;
    text-decoration: none;
    text-align: center;
}

@media (max-width: 1199.98px) {
    .apar-navsearch input { width: 160px; }
    .apar-navsearch input:focus { width: 200px; }
}
@media (max-width: 991.98px) {
    .apar-search-slide { width: 100%; padding: .5rem 1rem; }
    .apar-navsearch { margin: 0; width: 100%; }
    .apar-navsearch input,
    .apar-navsearch input:focus { width: 100%; }
    .apar-suggest { width: 100%; }
}

/* --- Pagina /cautare --- */
.search-page-form { max-width: 760px; margin: 0 auto; }

.search-page-input {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #dde2ea;
    border-radius: 12px;
    padding: 6px 6px 6px 40px;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .05);
}
.search-page-input > .bx-search {
    position: absolute;
    left: 13px;
    font-size: 1.2rem;
    color: #8a94a6;
}
.search-page-input input {
    flex: 1;
    border: 0;
    outline: none;
    font-size: 1rem;
    padding: .55rem 0;
    background: transparent;
}

.search-page-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 12px;
}

.search-summary {
    max-width: 860px;
    margin: 22px auto 6px;
    font-size: .92rem;
    color: #43536b;
}
.search-ai-note {
    display: inline-block;
    margin-left: 10px;
    font-size: .8rem;
    color: #7b8798;
}
.search-ai-note .ai-term {
    display: inline-block;
    background: #eef4fb;
    color: #0060a5;
    border-radius: 999px;
    padding: 1px 8px;
    margin: 0 3px;
    font-size: .74rem;
}

.search-group { max-width: 860px; margin: 0 auto 26px; }

.search-group-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .95rem;
    font-weight: 600;
    color: #43536b;
    padding-bottom: 8px;
    margin-bottom: 6px;
    border-bottom: 1px solid #e8ecf3;
}
.search-group-title span { color: #9aa7bd; font-weight: 500; }

.search-result {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    margin-bottom: 8px;
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 12px;
    text-decoration: none;
    color: #1f2937;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.search-result:hover {
    border-color: #0060a5;
    box-shadow: 0 4px 14px rgba(0, 96, 165, .1);
    transform: translateY(-1px);
    color: #1f2937;
}

.search-result-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 auto;
}
.search-result-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #eef4fb;
    color: #0060a5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    flex: 0 0 auto;
}
.search-result-body { flex: 1; min-width: 0; }
.search-result-title { font-weight: 600; font-size: .95rem; line-height: 1.35; }
.search-result-date  { font-weight: 400; color: #9aa7bd; font-size: .82rem; }

.search-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin-top: 3px;
    font-size: .8rem;
    color: #7b8798;
}
.search-result-meta i { margin-right: 3px; }

.search-result-snippet {
    margin-top: 3px;
    font-size: .84rem;
    color: #5c6b80;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.search-result-snippet mark,
.search-result-meta mark {
    background: #fff2ab;
    color: inherit;
    padding: 0 1px;
    border-radius: 2px;
}

.search-result-arrow { color: #c3ccda; font-size: 1.3rem; flex: 0 0 auto; }

.search-more {
    display: inline-block;
    margin-top: 4px;
    font-size: .85rem;
    font-weight: 600;
    color: #0060a5;
    text-decoration: none;
}
.search-more:hover { text-decoration: underline; }

.search-empty {
    max-width: 560px;
    margin: 40px auto;
    text-align: center;
    color: #9aa7bd;
}
.search-empty i { font-size: 2.6rem; display: block; margin-bottom: 10px; }
.search-empty p { margin: 0; font-size: .92rem; }

/* ==========================================================================
   Asistent virtual APAR (chatbot)
   360 Advertising, 08.2026
   ========================================================================== */

.apar-chat-toggle {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1080;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 52px;
    padding: 0 20px 0 16px;
    border: 0;
    border-radius: 999px;
    background: #0060a5;
    color: #fff;
    font-size: .9rem;
    font-weight: 600;
    box-shadow: 0 8px 24px rgba(0, 96, 165, .35);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.apar-chat-toggle:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0, 96, 165, .42); }
.apar-chat-toggle i { font-size: 1.35rem; }
.apar-chat-toggle.is-open { background: #39bee8; }

.apar-chat-panel {
    position: fixed;
    right: 20px;
    bottom: 84px;
    z-index: 1081;
    width: 370px;
    max-width: calc(100vw - 32px);
    height: 520px;
    max-height: calc(100vh - 130px);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e2e6ee;
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .2);
    overflow: hidden;
}
.apar-chat-panel[hidden] { display: none; }

.apar-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 16px;
    background: #0060a5;
    color: #fff;
}
.apar-chat-header strong { display: block; font-size: .95rem; }
.apar-chat-header small  { display: block; font-size: .72rem; opacity: .85; }

.apar-chat-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    opacity: .85;
    padding: 0;
}
.apar-chat-close:hover { opacity: 1; }

.apar-chat-body {
    flex: 1;
    overflow-y: auto;
    padding: 14px;
    background: #f7f9fc;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.apar-msg {
    max-width: 86%;
    padding: 10px 13px;
    border-radius: 14px;
    font-size: .87rem;
    line-height: 1.5;
    word-wrap: break-word;
}
.apar-msg-bot {
    align-self: flex-start;
    background: #fff;
    color: #1f2937;
    border: 1px solid #e6e9ef;
    border-bottom-left-radius: 4px;
}
.apar-msg-user {
    align-self: flex-end;
    background: #0060a5;
    color: #fff;
    border-bottom-right-radius: 4px;
}

.apar-chat-suggestions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}
.apar-sg {
    border: 1px solid #cddcf0;
    background: #fff;
    color: #0060a5;
    border-radius: 999px;
    padding: 7px 13px;
    font-size: .8rem;
    text-align: left;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.apar-sg:hover { background: #0060a5; color: #fff; }

.apar-typing { display: flex; gap: 4px; align-items: center; padding: 14px 13px; }
.apar-typing span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #b6c0cf;
    animation: aparBlink 1.2s infinite ease-in-out;
}
.apar-typing span:nth-child(2) { animation-delay: .18s; }
.apar-typing span:nth-child(3) { animation-delay: .36s; }

@keyframes aparBlink {
    0%, 80%, 100% { opacity: .3; transform: translateY(0); }
    40%           { opacity: 1;  transform: translateY(-3px); }
}

.apar-chat-form {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid #eef1f6;
    background: #fff;
}
.apar-chat-form textarea {
    flex: 1;
    resize: none;
    border: 1px solid #dde2ea;
    border-radius: 12px;
    padding: 9px 12px;
    font-size: .87rem;
    line-height: 1.4;
    max-height: 110px;
    outline: none;
}
.apar-chat-form textarea:focus { border-color: #0060a5; }
.apar-chat-form button {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #0060a5;
    color: #fff;
    font-size: 1.15rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.apar-chat-form button:disabled { opacity: .55; cursor: default; }

.apar-chat-foot {
    margin: 0;
    padding: 8px 14px 12px;
    font-size: .68rem;
    color: #9aa7bd;
    line-height: 1.4;
    background: #fff;
}
.apar-chat-foot a { color: #0060a5; }

@media (max-width: 575.98px) {
    .apar-chat-toggle { right: 14px; bottom: 14px; height: 48px; padding: 0 16px 0 13px; }
    .apar-chat-toggle-label { display: none; }
    .apar-chat-panel {
        right: 10px;
        left: 10px;
        bottom: 74px;
        width: auto;
        max-width: none;
        height: calc(100vh - 140px);
    }
}

/* ==========================================================================
   Cotizație și istoric plăți
   360 Advertising, 08.2026
   ========================================================================== */

.abo-alert { max-width: 900px; margin: 0 auto 18px; }

.abo-card {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 .125rem .35rem rgba(15, 23, 42, .05);
}

.abo-current { max-width: 900px; margin: 0 auto 34px; }

.abo-current-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.abo-label {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #9aa7bd;
    margin-bottom: 2px;
}
.abo-plan-name { margin: 0; font-size: 1.25rem; font-weight: 600; color: #1f2937; }

.abo-pill {
    display: inline-block;
    padding: 6px 13px;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 600;
}
.abo-pill-ok      { background: #e7f7ee; color: #0f7a45; }
.abo-pill-warn    { background: #fdf1dc; color: #a2650b; }
.abo-pill-neutral { background: #eef2f7; color: #5c6b80; }

.abo-price {
    margin: 14px 0 4px;
    font-size: 2.1rem;
    font-weight: 700;
    color: #0060a5;
    line-height: 1;
}
.abo-price small { font-size: .95rem; font-weight: 500; color: #7b8798; }

.abo-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-top: 20px;
}
.abo-kv {
    border: 1px solid #e6e9ef;
    border-radius: 10px;
    padding: 11px 13px;
}
.abo-kv .k {
    display: block;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #9aa7bd;
    margin-bottom: 4px;
}
.abo-kv .v { display: block; font-size: .92rem; font-weight: 600; color: #0060a5; }

.abo-actions { margin-top: 18px; }

.abo-section-title {
    max-width: 900px;
    margin: 0 auto 14px;
    font-size: 1rem;
    font-weight: 600;
    color: #43536b;
}

.abo-plans {
    max-width: 900px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 18px;
}

.abo-plan { display: flex; flex-direction: column; }
.abo-plan.is-current { border-color: #0060a5; box-shadow: 0 0 0 3px rgba(0, 96, 165, .08); }

.abo-plan-head { border-bottom: 1px solid #eef1f6; padding-bottom: 12px; margin-bottom: 12px; }
.abo-plan-head h5 { margin: 0 0 6px; font-size: 1.02rem; font-weight: 600; color: #1f2937; }
.abo-plan-price { font-size: 1.6rem; font-weight: 700; color: #0060a5; line-height: 1; }
.abo-plan-price small { font-size: .82rem; font-weight: 500; color: #7b8798; }

.abo-benefits { list-style: none; padding: 0; margin: 0 0 16px; flex: 1; }
.abo-benefits li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: .84rem;
    line-height: 1.45;
    color: #5c6b80;
    margin-bottom: 7px;
}
.abo-benefits li i { color: #22a06b; font-size: 1rem; flex: 0 0 auto; margin-top: 1px; }

.abo-plan-foot { margin-top: auto; }

.abo-note {
    margin: 0;
    font-size: .8rem;
    line-height: 1.5;
    color: #7b8798;
    background: #f7f9fc;
    border-radius: 8px;
    padding: 10px 12px;
}
.abo-secure {
    margin: 8px 0 0;
    font-size: .72rem;
    color: #9aa7bd;
    text-align: center;
}

.abo-alt {
    max-width: 900px;
    margin: 22px auto 0;
    font-size: .84rem;
    color: #7b8798;
    text-align: center;
    line-height: 1.6;
}

/* --- Istoric plăți --- */
.ip-head {
    max-width: 980px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.ip-totals { display: flex; gap: 8px; flex-wrap: wrap; }
.ip-pill {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #e2e6ee;
    border-radius: 999px;
    font-size: .78rem;
    color: #5c6b80;
    background: #fff;
}
.ip-pill strong { color: #0060a5; }

.ip-filters {
    max-width: 980px;
    margin: 0 auto 14px;
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}
.ip-filters label {
    display: block;
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #9aa7bd;
    margin-bottom: 3px;
}
.ip-filters select {
    border: 1px solid #dde2ea;
    border-radius: 9px;
    padding: 7px 11px;
    font-size: .85rem;
    background: #fff;
    min-width: 150px;
}

.ip-table-wrap {
    max-width: 980px;
    margin: 0 auto;
    overflow-x: auto;
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 14px;
}
.ip-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.ip-table thead th {
    text-align: left;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #9aa7bd;
    font-weight: 600;
    padding: 13px 14px;
    border-bottom: 1px solid #eef1f6;
    white-space: nowrap;
}
.ip-table tbody td {
    padding: 13px 14px;
    border-bottom: 1px solid #f2f4f8;
    font-size: .86rem;
    color: #43536b;
    vertical-align: middle;
}
.ip-table tbody tr:last-child td { border-bottom: 0; }
.ip-mono { font-variant-numeric: tabular-nums; white-space: nowrap; }

.ip-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 600;
    background: #eef2f7;
    color: #5c6b80;
    white-space: nowrap;
}
.ip-badge.success { background: #e7f7ee; color: #0f7a45; }
.ip-badge.fail    { background: #fdecec; color: #b3261e; }
.ip-badge.pending { background: #fdf1dc; color: #a2650b; }

.ip-note {
    max-width: 980px;
    margin: 14px auto 0;
    font-size: .78rem;
    color: #9aa7bd;
    text-align: center;
}

.ip-empty {
    max-width: 560px;
    margin: 50px auto;
    text-align: center;
    color: #9aa7bd;
}
.ip-empty i { font-size: 2.6rem; display: block; margin-bottom: 10px; }
.ip-empty p { margin: 0; font-size: .9rem; line-height: 1.6; }

/* card-text a devenit <div> (un <ul> nu are voie într-un <p>: browserul
   închide paragraful și scoate lista afară). Păstrăm spațierea de paragraf. */
.social-feed .card-text,
.card-body > .card-text {
    margin-bottom: 1rem;
}


/* ==========================================================================
   Antet: logo pe același rând cu meniul, căutarea deasupra, în dreapta
   360 Advertising, 08.2026
   ========================================================================== */
@media (min-width: 992px) {
    .landing-body .app-sidebar .main-menu-container {
        position: relative;
        /* loc pentru bara de căutare, care e scoasă din flux */
        padding-top: 40px;
    }

    .landing-body .app-sidebar .apar-search-slide {
        position: absolute;
        top: 2px;
        right: 0;
        width: auto;
        padding: 0;
        z-index: 5;
    }

    .landing-body .app-sidebar .apar-navsearch {
        margin: 0;
    }

    .landing-body .app-sidebar .apar-navsearch input {
        width: 240px;
    }

    .landing-body .app-sidebar .apar-navsearch input:focus {
        width: 300px;
    }

    /* Logo la stânga, meniul lipit de el, nu împins în capătul opus. */
    .landing-body .app-sidebar .main-menu-container {
        justify-content: flex-start;
        gap: 1.25rem;
    }

    .landing-body .app-sidebar .main-menu {
        margin-inline-start: auto;
    }
}

/* ==========================================================================
   Profil membru: date de contact + avatare
   360 Advertising, 08.2026
   ========================================================================== */

.membru-contact {
    text-align: center;
    margin: 6px 0 4px;
}

.membru-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    justify-content: center;
    font-size: .86rem;
    color: #7b8798;
    margin-bottom: 14px;
}
.membru-meta i { margin-right: 4px; }

.membru-contact-actiuni {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.btn-contact {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: .88rem;
    padding: .5rem 1rem;
    border-radius: 999px;
    text-decoration: none;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.btn-contact i { font-size: 1.05rem; }

.btn-light.btn-contact {
    border: 1px solid #dde2ea;
    color: #43536b;
}
.btn-light.btn-contact:hover {
    border-color: #0060a5;
    color: #0060a5;
}

.membru-contact-nota {
    margin: 12px 0 0;
    font-size: .78rem;
    color: #9aa7bd;
    line-height: 1.55;
}
.membru-contact-nota a { color: #0060a5; }

/* Avatarul devine link către profilul membrului */
.avatar-link {
    display: inline-flex;
    flex: 0 0 auto;
    line-height: 0;
    text-decoration: none;
}
.avatar-link img {
    transition: filter .15s ease, transform .15s ease;
}
.avatar-link:hover img {
    filter: brightness(.92);
    transform: scale(1.04);
}

/* Avatarele au acum poze reale, de dimensiuni variate: le uniformizăm. */
.social-feed .profile-pic,
.profile-pic {
    width: 42px;
    height: 42px;
    object-fit: cover;
    flex: 0 0 auto;
}
.comment-pic {
    width: 32px;
    height: 32px;
    object-fit: cover;
    flex: 0 0 auto;
}
