/* MG SaaS legal pages and voluntary consent, Russian-only visible copy.
   Isolated components; shared brand colors inherited from Experience V3. */
.legal-hero{padding-block:90px 94px}
.legal-hero h1{font-size:clamp(41px,6.3vw,82px)}
.legal-section{background:#eff3fc;color:#192847;min-height:500px}
.legal-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.legal-side{position:sticky;top:120px;display:flex;flex-direction:column;gap:5px;padding:22px 16px;border:1px solid #cdd8ef;border-radius:17px;background:linear-gradient(150deg,#fff,#eaf0ff);box-shadow:0 17px 36px #36518f19}
.legal-side strong{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#6178a1;margin:4px 9px 10px}
.legal-side a,.legal-side button{border:0;padding:12px 10px;color:#4d6084;text-align:left;font-size:12px;line-height:1.4;background:transparent;border-radius:9px;cursor:pointer}
.legal-side a:hover,.legal-side a[aria-current=page],.legal-side button:hover{background:#dce7ff;color:#1a356b}
.legal-article{background:linear-gradient(150deg,#fff,#f8faff 68%,#ecf2ff);border-radius:24px;border:1px solid #cbd7ee;padding:clamp(24px,4vw,65px);box-shadow:0 22px 52px #33518e19}
.legal-article h2{font-size:clamp(21px,2.1vw,30px);line-height:1.27;letter-spacing:-.05em;font-weight:740;margin:30px 0 13px}
.legal-article h2:first-child{margin-top:0}
.legal-article p{font-size:14px;line-height:1.85;color:#526581;margin:0 0 16px}
.legal-article a{color:#375ec8;text-decoration:underline;text-decoration-color:#98b2ed;text-underline-offset:4px}
.legal-article strong{color:#213a71}
.legal-article code{background:#e1e8fc;color:#1b396d;border-radius:5px;padding:2px 6px;overflow-wrap:anywhere}
.legal-notice{background:#eaf0fd;border:1px solid #b8c9f1;border-left:4px solid #6487dc;padding:18px 21px;border-radius:10px;font-size:13px;line-height:1.75;color:#405678;margin:0 0 30px}
.legal-table{border:1px solid #c6d3ec;border-radius:12px;overflow:hidden;margin:15px 0 28px}
.legal-table>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:17px 20px;border-bottom:1px solid #c6d3ec;font-size:13px;line-height:1.7}
.legal-table>div:last-child{border:0}
.legal-table strong{font-size:13px}
.legal-table span{color:#526581}
.legal-inline-button{background:#e2ecfe;border:1px solid #91aae2;color:#2c5092;border-radius:7px;cursor:pointer;padding:3px 7px;font-size:13px}
.footer-legal{display:flex;align-items:center;gap:11px 24px;flex-wrap:wrap;margin-top:36px;padding:20px 0;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25}
.footer-legal strong{font-size:11px;color:#c7d5f7;letter-spacing:.15em;text-transform:uppercase;margin-right:6px}
.footer-legal a,.footer-legal button{border:0;color:#a8b8dc;background:transparent;text-align:left;cursor:pointer;font-size:12px;padding:6px 0;line-height:1.4}
.footer-legal a:hover,.footer-legal button:hover{color:#d8eeff;text-decoration:underline}
.footer-legal button{font-weight:760;color:#b9e5ff}
.footer-legal-hint{font-size:11px;color:#7e8fb4;margin-top:13px;line-height:1.5}
/* Consent banner: fixed on top of site content; no deceptive full-page lock. */
.consent-banner{position:fixed;z-index:10000;right:clamp(12px,3vw,34px);bottom:clamp(12px,2.3vw,28px);width:min(600px,calc(100vw - 24px));max-height:calc(100vh - 26px);overflow:auto;border-radius:20px;background:linear-gradient(150deg,#fafdff,#edf3ff);border:1px solid #c9d8f8;box-shadow:0 18px 65px #06132d99,0 7px 0 -2px #8fa6e7a6;color:#192746;padding:clamp(17px,2.3vw,27px)}
.consent-banner[hidden],.consent-settings[hidden]{display:none!important}
.consent-head{display:flex;align-items:flex-start;gap:14px}
.consent-icon{width:45px;height:45px;flex:none;border:1px solid #9fb9ef;border-radius:14px;display:grid;place-items:center;color:#1f5ca0;background:linear-gradient(135deg,#c0dcff,#fff);box-shadow:4px 5px 0 -2px #94abd9}
.consent-icon span{font-weight:850;font-size:25px}
.consent-head strong{font-size:18px;line-height:1.2;font-weight:820;letter-spacing:-.045em;color:#172957}
.consent-head p{font-size:12px;color:#59708f;line-height:1.7;margin:7px 0 0}
.consent-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin-top:18px}
.consent-btn{border:1px solid #a6b7dc;background:#fff;border-radius:10px;padding:12px 15px;min-height:45px;flex:1;font-size:12px;font-weight:780;color:#2d4371;cursor:pointer;transition:background .2s,border .2s,transform .2s}
.consent-btn:hover{transform:translateY(-2px);border-color:#6e8fe2}
.consent-reject{background:#f9fbff;color:#283c63}
.consent-preferences{background:#dce8ff;color:#243f79}
.consent-accept{background:linear-gradient(115deg,#5d7de6,#9680eb);color:#fff;border-color:#7d8de7}
.consent-links{display:flex;flex-wrap:wrap;gap:9px 20px;margin-top:16px;padding-top:12px;border-top:1px solid #c7d6eb}
.consent-links a{font-size:11px;color:#3e62a5;text-decoration:underline;text-underline-offset:3px}
.consent-settings{margin-top:17px;padding-top:13px;border-top:1px solid #bcd0ee}
.consent-settings>.consent-details{font-size:11px;line-height:1.7;color:#556a89;margin:0 0 14px}
.consent-category{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #c9d6ee;border-radius:11px;padding:13px 14px;background:#fff;margin:8px 0;cursor:pointer}
.consent-category b{display:block;font-size:12px;color:#253c6e}
.consent-category small{display:block;color:#6980a0;font-size:10px;line-height:1.5;margin-top:4px}
.consent-category input{accent-color:#537dd8;width:21px;height:21px;flex:none;cursor:pointer}
.consent-category input:disabled{cursor:not-allowed}
.consent-settings-actions .consent-btn{min-width:150px}
@media(max-width:760px){.legal-shell{grid-template-columns:1fr}.legal-side{position:static}.legal-article{padding:25px 20px}.legal-table>div{grid-template-columns:1fr;gap:6px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}.consent-actions .consent-btn:first-child{grid-column:1/-1}.consent-settings-actions .consent-btn{min-width:0}.consent-banner{padding:16px}.consent-head strong{font-size:16px}.footer-legal{gap:9px 17px}}
@media(max-width:380px){.consent-btn{padding:10px 8px}.consent-head{gap:10px}.consent-icon{width:37px;height:37px}.footer-legal a,.footer-legal button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.consent-btn,.consent-banner{transition:none!important;animation:none!important}.consent-btn:hover{transform:none}}
