#cookie-consent-root .cc-panel {
    width: min(29rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
}
#cookie-consent-root .cc-panel-inner {
    display: flex;
    flex-direction: column;
    max-height: calc(100dvh - 2rem);
    padding: 0;
}
#cookie-consent-root .cc-panel-content {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 1.4rem 1.35rem 0;
}
#cookie-consent-root .cc-panel-head { text-align: center; margin-bottom: 1.2rem; }
#cookie-consent-root .cc-panel-head h2 { margin: .8rem 0 .6rem; font-size: 1.25rem; }
#cookie-consent-root .cc-panel-head p { margin-bottom: .65rem; line-height: 1.6; }
#cookie-consent-root .cc-panel-head > a { font-size: .78rem; text-decoration: underline; text-underline-offset: 3px; }
#cookie-consent-root .cc-panel-symbol { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background: #fff3e6; color: #ed7b16; }
#cookie-consent-root .cc-panel-symbol svg { width: 1.9rem; height: 1.9rem; }
#cookie-consent-root .cc-cat { padding: .85rem; grid-template-columns: minmax(0, 1fr) 6rem; }
#cookie-consent-root .cc-cat:first-child { background: #fff8ef; border-color: #f4d8b6; cursor: default; }
#cookie-consent-root .cc-cat input {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    justify-self: center;
    width: 2.9rem;
    height: 1.65rem;
    margin: 0;
    border: 0;
    border-radius: 99px;
    background: #c3cbd5;
    background-image: none;
    cursor: pointer;
    opacity: 1;
    transition: background-color .15s;
}
#cookie-consent-root .cc-cat input::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: calc(1.65rem - 6px);
    height: calc(1.65rem - 6px);
    border-radius: 50%;
    background: white;
    box-shadow: 0 1px 3px #33415533;
    transition: transform .15s;
}
#cookie-consent-root .cc-cat input:checked { background: #ef7f1a; }
#cookie-consent-root .cc-cat input:checked::after { transform: translateX(1.25rem); }
#cookie-consent-root .cc-cat input:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
#cookie-consent-root .cc-cat input:disabled { cursor: default; opacity: 1; }
#cookie-consent-root .cc-toggle-wrap { display: flex; align-items: center; flex-direction: column; gap: .35rem; }
#cookie-consent-root .cc-always-on { padding: .15rem .4rem; border-radius: 99px; background: #ffebcc; color: #99520e; font-size: .62rem; font-weight: 700; white-space: nowrap; }
#cookie-consent-root .cc-panel-actions {
    flex-shrink: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    padding: .9rem 1.1rem 1.1rem;
    border-top: 1px solid #edf0f4;
    background: #fff;
    box-shadow: 0 -5px 15px #0f172a05;
}
#cookie-consent-root .cc-btn-save { grid-column: 1 / -1; }
#cookie-consent-root .cc-btn-reject { border-color: #334155; }
#cookie-consent-root .cc-panel-actions .cc-btn { min-height: 2.9rem; padding-inline: .5rem; font-size: .78rem; }
@media (max-width: 639px) {
    #cookie-consent-root .cc-panel { width: calc(100vw - 1.25rem); max-height: calc(100dvh - 1.25rem); border-radius: 16px; }
    #cookie-consent-root .cc-panel-inner { max-height: calc(100dvh - 1.25rem); }
    #cookie-consent-root .cc-panel-content { padding: 1.1rem .9rem 0; }
    #cookie-consent-root .cc-panel-actions { padding: .7rem .9rem .9rem; }
    #cookie-consent-root .cc-cat { padding: .7rem; grid-template-columns: minmax(0, 1fr) 5.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    #cookie-consent-root .cc-cat input, #cookie-consent-root .cc-cat input::after { transition: none; }
}
