#stcm-wrapper {
    --primaryColor: #34483d;
    --backgroundColor: #fff;
    --textColor: #252b27;
    --backdropBackgroundColor: rgb(24 31 27 / 58%);
    --backdropBackgroundBlur: 3px;
    --fontFamily: var(--bazja-font-body, "Figtree", Arial, sans-serif);
    --bazjaConsentLine: #d8ddd5;
    --bazjaConsentSoft: #f5f5f3;
    --bazjaConsentFocus: #73897c;
}

#stcm-wrapper :is(button, a) {
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease;
    transform: none;
}

#stcm-wrapper :is(button, a):is(:hover, :focus, :active) {
    transform: none;
}

#stcm-wrapper a {
    color: #34483d;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

#stcm-wrapper a:hover {
    color: #252b27;
}

#stcm-wrapper :is(a, #stcm-banner button, #stcm-modal button, #stcm-icon):focus-visible {
    border-radius: var(--bazja-radius-control, 4px);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--bazjaConsentFocus);
    outline: none;
}

#stcm-banner,
#stcm-modal {
    border: 1px solid var(--bazjaConsentLine);
    border-radius: var(--bazja-radius-panel, 8px);
    background: #fff;
    box-shadow: 0 22px 70px rgb(23 34 27 / 22%);
    color: #252b27;
}

#stcm-banner {
    width: min(620px, calc(100% - 32px));
    padding: clamp(24px, 5vw, 40px);
}

#stcm-banner.stcm-loaded.stcm-pos-center {
    transform: translate(-50%, -50%);
}

#stcm-banner h2 {
    margin: 0 0 14px;
    color: #252b27;
    font-family: var(--bazja-font-heading, "Newsreader", Georgia, serif);
    font-size: clamp(28px, 5vw, 38px);
    font-weight: 300;
    line-height: 1.08;
    text-align: center;
}

#stcm-banner p,
#stcm-modal p {
    color: #4b554e;
    font-size: 15px;
    line-height: 1.55;
}

#stcm-banner > p:not(.ecomgo-consent-links) {
    max-width: 520px;
    margin-inline: auto;
    text-align: center;
}

#stcm-banner .ecomgo-consent-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 10px;
    margin: 18px 0 0;
    font-size: 13px;
}

.ecomgo-consent-brand {
    display: flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    margin: 0 0 24px;
    color: #34483d;
    font-family: var(--bazja-font-heading, "Newsreader", Georgia, serif);
    font-size: 30px;
}

.ecomgo-consent-brand img {
    display: block;
    width: auto;
    max-width: min(190px, 62vw);
    height: auto;
    max-height: 54px;
}

.ecomgo-consent-brand--modal {
    justify-content: flex-start;
    margin-bottom: 22px;
}

#stcm-wrapper .stcm-button {
    min-height: 48px;
    border: 1px solid #34483d;
    border-radius: var(--bazja-radius-control, 4px);
    padding: 10px 18px;
    background: #34483d;
    color: #fff;
    font-family: var(--bazja-font-body, "Figtree", Arial, sans-serif);
    font-size: 14px;
    font-weight: 600;
}

#stcm-wrapper .stcm-button:hover {
    border-color: #26362d;
    background: #26362d;
    color: #fff;
}

#stcm-banner .stcm-reject-all,
#stcm-modal .stcm-modal-reject-all {
    border-color: #34483d;
    background: #fff;
    color: #34483d;
}

#stcm-banner .stcm-reject-all:hover,
#stcm-modal .stcm-modal-reject-all:hover {
    background: #e9ede5;
    color: #26362d;
}

#stcm-banner .stcm-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    margin-top: 26px;
}

#stcm-banner .stcm-actions-row {
    grid-column: 1 / -1;
    justify-content: center;
}

#stcm-banner .stcm-preferences-button {
    min-height: 38px;
    padding: 7px 10px;
    color: #34483d;
    font-size: 14px;
    font-weight: 600;
}

