/**
 * Custom CSS override for tarteaucitron.js.
 *
 * This file is loaded AFTER tarteaucitron.css and overrides its styles
 * using CSS custom properties for easy customization.
 *
 * @package NEX\ConsentManager
 * @version 0.1.7
 *
 * IMPORTANT: This file does NOT modify the original tarteaucitron.css.
 * It only adds overrides via CSS variables and specific selectors.
 *
 * tarteaucitron.js is licensed under MIT License.
 * Copyright (c) 2014 AmauriC
 */

/* ==========================================================================
   CSS Custom Properties (variables)
   ========================================================================== */

:root {
    --nexcm-primary: #B87333;
    --nexcm-secondary: #D98B56;
    --nexcm-text: #172433;
    --nexcm-background: #FAF7F2;
    --nexcm-radius: 4px;
}

/* ==========================================================================
   Banner overrides
   ========================================================================== */

#tarteaucitronAlertBig {
    border-radius: var(--nexcm-radius) !important;
}

#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronAlertBig #tarteaucitronAcceptAll {
    border-radius: var(--nexcm-radius) !important;
}

/* ==========================================================================
   Modal / Popup
   ========================================================================== */

#tarteaucitron {
    border-radius: var(--nexcm-radius) !important;
}

#tarteaucitronClosePanel {
    border-radius: var(--nexcm-radius) !important;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.tarteaucitronAllow,
.tarteaucitronDeny {
    border-radius: var(--nexcm-radius) !important;
}

/* ==========================================================================
   Floating button
   ========================================================================== */

#tarteaucitronIcon {
    border-radius: var(--nexcm-radius) !important;
}

/* ==========================================================================
   Service list
   ========================================================================== */

#tarteaucitronServices {
    border-radius: var(--nexcm-radius) !important;
}

/* ==========================================================================
   Responsive adjustments
   ========================================================================== */

@media screen and (max-width: 480px) {
    #tarteaucitronAlertBig {
        border-radius: 0 !important;
    }
}


/* Automatic "Manage cookies" link injected by NEX Consent Manager. */
.nexcm-auto-footer-link {
    width: 100%;
    padding: 10px 20px;
    text-align: center;
    font-size: 13px;
}
.nexcm-auto-footer-link .nexcm-manage-cookies {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ========================================================================== 
   Brand colors
   ========================================================================== */

#tarteaucitronAlertBig,
#tarteaucitronRoot #tarteaucitronAlertBig {
    background: var(--nexcm-background) !important;
    color: var(--nexcm-text) !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig a {
    color: var(--nexcm-text) !important;
}

#tarteaucitronAlertBig #tarteaucitronAcceptAll,
#tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitron .tarteaucitronAllow {
    background: var(--nexcm-primary) !important;
    color: #fff !important;
}

#tarteaucitronAlertBig #tarteaucitronDeny,
#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitron .tarteaucitronDeny {
    border-color: var(--nexcm-primary) !important;
}

#tarteaucitronAlertBig #tarteaucitronAcceptAll:hover,
#tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
#tarteaucitron .tarteaucitronAllow:hover {
    background: var(--nexcm-secondary) !important;
}


/* ========================================================================== 
   v0.1.6 - tarteaucitron 1.35.x banner parity with admin preview
   ========================================================================== */

/* The vendor stylesheet uses IDs and CTA utility classes. Keep these overrides
 * deliberately scoped to the consent root so the saved palette always wins. */
#tarteaucitronRoot #tarteaucitronAlertBig {
    background: var(--nexcm-background) !important;
    color: var(--nexcm-text) !important;
    border-radius: calc(var(--nexcm-radius) * 8) !important;
    box-shadow: 0 10px 35px rgba(23, 36, 51, .12) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig a {
    color: var(--nexcm-text) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAcceptAll,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronAllow {
    background: var(--nexcm-primary) !important;
    border: 1px solid var(--nexcm-primary) !important;
    color: #fff !important;
    border-radius: var(--nexcm-radius) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronDeny {
    background: transparent !important;
    border: 1px solid var(--nexcm-primary) !important;
    color: var(--nexcm-primary) !important;
    border-radius: var(--nexcm-radius) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAcceptAll:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronAllow:hover {
    background: var(--nexcm-secondary) !important;
    border-color: var(--nexcm-secondary) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover,
#tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronDeny:hover {
    color: var(--nexcm-secondary) !important;
    border-color: var(--nexcm-secondary) !important;
}

@media screen and (max-width: 480px) {
    #tarteaucitronRoot #tarteaucitronAlertBig {
        border-radius: 0 !important;
    }
}

/* ========================================================================== 
   v0.1.7 - full tarteaucitron 1.35.x service panel color overrides
   ========================================================================== */

/* Global service-panel action buttons. The vendor stylesheet applies #fbd600
 * at several specificity levels; these selectors deliberately match/exceed
 * those rules while staying inside tarteaucitronRoot. */
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronSaveButton,
#tarteaucitronRoot #tarteaucitronAllAllowed {
    background: var(--nexcm-primary) !important;
    background-color: var(--nexcm-primary) !important;
    border-color: var(--nexcm-primary) !important;
    color: #fff !important;
    border-radius: var(--nexcm-radius) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAllDenied2 {
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid var(--nexcm-primary) !important;
    border-color: var(--nexcm-primary) !important;
    color: var(--nexcm-primary) !important;
    border-radius: var(--nexcm-radius) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitronSaveButton:hover,
#tarteaucitronRoot #tarteaucitronAllAllowed:hover {
    background: var(--nexcm-secondary) !important;
    background-color: var(--nexcm-secondary) !important;
    border-color: var(--nexcm-secondary) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitronAllDenied:hover,
#tarteaucitronRoot #tarteaucitronAllDenied2:hover {
    background: transparent !important;
    color: var(--nexcm-secondary) !important;
    border-color: var(--nexcm-secondary) !important;
}

/* Check/cross glyphs inherit the brand treatment instead of the vendor yellow. */
#tarteaucitronRoot .tarteaucitronAllow .tarteaucitronCheck::before {
    color: #fff !important;
}
#tarteaucitronRoot .tarteaucitronDeny .tarteaucitronCross::before {
    color: currentColor !important;
}

