#stm-consent { font-family: inherit; font-size: 16px; line-height: 1.6; color: #222; }
#stm-consent [hidden] { display: none !important; }
.stm-cookie-banner { position: fixed; inset: auto 0 0; z-index: 1080; padding: 24px max(24px, calc((100vw - 1320px) / 2)); background: #171717; color: white; display: flex; gap: 28px; align-items: center; box-shadow: 0 -4px 20px #0003; max-height: 75vh; overflow: auto; }
#stm-consent .stm-cookie-banner, #stm-consent .stm-cookie-banner h2, #stm-consent .stm-cookie-banner p, #stm-consent .stm-cookie-banner a { color: #fff; }
#stm-consent h2 { font-size: 23px; margin: 0 0 12px; color: inherit; }
#stm-consent p { font-size: 16px; margin: 8px 0 12px; line-height: 1.6; }
#stm-consent a { text-decoration: underline; color: inherit; }
.stm-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.stm-cookie-banner .stm-cookie-actions { flex: 0 0 260px; display: grid; min-width: 240px; margin: 0; }
#stm-consent button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d8dce1; background: #f7f8fa; color: #25282d; padding: 12px 20px; border-radius: 12px; font: inherit; font-weight: 600; line-height: 1.45; cursor: pointer; min-height: 48px; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
#stm-consent .stm-cookie-banner button { width: 100%; background: #ffffff0a; border-color: #ffffff59; color: #fff; }
#stm-consent button.stm-cookie-primary { background: #e00016; border-color: #e00016; color: white; box-shadow: 0 4px 12px #e0001626; }
@media (hover: hover) {
    #stm-consent button:not(:disabled):hover { background: #eceff3; border-color: #aab2bc; transform: translateY(-1px); box-shadow: 0 4px 12px #0000000d; }
    #stm-consent .stm-cookie-banner button:not(:disabled):hover { background: #ffffff14; border-color: #ffffff99; }
    #stm-consent button.stm-cookie-primary:not(:disabled):hover { background: #c90014; border-color: #c90014; box-shadow: 0 6px 16px #e0001633; }
}
#stm-consent button:not(:disabled):active { transform: translateY(0); box-shadow: none; }
#stm-consent .stm-cookie-heading button { width: 40px; min-height: 40px; padding: 0; border-radius: 50%; font-size: 22px; font-weight: 400; }
#stm-consent button:disabled { opacity: .6; cursor: wait; }
#stm-consent :focus-visible { outline: 3px solid #2684ff; outline-offset: 3px; }
#stm-consent .stm-cookie-reopen { position: fixed; bottom: 16px; left: 16px; z-index: 1070; border-radius: 999px; background: #fff; box-shadow: 0 4px 20px #0000001f; }
#stm-cookie-dialog { width: min(680px, calc(100% - 24px)); max-height: 90dvh; padding: 24px; border: 0; border-radius: 6px; color: #222; overflow: auto; }
#stm-cookie-dialog::backdrop { background: #0009; }
.stm-cookie-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; color: #d90000; }
.stm-cookie-category { display: grid; grid-template-columns: 1fr auto; gap: 8px 16px; padding: 18px 0; border-top: 1px solid #ddd; margin-top: 12px; }
.stm-cookie-category p { grid-column: 1 / -1; }
.stm-cookie-category label { font-weight: 700; cursor: pointer; }
.stm-cookie-category-collapsible { display: block; position: relative; }
.stm-cookie-details > summary { display: flex; align-items: center; gap: 10px; min-height: 30px; padding-inline-end: 100px; font-weight: 700; cursor: pointer; list-style: none; }
.stm-cookie-details > summary::-webkit-details-marker { display: none; }
.stm-cookie-details > summary::before { content: ''; flex: 0 0 8px; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); }
.stm-cookie-details[open] > summary::before { transform: rotate(45deg); }
#stm-consent .stm-cookie-details > p { margin-top: 12px; }
.stm-cookie-category-collapsible > span, .stm-cookie-category-collapsible > #stm-functional { position: absolute; top: 20px; right: 0; }
.stm-cookie-active { color: #237b3b; }
#stm-functional { appearance: none; width: 44px; height: 26px; border-radius: 20px; background: #757575; cursor: pointer; position: relative; margin: 2px; }
#stm-functional::before { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: white; }
#stm-functional:checked { background: #237b3b; }
#stm-functional:checked::before { left: 21px; }
.stm-cookie-error { color: #a60000; }
.stm-cookie-banner-error:not(:empty), .stm-cookie-noscript { position: fixed; top: 90px; left: 16px; right: 16px; z-index: 1090; padding: 16px; background: #fff0f0; border: 1px solid #a60000; }
@media (max-width: 760px) { .stm-cookie-banner { display: block; padding: 18px; } .stm-cookie-banner .stm-cookie-actions { margin-top: 16px; } .stm-cookie-actions button { flex: 1 1 180px; } #stm-cookie-dialog { padding: 18px; } }
@media (prefers-reduced-motion: reduce) { #stm-consent button { transition: none; } #stm-consent button:not(:disabled):hover { transform: none; } }
