.cw-consent, .cw-consent__reopen {
    box-sizing: border-box;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.45;
    color: #153e27;
}
.cw-consent *, .cw-consent *::before, .cw-consent *::after { box-sizing: border-box; }
.cw-consent[hidden], .cw-consent [hidden], .cw-consent__reopen[hidden] { display: none !important; }
.cw-consent {
    position: fixed;
    z-index: 99990;
    left: max(12px, env(safe-area-inset-left));
    bottom: max(12px, env(safe-area-inset-bottom));
    width: min(620px, calc(100% - 24px));
    max-height: calc(80vh - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 18px;
    border: 2px solid #27633e;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 22px rgb(0 0 0 / 18%);
    text-align: left;
}
.cw-consent .cw-consent__title {
    margin: 0 0 7px;
    padding: 0;
    color: #153e27;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.25;
}
.cw-consent .cw-consent__intro { margin: 0 0 6px; padding: 0; }
.cw-consent__privacy { display: inline-block; color: #215a35; text-decoration: underline; margin-bottom: 10px; }
.cw-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cw-consent .cw-consent__button, .cw-consent__reopen {
    appearance: none;
    cursor: pointer;
    min-height: 44px;
    padding: 10px 12px;
    border: 2px solid #27633e;
    border-radius: 6px;
    background: #fff;
    color: #153e27;
    font: inherit;
    font-weight: 600;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: normal;
}
.cw-consent .cw-consent__button { flex: 1 1 145px; }
.cw-consent .cw-consent__button:hover, .cw-consent__reopen:hover { background: #edf5ee; }
.cw-consent button:focus-visible, .cw-consent a:focus-visible, .cw-consent input:focus-visible,
.cw-consent__reopen:focus-visible { outline: 3px solid #153e27; outline-offset: 3px; }
.cw-consent__settings { margin: 2px 0 12px; padding: 10px 0 0; border-top: 1px solid #d5e1d8; }
.cw-consent .cw-consent__essential { margin: 0 0 8px; padding: 0; font-weight: 600; }
.cw-consent__option { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; cursor: pointer; min-height: 44px; }
.cw-consent__option input[type="checkbox"] {
    appearance: auto;
    position: static;
    opacity: 1;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    accent-color: #27633e;
}
.cw-consent__option strong { display: block; font-weight: 700; }
.cw-consent__detail { display: block; font-size: 13px; color: #365240; }
.cw-consent .cw-consent__status { margin: 10px 0 0; padding: 0; font-weight: 600; }
.cw-consent__reopen {
    position: fixed;
    z-index: 99989;
    left: max(10px, env(safe-area-inset-left));
    bottom: max(8px, env(safe-area-inset-bottom));
    box-shadow: 0 2px 8px rgb(0 0 0 / 12%);
    font-size: 12px;
}
@media (max-width: 480px) {
    .cw-consent { padding: 12px; font-size: 13px; }
    .cw-consent .cw-consent__title { font-size: 17px; }
    .cw-consent__actions { gap: 6px; }
    .cw-consent .cw-consent__button { flex-basis: calc(50% - 6px); font-size: 13px; padding: 8px; }
    .cw-consent .cw-consent__button:last-child:not([hidden]) { flex-grow: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .cw-consent *, .cw-consent__reopen { transition: none; animation: none; }
}