#stcm-banner .stcm-preferences-button:hover {
    color: #252b27;
}

#stcm-wrapper #stcm-banner a.stcm-logo,
#stcm-wrapper #stcm-modal a.stcm-credit-link {
    display: none;
}

#stcm-modal {
    width: min(760px, calc(100% - 32px));
    max-height: calc(100dvh - 32px);
    padding: clamp(24px, 5vw, 40px);
}

#stcm-modal header {
    align-items: flex-start;
    margin-bottom: 14px;
}

#stcm-modal h1 {
    color: #252b27;
    font-family: var(--bazja-font-heading, "Newsreader", Georgia, serif);
    font-size: clamp(27px, 4vw, 36px);
    font-weight: 300;
    line-height: 1.1;
}

#stcm-modal .stcm-modal-close {
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bazjaConsentLine);
    border-radius: var(--bazja-radius-control, 4px);
    padding: 10px;
    background: #fff;
    color: #34483d;
}

#stcm-modal .stcm-modal-close:hover {
    background: var(--bazjaConsentSoft);
}

#stcm-modal .stcm-modal-close svg {
    width: 22px;
    height: 22px;
    fill: none;
}

#stcm-modal section {
    margin-top: 26px;
}

#stcm-modal fieldset {
    margin: 0;
    border-top: 1px solid #e4e7e1;
    padding: 18px 0;
}

#stcm-modal fieldset:last-of-type {
    border-bottom: 1px solid #e4e7e1;
}

#stcm-modal legend {
    margin-bottom: 7px;
    color: #252b27;
    font-size: 15px;
}

#stcm-modal .stcm-consent-description p {
    margin: 0;
    font-size: 14px;
}

#stcm-modal .stcm-toggle {
    width: 66px;
    height: 32px;
}

#stcm-modal .stcm-toggle-track {
    width: 66px;
    height: 32px;
    border: 1px solid #abb4ad;
    border-radius: var(--bazja-radius-control, 4px);
    background: #eff1ee;
}

#stcm-modal .stcm-toggle-thumb {
    top: 3px;
    left: 3px;
    width: 26px;
    height: 26px;
    border-radius: 3px;
    background: #66726a;
}

#stcm-modal .stcm-toggle input:checked + .stcm-toggle-track {
    border-color: #34483d;
    background: #34483d;
}

#stcm-modal .stcm-toggle input:checked ~ .stcm-toggle-thumb {
    left: calc(100% - 29px);
    background: #fff;
}

#stcm-modal .stcm-toggle-off,
#stcm-modal .stcm-toggle-on {
    top: 7px;
    color: #34483d;
    font-size: 12px;
    text-transform: none;
}

#stcm-modal .stcm-toggle-on {
    color: #fff;
}

#stcm-modal footer {
    gap: 10px;
}

#stcm-icon {
    width: 40px;
    height: 40px;
    min-width: 0;
    border: 1px solid #34483d;
    border-radius: 50%;
    padding: 0;
    background: #fff;
    color: #34483d;
    box-shadow: 0 6px 24px rgb(23 34 27 / 12%);
}

#stcm-icon svg {
    width: 20px;
    height: 20px;
}

#stcm-icon:hover {
    background: #e9ede5;
}

@media (max-width: 599px) {
    #stcm-banner {
        max-height: calc(100dvh - 24px);
        padding: 24px 20px;
    }

    #stcm-banner .stcm-actions {
        grid-template-columns: 1fr;
    }

    #stcm-banner .stcm-actions-row {
        grid-column: 1;
    }

    #stcm-modal {
        width: calc(100% - 16px);
        max-width: none;
        max-height: calc(100dvh - 16px);
        border-radius: var(--bazja-radius-panel, 8px);
        padding: 24px 18px;
    }

    #stcm-modal .stcm-consent-row {
        gap: 14px;
    }

    #stcm-modal footer {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    #stcm-wrapper *,
    #stcm-wrapper *::before,
    #stcm-wrapper *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
