/* v82 — единый legal consent для пользовательских форм */

.legal-consent{
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    gap:10px;
    align-items:start;
    margin:2px 0 4px;
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    background:rgba(255,255,255,.025);
    transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.legal-consent input[type="checkbox"]{
    width:18px!important;
    height:18px!important;
    min-height:18px!important;
    margin:1px 0 0!important;
    accent-color:var(--accent);
    cursor:pointer;
}
.legal-consent span{
    color:var(--text-dim);
    font-size:11.5px;
    line-height:1.55;
}
.legal-consent a{
    color:var(--text);
    text-decoration:underline;
    text-decoration-color:rgba(200,255,61,.38);
    text-underline-offset:3px;
}
.legal-consent a:hover{color:var(--accent);text-decoration-color:currentColor;}
.legal-consent:has(input:focus-visible){
    border-color:rgba(200,255,61,.42);
    box-shadow:0 0 0 3px rgba(200,255,61,.07);
}
.legal-consent.is-error{
    border-color:rgba(255,99,99,.58);
    background:rgba(255,74,74,.055);
    box-shadow:0 0 0 3px rgba(255,74,74,.05);
}
.legal-consent.is-compact{
    padding:10px 11px;
    border-radius:12px;
}
.legal-consent.is-compact span{font-size:11px;line-height:1.5;}

.booking-bar .legal-consent,
.modal .legal-consent,
.modal-card .legal-consent{
    margin-top:8px;
}

@media (max-width:640px){
    .legal-consent{padding:11px 12px;gap:9px;border-radius:13px;}
    .legal-consent span{font-size:11px;}
}
