/* ==========================================================================
   SNIPPET : A2M-CSS-030 — Politique de cookies Complianz
   TYPE : CSS
   GROUPE : A2M-CSS
   PORTÉE : page /politique-de-cookies/ uniquement
   RÔLE : Habiller le shortcode Complianz comme les pages légales A2Mains01
   CIBLE : widget Elementor avec classe .a2-cookie-page
   SOURCE FRONT : /politique-de-cookies/
   SHORTCODE CONSERVÉ : [cmplz-document type="cookie-statement" region="eu"]
   VERSION BLOC : v1.0.0
   ========================================================================== */

/* ==========================================================================
   1. Variables et portée générale
   ========================================================================== */

.a2-cookie-page,
.a2-cookie-page *{
  box-sizing:border-box !important;
}

.a2-cookie-page{
  --a2-orange:#ff6b35;
  --a2-orange-dark:#d45229;
  --a2-green:#869e79;
  --a2-green-dark:#6f8768;
  --a2-title:#344655;
  --a2-text:#4f5f6f;
  --a2-soft:#f8f9fa;
  --a2-border:rgba(134,158,121,.16);
  --a2-shadow:0 10px 42px rgba(0,0,0,.09);

  padding:54px 20px 70px !important;
  background:#fff !important;
  color:var(--a2-text) !important;
  font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* ==========================================================================
   2. Carte principale Complianz
   ========================================================================== */

.a2-cookie-page .cmplz-document{
  position:relative !important;
  z-index:1 !important;

  max-width:1100px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:58px 62px !important;

  background:#fff !important;
  border:1px solid var(--a2-border) !important;
  border-radius:22px !important;
  box-shadow:var(--a2-shadow) !important;
  overflow:hidden !important;

  color:var(--a2-text) !important;
  font-size:1rem !important;
  line-height:1.72 !important;
}

/* Fond décoratif identique aux autres pages légales */
.a2-cookie-page .cmplz-document::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;

  background:
    radial-gradient(620px 220px at 16% 0%, rgba(134,158,121,.10), transparent 58%),
    radial-gradient(520px 220px at 92% 0%, rgba(255,107,53,.08), transparent 60%) !important;
  opacity:.9 !important;
}

/* ==========================================================================
   3. Pastille supérieure
   ========================================================================== */

.a2-cookie-page .cmplz-document::before{
  content:"Gestion des cookies et du consentement" !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:8px 15px !important;
  margin:0 0 18px 0 !important;

  border-radius:999px !important;
  background:rgba(134,158,121,.10) !important;
  border:1px solid rgba(134,158,121,.20) !important;

  color:var(--a2-green-dark) !important;
  font-size:.88rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}

/* ==========================================================================
   4. Titres Complianz
   ========================================================================== */

.a2-cookie-page .cmplz-document h1{
  margin:0 0 18px !important;

  color:var(--a2-title) !important;
  font-size:clamp(2rem, 4vw, 2.75rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.045em !important;
  font-weight:800 !important;

  background:linear-gradient(135deg, var(--a2-title) 0%, var(--a2-orange) 64%) !important;
  -webkit-background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  background-clip:text !important;
}

.a2-cookie-page .cmplz-document h2{
  margin:34px 0 17px !important;

  color:var(--a2-title) !important;
  font-size:1.45rem !important;
  line-height:1.18 !important;
  font-weight:750 !important;

  position:relative !important;
  display:inline-block !important;
}

.a2-cookie-page .cmplz-document h2::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:-9px !important;

  width:58px !important;
  height:3px !important;
  border-radius:2px !important;

  background:linear-gradient(90deg, var(--a2-green) 0%, var(--a2-green-dark) 100%) !important;
}

.a2-cookie-page .cmplz-document h3{
  margin:26px 0 12px !important;
  color:var(--a2-title) !important;
  font-size:1.16rem !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}

.a2-cookie-page .cmplz-document h4,
.a2-cookie-page .cmplz-document h5,
.a2-cookie-page .cmplz-document h6{
  margin:18px 0 8px !important;
  color:var(--a2-title) !important;
  font-size:1rem !important;
  line-height:1.3 !important;
  font-weight:800 !important;
}

/* ==========================================================================
   5. Textes, liens et paragraphes
   ========================================================================== */

.a2-cookie-page .cmplz-document p{
  margin:0 0 13px !important;
  color:var(--a2-text) !important;
  font-size:1rem !important;
  line-height:1.72 !important;
  text-align:justify !important;
}

.a2-cookie-page .cmplz-document strong,
.a2-cookie-page .cmplz-document b{
  color:var(--a2-title) !important;
  font-weight:800 !important;
}

.a2-cookie-page .cmplz-document a{
  color:var(--a2-orange-dark) !important;
  font-weight:800 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(212,82,41,.34) !important;
}

.a2-cookie-page .cmplz-document a:hover{
  border-bottom-color:var(--a2-orange-dark) !important;
}

.a2-cookie-page .cmplz-document a:focus-visible{
  outline:2px solid rgba(134,158,121,.45) !important;
  outline-offset:3px !important;
}

/* ==========================================================================
   6. Listes Complianz
   ========================================================================== */

.a2-cookie-page .cmplz-document ul,
.a2-cookie-page .cmplz-document ol{
  margin:14px 0 20px !important;
  padding:0 !important;
  list-style:none !important;

  display:grid !important;
  gap:10px !important;
}

