.dm-page{
    --bg:#f5f6fb;
    --card:#ffffff;
    --ink:#191b28;
    --muted:#6b7180;
    --faint:#9aa0b0;
    --line:#e7e9f1;
    --line-strong:#d7dae6;
    --dark:#0e0f17;
    --dark-2:#171927;
    --dark-line:#262a3d;
    --magenta:#e8218a;
    --violet:#a52ee0;
    --blue:#4d63f2;
    --grad:linear-gradient(90deg,#4d63f2 0%,#8a37e6 55%,#c026c9 100%);
    --grad-soft:linear-gradient(90deg,rgba(77,99,242,.10),rgba(192,38,201,.10));
    --green:#12a150;
    --red:#e5484d;
    --amber:#f59e0b;
    --radius:14px;
    --shadow:0 1px 2px rgba(16,18,40,.04),0 10px 30px rgba(16,18,40,.06);
    --shadow-lg:0 20px 60px rgba(16,18,40,.14);
    --field-bg:#fcfcfe;
    --field-bg-focus:#ffffff;
    --chip-bg:#f2f3f9;
    --bar-bg:#fbfbfe;
    --ink-soft:#3a3e50;
    --warn-line:#f2d9c7;
  }
  .dm-page *{box-sizing:border-box}

  /* тема сайта глушит нативные контролы (input{-webkit-appearance:none} +
     input{border:none;background:transparent} в all_style_new.tpl), из-за чего
     чекбоксы и радио превращаются в пустые прямоугольники — возвращаем их вид */
  .dm-page input[type=checkbox],
  .dm-page input[type=radio]{
    -webkit-appearance:auto;
    appearance:auto;
    background-color:initial;
    border:initial;
    border-radius:initial;
    accent-color:var(--violet);
    width:16px;
    height:16px;
    margin:0;
    cursor:pointer;
  }

  .dm-page{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:inherit;
    line-height:1.5;-webkit-font-smoothing:antialiased;
  }
  .dm-page a{color:inherit}
  .dm-wrap{max-width:1120px;margin:0 auto;padding:0 22px}

  /* ---------- Page heading ---------- */
  .dm-page-head{padding:40px 0 6px}
  .dm-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--violet);background:var(--grad-soft);border:1px solid rgba(165,46,224,.3);padding:6px 12px;border-radius:100px}
  .dm-page h1.dm-title{font-size:30px;line-height:1.12;margin:0 0 10px;font-weight:800;letter-spacing:-.02em;max-width:18ch}
  .dm-page h1.dm-title b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .dm-page-head p.dm-lede{color:var(--muted);max-width:64ch;font-size:14.5px;margin:0}
  @media(max-width:640px){h1.dm-title{font-size:25px}.dm-page-head{padding-top:28px}}

  /* ---------- Layout ---------- */
  .dm-grid{display:grid;grid-template-columns:1fr 320px;gap:26px;margin-top:24px;position:relative;z-index:5;padding-bottom:50px}
  @media(max-width:960px){.dm-grid{grid-template-columns:1fr}}

  /* ---------- Form card ---------- */
  .dm-formcard{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
  .dm-formcard .dm-pad{padding:30px 32px}
  @media(max-width:560px){.dm-formcard .dm-pad{padding:22px 18px}}

  .dm-section{border-top:1px solid var(--line);padding-top:26px;margin-top:26px}
  .dm-section:first-of-type{border-top:none;padding-top:0;margin-top:0}
  .dm-sec-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
  .dm-sec-num{flex:none;width:30px;height:30px;border-radius:9px;background:var(--grad-soft);border:1px solid var(--line-strong);color:var(--violet);font-weight:800;font-size:14px;display:grid;place-items:center;margin-top:1px}
  .dm-sec-head h2{font-size:16.5px;margin:0 0 3px;font-weight:700;letter-spacing:-.01em}
  .dm-sec-head p{margin:0;font-size:13px;color:var(--muted)}

  /* отступ держит место под абсолютно позиционированный текст ошибки */
  .dm-field{margin-bottom:22px;position:relative}
  .dm-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:560px){.dm-row2{grid-template-columns:1fr}}
  .dm-page label.dm-lab{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink-soft)}
  .dm-page label.dm-lab .dm-req{color:var(--magenta);margin-left:2px}
  .dm-hint{font-size:11.5px;color:var(--faint);margin-top:5px;line-height:1.45}
  .dm-page input[type=text], .dm-page input[type=email], .dm-page input[type=tel], .dm-page input[type=url], .dm-page input[type=date], .dm-page select, .dm-page textarea{
    width:100%;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;font:inherit;font-size:14px;color:var(--ink);background:var(--field-bg);transition:border-color .15s,box-shadow .15s}
  .dm-page textarea{resize:vertical;min-height:88px}
  .dm-page input:focus, .dm-page select:focus, .dm-page textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(165,46,224,.15);background:var(--field-bg-focus)}
  .dm-page input[type=date]{color:var(--ink);min-height:43px}
  .dm-page input[type=date]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
  .dm-page input.dm-err, .dm-page select.dm-err, .dm-page textarea.dm-err, .dm-upload.dm-err{border-color:var(--red);box-shadow:0 0 0 3px rgba(229,72,77,.13)}

  /* radio cards */
  .dm-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media(max-width:560px){.dm-choice{grid-template-columns:1fr}}
  .dm-choice label{position:relative;border:1.5px solid var(--line-strong);border-radius:12px;padding:14px 15px 14px 44px;cursor:pointer;transition:.15s;background:var(--field-bg)}
  .dm-choice label:hover{border-color:#c3b0e8}
  .dm-choice input{position:absolute;left:14px;top:16px;accent-color:var(--violet);width:16px;height:16px}
  .dm-choice .dm-t{font-weight:600;font-size:13.5px;display:block}
  .dm-choice .dm-d{font-size:11.5px;color:var(--muted);margin-top:2px}
  .dm-choice input:checked + .dm-t{color:var(--violet)}
  .dm-choice label:has(input:checked){border-color:var(--violet);background:var(--grad-soft)}

  /* uploads */
  .dm-upload{border:1.5px dashed var(--line-strong);border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:.15s;background:var(--field-bg);display:block}
  .dm-upload:hover{border-color:var(--violet);background:var(--grad-soft)}
  .dm-upload svg{width:22px;height:22px;color:var(--violet);margin-bottom:6px}
  .dm-upload .dm-u-t{font-size:13px;font-weight:600}
  .dm-upload .dm-u-s{font-size:11px;color:var(--faint);margin-top:2px}
  .dm-upload input{display:none}
  .dm-file-chip{display:none;align-items:center;gap:10px;margin-top:10px;background:var(--chip-bg);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
  .dm-file-chip.dm-show{display:flex}
  .dm-file-chip .dm-fi{width:30px;height:30px;border-radius:7px;background:var(--grad);display:grid;place-items:center;flex:none}
  .dm-file-chip .dm-fi svg{width:15px;height:15px;color:#fff}
  .dm-file-chip .dm-fn{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dm-file-chip .dm-fs{font-size:11px;color:var(--faint)}
  .dm-file-chip .dm-rm{margin-left:auto;background:none;border:none;color:var(--faint);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:6px}
  .dm-file-chip .dm-rm:hover{background:#e4e6ef;color:var(--red)}

  /* url repeater */
  .dm-url-row{display:flex;gap:8px;margin-bottom:9px;align-items:center}
  .dm-url-row .dm-idx{flex:none;width:22px;text-align:right;font-size:12px;color:var(--faint);font-weight:600}
  .dm-url-row .dm-rm-url{flex:none;background:var(--chip-bg);border:1px solid var(--line);color:var(--faint);width:36px;height:40px;border-radius:9px;cursor:pointer;font-size:16px}
  .dm-url-row .dm-rm-url:hover{color:var(--red);border-color:#f0c9cb}
  .dm-add-url{margin-top:4px;background:none;border:1px dashed var(--line-strong);color:var(--violet);font-weight:600;font-size:12.5px;padding:9px 14px;border-radius:9px;cursor:pointer}
  .dm-add-url:hover{background:var(--grad-soft);border-color:var(--violet)}

  /* legal checkboxes */
  .dm-decl{position:relative;display:flex;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;margin-bottom:24px;background:var(--field-bg);align-items:flex-start}
  .dm-decl input{margin-top:2px;accent-color:var(--violet);width:16px;height:16px;flex:none}
  .dm-decl .dm-dt{font-size:12.5px;color:var(--ink-soft);line-height:1.5}
  .dm-decl.dm-err{border-color:var(--red);background:rgba(229,72,77,.04)}

  .dm-note{display:flex;gap:11px;background:var(--grad-soft);border:1px solid rgba(165,46,224,.22);border-radius:12px;padding:13px 15px;font-size:12.5px;color:#4a3a63;margin-bottom:4px}
  .dm-note svg{width:17px;height:17px;color:var(--violet);flex:none;margin-top:1px}

  .dm-submit-bar{border-top:1px solid var(--line);padding:22px 32px;background:var(--bar-bg);display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}
  @media(max-width:560px){.dm-submit-bar{padding:18px}}
  .dm-submit-bar .dm-meta{font-size:11.5px;color:var(--faint);max-width:46ch}
  .dm-btn-submit{background:var(--grad);color:#fff;border:none;padding:13px 30px;border-radius:11px;font-weight:700;font-size:14.5px;cursor:pointer;box-shadow:0 10px 26px rgba(120,50,220,.35);transition:transform .12s,filter .15s}
  .dm-btn-submit:hover{filter:brightness(1.06)}
  .dm-btn-submit:active{transform:translateY(1px)}

  /* sidebar */
  .dm-side{display:flex;flex-direction:column;gap:18px}
  .dm-panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}
  .dm-panel h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin:0 0 14px;font-weight:700}
  .dm-check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
  .dm-check-list li{display:flex;gap:10px;font-size:13px;color:var(--ink-soft);align-items:flex-start}
  .dm-check-list li .dm-ico{flex:none;width:20px;height:20px;border-radius:6px;background:var(--grad-soft);display:grid;place-items:center;margin-top:1px}
  .dm-check-list li .dm-ico svg{width:12px;height:12px;color:var(--violet)}
  .dm-steps{list-style:none;margin:0;padding:0;counter-reset:s}
  .dm-steps li{position:relative;padding:0 0 16px 30px;font-size:12.5px;color:var(--muted)}
  .dm-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--grad);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}
  .dm-steps li::after{content:"";position:absolute;left:9.5px;top:22px;bottom:2px;width:1.5px;background:var(--line)}
  .dm-steps li:last-child{padding-bottom:0}
  .dm-steps li:last-child::after{display:none}
  .dm-steps li b{color:var(--ink);display:block;font-size:12.5px;margin-bottom:1px}
  .dm-panel.dm-warn{background:var(--card);border-color:var(--warn-line)}
  .dm-panel.dm-warn h3{color:var(--amber)}
  .dm-panel.dm-warn p{font-size:12.5px;color:var(--muted);margin:0}

  /* success */
  .dm-success{display:none;text-align:center;padding:56px 34px}
  .dm-success.dm-show{display:block}
  .dm-success .dm-badge{width:66px;height:66px;border-radius:50%;background:linear-gradient(135deg,#12a150,#1fce6d);display:grid;place-items:center;margin:0 auto 20px;box-shadow:0 12px 30px rgba(18,161,80,.35)}
  .dm-success .dm-badge svg{width:32px;height:32px;color:#fff}
  .dm-success h2{font-size:23px;margin:0 0 8px;letter-spacing:-.01em}
  .dm-success p{color:var(--muted);max-width:48ch;margin:0 auto 22px;font-size:14px}
  .dm-ref{display:inline-flex;flex-direction:column;gap:2px;background:var(--grad-soft);border:1px solid rgba(165,46,224,.25);border-radius:12px;padding:14px 26px;margin-bottom:26px}
  .dm-ref .dm-rl{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--faint);font-weight:700}
  .dm-ref .dm-rv{font-size:20px;font-weight:800;letter-spacing:.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .dm-success .dm-after{text-align:left;max-width:430px;margin:0 auto;background:var(--bar-bg);border:1px solid var(--line);border-radius:12px;padding:18px}
  .dm-success .dm-after h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}

  .dm-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}


  /* тёмная тема сайта: переопределяем только палитру, структура общая */
  html.dark .dm-page{
    --bg:transparent;
    --card:#171927;
    --ink:#e9ebf5;
    --muted:#9aa1b8;
    --faint:#7b8298;
    --line:#262a3d;
    --line-strong:#333852;
    --shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.35);
    --shadow-lg:0 20px 60px rgba(0,0,0,.5);
    --field-bg:#12141d;
    --field-bg-focus:#171a25;
    --chip-bg:#1e2130;
    --bar-bg:#13161f;
    --ink-soft:#c2c8dd;
    --warn-line:#4a3a25;
  }

  /* добавлено при переносе макета в KVS */
  .dm-page .dm-captcha{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--field-bg);border:1px solid var(--line);border-radius:12px;padding:14px}
  /* глобальное img{width:100%} растягивает картинку — держим родной размер капчи 165x68 */
  .dm-page .dm-captcha img{flex:none;width:165px;height:68px;border-radius:9px;border:1px solid var(--line-strong);cursor:pointer}
  .dm-page .dm-captcha-side{display:flex;flex-direction:column;gap:9px}
  .dm-page .dm-captcha input{flex:none;width:190px}
  .dm-page .dm-captcha-reload{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--violet);cursor:pointer}
  .dm-page .dm-captcha-reload svg{width:14px;height:14px}
  .dm-page .dm-captcha-reload:hover{opacity:.75}
  @media(max-width:560px){.dm-page .dm-captcha input{width:100%}.dm-page .dm-captcha-side{flex:1 1 100%}}
  .dm-page .dm-btn-submit[disabled]{opacity:.6;cursor:default}

  /* --- вывод ошибок штатным utilitiesAjaxForm --- */
  /* ядро пишет текст в .field-error и вешает класс error на само поле */
  .dm-page .field-error{display:none;position:absolute;top:100%;left:0;margin-top:3px;font-size:11.5px;line-height:1.3;color:var(--red)}
  /* внутри флексового чекбокса и внутри дропзоны ошибка не должна занимать место в потоке */
  .dm-page .dm-decl .field-error{display:none;position:absolute;top:100%;left:0;margin-top:3px;width:auto}
  /* дропзона не флексовая — там ошибка спокойно живёт в потоке, под подписью */
  .dm-page .dm-upload .field-error{display:none;position:static;width:100%;margin-top:8px}
  /* блок целиком краснеет — понятнее, чем подсветка самого чекбокса */
  .dm-page .dm-decl:has(input.error){border-color:var(--red);background:rgba(229,72,77,.05)}
  .dm-page input:not([type=checkbox]):not([type=radio]).error, .dm-page select.error, .dm-page textarea.error{
    border-color:var(--red);box-shadow:0 0 0 3px rgba(229,72,77,.13)
  }

  /* ядро вставляет экран успеха внутрь тега формы, а она уже лежит в .dm-formcard —
     тянем форму на всю высоту карточки и центрируем содержимое по вертикали */
  .dm-formcard #dmcaForm{height:100%}
  /* .dm-page красит фон в серый — внутри белой карточки формы это лишнее */
  .dm-page--done{height:100%;display:flex;align-items:center;justify-content:center;background:var(--card)}
  .dm-page--done .dm-wrap{max-width:640px;margin:auto;padding:24px 22px}
  /* своя карточка не нужна: фон и рамку уже даёт .dm-formcard */
  .dm-page--done .dm-success{background:none;border:0;box-shadow:none;padding:0}
  .dm-page .generic-error{
    display:none;margin:0 0 18px;padding:12px 14px;border-radius:10px;
    background:rgba(229,72,77,.1);border:1px solid rgba(229,72,77,.35);
    color:var(--red);font-size:13.5px
  }


  /* на этой странице шапка примыкает к форме вплотную */
  .page-dmca-request .header{margin-bottom:0}
  .page-dmca-request .main{margin-bottom:0}
