/**
 * ESUP CMA — Cookie Popup
 * 路径：public/styles/cookies.css
 *
 * 必须在 tarteaucitron 官方 CSS 后加载。
 */

#tarteaucitronRoot {
    --cookie-primary: #303e53;
    --cookie-primary-hover: #253144;
    --cookie-primary-light: #f1f3f6;
    --cookie-background: #ffffff;
    --cookie-text: #303e53;
    --cookie-border: #d8dee7;
    --cookie-divider: #e9edf2;

    font-family: "Montserrat", "Open Sans", Arial, sans-serif !important;
}

/* 不显示全屏黑色遮罩 */
#tarteaucitronRoot::before,
#tarteaucitronRoot #tarteaucitronAlertBig::before {
    display: none !important;
}

/* =========================================================
   主弹窗
   ========================================================= */

html body div#tarteaucitronRoot div#tarteaucitronAlertBig {
    position: fixed !important;
    z-index: 2147483646 !important;

    top: auto !important;
    right: 24px !important;
    bottom: 24px !important;
    left: auto !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;

    gap: 12px !important;

    width: 680px !important;
    min-width: 680px !important;
    max-width: calc(100vw - 48px) !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 24px 18px !important;

    box-sizing: border-box !important;

    /*
     * X 会位于弹窗上方，不能使用 hidden。
     */
    overflow: visible !important;

    background: var(--cookie-background) !important;
    color: var(--cookie-text) !important;

    border: 1px solid var(--cookie-border) !important;
    border-top: 4px solid var(--cookie-primary) !important;
    border-radius: 10px !important;

    box-shadow:
        0 22px 52px rgba(30, 42, 60, 0.22),
        0 5px 15px rgba(30, 42, 60, 0.10) !important;

    text-align: left !important;
}

/* 隐藏自动标题 */
#tarteaucitronRoot #tarteaucitronAlertBigTitle,
#tarteaucitronRoot .tarteaucitronAlertBigTitle {
    display: none !important;
}

/* =========================================================
   说明文字
   ========================================================= */

html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronDisclaimerAlert {
    order: 1 !important;

    flex: 0 0 calc(100% + 48px) !important;

    display: block !important;

    width: calc(100% + 48px) !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;

    margin: 0 -24px !important;
    padding: 22px 24px 20px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    color: var(--cookie-text) !important;

    border-bottom: 1px solid var(--cookie-divider) !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: 0 !important;

    text-align: left !important;
    white-space: normal !important;
    overflow: visible !important;
}

html body #tarteaucitronRoot
#tarteaucitronDisclaimerAlert strong {
    color: var(--cookie-text) !important;
}

/* =========================================================
   三个操作按钮
   ========================================================= */

html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronPersonalize2,

html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronAllDenied2,

html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronCloseAlert {
    order: 2 !important;

    float: none !important;

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

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 48px !important;
    min-height: 48px !important;

    margin: 4px 0 0 !important;
    padding: 10px 16px !important;

    box-sizing: border-box !important;

    border-radius: 5px !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.01em !important;

    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;

    box-shadow: none !important;
    cursor: pointer !important;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease !important;
}

/* ACCEPTER */
html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronPersonalize2 {
    flex: 1 1 150px !important;

    background: var(--cookie-primary) !important;
    color: #ffffff !important;

    border: 1px solid var(--cookie-primary) !important;
}

html body #tarteaucitronRoot
#tarteaucitronPersonalize2:hover {
    background: var(--cookie-primary-hover) !important;
    border-color: var(--cookie-primary-hover) !important;

    transform: translateY(-1px) !important;
}

/* REFUSER */
html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronAllDenied2 {
    flex: 1 1 150px !important;

    background: #ffffff !important;
    color: var(--cookie-primary) !important;

    border: 1px solid var(--cookie-primary) !important;
}

html body #tarteaucitronRoot
#tarteaucitronAllDenied2:hover {
    background: var(--cookie-primary-light) !important;

    transform: translateY(-1px) !important;
}

/* VOIR LES PRÉFÉRENCES */
html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronCloseAlert {
    flex: 1.55 1 240px !important;

    background: #ffffff !important;
    color: var(--cookie-primary) !important;

    border: 1px solid var(--cookie-primary) !important;
}

html body #tarteaucitronRoot
#tarteaucitronCloseAlert:hover {
    background: var(--cookie-primary-light) !important;

    transform: translateY(-1px) !important;
}

/* =========================================================
   隐私政策链接
   ========================================================= */

html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronPrivacyUrl,

