/* Bandeau pleine largeur, sans arrondi */
section.heho-cookie {
    --hc-ink: #10232d;
    --hc-accent: #164e63;
    --hc-muted: #627580;
    --hc-border: #dce6ea;
  
    box-sizing: border-box !important;
    position: fixed !important;
    inset: auto 0 0 !important;
    z-index: 2147483100;
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: 85dvh;
    margin: 0 !important;
    padding: 0 !important;
    overflow: auto;
    overscroll-behavior: contain;
    background: #fff !important;
    color: var(--hc-ink) !important;
    border: 0 !important;
    border-top: 1px solid var(--hc-border) !important;
    border-radius: 0 !important;
    box-shadow: 0 -8px 36px #10232d18;
    font: 14px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
    text-align: left !important;
    visibility: hidden;
    transform: translateY(100%);
    transition: transform .22s ease, visibility .22s;
  }
  
  section.heho-cookie.show,
  section.heho-cookie.showing {
    visibility: visible;
    transform: translateY(0);
  }
  
  section.heho-cookie[hidden],
  section.heho-cookie [hidden] {
    display: none !important;
  }
  
  section.heho-cookie *,
  section.heho-cookie *::before,
  section.heho-cookie *::after {
    box-sizing: border-box;
  }
  
  section.heho-cookie .heho-cookie-inner {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 22px 28px max(20px, env(safe-area-inset-bottom));
  }
  
  section.heho-cookie .heho-cookie-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
  }
  
  section.heho-cookie .heho-cookie-eyebrow {
    display: block;
    margin: 0 0 5px;
    color: var(--hc-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;
  }
  
  section.heho-cookie h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--hc-ink) !important;
    font: 750 22px/1.2 system-ui, sans-serif !important;
    letter-spacing: -.5px;
    text-transform: none;
  }
  
  section.heho-cookie p {
    margin: 0;
    padding: 0;
    color: inherit;
    font: inherit;
  }
  
  section.heho-cookie .heho-cookie-description {
    max-width: 900px;
    margin: 12px 0 0;
    color: var(--hc-muted);
  }
  
  section.heho-cookie button {
    appearance: none;
    min-width: 0;
    min-height: 0;
    margin: 0;
    box-shadow: none;
    font: inherit;
    letter-spacing: normal;
    text-transform: none;
    cursor: pointer;
  }
  
  section.heho-cookie .heho-cookie-close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--hc-border);
    border-radius: 50%;
    background: #fff;
    color: var(--hc-muted);
    font: 24px/1 Arial, sans-serif;
  }
  
  section.heho-cookie .heho-cookie-close:hover {
    background: #f2f6f8;
    color: var(--hc-ink);
  }
  
  section.heho-cookie .heho-cookie-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 0;
  }
  
  section.heho-cookie .heho-cookie-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid var(--hc-accent);
    border-radius: 8px;
    background: var(--hc-accent);
    color: #fff;
    font-weight: 650;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
  }
  
  section.heho-cookie .heho-cookie-button:hover {
    filter: brightness(.92);
  }
  
  section.heho-cookie .heho-cookie-secondary {
    background: none;
    color: var(--hc-ink);
    border-color: var(--hc-border);
  }
  
  section.heho-cookie .heho-cookie-secondary:hover {
    background: #f2f6f8;
    filter: none;
  }
  
  section.heho-cookie .heho-cookie-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 12px;
    border: 0;
    border-radius: 8px;
    background: none;
    color: var(--hc-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  
  section.heho-cookie .heho-cookie-policy {
    color: var(--hc-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  
  section.heho-cookie .heho-cookie-details {
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
    margin: 18px 0 0;
    padding: 16px 18px;
    border: 1px solid var(--hc-border);
    border-radius: 12px;
    background: #f6f9fa;
  }
  
  section.heho-cookie .heho-cookie-details > p {
    flex: 0 0 100%;
    padding-bottom: 12px;
    color: var(--hc-muted);
    font-size: 12px;
  }
  
  section.heho-cookie .heho-cookie-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 100%;
    gap: 24px;
    margin: 0;
    padding: 14px 0;
    border-top: 1px solid var(--hc-border);
    cursor: pointer;
  }
  
  section.heho-cookie .heho-cookie-option > span {
    flex: 1;
    min-width: 0;
  }
  
  section.heho-cookie .heho-cookie-option strong {
    display: block;
    color: var(--hc-ink);
    font-size: 14px;
    font-weight: 650;
  }
  
  section.heho-cookie .heho-cookie-option small {
    display: block;
    margin-top: 3px;
    color: var(--hc-muted);
    font-size: 12px;
    line-height: 1.5;
  }
  
  /* Switchs indépendants des styles du site */
  section.heho-cookie .heho-cookie-option input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative;
    display: block;
    float: none;
    flex: 0 0 42px;
    width: 42px !important;
    height: 24px !important;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #a9bcc4 !important;
    border-radius: 20px !important;
    background: #d9e3e8 !important;
    box-shadow: none;
    cursor: pointer;
  }
  
  section.heho-cookie .heho-cookie-option input::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px #10232d25;
    transition: transform .15s ease;
  }
  
  section.heho-cookie .heho-cookie-option input:checked {
    background: var(--hc-accent) !important;
    border-color: var(--hc-accent) !important;
  }
  
  section.heho-cookie .heho-cookie-option input:checked::before {
    transform: translateX(18px);
  }
  
  section.heho-cookie .heho-cookie-details > .heho-cookie-button {
    margin-top: 12px;
  }
  
  section.heho-cookie .heho-cookie-details > .heho-cookie-button:first-of-type {
    margin-left: auto;
  }
  
  section.heho-cookie .heho-cookie-footnote {
    display: block;
    margin: 14px 0 0 !important;
    color: var(--hc-muted);
    font-size: 11px;
    line-height: 1.5;
    text-align: left;
  }
  
  section.heho-cookie .heho-cookie-error:empty {
    display: none;
  }
  
  section.heho-cookie .heho-cookie-error:not(:empty) {
    margin-top: 12px;
    color: #a21 !important;
  }
  
  section.heho-cookie button:disabled {
    opacity: .6;
    cursor: wait;
  }
  
  section.heho-cookie:focus {
    outline: none;
  }
  
  section.heho-cookie :focus-visible {
    outline: 3px solid #4ea5b5 !important;
    outline-offset: 3px;
  }
  
  .heho-cookie-reopen {
    border: 1px solid #dce6ea;
    border-radius: 8px;
    background: #fff;
    color: #164e63;
    font: 12px/1.4 system-ui, sans-serif;
    padding: 7px 10px;
    cursor: pointer;
  }
  
  .heho-cookie-reopen-widget {
    position: fixed;
    bottom: max(16px, env(safe-area-inset-bottom));
    left: 16px;
    z-index: 2147483000;
    box-shadow: 0 4px 20px #16374612;
  }
  
  @media (max-width: 600px) {
    section.heho-cookie .heho-cookie-inner {
      padding: 18px 16px max(18px, env(safe-area-inset-bottom));
    }
  
    section.heho-cookie h2 {
      font-size: 20px !important;
    }
  
    section.heho-cookie .heho-cookie-actions {
      gap: 8px;
    }
  
    section.heho-cookie .heho-cookie-actions > .heho-cookie-button {
      flex: 1 1 140px;
      padding: 10px 12px;
    }
  
    section.heho-cookie .heho-cookie-actions > .heho-cookie-link {
      flex: 1 1 100%;
    }
  
    section.heho-cookie .heho-cookie-details {
      padding: 14px;
    }
  
    section.heho-cookie .heho-cookie-option {
      gap: 16px;
    }
  
    section.heho-cookie .heho-cookie-details > .heho-cookie-button {
      flex: 1 1 100%;
      margin-left: 0;
    }
  }
  
  @media (prefers-reduced-motion: reduce) {
    section.heho-cookie,
    section.heho-cookie .heho-cookie-option input::before {
      transition: none;
    }
  }