/* ========================================================================== 
   v0.1.8 - public cookie/storage inventory
   ========================================================================== */
#tarteaucitronRoot .nexcm-public-inventory {
    clear: both;
    margin: 22px 14px 14px;
    padding: 18px;
    background: var(--nexcm-background) !important;
    color: var(--nexcm-text) !important;
    border: 1px solid rgba(23,36,51,.15);
    border-radius: calc(var(--nexcm-radius) * 2);
    text-align: left;
}
#tarteaucitronRoot .nexcm-public-inventory h3,
#tarteaucitronRoot .nexcm-public-inventory h4 { color: var(--nexcm-text) !important; margin: 0 0 10px; }
#tarteaucitronRoot .nexcm-public-inventory h4 { font-size: 14px; margin-top: 16px; }
#tarteaucitronRoot .nexcm-public-inventory ul { margin: 0; padding: 0; list-style: none; }
#tarteaucitronRoot .nexcm-public-inventory li { display: grid; grid-template-columns: minmax(140px, 240px) 1fr; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(23,36,51,.08); }
#tarteaucitronRoot .nexcm-public-inventory code { overflow-wrap: anywhere; color: var(--nexcm-primary); background: rgba(255,255,255,.6); padding: 2px 5px; }
#tarteaucitronRoot .nexcm-inventory-note { font-size: 12px; opacity: .8; margin: 8px 0; }
#tarteaucitronRoot .nexcm-storage-summary { margin-top: 16px; padding-top: 12px; border-top: 1px solid rgba(23,36,51,.15); }
@media screen and (max-width: 600px) {
    #tarteaucitronRoot .nexcm-public-inventory li { grid-template-columns: 1fr; gap: 3px; }
}

/* ========================================================================== 
   v0.1.9 - simplified visitor-facing inventory
   ========================================================================== */
#tarteaucitronRoot .nexcm-inventory-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}
#tarteaucitronRoot .nexcm-inventory-card {
    padding: 13px 14px;
    border: 1px solid rgba(23,36,51,.10);
    border-radius: var(--nexcm-radius);
    background: rgba(255,255,255,.55);
}
#tarteaucitronRoot .nexcm-inventory-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}
#tarteaucitronRoot .nexcm-inventory-card p {
    margin: 8px 0 10px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--nexcm-text) !important;
}
#tarteaucitronRoot .nexcm-inventory-badge,
#tarteaucitronRoot .nexcm-inventory-count {
    display: inline-block;
    font-size: 11px;
    line-height: 1.2;
}
#tarteaucitronRoot .nexcm-inventory-badge {
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(184,115,51,.12);
    color: var(--nexcm-primary) !important;
    white-space: nowrap;
}
#tarteaucitronRoot .nexcm-inventory-count { opacity: .75; }
#tarteaucitronRoot .nexcm-inventory-details {
    margin-top: 14px;
    border-top: 1px solid rgba(23,36,51,.12);
    padding-top: 12px;
}
#tarteaucitronRoot .nexcm-inventory-details summary {
    cursor: pointer;
    color: var(--nexcm-primary) !important;
    font-weight: 600;
}
#tarteaucitronRoot .nexcm-inventory-details-inner { margin-top: 10px; }
#tarteaucitronRoot .nexcm-inventory-details-inner h4 { margin: 12px 0 6px; }
#tarteaucitronRoot .nexcm-inventory-details-inner ul { margin: 0; padding: 0; list-style: none; }
#tarteaucitronRoot .nexcm-inventory-details-inner li {
    display: grid;
    grid-template-columns: minmax(140px, 240px) 1fr;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid rgba(23,36,51,.07);
}
#tarteaucitronRoot .nexcm-inventory-details-inner code {
    overflow-wrap: anywhere;
    color: var(--nexcm-primary) !important;
    background: rgba(255,255,255,.6);
    padding: 2px 5px;
}
@media screen and (max-width: 600px) {
    #tarteaucitronRoot .nexcm-inventory-cards { grid-template-columns: 1fr; }
    #tarteaucitronRoot .nexcm-inventory-details-inner li { grid-template-columns: 1fr; gap: 3px; }
}


