/* Brevo Conversations 聊天组件样式 */
@-webkit-keyframes brevo-conversations-chat-appear-from-bottom {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px) scale(.97);
        transform: translateY(20px) scale(.97);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0) scale(1);
        transform: translateY(0) scale(1);
    }
}

@keyframes brevo-conversations-chat-appear-from-bottom {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px) scale(.97);
        transform: translateY(20px) scale(.97);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0) scale(1);
        transform: translateY(0) scale(1);
    }
}

@-webkit-keyframes brevo-conversations-chat-appear-from-top {
    from {
        opacity: 0;
        -webkit-transform: translateY(-20px) scale(.97);
        transform: translateY(-20px) scale(.97);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0) scale(1);
        transform: translateY(0) scale(1);
    }
}

@keyframes brevo-conversations-chat-appear-from-top {
    from {
        opacity: 0;
        -webkit-transform: translateY(-20px) scale(.97);
        transform: translateY(-20px) scale(.97);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0) scale(1);
        transform: translateY(0) scale(1);
    }
}

@-webkit-keyframes brevo-conversations-chat-appear {
    from {
        opacity: 0;
        -webkit-transform: scale(.95);
        transform: scale(.95);
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes brevo-conversations-chat-appear {
    from {
        opacity: 0;
        -webkit-transform: scale(.95);
        transform: scale(.95);
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes brevo-conversations-round-button-appear {
    from {
        opacity: 0;
        -webkit-transform: scale(.5);
        transform: scale(.5);
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes brevo-conversations-round-button-appear {
    from {
        opacity: 0;
        -webkit-transform: scale(.5);
        transform: scale(.5);
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes brevo-conversations-tab-button-appear {
    from {
        opacity: 0;
        -webkit-transform: scale(.9);
        transform: scale(.9);
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes brevo-conversations-tab-button-appear {
    from {
        opacity: 0;
        -webkit-transform: scale(.9);
        transform: scale(.9);
    }
    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes brevo-conversations-transparent-appear {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes brevo-conversations-transparent-appear {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Brevo Conversations 主容器样式 */
.brevo-conversations {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    max-height: calc(100% - 40px);
    max-width: calc(100% - 40px);
    -webkit-transition: .2s linear;
    transition: .2s linear;
    -webkit-transition-property: visibility, opacity;
    transition-property: visibility, opacity;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    width: auto;
    height: auto;
    min-height: 0;
    min-width: 0;
    display: block;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding: 0;
    margin: 0;
}

@media print {
    .brevo-conversations {
        display: none;
    }
}

.brevo-conversations__iframe-wrapper,
.brevo-conversations__iframe {
    left: 0 !important;
    top: 0 !important;
    height: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}

.brevo-conversations__iframe-wrapper {
    position: absolute;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1), 0 0 10px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1), 0 0 10px rgba(0, 0, 0, 0.3);
    overflow: hidden !important;
}

.brevo-conversations__iframe-wrapper,
.brevo-conversations--safari .brevo-conversations__iframe,
.brevo-conversations--webkit.brevo-conversations--expanded .brevo-conversations__iframe {
    border-radius: 12px;
}

.brevo-conversations--mobile-widget:not(.brevo-conversations--expanded),
.brevo-conversations--mobile-widget:not(.brevo-conversations--expanded) * {
    cursor: pointer;
}

.brevo-conversations--safari .brevo-conversations__iframe {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000));
    -webkit-mask-image: linear-gradient(#000, #000);
    mask-image: -webkit-gradient(linear, left top, left bottom, from(#000), to(#000));
    mask-image: linear-gradient(#000, #000);
    -webkit-mask-position: 50% 50%;
    mask-position: 50% 50%;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.brevo-conversations:not(.brevo-conversations--expanded) .brevo-conversations__iframe-wrapper {
    -webkit-transition: .2s linear;
    transition: .2s linear;
    -webkit-transition-property: -webkit-box-shadow;
    transition-property: -webkit-box-shadow;
    transition-property: box-shadow;
    transition-property: box-shadow, -webkit-box-shadow;
}

.brevo-conversations:not(.brevo-conversations--expanded):hover .brevo-conversations__iframe-wrapper {
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1), 0 0 15px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1), 0 0 15px rgba(0, 0, 0, 0.4);
}

.brevo-conversations--visible {
    visibility: visible;
    opacity: 1;
}

.brevo-conversations--animating {
    -webkit-transition: 350ms cubic-bezier(.25, .1, 0, 1);
    transition: 350ms cubic-bezier(.25, .1, 0, 1);
    -webkit-transition-property: height, width, max-width, max-height, top, bottom, left, right, -webkit-transform;
    transition-property: height, width, max-width, max-height, top, bottom, left, right, -webkit-transform;
    transition-property: height, width, max-width, max-height, top, bottom, left, right, transform;
    transition-property: height, width, max-width, max-height, top, bottom, left, right, transform, -webkit-transform;
}

.brevo-conversations--style-round:not(.brevo-conversations--expanded) .brevo-conversations__iframe-wrapper,
.brevo-conversations--style-round.brevo-conversations--safari:not(.brevo-conversations--expanded) .brevo-conversations__iframe {
    border-radius: 50%;
}

.brevo-conversations--custom-button:not(.brevo-conversations--expanded) {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none;
    -webkit-transition: none;
    transition: none;
}

.brevo-conversations--fast-toggle.brevo-conversations--style-round:not(.brevo-conversations--expanded) .brevo-conversations__iframe-wrapper {
    -webkit-animation: brevo-conversations-round-button-appear 150ms ease-out 50ms both;
    animation: brevo-conversations-round-button-appear 150ms ease-out 50ms both;
}

.brevo-conversations--fast-toggle.brevo-conversations--style-tab:not(.brevo-conversations--expanded) .brevo-conversations__iframe-wrapper {
    -webkit-animation: brevo-conversations-tab-button-appear 150ms ease-out 50ms both;
    animation: brevo-conversations-tab-button-appear 150ms ease-out 50ms both;
}

.brevo-conversations--fast-toggle.brevo-conversations--expanded .brevo-conversations__iframe-wrapper {
    -webkit-animation: brevo-conversations-chat-appear 150ms ease-out 50ms both;
    animation: brevo-conversations-chat-appear 150ms ease-out 50ms both;
}

.brevo-conversations--fast-toggle.brevo-conversations--transparent .brevo-conversations__iframe-wrapper {
    -webkit-animation-name: brevo-conversations-transparent-appear;
    animation-name: brevo-conversations-transparent-appear;
}

.brevo-conversations--fast-toggle.brevo-conversations--expanded:not(.brevo-conversations--mobile-widget):not(.brevo-conversations--transparent) .brevo-conversations__iframe-wrapper {
    -webkit-animation-name: brevo-conversations-chat-appear-from-bottom;
    animation-name: brevo-conversations-chat-appear-from-bottom;
}

.brevo-conversations--fast-toggle.brevo-conversations--pos-top.brevo-conversations--expanded:not(.brevo-conversations--mobile-widget):not(.brevo-conversations--transparent) .brevo-conversations__iframe-wrapper {
    -webkit-animation-name: brevo-conversations-chat-appear-from-top;
    animation-name: brevo-conversations-chat-appear-from-top;
}

.brevo-conversations--expanded .brevo-conversations__iframe-wrapper {
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1), 0 5px 50px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1), 0 5px 50px rgba(0, 0, 0, 0.2);
}

.brevo-conversations--side-bottom {
    bottom: 20px;
}

.brevo-conversations--side-left {
    left: 20px;
}

.brevo-conversations--side-left.brevo-conversations--style-tab:not(.brevo-conversations--expanded) {
    left: 10px;
}

.brevo-conversations--side-right {
    right: 20px;
}

.brevo-conversations--side-right.brevo-conversations--style-tab:not(.brevo-conversations--expanded) {
    right: 10px;
}

.brevo-conversations--side-left.brevo-conversations--expanded {
    bottom: 20px;
    left: 20px;
}

.brevo-conversations--side-right.brevo-conversations--expanded {
    bottom: 20px;
    right: 20px;
}

.brevo-conversations--pos-right {
    right: 20px;
}

.brevo-conversations--pos-left {
    left: 20px;
}

.brevo-conversations--pos-center {
    left: 50%;
}

.brevo-conversations--pos-top.brevo-conversations--style-tab:not(.brevo-conversations--expanded) {
    bottom: 100%;
    margin-bottom: -20px;
}

.brevo-conversations--pos-top.brevo-conversations--style-round:not(.brevo-conversations--expanded) {
    top: 20px;
}

.brevo-conversations--pos-bottom:not(.brevo-conversations--expanded) {
    bottom: 20px;
}

.brevo-conversations--pos-middle:not(.brevo-conversations--expanded) {
    bottom: 50%;
}

.brevo-conversations--mobile-widget.brevo-conversations--expanded:not(.brevo-conversations--transparent) {
    max-width: none;
    max-height: none;
    top: 0 !important;
    bottom: 0 !important;
}

.brevo-conversations--mobile-widget.brevo-conversations--expanded .brevo-conversations__iframe-wrapper,
.brevo-conversations--safari.brevo-conversations--mobile-widget.brevo-conversations--expanded .brevo-conversations__iframe,
.brevo-conversations--webkit.brevo-conversations--mobile-widget.brevo-conversations--expanded .brevo-conversations__iframe {
    border-radius: .1px;
}

.brevo-conversations--mobile-widget.brevo-conversations--expanded.brevo-conversations--pos-right:not(.brevo-conversations--transparent) {
    right: 0;
}

.brevo-conversations--mobile-widget.brevo-conversations--expanded.brevo-conversations--pos-left:not(.brevo-conversations--transparent) {
    left: 0;
}

.brevo-conversations--mobile-widget.brevo-conversations--expanded.brevo-conversations--pos-center:not(.brevo-conversations--transparent) {
    left: 0;
}

.brevo-conversations--mobile-widget.brevo-conversations--expanded.brevo-conversations--side-right:not(.brevo-conversations--transparent) {
    right: 0;
}

.brevo-conversations--mobile-widget.brevo-conversations--expanded.brevo-conversations--side-left:not(.brevo-conversations--transparent) {
    left: 0;
}

.brevo-conversations--transparent.brevo-conversations--expanded {
    bottom: 10px;
}

.brevo-conversations--transparent.brevo-conversations--expanded .brevo-conversations__iframe-wrapper {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.brevo-conversations--side-left.brevo-conversations--transparent,
.brevo-conversations--pos-left.brevo-conversations--transparent {
    left: 10px;
}

.brevo-conversations--side-right.brevo-conversations--transparent,
.brevo-conversations--pos-right.brevo-conversations--transparent {
    right: 10px;
}

.brevo-conversations--mobile-widget.brevo-conversations--transparent {
    max-height: 300px;
}

.brevo-conversations--bg-white {
    background: #fff;
}

/* React Select 组件样式 */
.css-b62m3t-container {
    position: relative;
    box-sizing: border-box;
}

.css-7pg0cj-a11yText {
    z-index: 9999;
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    width: 1px;
    position: absolute;
    overflow: hidden;
    padding: 0;
    white-space: nowrap;
}

.css-k008qs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.css-p4u4kc {
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-overflow-scrolling: touch;
    position: relative;
    overflow: visible;
    padding: 0;
    box-sizing: border-box;
    margin-right: -4px;
}

.css-19bb58m {
    visibility: visible;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    display: inline-grid;
    grid-area: 1/1/2/3;
    grid-template-columns: 0 min-content;
    margin: 2px;
    padding-bottom: 2px;
    padding-top: 2px;
    color: hsl(0, 0%, 20%);
    box-sizing: border-box;
}

.css-19bb58m:after {
    content: attr(data-value) " ";
    visibility: hidden;
    white-space: pre;
    grid-area: 1/2;
    font: inherit;
    min-width: 2px;
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
}

.css-1y6mk53 {
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    box-sizing: border-box;
    margin-right: -8px;
}

.css-1uei4ir-indicatorSeparator {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    width: 1px;
    background-color: hsl(0, 0%, 80%);
    margin-bottom: 8px;
    margin-top: 8px;
    box-sizing: border-box;
    display: none;
}

.css-1xc3v61-indicatorContainer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: color 150ms;
    transition: color 150ms;
    color: hsl(0, 0%, 80%);
    padding: 8px;
    box-sizing: border-box;
}

.css-1xc3v61-indicatorContainer:hover {
    color: hsl(0, 0%, 60%);
}

.css-1h3crwk-menu {
    top: 100%;
    position: absolute;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    z-index: 10;
    background-color: hsl(0, 0%, 100%);
    border-radius: 12px;
    box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 20px 20px rgba(0, 0, 0, 0.08);
    margin-bottom: 8px;
    margin-top: 8px;
    box-sizing: border-box;
    border: 1px solid #848199;
    color: #373737;
    padding: 1px;
    -webkit-transform: translateX(-65%);
    -moz-transform: translateX(-65%);
    -ms-transform: translateX(-65%);
    transform: translateX(-65%);
}

.css-qr46ko {
    max-height: 300px;
    overflow-y: auto;
    position: relative;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
    padding-top: 4px;
    box-sizing: border-box;
}

.css-14yf9de-option {
    cursor: default;
    display: block;
    font-size: inherit;
    width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background-color: #F5F5F7;
    color: #790BF9;
    padding: 0;
    box-sizing: border-box;
    font-weight: 400;
}

.css-14yf9de-option:active {
    background-color: #2684FF;
}

.css-gci998-option {
    cursor: default;
    display: block;
    font-size: inherit;
    width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    background-color: transparent;
    color: #373737;
    padding: 0;
    box-sizing: border-box;
    font-weight: 400;
}

.css-gci998-option:active {
    background-color: #B2D4FF;
}

/* Marquee 跑马灯组件样式 */
.rfm-marquee-container {
    overflow-x: hidden;
    display: flex;
    flex-direction: row;
    position: relative;
    width: var(--width);
    transform: var(--transform);
}

.rfm-marquee-container:hover div {
    animation-play-state: var(--pause-on-hover);
}

.rfm-marquee-container:active div {
    animation-play-state: var(--pause-on-click);
}

.rfm-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
}

.rfm-overlay::before,
.rfm-overlay::after {
    background: linear-gradient(to right, var(--gradient-color), rgba(255, 255, 255, 0));
    content: "";
    height: 100%;
    position: absolute;
    width: var(--gradient-width);
    z-index: 2;
    pointer-events: none;
    touch-action: none;
}

.rfm-overlay::after {
    right: 0;
    top: 0;
    transform: rotateZ(180deg);
}

.rfm-overlay::before {
    left: 0;
    top: 0;
}

.rfm-marquee {
    flex: 0 0 auto;
    min-width: var(--min-width);
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    animation: scroll var(--duration) linear var(--delay) var(--iteration-count);
    animation-play-state: var(--play);
    animation-delay: var(--delay);
    animation-direction: var(--direction);
}

@keyframes scroll {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-100%);
    }
}

.rfm-initial-child-container {
    flex: 0 0 auto;
    display: flex;
    min-width: auto;
    flex-direction: row;
    align-items: center;
}

.rfm-child {
    transform: var(--transform);
}

/* 移动端样式优化 */
@media (max-width: 768px) {
    html.brevo-conversations-mobile-widget-expanded,
    body.brevo-conversations-mobile-widget-expanded {
        overflow: hidden !important;
        height: 100% !important;
        width: 100% !important;
        position: fixed !important;
        margin: 0 !important;
        top: 0 !important;
        left: 0 !important;
    }

    .brevo-conversations {
        max-height: calc(100% - 20px);
        max-width: calc(100% - 20px);
    }

    .css-1h3crwk-menu {
        width: 90vw;
        left: 5vw;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        transform: none;
    }
}