/* Moyen et grand écran */
section.heho-cookie .heho-cookie-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
  }
  
  section.heho-cookie .heho-cookie-actions > .heho-cookie-customize {
    order: 0;
    flex: 0 0 auto;
    width: auto;
    margin: 0 auto 0 0;
  }
  
  section.heho-cookie .heho-cookie-actions > .heho-cookie-reject {
    order: 1;
    flex: 0 0 auto;
  }
  
  section.heho-cookie .heho-cookie-actions > .heho-cookie-accept {
    order: 2;
    flex: 0 0 auto;
  }
  
  /* Mobile : Accepter, Refuser, Personnaliser / Enregistrer */
  @media (max-width: 600px) {
    section.heho-cookie .heho-cookie-actions {
      flex-direction: column;
      align-items: stretch;
      gap: 8px;
    }
  
    section.heho-cookie .heho-cookie-actions > .heho-cookie-accept {
      order: 0;
    }
  
    section.heho-cookie .heho-cookie-actions > .heho-cookie-reject {
      order: 1;
    }
  
    section.heho-cookie .heho-cookie-actions > .heho-cookie-customize {
      order: 2;
    }
  
    section.heho-cookie .heho-cookie-actions > button {
      flex: 0 0 auto;
      width: 100%;
      margin: 0;
      min-height: 42px;
    }
  }
@media (max-width: 600px) {
  section.heho-cookie .heho-cookie-actions > .heho-cookie-customize {
    justify-content: center;
    text-align: center;
  }
}
@media (max-width: 600px) {
  section.heho-cookie .heho-cookie-actions > .heho-cookie-customize {
    display: flex;
    width: 100%;
    flex: 0 0 auto;
    margin: 0;
    justify-content: center;
    text-align: center;
  }
}

/* Palette configurable : styles limités au bandeau de consentement. */
section.heho-cookie .heho-cookie-button:not(.heho-cookie-secondary) { color: var(--hc-button-ink, #fff); }
section.heho-cookie .heho-cookie-details { background: var(--hc-pastel, #f4f8f9); }
section.heho-cookie .heho-cookie-secondary { color: var(--hc-ink); }
section.heho-cookie{--hc-accent:#b94c00;--hc-ink:#302014;--hc-muted:#795d47;--hc-border:#e6d5c6}section.heho-cookie .heho-cookie-inner>p{margin-top:16px}section.heho-cookie .heho-cookie-option{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px;padding:15px;border:1px solid var(--hc-border);border-radius:12px}section.heho-cookie .heho-cookie-option small{display:block;margin-top:5px;color:var(--hc-muted)}section.heho-cookie input[type=checkbox]{width:22px;height:22px;accent-color:#b94c00;flex:none}.site-consent-link{display:block;background:transparent;border:0;color:#bda38c;font:12px system-ui;margin:20px auto;cursor:pointer}.heho-cookie-actions button:focus-visible{outline:3px solid #b94c00;outline-offset:3px}