/* ========================================================================== 
   v0.1.10 - portable palette + full settings panel theming
   ========================================================================== */

/* The effective palette is emitted as CSS variables by class-assets.php.
 * These rules deliberately target the full management panel so a site never
 * inherits the fallback copper palette simply because the vendor stylesheet
 * wins on specificity. */
#tarteaucitronRoot #tarteaucitron,
#tarteaucitronRoot #tarteaucitronServices,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails,
#tarteaucitronRoot #tarteaucitronInfo,
#tarteaucitronRoot #tarteaucitronClosePanel,
#tarteaucitronRoot #tarteaucitronSaveButton {
    color: var(--nexcm-text) !important;
}

#tarteaucitronRoot #tarteaucitron,
#tarteaucitronRoot #tarteaucitronServices,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails,
#tarteaucitronRoot #tarteaucitronInfo {
    background-color: var(--nexcm-background) !important;
}

#tarteaucitronRoot #tarteaucitronServices .tarteaucitronTitle,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronH1,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronH2,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronH3,
#tarteaucitronRoot #tarteaucitronServices a,
#tarteaucitronRoot #tarteaucitron a,
#tarteaucitronRoot #tarteaucitronClosePanel {
    color: var(--nexcm-text) !important;
}

#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitronInfo,
#tarteaucitronRoot .nexcm-public-inventory {
    border-color: color-mix(in srgb, var(--nexcm-text) 15%, transparent) !important;
}

/* Primary actions. */
#tarteaucitronRoot #tarteaucitronServices button.tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronSaveButton {
    background: var(--nexcm-primary) !important;
    background-color: var(--nexcm-primary) !important;
    border-color: var(--nexcm-primary) !important;
    color: #fff !important;
    border-radius: var(--nexcm-radius) !important;
}

/* Secondary/refusal actions. */
#tarteaucitronRoot #tarteaucitronServices button.tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAllDenied2 {
    background: transparent !important;
    background-color: transparent !important;
    border: 1px solid var(--nexcm-primary) !important;
    color: var(--nexcm-primary) !important;
    border-radius: var(--nexcm-radius) !important;
}

#tarteaucitronRoot #tarteaucitronServices button.tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitronAllAllowed:hover,
#tarteaucitronRoot #tarteaucitronSaveButton:hover {
    background: var(--nexcm-secondary) !important;
    background-color: var(--nexcm-secondary) !important;
    border-color: var(--nexcm-secondary) !important;
}

#tarteaucitronRoot #tarteaucitronServices button.tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitronAllDenied:hover,
#tarteaucitronRoot #tarteaucitronAllDenied2:hover {
    color: var(--nexcm-secondary) !important;
    border-color: var(--nexcm-secondary) !important;
}


/* v0.1.12 - standalone informational banner when no optional service exists */
#nexcm-info-banner { position:fixed; left:0; right:0; z-index:2147483645; display:flex; align-items:center; justify-content:center; gap:24px; padding:14px 24px; background:var(--nexcm-background); color:var(--nexcm-text); box-shadow:0 -6px 24px rgba(0,0,0,.10); font:inherit; }
#nexcm-info-banner.nexcm-info-banner-bottom { bottom:0; }
#nexcm-info-banner.nexcm-info-banner-top { top:0; box-shadow:0 6px 24px rgba(0,0,0,.10); }
#nexcm-info-banner.nexcm-info-banner-middle, #nexcm-info-banner.nexcm-info-banner-popup { left:50%; right:auto; top:50%; bottom:auto; width:min(720px,calc(100% - 32px)); transform:translate(-50%,-50%); border-radius:16px; box-shadow:0 16px 48px rgba(0,0,0,.22); }
#nexcm-info-banner .nexcm-info-banner-message { margin:0; line-height:1.45; }
#nexcm-info-banner .nexcm-info-banner-actions { display:flex; gap:10px; flex:0 0 auto; }
#nexcm-info-banner button { cursor:pointer; padding:9px 16px; border-radius:var(--nexcm-radius); font:inherit; line-height:1.2; }
#nexcm-info-banner .nexcm-info-banner-ack { background:var(--nexcm-primary); color:#fff; border:1px solid var(--nexcm-primary); }
#nexcm-info-banner .nexcm-info-banner-manage { background:transparent; color:var(--nexcm-primary); border:1px solid var(--nexcm-primary); }
#nexcm-info-banner .nexcm-info-banner-ack:hover { background:var(--nexcm-secondary); border-color:var(--nexcm-secondary); }
#nexcm-info-banner .nexcm-info-banner-manage:hover { color:var(--nexcm-secondary); border-color:var(--nexcm-secondary); }
@media screen and (max-width:700px) { #nexcm-info-banner { flex-direction:column; align-items:stretch; gap:10px; padding:14px 16px; } #nexcm-info-banner .nexcm-info-banner-actions { width:100%; } #nexcm-info-banner button { flex:1; } }
