/* ==========================================================================
   Zarand Cookie Banner — skin pentru Complianz GDPR
   Paleta Apuseni Heritage: primary navy #1f3a5f, accent terracotta #c97c5d
   3 nivele de consimtamant: Necesare (mereu activ) / Statistici / Marketing
   ========================================================================== */

/* Tokens locale (fallback daca mu-plugin lipseste) ----------------------- */
:root{
    --zcb-primary:        var(--zd-primary, #1f3a5f);
    --zcb-primary-hover:  var(--zd-primary-hover, #152b48);
    --zcb-primary-soft:   var(--zd-primary-soft, #e8edf3);
    --zcb-accent:         var(--zd-accent, #c97c5d);
    --zcb-accent-hover:   var(--zd-accent-hover, #a86342);
    --zcb-accent-soft:    var(--zd-accent-soft, #f5e8e0);
    --zcb-cream:          var(--zd-cream, #faf7f0);
    --zcb-cream-deep:     var(--zd-cream-deep, #f3eee2);
    --zcb-text:           var(--zd-text, #1a1a1a);
    --zcb-muted:          var(--zd-muted, #6b6b6b);
    --zcb-border:         var(--zd-border, #e8e2d5);
    --zcb-radius-lg: 16px;
    --zcb-radius:    12px;
    --zcb-radius-sm: 8px;
    --zcb-shadow: 0 4px 12px rgba(31,58,95,.06), 0 24px 56px rgba(31,58,95,.18);
    --zcb-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Overlay subtil cand bannerul e afisat (doar mobile) --------------------- */
@media (max-width: 640px){
    body.cmplz-show-banner::before{
        content:"";
        position: fixed; inset: 0;
        background: rgba(31,58,95,.32);
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
        z-index: 99998;
        animation: zcb-fade .25s ease both;
    }
}

/* Container & banner card ------------------------------------------------ */
#cmplz-cookiebanner-container{ z-index: 99999; }

#cmplz-cookiebanner-container .cmplz-cookiebanner,
.cmplz-cookiebanner{
    position: fixed !important;
    left: 24px !important;
    bottom: 24px !important;
    right: auto !important;
    top: auto !important;
    width: min(440px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 48px) !important;
    overflow: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid var(--zcb-border) !important;
    border-radius: var(--zcb-radius-lg) !important;
    box-shadow: var(--zcb-shadow) !important;
    color: var(--zcb-text) !important;
    font-family: var(--zcb-font) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    animation: zcb-rise .35s cubic-bezier(.2,.8,.2,1) both;
    scrollbar-width: thin;
    scrollbar-color: var(--zcb-border) transparent;
}

.cmplz-cookiebanner::-webkit-scrollbar{ width: 6px; }
.cmplz-cookiebanner::-webkit-scrollbar-thumb{ background: var(--zcb-border); border-radius: 6px; }

@keyframes zcb-rise{
    from{ opacity: 0; transform: translateY(16px) scale(.985); }
    to  { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes zcb-fade{
    from{ opacity: 0; } to{ opacity: 1; }
}

/* Centred variants (cand Complianz e configurat pe center) ---------------- */
.cmplz-cookiebanner.cmplz-center{
    left: 50% !important;
    bottom: 50% !important;
    transform: translate(-50%, 50%) !important;
}

/* Header ----------------------------------------------------------------- */
.cmplz-cookiebanner .cmplz-header{
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 20px 22px 12px !important;
    border: 0 !important;
}
.cmplz-cookiebanner .cmplz-logo{
    width: 36px; height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--zcb-accent-soft), var(--zcb-cream-deep));
    display: flex; align-items: center; justify-content: center;
    flex: 0 0 auto;
    color: var(--zcb-accent);
    font-size: 18px;
    position: relative;
}
.cmplz-cookiebanner .cmplz-logo:empty::before{
    /* iconita biscuit, fara dependinta de font */
    content: "";
    width: 18px; height: 18px;
    background: radial-gradient(circle at 35% 35%, var(--zcb-accent) 0 2px, transparent 3px),
                radial-gradient(circle at 70% 55%, var(--zcb-accent) 0 1.6px, transparent 2.4px),
                radial-gradient(circle at 45% 70%, var(--zcb-accent) 0 1.6px, transparent 2.4px),
                radial-gradient(circle at 60% 30%, var(--zcb-accent) 0 1.2px, transparent 2px);
    border-radius: 50%;
    border: 1.5px solid var(--zcb-accent);
    box-shadow: inset 0 0 0 0 var(--zcb-accent);
}
.cmplz-cookiebanner .cmplz-logo img,
.cmplz-cookiebanner .cmplz-logo svg{ max-width: 24px; max-height: 24px; }

.cmplz-cookiebanner .cmplz-title{
    flex: 1 1 auto !important;
    color: var(--zcb-primary) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: -.01em !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cmplz-cookiebanner .cmplz-close{
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--zcb-cream-deep);
    color: var(--zcb-primary);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
    flex: 0 0 auto;
}
.cmplz-cookiebanner .cmplz-close:hover{
    background: var(--zcb-primary-soft);
    transform: rotate(90deg);
}
.cmplz-cookiebanner .cmplz-close svg{ width: 10px; height: 10px; }

/* Divider header/footer — il facem invizibil, controlam prin padding */
.cmplz-cookiebanner .cmplz-divider,
.cmplz-cookiebanner .cmplz-divider-header,
.cmplz-cookiebanner .cmplz-divider-footer,
.cmplz-cookiebanner .cmplz-footer{
    display: none !important;
}

/* Body & mesaj ----------------------------------------------------------- */
.cmplz-cookiebanner .cmplz-body{
    padding: 4px 22px 8px !important;
}
.cmplz-cookiebanner .cmplz-message{
    color: var(--zcb-text) !important;
    font-size: .9rem !important;
    line-height: 1.6 !important;
    margin: 0 0 14px !important;
}
.cmplz-cookiebanner .cmplz-message p{ margin: 0 0 8px !important; }
.cmplz-cookiebanner .cmplz-message p:last-child{ margin: 0 !important; }

.cmplz-cookiebanner a,
.cmplz-cookiebanner .cmplz-link{
    color: var(--zcb-accent) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    border-bottom: 1px solid transparent !important;
    transition: color .15s ease, border-color .15s ease;
}
.cmplz-cookiebanner a:hover,
.cmplz-cookiebanner .cmplz-link:hover{
    color: var(--zcb-accent-hover) !important;
    border-bottom-color: var(--zcb-accent-hover) !important;
}

/* Categorii — 3 nivele --------------------------------------------------- */
/* Ascundem categoria Preferences ca sa ramana 3: Functional / Statistics / Marketing */
.cmplz-cookiebanner .cmplz-category.cmplz-preferences{ display: none !important; }

.cmplz-cookiebanner .cmplz-categories{
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 4px 0 16px !important;
}

.cmplz-cookiebanner details.cmplz-category{
    background: var(--zcb-cream) !important;
    border: 1px solid var(--zcb-border) !important;
    border-radius: var(--zcb-radius) !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.cmplz-cookiebanner details.cmplz-category[open]{
    background: #ffffff !important;
    border-color: var(--zcb-primary-soft) !important;
    box-shadow: 0 2px 8px rgba(31,58,95,.06);
}

.cmplz-cookiebanner details.cmplz-category > summary{
    list-style: none !important;
    cursor: pointer !important;
    padding: 12px 14px !important;
    outline: none !important;
}
.cmplz-cookiebanner details.cmplz-category > summary::-webkit-details-marker{ display: none; }

.cmplz-cookiebanner .cmplz-category-header{
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
}
.cmplz-cookiebanner .cmplz-category-title{
    flex: 1 1 auto !important;
    color: var(--zcb-primary) !important;
    font-weight: 600 !important;
    font-size: .92rem !important;
    letter-spacing: .005em !important;
}

/* Chevron */
.cmplz-cookiebanner .cmplz-icon.cmplz-open{
    color: var(--zcb-muted);
    transition: transform .25s ease, color .2s ease;
    display: inline-flex !important;
    align-items: center;
    flex: 0 0 auto;
}
.cmplz-cookiebanner .cmplz-icon.cmplz-open svg{ width: 14px; height: 14px; }
.cmplz-cookiebanner details.cmplz-category[open] .cmplz-icon.cmplz-open{
    transform: rotate(180deg);
    color: var(--zcb-primary);
}

/* Descriere (deschisa) */
.cmplz-cookiebanner details.cmplz-category > .cmplz-description{
    padding: 0 14px 14px !important;
    color: var(--zcb-muted) !important;
    font-size: .82rem !important;
    line-height: 1.55 !important;
}

/* "Always active" text pentru Functional */
.cmplz-cookiebanner .cmplz-always-active{
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: .72rem !important;
    color: var(--zcb-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-weight: 600 !important;
    flex: 0 0 auto;
}

/* Toggle switches -------------------------------------------------------- */
.cmplz-cookiebanner .cmplz-banner-checkbox{
    position: relative !important;
    width: 38px !important;
    height: 22px !important;
    flex: 0 0 auto !important;
    display: inline-block !important;
}
.cmplz-cookiebanner .cmplz-banner-checkbox input[type="checkbox"]{
    position: absolute;
    opacity: 0;
    width: 100%; height: 100%;
    margin: 0;
    cursor: pointer;
    z-index: 2;
}
.cmplz-cookiebanner .cmplz-banner-checkbox label,
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label{
    position: absolute !important;
    inset: 0 !important;
    background: #d6d2c5 !important;
    border-radius: 999px !important;
    transition: background .2s ease !important;
    cursor: pointer !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
.cmplz-cookiebanner .cmplz-banner-checkbox label::after,
.cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label::after{
    content: "";
    position: absolute;
    top: 2px; left: 2px;
    width: 18px; height: 18px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,.18);
    transition: transform .22s cubic-bezier(.2,.8,.2,1);
}
.cmplz-cookiebanner .cmplz-banner-checkbox input:checked + label,
.cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label{
    background: var(--zcb-primary) !important;
}
.cmplz-cookiebanner .cmplz-banner-checkbox input:checked + label::after,
.cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label::after{
    transform: translateX(16px);
}
.cmplz-cookiebanner .cmplz-banner-checkbox input:focus-visible + label,
.cmplz-cookiebanner .cmplz-banner-checkbox input:focus-visible + .cmplz-label{
    box-shadow: 0 0 0 3px var(--zcb-accent-soft);
}

/* Functional are toggle "checked" bifat si dezactivat — il dam un look fix */
.cmplz-cookiebanner .cmplz-always-active .cmplz-banner-checkbox label,
.cmplz-cookiebanner .cmplz-always-active .cmplz-banner-checkbox .cmplz-label{
    background: var(--zcb-primary) !important;
    opacity: .55;
    cursor: not-allowed !important;
}
.cmplz-cookiebanner .cmplz-always-active .cmplz-banner-checkbox label::after,
.cmplz-cookiebanner .cmplz-always-active .cmplz-banner-checkbox .cmplz-label::after{
    transform: translateX(16px);
}

/* Linkuri secundare ------------------------------------------------------ */
.cmplz-cookiebanner .cmplz-links.cmplz-information,
.cmplz-cookiebanner .cmplz-documents{
    padding: 0 22px !important;
    margin: 0 0 12px !important;
}
.cmplz-cookiebanner .cmplz-links ul,
.cmplz-cookiebanner .cmplz-documents ul{
    list-style: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.cmplz-cookiebanner .cmplz-links li,
.cmplz-cookiebanner .cmplz-documents li{
    margin: 0 !important;
    padding: 0 !important;
    font-size: .78rem !important;
}
.cmplz-cookiebanner .cmplz-documents{
    padding-top: 4px !important;
    padding-bottom: 18px !important;
    border-top: 1px dashed var(--zcb-border) !important;
    margin-top: 0 !important;
    padding-top: 12px !important;
}

/* Butoane — 3 actiuni ---------------------------------------------------- */
.cmplz-cookiebanner .cmplz-buttons{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 4px 22px 18px !important;
    background: transparent !important;
}

.cmplz-cookiebanner .cmplz-btn{
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    font-family: var(--zcb-font) !important;
    font-weight: 600 !important;
    font-size: .86rem !important;
    letter-spacing: .01em !important;
    padding: 11px 16px !important;
    cursor: pointer !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease, box-shadow .15s ease !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    min-height: 0 !important;
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}
.cmplz-cookiebanner .cmplz-btn:focus-visible{
    outline: none !important;
    box-shadow: 0 0 0 3px var(--zcb-accent-soft) !important;
}
.cmplz-cookiebanner .cmplz-btn:active{ transform: translateY(1px); }

/* 1) Accept tot — buton principal terracotta, ocupa toata latimea */
.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-btn.cmplz-accept-all{
    grid-column: 1 / -1 !important;
    background: var(--zcb-accent) !important;
    color: #ffffff !important;
    border-color: var(--zcb-accent) !important;
    box-shadow: 0 6px 16px rgba(201,124,93,.28) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-accept-all:hover{
    background: var(--zcb-accent-hover) !important;
    border-color: var(--zcb-accent-hover) !important;
    box-shadow: 0 8px 22px rgba(168,99,66,.36) !important;
    transform: translateY(-1px);
}

/* 2) Doar esentiale — ghost */
.cmplz-cookiebanner .cmplz-btn.cmplz-deny{
    background: #ffffff !important;
    color: var(--zcb-primary) !important;
    border-color: var(--zcb-border) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover{
    background: var(--zcb-cream-deep) !important;
    border-color: var(--zcb-primary) !important;
}

/* 3) Personalizeaza / Salveaza preferinte — outline navy */
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{
    background: #ffffff !important;
    color: var(--zcb-primary) !important;
    border-color: var(--zcb-primary) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover{
    background: var(--zcb-primary) !important;
    color: #ffffff !important;
}

/* Cand utilizatorul a deschis "Salveaza preferinte", buton e umplut */
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{
    background: var(--zcb-primary) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(31,58,95,.22) !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover{
    background: var(--zcb-primary-hover) !important;
    border-color: var(--zcb-primary-hover) !important;
}

/* Manage consent — buton plutitor (re-deschide bannerul) ----------------- */
#cmplz-manage-consent .cmplz-manage-consent{
    background: var(--zcb-primary) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    padding: 10px 16px !important;
    font-weight: 600 !important;
    font-size: .82rem !important;
    box-shadow: 0 8px 20px rgba(31,58,95,.22) !important;
    transition: background .15s ease, transform .15s ease !important;
}
#cmplz-manage-consent .cmplz-manage-consent:hover{
    background: var(--zcb-accent) !important;
    transform: translateY(-1px);
}

/* Manage-consent page (cookie statement settings page) ------------------- */
#cmplz-manage-consent-container .cmplz-categories details.cmplz-category{
    background: var(--zcb-cream);
    border: 1px solid var(--zcb-border);
    border-radius: var(--zcb-radius);
    margin: 8px 0;
}

/* Trigger din footer (link "Setari cookies") ----------------------------- */
.zd-footer-cookie-trigger{
    color: var(--zcb-accent) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color .15s ease;
}
.zd-footer-cookie-trigger:hover{ color: var(--zcb-accent-soft) !important; }

/* Mobile ----------------------------------------------------------------- */
@media (max-width: 640px){
    #cmplz-cookiebanner-container .cmplz-cookiebanner,
    .cmplz-cookiebanner{
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: 92vh !important;
        border-radius: 20px 20px 0 0 !important;
        border-bottom: 0 !important;
        animation: zcb-sheet .35s cubic-bezier(.2,.8,.2,1) both;
    }
    .cmplz-cookiebanner .cmplz-header{ padding: 16px 18px 10px !important; }
    .cmplz-cookiebanner .cmplz-body{ padding: 4px 18px 8px !important; }
    .cmplz-cookiebanner .cmplz-buttons{
        grid-template-columns: 1fr !important;
        padding: 4px 18px 18px !important;
    }
    .cmplz-cookiebanner .cmplz-links.cmplz-information,
    .cmplz-cookiebanner .cmplz-documents{ padding: 0 18px !important; }
    /* Mic "grabber" estetic deasupra */
    .cmplz-cookiebanner::before{
        content: "";
        display: block;
        width: 40px; height: 4px;
        background: var(--zcb-border);
        border-radius: 4px;
        margin: 8px auto 0;
    }
}
@keyframes zcb-sheet{
    from{ transform: translateY(100%); opacity: .6; }
    to  { transform: translateY(0);    opacity: 1;  }
}

/* Reduced motion --------------------------------------------------------- */
@media (prefers-reduced-motion: reduce){
    .cmplz-cookiebanner,
    .cmplz-cookiebanner *,
    body.cmplz-show-banner::before{
        animation: none !important;
        transition: none !important;
    }
}

/* Dark scheme nice-to-have (daca pe viitor activam dark mode) ------------ */
@media (prefers-color-scheme: dark){
    /* Pastram bannerul deschis la culoare pentru contrast garantat */
}
