.cookie-notice[hidden] { display: none !important; }
.cookie-notice {
    position: fixed;
    z-index: 100000;
    bottom: 24px;
    left: 24px;
    width: 420px;
    max-width: calc(100% - 48px);
    padding: 22px;
    background: #fff;
    border: 1px solid #d9edef;
    border-top: 3px solid #29b4c5;
    border-radius: 18px;
    box-shadow: 0 8px 32px rgba(26, 83, 90, .16);
    color: #30494d;
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .3s ease, transform .3s ease;
    font-family: inherit;
    box-sizing: border-box;
}
.cookie-notice.is-visible { opacity: 1; transform: translateY(0); }
.cookie-notice__copy p { margin: 0 0 18px; font-size: 14px; line-height: 1.6; }
.cookie-notice__copy a { color: #207580; text-decoration: underline; text-decoration-color: #9cced3; text-underline-offset: 3px; }
.cookie-notice__copy a:hover { text-decoration-color: currentColor; }
.cookie-notice__actions { display: flex; align-items: center; gap: 16px; }
.cookie-notice button { font-family: inherit; cursor: pointer; transition: background .2s, box-shadow .2s; }
.cookie-notice__accept { flex: 1; min-height: 44px; border: 0; border-radius: 10px; padding: 12px 24px; background: #fb8a40; color: #fff; font-size: 14px; font-weight: 700; }
.cookie-notice__accept:hover { background: #ec7730; box-shadow: 0 3px 10px #fb8a4030; }
.cookie-notice__reject { flex: 0 0 auto; min-height: 44px; border: 0; background: transparent; padding: 12px 8px; color: #647b7e; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice__reject:hover { color: #207580; }
.cookie-notice button:focus-visible, .cookie-notice a:focus-visible { outline: 3px solid #29b4c5; outline-offset: 4px; }

/* A shared, self-contained consent row for both white and turquoise forms. */
.personal-data-consent { position: relative; clear: both; box-sizing: border-box; width: 100%; margin: 0 0 18px; text-align: left; }
.personal-data-consent .personal-data-consent__label {
    display: flex !important;
    align-items: flex-start;
    gap: 11px;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid rgba(32, 117, 128, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .72);
    color: #30494d;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5;
    cursor: pointer;
    transition: border-color .2s, background .2s;
}
.personal-data-consent .personal-data-consent__label:hover { background: rgba(255, 255, 255, .9); border-color: #72bdc5; }
.personal-data-consent input[type=checkbox] {
    display: block !important;
    position: static !important;
    opacity: 1 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 0 0 20px;
    box-sizing: border-box;
    width: 20px !important;
    height: 20px !important;
    min-width: 20px;
    margin: 0 !important;
    padding: 0 !important;
    border: 1.5px solid #83acb1 !important;
    border-radius: 5px !important;
    background: #fff;
    box-shadow: none;
    cursor: pointer;
    transition: background-color .15s, border-color .15s;
}
.personal-data-consent input[type=checkbox]:checked {
    border-color: #168b9b !important;
    background: #168b9b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
.personal-data-consent input[type=checkbox]::before, .personal-data-consent input[type=checkbox]::after { content: none !important; display: none !important; }
.personal-data-consent input:focus { outline: none; }
.personal-data-consent input:focus-visible { outline: 3px solid #fb8a40; outline-offset: 3px; }
.personal-data-consent input[aria-invalid=true] { border-color: #bd3e38 !important; }
.personal-data-consent__label > span { flex: 1; min-width: 0; }
.personal-data-consent a { color: #216c76; text-decoration: underline; text-decoration-color: #78b5bd; text-underline-offset: 2px; }
.personal-data-consent a:hover { text-decoration-color: currentColor; }
.personal-data-consent.has-consent-error .personal-data-consent__label { border-color: #bd3e38; }
.personal-data-consent .personal-data-consent__error { position: absolute; top: 100%; left: 0; margin-top: 2px; color: #a52d29; font-size: 12px; line-height: 16px; font-weight: 400; }
.form-item-btn-wrap.consent-actions { margin-top: 20px; }
.consent-actions > .label-form-wrap { display: none; }
.consent-actions > .personal-data-consent { margin-top: 0; }

@media (max-width: 700px) {
    .cookie-notice { bottom: 12px; left: 12px; width: calc(100% - 24px); max-width: 420px; padding: 18px; max-height: calc(100vh - 24px); overflow: auto; }
    .cookie-notice__actions { gap: 12px; }
    .personal-data-consent .personal-data-consent__label { padding: 12px; gap: 10px; font-size: 13px !important; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) { .cookie-notice, .cookie-notice button, .personal-data-consent label, .personal-data-consent input { transition: none; } }
@media (forced-colors: active) { .personal-data-consent input[type=checkbox] { appearance: auto !important; -webkit-appearance: auto !important; } }

.form-item.form-item-btn-wrap.consent-actions { padding-top: 0; }
#form_vychet > .personal-data-consent { width: 50%; }
@media (max-width: 700px) {
    #form_vychet > .personal-data-consent { width: 100%; }
    #popup-review-add.form-callback-wrap, #popup-footer-2.form-callback-wrap { padding: 40px 20px 24px; border-radius: 14px; }
    #popup-review-add .form-item-head-wrap { margin-bottom: 24px; }
    #popup-review-add .consent-actions { margin-bottom: 0; }
    #popup-review-add .consent-actions input[type=submit], #popup-footer-2 .consent-actions input[type=submit] { width: 100%; min-height: 44px; }
}