.a2-cookie-page .cmplz-document li{
  position:relative !important;
  padding:12px 14px 12px 38px !important;

  border-radius:12px !important;
  background:var(--a2-soft) !important;
  border:1px solid rgba(0,0,0,.045) !important;

  color:var(--a2-text) !important;
  line-height:1.55 !important;
}

.a2-cookie-page .cmplz-document li::before{
  content:"✓" !important;
  position:absolute !important;
  left:14px !important;
  top:12px !important;

  color:var(--a2-green) !important;
  font-weight:900 !important;
}

/* ==========================================================================
   7. Tables et données cookies
   ========================================================================== */

.a2-cookie-page .cmplz-document table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;

  margin:18px 0 24px !important;
  overflow:hidden !important;

  border:1px solid rgba(134,158,121,.18) !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:0 6px 24px rgba(0,0,0,.045) !important;
}

.a2-cookie-page .cmplz-document th{
  background:linear-gradient(135deg, rgba(134,158,121,.16), rgba(255,107,53,.07)) !important;
  color:var(--a2-title) !important;

  font-weight:800 !important;
  text-align:left !important;

  padding:13px 14px !important;
  border-bottom:1px solid rgba(134,158,121,.18) !important;
}

.a2-cookie-page .cmplz-document td{
  color:var(--a2-text) !important;
  padding:12px 14px !important;
  border-bottom:1px solid rgba(134,158,121,.12) !important;
  vertical-align:top !important;
}

.a2-cookie-page .cmplz-document tr:last-child td{
  border-bottom:0 !important;
}

/* ==========================================================================
   8. Blocs internes générés par Complianz
   ========================================================================== */

.a2-cookie-page .cmplz-document .cmplz-service-header,
.a2-cookie-page .cmplz-document .cmplz-category-header{
  margin:16px 0 10px !important;
  padding:14px 16px !important;

  background:#fff !important;
  border:1px solid rgba(134,158,121,.18) !important;
  border-radius:14px !important;
  box-shadow:0 6px 22px rgba(0,0,0,.04) !important;

  color:var(--a2-title) !important;
  font-weight:800 !important;
}

.a2-cookie-page .cmplz-document details,
.a2-cookie-page .cmplz-document .cmplz-service-description,
.a2-cookie-page .cmplz-document .cmplz-sharing-data,
.a2-cookie-page .cmplz-document .cmplz-cookie-field{
  margin:12px 0 !important;
  padding:14px 16px !important;

  background:#fff !important;
  border:1px solid rgba(134,158,121,.14) !important;
  border-radius:14px !important;
}

.a2-cookie-page .cmplz-document summary{
  cursor:pointer !important;
  color:var(--a2-title) !important;
  font-weight:800 !important;
}

/* ==========================================================================
   9. Boutons internes éventuels
   ========================================================================== */

.a2-cookie-page .cmplz-document button,
.a2-cookie-page .cmplz-document .cmplz-btn{
  border-radius:999px !important;
  padding:9px 15px !important;

  font-size:.84rem !important;
  font-weight:800 !important;

  border:1px solid rgba(134,158,121,.24) !important;
  background:rgba(134,158,121,.10) !important;
  color:var(--a2-green-dark) !important;
}

.a2-cookie-page .cmplz-document button:hover,
.a2-cookie-page .cmplz-document .cmplz-btn:hover{
  background:linear-gradient(135deg, var(--a2-orange) 0%, var(--a2-orange-dark) 100%) !important;
  color:#fff !important;
  border-color:transparent !important;
}

/* ==========================================================================
   10. Séparateurs et nettoyage Elementor
   ========================================================================== */

.a2-cookie-page .cmplz-document hr{
  border:0 !important;
  border-top:1px solid rgba(134,158,121,.16) !important;
  margin:28px 0 !important;
}

.a2-cookie-page.elementor-widget,
.a2-cookie-page .elementor-widget-container{
  margin:0 !important;
}

/* ==========================================================================
   11. Responsive mobile
   ========================================================================== */

@media (max-width:768px){
  .a2-cookie-page{
    padding:28px 10px 44px !important;
  }

  .a2-cookie-page .cmplz-document{
    padding:30px 14px !important;
    border-radius:18px !important;
  }

  .a2-cookie-page .cmplz-document::before{
    font-size:.84rem !important;
    padding:7px 13px !important;
    margin-bottom:16px !important;
  }

  .a2-cookie-page .cmplz-document h1{
    font-size:2rem !important;
    line-height:1.1 !important;
  }

  .a2-cookie-page .cmplz-document h2{
    font-size:1.28rem !important;
    margin-top:30px !important;
  }

  .a2-cookie-page .cmplz-document h3{
    font-size:1.08rem !important;
  }

  .a2-cookie-page .cmplz-document p{
    font-size:.98rem !important;
    line-height:1.68 !important;
  }

  .a2-cookie-page .cmplz-document li{
    padding:11px 12px 11px 34px !important;
  }

  .a2-cookie-page .cmplz-document li::before{
    left:12px !important;
    top:11px !important;
  }

  .a2-cookie-page .cmplz-document table{
    display:block !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
    border-radius:14px !important;
  }

  .a2-cookie-page .cmplz-document th,
  .a2-cookie-page .cmplz-document td{
    padding:10px 12px !important;
    font-size:.88rem !important;
  }
}