/* Диполия — компонентные стили. Только переменные из tokens.css. Префикс dp- */
.dp{font-family:var(--font-sans);color:var(--ink);background:var(--bg-000);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased}
.dp *,.dp *::before,.dp *::after{box-sizing:border-box}
.dp a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.dp :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.dp-mono{font-family:var(--font-mono)}
.dp-label{font-family:var(--font-mono);font-size:12px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.dp-label b{color:var(--accent-text);font-weight:500}
.dp-muted{color:var(--ink-muted)}
.dp-grid-bg{background-color:var(--bg-000);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px}

/* Кнопки */
.dp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--radius-md);font:500 16px/20px var(--font-sans);border:1px solid transparent;cursor:pointer;text-decoration:none!important;white-space:nowrap;transition:background .15s,border-color .15s}
.dp-btn--primary{background:var(--accent);color:var(--on-accent)!important}
.dp-btn--primary:hover,.dp-btn--primary.is-hover{background:var(--accent-hover)}
.dp-btn--secondary{background:transparent;color:var(--ink)!important;border-color:var(--line-strong)}
.dp-btn--secondary:hover,.dp-btn--secondary.is-hover{border-color:var(--ink)}
.dp-btn--ghost{background:transparent;color:var(--accent-text)!important;padding:0 4px;height:auto}
.dp-btn--sm{height:36px;padding:0 16px;font-size:14px}
.dp-btn--block{width:100%}
.dp-btn[disabled],.dp-btn.is-disabled{opacity:.45;cursor:not-allowed}
.dp-btn.is-loading{color:transparent!important;position:relative}
.dp-btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--on-accent);border-right-color:transparent;border-radius:50%}

/* Поля */
.dp-field{display:flex;flex-direction:column;gap:8px}
.dp-field__label{font-size:14px;line-height:20px;color:var(--ink-muted)}
.dp-field__label i{font-style:normal;color:var(--accent-text)}
.dp-input,.dp-select,.dp-textarea{width:100%;height:48px;padding:0 14px;background:var(--bg-300);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);font:400 16px/24px var(--font-sans)}
.dp-textarea{height:112px;padding:12px 14px;resize:vertical}
.dp-input::placeholder,.dp-textarea::placeholder{color:var(--ink-faint)}
.dp-input.is-focus{outline:2px solid var(--focus);outline-offset:2px}
.dp-field.is-error .dp-input,.dp-field.is-error .dp-textarea{border-color:var(--error)}
.dp-field__error{font-size:14px;line-height:20px;color:var(--error)}
.dp-field__hint{font-size:14px;line-height:20px;color:var(--ink-faint)}
.dp-select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(-45deg,transparent 50%,var(--ink-muted) 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.dp-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:20px;color:var(--ink-muted)}
.dp-check__box{flex:none;width:20px;height:20px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-300);display:grid;place-items:center;margin-top:0}
.dp-check.is-checked .dp-check__box{background:var(--accent);border-color:var(--accent)}
.dp-check.is-checked .dp-check__box::after{content:"";width:10px;height:5px;border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);transform:rotate(-45deg) translate(1px,-1px)}
.dp-check.is-error .dp-check__box{border-color:var(--error)}

/* Переключатель темы обращения */
.dp-seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:4px;gap:4px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-000)}
.dp-seg__opt{height:40px;padding:0 16px;border-radius:2px;display:flex;align-items:center;justify-content:center;font:500 15px/20px var(--font-sans);color:var(--ink-muted);cursor:pointer;text-align:center;min-height:40px;height:auto;padding:6px 12px}
.dp-seg__opt.is-active{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}

/* Карточки */
.dp-card{background:var(--bg-200);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px}
.dp-card__num{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--accent-text)}
.dp-card h3{font-size:22px;line-height:28px;font-weight:600;margin:12px 0 8px}
.dp-card p{margin:0;color:var(--ink-muted)}
.dp-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}
.dp-list li{padding-left:20px;position:relative;color:var(--ink)}
.dp-list li::before{content:"";position:absolute;left:0;top:11px;width:10px;height:1px;background:var(--accent)}