html body #tarteaucitronRoot
#tarteaucitronAlertBig
#tarteaucitronPrivacyUrlDialog {
    order: 3 !important;

    flex: 0 0 100% !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 2px 0 0 !important;
    padding: 0 !important;

    background: transparent !important;
    color: var(--cookie-primary) !important;

    border: 0 !important;
    border-radius: 0 !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;

    text-align: center !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-transform: none !important;

    box-shadow: none !important;
}

/* =========================================================
   右上方 X
   ========================================================= */

html body #tarteaucitronRoot #tarteaucitronCloseCross {
    position: absolute !important;
    z-index: 30 !important;

    /*
     * 让 X 位于顶部边框上方，不进入文字区域。
     */
    top: -20px !important;
    right: 16px !important;
    bottom: auto !important;
    left: auto !important;

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

    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    margin: 0 !important;
    padding: 0 0 2px !important;

    box-sizing: border-box !important;

    background: #ffffff !important;
    color: var(--cookie-primary) !important;

    border: 1px solid var(--cookie-border) !important;
    border-radius: 50% !important;

    font-family: Arial, sans-serif !important;
    font-size: 25px !important;
    font-weight: 300 !important;
    line-height: 1 !important;

    text-align: center !important;

    box-shadow:
        0 5px 14px rgba(30, 42, 60, 0.18),
        0 2px 5px rgba(30, 42, 60, 0.08) !important;

    cursor: pointer !important;

    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        border-color 0.18s ease,
        transform 0.18s ease !important;
}

html body #tarteaucitronRoot #tarteaucitronCloseCross:hover {
    background: var(--cookie-primary) !important;
    color: #ffffff !important;
    border-color: var(--cookie-primary) !important;

    transform: rotate(90deg) !important;
}

html body #tarteaucitronRoot #tarteaucitronCloseCross span {
    display: block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: inherit !important;

    font-family: Arial, sans-serif !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1 !important;
}

/* =========================================================
   焦点状态
   ========================================================= */

#tarteaucitronRoot button:focus-visible,
#tarteaucitronRoot a:focus-visible {
    outline: 3px solid rgba(48, 62, 83, 0.28) !important;
    outline-offset: 3px !important;
}

/* =========================================================
   详细偏好窗口
   ========================================================= */

#tarteaucitronRoot div#tarteaucitron {
    border-radius: 10px !important;

    box-shadow:
        0 28px 80px rgba(25, 35, 50, 0.28),
        0 6px 18px rgba(25, 35, 50, 0.12) !important;
}

#tarteaucitronRoot #tarteaucitronMainLine {
    background: var(--cookie-primary) !important;
    color: #ffffff !important;
}

#tarteaucitronRoot #tarteaucitronSaveButton {
    background: var(--cookie-primary) !important;
    color: #ffffff !important;

    border: 1px solid var(--cookie-primary) !important;
    border-radius: 5px !important;
}

/* =========================================================
   平板
   ========================================================= */

@media screen and (max-width: 780px) {
    html body div#tarteaucitronRoot div#tarteaucitronAlertBig {
        right: 14px !important;
        bottom: 14px !important;
        left: 14px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronPersonalize2,

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronAllDenied2 {
        flex: 1 1 calc(50% - 6px) !important;
    }

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronCloseAlert {
        flex: 0 0 100% !important;

        margin-top: 0 !important;
    }
}

/* =========================================================
   手机
   ========================================================= */

@media screen and (max-width: 520px) {
    html body div#tarteaucitronRoot div#tarteaucitronAlertBig {
        right: 10px !important;
        bottom: 10px !important;
        left: 10px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        padding-right: 18px !important;
        padding-bottom: 16px !important;
        padding-left: 18px !important;

        gap: 9px !important;
    }

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronDisclaimerAlert {
        flex-basis: calc(100% + 36px) !important;

        width: calc(100% + 36px) !important;

        margin-right: -18px !important;
        margin-left: -18px !important;

        padding: 18px !important;

        font-size: 12.5px !important;
        line-height: 1.6 !important;
    }

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronPersonalize2,

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronAllDenied2,

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronCloseAlert {
        flex: 0 0 100% !important;

        width: 100% !important;
        min-height: 46px !important;

        margin-top: 0 !important;

        white-space: normal !important;
    }

    html body #tarteaucitronRoot
    #tarteaucitronAlertBig
    #tarteaucitronPersonalize2 {
        margin-top: 6px !important;
    }

    html body #tarteaucitronRoot #tarteaucitronCloseCross {
        top: -18px !important;
        right: 10px !important;

        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;

        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;

        font-size: 22px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #tarteaucitronRoot *,
    #tarteaucitronRoot *::before,
    #tarteaucitronRoot *::after {
        animation: none !important;
        transition: none !important;
    }
}
