/* ---------------------------------------------------------------------------
   Banner de consimtamant pentru cookie-uri - vet.md
   Regula de baza: butonul de refuz are exact aceeasi greutate vizuala ca cel
   de acceptare (cerinta EDPB privind consimtamantul liber exprimat).
   --------------------------------------------------------------------------- */

.gdpr-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background: #ffffff;
    border-top: 3px solid #8dc63f;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, .18);
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    display: none;
}
.gdpr-banner.is-visible { display: block; }

.gdpr-banner__inner {
    max-width: 1170px;
    margin: 0 auto;
    padding: 20px 15px;
}

.gdpr-banner__title {
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #222;
}

.gdpr-banner__text { margin: 0 0 14px; }
.gdpr-banner__text a { color: #4a8f10; text-decoration: underline; }

.gdpr-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gdpr-btn {
    flex: 1 1 180px;
    min-height: 44px;
    padding: 11px 18px;
    border: 2px solid #8dc63f;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    background: #ffffff;
    color: #3f7a0d;
    transition: background .15s ease, color .15s ease;
}
.gdpr-btn:hover { background: #f2f8e8; }
.gdpr-btn--primary { background: #8dc63f; color: #fff; }
.gdpr-btn--primary:hover { background: #7cb233; color: #fff; }
.gdpr-btn--link {
    flex: 1 1 140px;
    border-color: #cfcfcf;
    color: #555;
}
.gdpr-btn--link:hover { background: #f4f4f4; }

/* --- Panoul de setari detaliate --- */
.gdpr-prefs { display: none; margin-top: 18px; border-top: 1px solid #e6e6e6; padding-top: 16px; }
.gdpr-prefs.is-open { display: block; }

.gdpr-purpose {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}
.gdpr-purpose:last-child { border-bottom: 0; }
.gdpr-purpose__body { flex: 1; }
.gdpr-purpose__name { font-weight: 700; margin: 0 0 4px; }
.gdpr-purpose__desc { margin: 0; color: #666; font-size: 13px; }
.gdpr-purpose__control { padding-top: 2px; min-width: 92px; text-align: right; }
.gdpr-purpose__control label { font-weight: 400; font-size: 13px; cursor: pointer; }
.gdpr-purpose__control input { margin-right: 6px; vertical-align: middle; }
.gdpr-purpose__locked { color: #8a8a8a; font-size: 13px; font-style: italic; }

/* --- Butonul permanent de redeschidere --- */
.gdpr-reopen {
    background: none;
    border: 0;
    padding: 0;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

@media (max-width: 600px) {
    .gdpr-banner__inner { padding: 16px 12px; }
    .gdpr-btn { flex: 1 1 100%; }
    .gdpr-purpose { flex-direction: column; gap: 6px; }
    .gdpr-purpose__control { text-align: left; }
}

/* ---------------------------------------------------------------------------
   Subsol: canalul prin care se cere stergerea datelor.
   Datele nu se sterg automat la termen, ci la cererea persoanei, deci adresa
   trebuie sa fie vizibila pe fiecare pagina.
   --------------------------------------------------------------------------- */
.gdpr-footer-links { line-height: 1.9; }
.gdpr-footer-erasure {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.6;
}
.gdpr-footer-erasure a {
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
}

/* ---------------------------------------------------------------------------
   Captcha gazduit pe serverul propriu.
   Imaginea, butonul de reincarcare si campul stau pe acelasi rand pe ecran
   larg si se aseaza unul sub altul pe telefon.
   --------------------------------------------------------------------------- */
.captcha-camp { margin: 14px 0; }
.captcha-camp__eticheta { display: block; font-weight: 600; margin-bottom: 6px; }
.captcha-camp__rand {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.captcha-camp__imagine {
    border: 1px solid #d5ddd2;
    border-radius: 3px;
    display: block;
    background: #f6f8f4;
}
.captcha-camp__reincarca {
    width: 38px;
    height: 38px;
    border: 1px solid #d5ddd2;
    border-radius: 3px;
    background: #fff;
    color: #4a5852;
    font-size: 19px;
    line-height: 1;
    cursor: pointer;
}
.captcha-camp__reincarca:hover { background: #f2f6ee; }
.captcha-camp__reincarca:focus-visible { outline: 2px solid #8dc63f; outline-offset: 2px; }
.captcha-camp__input {
    width: 130px;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 17px;
    text-align: center;
}
.captcha-camp__ajutor {
    font-size: 12px;
    color: #777;
    margin: 7px 0 0;
    line-height: 1.5;
}
@media (max-width: 480px) {
    .captcha-camp__input { width: 100%; }
}
