/* WPConsent expose ses composants via ::part, sans modifier le greffon. */
#wpconsent-container {
    font-family: 'Poppins', sans-serif;
    --wpconsent-background: #fff;
    --wpconsent-text: #002060;
    --wpconsent-outline-color: #dce5ef;
    --wpconsent-accept-bg: #002060;
    --wpconsent-accept-color: #fff;
    --wpconsent-cancel-bg: #fff;
    --wpconsent-cancel-color: #002060;
    --wpconsent-preferences-bg: #002060;
    --wpconsent-preferences-color: #fff;
    --wpconsent-font-size: 14px;
    --wpconsent-line-height: 1.65;
    --wpconsent-title-size: 22px;
    --wpconsent-border-radius: 10px;
    --wpconsent-padding: 24px;
    --wpconsent-focus-outline-color: #007ab5;
    --wpconsent-focus-outline-width: 2px;
    --wpconsent-focus-outline-offset: 3px;
    --wpconsent-shadow: 0 8px 36px rgba(0,32,96,.16);
}
#wpconsent-container::part(wpconsent-banner) {
    box-sizing: border-box;
    width: calc(100% - 40px);
    max-width: 1240px;
    margin: 0 auto 20px;
    padding: 24px 28px;
    border: 1px solid #dce5ef;
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px 28px;
    font-family: 'Poppins', sans-serif;
}
#wpconsent-container::part(wpconsent-banner-body) { flex: 1 1 440px; margin: 0; color: #46536b; text-align: left; }
#wpconsent-container::part(wpconsent-banner-footer) { flex: 0 1 auto; gap: 10px; padding: 0; margin: 0; }
#wpconsent-container::part(wpconsent-button-accept),
#wpconsent-container::part(wpconsent-button-cancel),
#wpconsent-container::part(wpconsent-button-preferences),
#wpconsent-container::part(wpconsent-preferences-accept-button),
#wpconsent-container::part(wpconsent-preferences-cancel-button),
#wpconsent-container::part(wpconsent-preferences-save-button) {
    height: auto;
    min-height: 44px;
    padding: 12px 18px;
    border: 1px solid #002060;
    border-radius: 6px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: none;
    transition: background-color .15s ease, color .15s ease;
}
#wpconsent-container::part(wpconsent-button-preferences),
#wpconsent-container::part(wpconsent-preferences-cancel-button) { background: #f2f6fa; border-color: #dce5ef; color: #002060; }
#wpconsent-container::part(wpconsent-button-cancel):hover,
#wpconsent-container::part(wpconsent-button-preferences):hover { background: #eaf3fc; }
#wpconsent-container::part(wpconsent-button-accept):hover,
#wpconsent-container::part(wpconsent-preferences-save-button):hover { background: #0a367c; }
#wpconsent-container::part(wpconsent-preferences-content) { font-family: 'Poppins', sans-serif; border: 1px solid #dce5ef; border-radius: 12px; box-shadow: 0 24px 70px rgba(0,32,96,.22); }
#wpconsent-container::part(wpconsent-preferences-title) { font-family: 'Poppins', sans-serif; font-size: 22px; line-height: 1.3; font-weight: 700; }
#wpconsent-container::part(wpconsent-preferences-header) { padding-bottom: 20px; border-bottom: 1px solid #dce5ef; }
#wpconsent-container::part(wpconsent-preferences-description) { color: #46536b; font-size: 14px; line-height: 1.7; }
#wpconsent-container::part(wpconsent-preferences-close) { width: 40px; height: 40px; border-radius: 6px; color: #002060; }
#wpconsent-container::part(wpconsent-accordion-item) { border: 1px solid #dce5ef; border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
#wpconsent-container::part(wpconsent-accordion-header) { box-sizing: border-box; padding: 16px; background: #f4f8fc; }
#wpconsent-container::part(wpconsent-accordion-content) { padding: 0 16px 16px; font-size: 13px; line-height: 1.65; }
#wpconsent-container::part(wpconsent-preferences-actions) { border-top: 1px solid #dce5ef; padding-top: 18px; }
#wpconsent-container::part(wpconsent-settings-button) { bottom: 14px; left: 14px; padding: 11px; border: 1px solid #dce5ef; border-radius: 50%; background: #002060; box-shadow: 0 3px 14px rgba(0,32,96,.16); }
@media (max-width: 767px) {
    #wpconsent-container::part(wpconsent-banner) { width: calc(100% - 24px); margin-bottom: 12px; padding: 20px; gap: 16px; max-height: calc(100dvh - 24px); overflow-y: auto; }
    #wpconsent-container::part(wpconsent-banner-body) { flex-basis: 100%; }
    #wpconsent-container::part(wpconsent-banner-footer) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
    #wpconsent-container::part(wpconsent-button-preferences) { grid-column: 1 / -1; }
    #wpconsent-container::part(wpconsent-button-accept),
    #wpconsent-container::part(wpconsent-button-cancel),
    #wpconsent-container::part(wpconsent-button-preferences) { width: 100%; margin: 0; padding-inline: 10px; }
    #wpconsent-container::part(wpconsent-preferences-content) { width: calc(100% - 24px); max-height: calc(100dvh - 24px); margin: 12px; }
    #wpconsent-container::part(wpconsent-preferences-title) { font-size: 20px; }
    #wpconsent-container::part(wpconsent-preferences-buttons),
    #wpconsent-container::part(wpconsent-preferences-buttons-left) { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
    #wpconsent-container::part(wpconsent-preferences-accept-button),
    #wpconsent-container::part(wpconsent-preferences-cancel-button),
    #wpconsent-container::part(wpconsent-preferences-save-button) { flex: 1 1 auto; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
    #wpconsent-container::part(wpconsent-banner),
    #wpconsent-container::part(wpconsent-button-accept),
    #wpconsent-container::part(wpconsent-button-cancel),
    #wpconsent-container::part(wpconsent-button-preferences) { transition: none; }
}
