:root {
    --consent-font: "Poppins", Arial, sans-serif;
    --consent-heading-font: "Oswald", Arial, sans-serif;
    --consent-button-font: "Oswald", Arial, sans-serif;
    --consent-surface: #19112f;
    --consent-text: #efebfa;
    --consent-accent: #28c5de;
    --consent-link: #62dcf2;
    --consent-on-accent: #100923;
    --consent-hover: #66dbec;
    --consent-border: #49405f;
    --consent-hover-surface: #281d43;
    --consent-radius: 0px;
    --consent-button-radius: 0px;
    --consent-button-case: uppercase;
    --consent-button-spacing: .5px;
}
/* Presentation only. Consent behavior and the vendored Silktide assets are unchanged. */
#stcm-wrapper {
    --fontFamily: var(--consent-font);
    --primaryColor: var(--consent-link);
    --backgroundColor: var(--consent-surface);
    --textColor: var(--consent-text);
    font: 14px/1.55 var(--consent-font);
}
/* Footer Cookie Settings is the persistent preferences entry point. */
#stcm-wrapper #stcm-icon,
#stcm-wrapper #stcm-banner .stcm-logo,
#stcm-wrapper #stcm-modal .stcm-credit-link { display: none !important; }
#stcm-wrapper #stcm-banner, #stcm-wrapper #stcm-modal {
    border: 1px solid var(--consent-border);
    border-top: 3px solid var(--consent-accent);
    border-radius: var(--consent-radius);
    background: var(--consent-surface);
    box-shadow: 0 8px 32px #00000040;
    color: var(--consent-text);
}
#stcm-wrapper #stcm-banner { width: 640px; max-width: calc(100% - 32px); padding: 18px 22px; }
#stcm-wrapper #stcm-banner p, #stcm-wrapper #stcm-modal p {
    font: 400 14px/1.6 var(--consent-font);
    color: var(--consent-text); opacity: 1; margin: 0;
}
#stcm-wrapper a { color: var(--consent-link); text-decoration: underline; text-underline-offset: 3px; background: transparent; }
#stcm-wrapper a:hover { color: var(--consent-text); }
#stcm-wrapper #stcm-banner .stcm-actions { gap: 10px; margin-top: 16px; }
#stcm-wrapper #stcm-banner .stcm-actions-row { flex-grow: 0; }
#stcm-wrapper .stcm-button, #stcm-wrapper #stcm-banner .stcm-preferences-button {
    box-sizing: border-box; min-height: 44px; padding: 10px 16px; margin: 0;
    border: 1px solid var(--consent-accent);
    border-radius: var(--consent-button-radius);
    font: 600 14px/22px var(--consent-button-font);
    text-transform: var(--consent-button-case);
    letter-spacing: var(--consent-button-spacing);
    text-shadow: none; box-shadow: none;
    background: var(--consent-accent); color: var(--consent-on-accent);
    white-space: normal; justify-content: center;
}
#stcm-wrapper .stcm-button:hover { background: var(--consent-hover); border-color: var(--consent-hover); color: var(--consent-on-accent); }
#stcm-wrapper #stcm-banner .stcm-preferences-button { background: transparent; color: var(--consent-link); border-color: var(--consent-border); }
#stcm-wrapper #stcm-banner .stcm-preferences-button:hover { border-color: var(--consent-link); background: var(--consent-hover-surface); }
#stcm-wrapper #stcm-banner .stcm-preferences-button span:hover { color: inherit; }
#stcm-wrapper #stcm-modal { width: 620px; max-width: calc(100% - 32px); max-height: calc(100% - 32px); padding: 24px; }
#stcm-wrapper #stcm-modal header {
    position: static; width: auto; height: auto; min-height: 0;
    padding: 0; margin: 0 0 12px; background: transparent; border: 0;
}
#stcm-wrapper #stcm-modal h1 {
    font: 600 24px/1.3 var(--consent-heading-font);
    text-transform: var(--consent-button-case); letter-spacing: var(--consent-button-spacing); color: var(--consent-text);
}
#stcm-wrapper #stcm-modal .stcm-modal-close { flex-shrink: 0; width: 44px; height: 44px; padding: 12px; border-radius: var(--consent-button-radius); background: transparent; }
#stcm-wrapper #stcm-modal .stcm-modal-close:hover { background: var(--consent-hover-surface); }
#stcm-wrapper #stcm-modal section { margin: 20px 0 0; padding: 0; background: transparent; border: 0; }
#stcm-wrapper #stcm-modal fieldset { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid var(--consent-border); }
#stcm-wrapper #stcm-modal fieldset:last-of-type { margin: 0; padding-bottom: 0; border-bottom: 0; }
#stcm-wrapper #stcm-modal legend { font: 600 16px/1.4 var(--consent-heading-font); margin-bottom: 8px; border: 0; }
#stcm-wrapper #stcm-modal .stcm-consent-row { gap: 20px; }
#stcm-wrapper #stcm-modal .stcm-toggle { margin: 0; }
#stcm-wrapper #stcm-modal footer { position: static; width: auto; padding: 0; margin-top: 24px; gap: 10px; border: 0; background: transparent; }
#stcm-wrapper #stcm-modal footer .stcm-button { flex: 1; }
#stcm-wrapper a:focus-visible,
#stcm-wrapper #stcm-banner button:focus-visible,
#stcm-wrapper #stcm-modal button:focus-visible {
    border-radius: var(--consent-button-radius); outline: 2px solid var(--consent-link); outline-offset: 3px; box-shadow: 0 0 0 2px var(--consent-surface);
}
#stcm-wrapper #stcm-modal .stcm-toggle:focus-within { box-shadow: 0 0 0 2px var(--consent-surface), 0 0 0 4px var(--consent-link); }
.cookie-settings-link { cursor: pointer; }
[data-consent-src][hidden] { display: none !important; }
@media (max-width: 600px) {
    #stcm-wrapper #stcm-banner { max-width: calc(100% - 20px); bottom: max(10px, env(safe-area-inset-bottom)); padding: 16px; }
    #stcm-wrapper #stcm-banner .stcm-actions { flex-direction: column; gap: 8px; margin-top: 14px; align-items: stretch; }
    #stcm-wrapper #stcm-banner .stcm-actions-row, #stcm-wrapper #stcm-banner .stcm-preferences-button { width: 100%; }
    #stcm-wrapper #stcm-modal { max-width: calc(100% - 20px); max-height: calc(100% - 20px); padding: 20px; }
    #stcm-wrapper #stcm-modal h1 { font-size: 22px; }
    #stcm-wrapper #stcm-modal footer { flex-direction: column; align-items: stretch; }
    #stcm-wrapper #stcm-modal .stcm-consent-row { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    #stcm-wrapper *, #stcm-wrapper *::before, #stcm-wrapper *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

#stcm-modal .stcm-toggle-off, #stcm-modal .stcm-toggle-on {
    top: 5px;
}

