/* Legal UI follows the site's readable scale and light brand surfaces. */
.form-legal-notice{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:20px;padding:14px 16px;background:#edf3f3;border-radius:8px}
.form-legal-notice p+p{margin-top:8px}
.form-legal-notice a,.consent-field a,.privacy-dialog-content p a{color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
.consent-field{margin-bottom:20px}
.consent-field>label{font-size:14px;line-height:1.75;gap:12px}
.consent-field input{width:20px;height:20px;flex-shrink:0}
.required-mark{color:var(--brand-ink)}
.submit-requirements{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 14px}
.form-submit:disabled{opacity:1;background:#dce6e6;border-color:#b7cccc;color:#415d64;cursor:not-allowed;transform:none}
.footer-legal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;border-top:1px solid var(--line);padding-block:34px 36px}
.legal-demo-label{display:inline-block;font-size:14px;line-height:1.5;color:#82523b;background:var(--peach-soft);border-radius:4px;padding:5px 9px;margin-bottom:14px}
.operator-details h3,.legal-links h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin-bottom:14px}
.operator-details p{font-size:14px;line-height:1.75;color:var(--muted);margin-top:8px}
.operator-details{min-width:0;overflow-wrap:anywhere}
.operator-details .requisites{margin-block:18px}
.requisites summary{cursor:pointer;min-height:44px;padding-block:10px;font-size:14px;line-height:1.7;text-decoration:underline;text-underline-offset:3px}
.requisites summary:focus-visible{outline:2px solid var(--brand-ink);outline-offset:4px;border-radius:2px}
.requisites p{margin-top:10px}
.operator-details>a{display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.operator-details>a .icon{width:19px;height:19px;color:var(--brand-ink)}
.operator-details .legal-contact-note,.legal-contact-note{font-size:14px;line-height:1.65;color:var(--muted)}
.legal-links{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.legal-links>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding-block:8px;font-size:14px;line-height:1.6}
.legal-links>a:hover{color:var(--brand-ink)}
.legal-links .text-link{font-size:14px;min-height:44px;justify-content:space-between;text-align:left}
.pdf-tag{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:14px;line-height:1.5;color:var(--brand-ink);flex-shrink:0}
.pdf-tag .icon{width:15px;height:15px}
.legal-links h3{margin-bottom:5px}
.site-footer{padding-bottom:110px}
.legal-page{padding-top:38px}
.legal-page h1{font-size:clamp(38px,4.8vw,76px);line-height:1.14;letter-spacing:-.045em;max-width:1000px;margin-top:22px}
.legal-template-notice{padding:18px 22px;background:#fbf0e8;border:1px solid #e9d3c4;border-radius:8px;font-size:16px;line-height:1.7;color:#6e4d3c;margin-block:30px;max-width:1000px}
.legal-download{margin-bottom:42px}
.legal-document-copy{display:grid;gap:36px;max-width:74ch}
.legal-document-copy h2{font-size:29px;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px;text-wrap:pretty}
.legal-document-copy p{font-size:18px;line-height:1.8;color:var(--muted);margin-top:14px;overflow-wrap:anywhere}
.legal-documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:40px}
.legal-document-card{display:flex;flex-direction:column;padding:30px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.legal-document-card h2{font-size:27px;line-height:1.3;letter-spacing:-.025em;margin-top:18px;min-block-size:2.6em}
.legal-document-card p{font-size:16px;line-height:1.75;color:var(--muted);margin-top:16px;margin-bottom:20px;flex:1}
.legal-document-card>div{display:flex;gap:16px;flex-wrap:wrap}
.legal-document-card .text-link{font-size:16px;gap:10px}
.legal-operator-panel{margin-top:48px;padding:30px;background:var(--soft);border-radius:12px;max-width:900px}
.legal-operator-panel h2{font-size:30px;line-height:1.25}
.legal-operator-panel p{font-size:16px;line-height:1.75;margin-top:16px;color:var(--muted)}
.legal-operator-panel dl{margin:24px 0;font-size:16px;line-height:1.7}
.legal-operator-panel dl>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}
.legal-operator-panel dt{color:var(--muted)}
.legal-operator-panel dd{margin:0;overflow-wrap:anywhere}
.legal-operator-panel .text-link{margin-top:12px}

/* No analytics is enabled by visiting, dismissing a dialog or using a form. */
.cookie-banner{position:fixed;z-index:40;left:24px;bottom:24px;width:min(660px,calc(100% - 48px));padding:24px;background:#fff;border:1px solid #b4ccce;border-radius:16px;box-shadow:0 10px 60px #18343b20}
.cookie-banner h2{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin-bottom:10px}
.cookie-banner p{font-size:16px;line-height:1.6;color:var(--muted)}
.cookie-document-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}
.cookie-document-links a{font-size:14px;line-height:1.6;min-height:24px;color:var(--brand-ink);text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:18px}
.cookie-actions .button{min-height:48px;padding:12px 18px;gap:18px}
.cookie-actions .text-link{gap:10px}
.cookie-dialog,.quick-contact-dialog{position:fixed;inset:0;margin:auto;padding:0;width:min(680px,calc(100% - 48px));max-width:680px;max-height:min(calc(100dvh - 40px),calc(var(--visual-viewport-height,100dvh) - 40px));border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #0003}
.quick-contact-dialog{width:min(560px,calc(100% - 48px));max-width:560px}
.privacy-dialog-content{padding:28px 30px 32px}
.privacy-dialog-content h2{font-size:34px;line-height:1.2;letter-spacing:-.03em;margin-bottom:18px}
.privacy-dialog-content>p{font-size:16px;line-height:1.75;color:var(--muted);margin-bottom:18px}
.cookie-category{padding:20px;margin-block:18px;border:1px solid var(--line);border-radius:10px;background:#fff}
.cookie-category label{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.7}
.cookie-category input{width:20px;height:20px;flex-shrink:0;margin:3px 0 0;opacity:1}
.cookie-category label>span{display:grid;gap:8px}
.cookie-category b,.cookie-category h3{font-size:18px;line-height:1.4;font-weight:500;letter-spacing:-.015em}
.cookie-category label>span>span,.cookie-category p{font-size:14px;line-height:1.7;color:var(--muted)}
.cookie-category p{margin-top:8px}
.cookie-settings-actions{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:26px}
.cookie-settings-actions .button{min-height:50px;font-size:16px;gap:16px}
body.has-dialog .cookie-banner,body.has-dialog .contact-dock{visibility:hidden;pointer-events:none}

/* Контакты компании и демонстрационные кнопки ненастроенных мессенджеров. */
.contact-direct{margin-top:30px}
.contact-email{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:18px;line-height:1.5;overflow-wrap:anywhere;max-width:100%}
.contact-email .icon{width:22px;height:22px;flex-shrink:0}
.contact-direct p{font-size:14px;line-height:1.6;color:#b5cdd1;margin-top:6px}
.privacy-dialog-content .contact-email{color:var(--brand-ink);margin-block:8px 12px;font-size:16px}
.privacy-dialog-content .button{margin-top:12px}
.privacy-dialog-content .quick-contact-value{font-size:22px;font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.contact-dock{position:fixed;z-index:25;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;padding:8px;background:#f7faf9f5;border:1px solid #b9cfd1;border-radius:40px;box-shadow:0 6px 30px #18343b14}
.contact-dock-label{font-size:14px;line-height:1.4;color:var(--muted);padding-left:10px;padding-right:2px}
.quick-channel{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border-radius:50%;padding:0;background:#e3eef0;color:var(--brand-ink);transition:background .2s}
.quick-channel .icon{width:23px;height:23px}
.quick-whatsapp{background:#e5f1e6;color:#236343}
.quick-telegram{background:#e6eff7;color:#245c89}
.quick-phone{width:auto;border-radius:30px;gap:10px;padding-inline:14px}
.quick-phone-number{font-size:14px;line-height:1.5;white-space:nowrap}
body:has(.cookie-banner:not([hidden])) .contact-dock{display:none}
body:has(.inquiry-form:focus-within) .contact-dock{display:none}
@media(hover:hover) and (pointer:fine){
  .quick-channel:hover{background:#cddfe1}
  .quick-whatsapp:hover{background:#cfe6d1}
  .quick-telegram:hover{background:#d0e1f0}
}
@media(max-width:960px){
  .footer-legal{gap:32px}
  .legal-document-copy p{font-size:16px}
  .legal-documents-grid{grid-template-columns:minmax(0,1fr)}
  .legal-document-card h2{min-block-size:0}
}
@media(max-width:700px){
  .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .footer-legal{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:28px}
  .operator-details h3,.legal-links h3{font-size:22px}
  .operator-details>a{font-size:16px}
  .operator-details .footer-phone{width:44px;border:1px solid var(--line);border-radius:50%;justify-content:center}
  .footer-phone>span{display:none}
  .legal-page h1{font-size:38px;line-height:1.16;margin-top:18px}
  .legal-template-notice{font-size:14px;line-height:1.75;padding:16px;margin-block:24px}
  .legal-document-copy{gap:28px}
  .legal-document-copy h2{font-size:25px;line-height:1.3}
  .legal-document-copy p{font-size:16px;line-height:1.8}
  .legal-documents-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px}
  .legal-document-card{padding:24px}
  .legal-document-card h2{font-size:25px}
  .legal-document-card>div{gap:10px 20px}
  .legal-operator-panel{padding:22px;margin-top:32px}
  .legal-operator-panel h2{font-size:27px}
  .legal-operator-panel dl>div{grid-template-columns:minmax(0,1fr);gap:3px}
  .cookie-banner{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:calc(100% - 24px);padding:20px;border-radius:12px;max-height:calc(var(--visual-viewport-height,100dvh) - 24px);overflow-y:auto}
  .cookie-banner h2{font-size:21px}
  .cookie-banner p{font-size:14px}
  .cookie-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
  .cookie-actions .button{font-size:14px;gap:10px;padding-inline:14px;text-align:left}
  .cookie-actions .text-link{font-size:14px;gap:6px}
  .cookie-actions .text-link .icon{width:16px;height:16px}
  .cookie-document-links{gap:6px 14px}
  .cookie-dialog,.quick-contact-dialog{width:calc(100% - 24px);max-width:100%;max-height:min(calc(100dvh - 24px),calc(var(--visual-viewport-height,100dvh) - 24px));border-radius:12px}
  .cookie-dialog .dialog-top,.quick-contact-dialog .dialog-top{padding:12px 18px}
  .privacy-dialog-content{padding:24px 20px calc(26px + env(safe-area-inset-bottom,0px))}
  .privacy-dialog-content h2{font-size:29px}
  .cookie-category{padding:16px}
  .cookie-settings-actions{align-items:stretch;flex-direction:column;gap:8px}
  .contact-dock{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));gap:7px;padding:7px}
  .quick-phone{width:44px;padding:0}
  .quick-phone-number{display:none}
  .contact-email{font-size:17px;gap:9px}
}
@media(prefers-reduced-motion:reduce){
  .quick-channel{transition:none}
}