/* Чип имени файла */
.dp-file{display:inline-flex;flex-wrap:wrap;max-width:100%;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-100);font:400 13px/20px var(--font-mono);color:var(--ink)}
.dp-file__ext{color:var(--accent-text)}
.dp-file__sep{color:var(--ink-faint)}

/* Рамка скриншота (заглушка до получения реальных) */
.dp-shot{position:relative;border:1px solid var(--line);background:var(--bg-200);overflow:hidden}
.dp-shot__bar{height:28px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 10px;background:var(--bg-100)}
.dp-shot__bar span{width:8px;height:8px;border:1px solid var(--line-strong)}
.dp-shot__bar em{font:400 11px/1 var(--font-mono);color:var(--ink-faint);font-style:normal;margin-left:8px}
.dp-shot__ph{display:grid;place-items:center;text-align:center;padding:16px;color:var(--ink-faint);font:400 12px/16px var(--font-mono);background-image:repeating-linear-gradient(135deg,transparent 0 10px,var(--grid) 10px 11px)}

/* Основная надпись (мотив ГОСТ 2.104, форма 1) */
.dp-stamp{display:grid;grid-template-columns:30px 34px minmax(70px,1.1fr) 40px 62px 2fr 2.3fr;grid-auto-rows:minmax(22px,auto);border:2px solid var(--steel);font:400 11px/14px var(--font-mono);color:var(--ink-muted);background:var(--bg-200)}
.dp-stamp>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 6px;display:flex;align-items:center;overflow:hidden;white-space:nowrap}
.dp-stamp .k{color:var(--ink-faint)}
.dp-stamp .v{color:var(--ink)}
.dp-stamp .fill{background:var(--accent-soft);color:var(--ink)}
.dp-stamp .big{font:500 13px/17px var(--font-mono);color:var(--ink);justify-content:center;text-align:center;white-space:normal}

/* Полоса поддержки Фонда — обязательный блок */
.dp-support{display:flex;align-items:center;gap:32px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dp-support__logos{display:flex;gap:16px;flex:none}
.dp-support__logo{height:56px;min-width:140px;padding:0 12px;display:grid;place-items:center;background:#ffffff;border-radius:var(--radius-sm);color:#4f5861;font:400 11px/14px var(--font-mono);text-align:center}
.dp-support__text{font-size:14px;line-height:20px;color:var(--ink-muted);max-width:640px;margin:0}

/* Тарифы */
.dp-price{display:flex;flex-direction:column;gap:16px}
.dp-price.is-featured{border-color:var(--accent);background:linear-gradient(var(--accent-soft),var(--accent-soft)) top/100% 4px no-repeat,var(--bg-200)}
.dp-price__seats{font-family:var(--font-mono);font-size:13px;color:var(--ink-muted)}
.dp-price__amount{font:600 32px/36px var(--font-sans);letter-spacing:-.01em}
.dp-price__amount small{font:400 14px/20px var(--font-sans);color:var(--ink-muted);margin-left:4px;letter-spacing:0}
.dp-price__ask{font:500 22px/36px var(--font-sans);color:var(--ink)}

/* Таблица техданных */
.dp-table{width:100%;border-collapse:collapse;font-size:15px;line-height:22px}
.dp-table th,.dp-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.dp-table th{width:32%;font-weight:400;color:var(--ink-muted)}
.dp-table td code{font-family:var(--font-mono);font-size:14px}

/* Шапка */
.dp-header{display:flex;align-items:center;gap:32px;height:72px}
.dp .dp-logo{display:flex;align-items:center;gap:10px;font:600 18px/1 var(--font-sans);letter-spacing:.02em;color:var(--ink);text-decoration:none!important}
.dp-logo__mark{width:24px;height:24px}
.dp-nav{display:flex;gap:28px;margin-left:auto}
.dp-nav a{color:var(--ink-muted);text-decoration:none;font-size:15px}
.dp-nav a:hover{color:var(--ink)}

/* Сообщения формы */
.dp-alert{display:flex;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-300);font-size:15px;line-height:22px}
.dp-alert--success{border-color:var(--success)}
.dp-alert--success b{color:var(--success)}
.dp-alert--error{border-color:var(--error)}
.dp-alert--error b{color:var(--error)}