/* Preferences hierarchy: saving is primary; rejection remains a visible secondary action. */
#stcm-wrapper #stcm-modal .stcm-modal-reject-all {
    background: transparent;
    border-color: var(--consent-link);
    color: var(--consent-link);
}
#stcm-wrapper #stcm-modal .stcm-modal-reject-all:hover {
    background: var(--consent-hover-surface);
    border-color: var(--consent-link);
    color: var(--consent-text);
}

/* Complete the surrounding brand treatment for switches and remaining gated content. */
#stcm-wrapper #stcm-modal .stcm-toggle { height: 44px; }
#stcm-wrapper #stcm-modal .stcm-toggle-track { top: 5px; background: var(--consent-border); }
#stcm-wrapper #stcm-modal .stcm-toggle-thumb { top: 7px; background: var(--consent-text); }
#stcm-wrapper #stcm-modal .stcm-toggle-on,
#stcm-wrapper #stcm-modal .stcm-toggle-off {
    top: 5px; height: 34px; line-height: 34px;
    font-family: var(--consent-font); font-size: 12px; font-weight: 600;
    color: var(--consent-text);
}
#stcm-wrapper #stcm-modal .stcm-toggle input:checked + .stcm-toggle-track { background: var(--consent-accent); }
#stcm-wrapper #stcm-modal .stcm-toggle input:checked ~ .stcm-toggle-thumb { background: var(--consent-on-accent); }
#stcm-wrapper #stcm-modal .stcm-toggle input:checked ~ .stcm-toggle-on { color: var(--consent-on-accent); }
#stcm-wrapper #stcm-modal .stcm-toggle input:disabled + .stcm-toggle-track {
    opacity: 1; filter: none; background: var(--consent-border); cursor: default;
}
#stcm-wrapper #stcm-modal .stcm-toggle input:disabled ~ .stcm-toggle-thumb { background: var(--consent-text); }
#stcm-wrapper #stcm-modal .stcm-toggle input:disabled ~ .stcm-toggle-on { color: var(--consent-text); }
#stcm-wrapper #stcm-modal .stcm-modal-close { display: inline-flex; align-items: center; justify-content: center; }
#stcm-wrapper #stcm-modal .stcm-modal-close svg { width: 18px; height: 18px; }
.consent-placeholder {
    box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
    padding: 20px; border: 1px solid var(--consent-border); border-radius: var(--consent-radius);
    background: var(--consent-surface); color: var(--consent-text);
    font: 400 14px/1.6 var(--consent-font); text-align: center; text-shadow: none;
}
.consent-placeholder p { margin: 0; color: inherit; font: inherit; }
.consent-placeholder button {
    min-height: 44px; padding: 10px 16px; margin: 0;
    border: 1px solid var(--consent-link); border-radius: var(--consent-button-radius);
    background: transparent; color: var(--consent-link);
    font: 600 14px/22px var(--consent-button-font); text-shadow: none;
    text-transform: var(--consent-button-case); letter-spacing: var(--consent-button-spacing);
    cursor: pointer; box-shadow: none;
}
.consent-placeholder button:hover { background: var(--consent-hover-surface); color: var(--consent-text); }
.consent-placeholder button:focus-visible, .cookie-settings-link:focus-visible {
    outline: 2px solid var(--consent-link); outline-offset: 3px;
}
.consent-placeholder[hidden] { display: none !important; }
