/* ========== Чекбокс согласия ========== */
.ccn-consent-field {
    margin: 14px 0;
    padding: 12px 14px;
    background: rgba(20, 184, 166, 0.06);
    border: 1px solid rgba(20, 184, 166, 0.22);
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
}
.ccn-consent-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    color: #1e293b;
}
[data-theme="dark"] .ccn-consent-label,
body.dark-theme .ccn-consent-label {
    color: #e2e8f0;
}
.ccn-consent-label input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px; height: 18px;
    margin-top: 2px;
    accent-color: #14b8a6;
    cursor: pointer;
}
.ccn-consent-text a {
    color: #14b8a6;
    text-decoration: underline;
}
.ccn-consent-text a:hover { opacity: .8; }

.ccn-consent-error {
    color: #dc2626;
    font-size: 12px;
    margin-top: 6px;
    font-weight: 500;
}
.ccn-consent-field.is-error {
    border-color: #dc2626;
    background: rgba(220, 38, 38, 0.05);
}

/* Если вставлено внутрь WooCommerce формы — не ломаем сетку */
.woocommerce form .ccn-consent-field,
.woocommerce-page form .ccn-consent-field {
    margin: 16px 0;
}

/* При попытке отправить форму с невыставленным чекбоксом — лёгкий shake */
@keyframes ccnShake {
    0%,100% { transform: translateX(0); }
    25%     { transform: translateX(-6px); }
    75%     { transform: translateX(6px); }
}
.ccn-consent-field.is-error {
    animation: ccnShake .3s ease;
}
