/* Лендинги плагинов (/d-sp, /d-drum): три экрана, фирменный янтарь D-module
   только на этих страницах. Класс-обёртка — .dsp (исторически, от D-SP). */
.dsp { --amber: #e3b56a; --amber-ink: #0a0a0c; }
.dsp-screen { display: flex; flex-direction: column; justify-content: center; padding: 5rem 0; }
#top.dsp-screen { min-height: min(calc(100vh - 72px), 900px); padding-top: 3rem; }
.dsp-screen + .dsp-screen { border-top: 1px solid var(--line); }
.dsp-eyebrow { font-family: "JetBrains Mono", monospace; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.dsp-eyebrow b { color: var(--amber); font-weight: 500; }
.dsp h1 { font-size: clamp(2rem, 5.6vw, 4.2rem); line-height: 1.05; letter-spacing: -.01em; margin: 1.2rem 0 1.4rem; max-width: 18ch; }
.dsp-lead { font-size: clamp(1.05rem, 1.8vw, 1.35rem); color: #cfcfd6; max-width: 38rem; }
.dsp-player { display: flex; align-items: center; gap: 1rem; margin: 2.2rem 0 2rem; max-width: 34rem; padding: .9rem 1.1rem; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.dsp-play { flex: none; width: 52px; height: 52px; border-radius: 50%; border: 0; background: var(--amber); color: var(--amber-ink); font-size: 1.5rem; display: grid; place-items: center; cursor: pointer; }
.dsp-play:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.dsp-track { flex: 1; min-width: 0; }
.dsp-track-label { font-size: .9rem; color: #cfcfd6; margin-bottom: .45rem; }
.dsp-bar { height: 4px; background: var(--line); border-radius: 2px; cursor: pointer; position: relative; }
.dsp-bar span { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--amber); border-radius: 2px; }
.dsp-time { flex: none; font-family: "JetBrains Mono", monospace; font-size: .75rem; color: var(--muted); }
.dsp-btn { display: inline-flex; align-items: center; gap: .6rem; padding: .95rem 1.6rem; border-radius: 12px; background: var(--amber); color: var(--amber-ink); font-weight: 700; text-decoration: none; border: 0; font-size: 1.05rem; }
.dsp-btn:hover { background: #efc47e; color: var(--amber-ink); }
.dsp-btn[aria-disabled="true"] { background: var(--panel-2); color: var(--muted); border: 1px solid var(--line); cursor: default; }
.dsp-note { font-family: "JetBrains Mono", monospace; font-size: .72rem; color: var(--muted); margin-top: .9rem; }
.dsp-shot { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--line); box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.dsp h2 { font-size: clamp(1.3rem, 2.6vw, 1.9rem); margin-bottom: 1rem; }
.dsp-text p { color: #cfcfd6; font-size: 1.05rem; line-height: 1.65; }
.dsp-quote { border-left: 2px solid var(--amber); padding: .2rem 0 .2rem 1rem; margin-top: 1.4rem; color: var(--ink); font-size: 1.1rem; }
.dsp-quote small { display: block; color: var(--muted); font-size: .8rem; margin-top: .3rem; }
.dsp-price { max-width: 34rem; margin: 0 auto; text-align: center; }
.dsp-price-num { font-family: "Unbounded", sans-serif; font-size: clamp(3rem, 8vw, 5rem); line-height: 1; margin: 1rem 0 .4rem; }
.dsp-price-num small { font-size: .35em; color: var(--muted); font-family: "Manrope", sans-serif; }
.dsp-list { list-style: none; padding: 0; margin: 1.6rem 0 2rem; color: #cfcfd6; text-align: left; display: inline-block; }
.dsp-list li { padding: .35rem 0 .35rem 1.6rem; position: relative; }
.dsp-list li::before { content: ""; position: absolute; left: 0; top: .85rem; width: .6rem; height: .6rem; border-radius: 50%; background: var(--amber); }
.dsp-contact { margin-top: 1.6rem; color: var(--muted); }
.dsp-tg { display: inline-flex; align-items: center; gap: .55rem; padding: .7rem 1.3rem; border-radius: 12px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); text-decoration: none; font-weight: 600; }
.dsp-tg:hover { border-color: var(--amber); color: var(--ink); }
.dsp-tg i { color: #2aabee; font-size: 1.15rem; }
@media (max-width: 767px) { .dsp-screen { min-height: auto; padding: 2.5rem 0; } }

/* ---------- Раздел «VST плагины»: список и ссылка назад ---------- */
.plugins-intro { color: #cfcfd6; max-width: 40rem; margin-bottom: 2rem; }
.plugin-card { display: block; height: 100%; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); overflow: hidden; text-decoration: none; color: var(--ink); transition: border-color .15s ease, transform .15s ease; }
.plugin-card:hover { border-color: #e3b56a; color: var(--ink); transform: translateY(-2px); }
.plugin-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: top left; border-bottom: 1px solid var(--line); }
.plugin-card-body { padding: 1.4rem 1.5rem 1.6rem; }
.plugin-card-index { font-family: "JetBrains Mono", monospace; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; color: #e3b56a; }
.plugin-card h2 { font-size: 1.25rem; line-height: 1.25; margin: .7rem 0 .6rem; }
.plugin-card p { color: #cfcfd6; margin-bottom: 1rem; }
.plugin-card-more { font-weight: 600; color: #e3b56a; }
.dsp-back { font-family: "JetBrains Mono", monospace; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); text-decoration: none; display: inline-block; margin-bottom: 1.4rem; }
.dsp-back:hover { color: var(--ink); }

/* ---------- Страницы линеек (30.09.2026): сетка «что внутри» ---------- */
.bundle-grid { display: grid; gap: 2rem; grid-template-columns: 1fr; margin: 1rem 0 2.5rem; }
@media (min-width: 768px) { .bundle-grid { grid-template-columns: 1fr 1fr; } }
.bundle-item { margin: 0; display: grid; gap: 1rem; align-content: start; }
.bundle-item .dsp-shot { box-shadow: 0 16px 40px rgba(0,0,0,.45); }
.bundle-item figcaption { color: #cfcfd6; line-height: 1.6; }
.bundle-item figcaption b { display: block; color: var(--ink); font-size: 1.15rem; margin-bottom: .3rem; }
.bundle-item figcaption a { text-decoration: none; }
.bundle-item figcaption a b::after { content: " \2192"; color: var(--accent, #e8c07a); }
.bundle-item figcaption a:hover b { text-decoration: underline; }

/* ---------- «Нужен, но нет возможности купить» (30.09.2026) ---------- */
.dsp-hardship { margin: 1.8rem auto 0; max-width: 30rem; padding: 1rem 1.2rem; border: 1px dashed var(--line); border-radius: 12px; color: #cfcfd6; font-size: .95rem; line-height: 1.55; }
.dsp-hardship-link { display: inline-block; margin-top: .4rem; color: #e3b56a; font-weight: 600; text-decoration: none; }
.dsp-hardship-link:hover { color: #efc47e; }
/* «Как получить» под ценой — требование проверки ЮKassa (04.10.2026) */
.dsp-delivery { margin: 1.8rem auto 0; max-width: 30rem; text-align: left; }
.dsp-delivery ol { margin: .6rem 0 0; padding-left: 1.3rem; color: #cfcfd6; font-size: .95rem; line-height: 1.55; }
.dsp-delivery li { padding: .2rem 0; }
.dsp-delivery-note { margin-top: .6rem; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.dsp-delivery-note a { color: #e3b56a; }

/* ---------- «На сцене» и преамбула раздела (30.09.2026) ---------- */
.dsp-live { margin-top: 2.5rem; padding: 1.6rem 1.8rem; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); max-width: 46rem; }
.dsp-live .dsp-list { margin: 1rem 0 .4rem; display: block; }
.dsp-live .dsp-list b { color: var(--ink); }
#live.dsp-screen { padding: 3rem 0; }
#live .dsp-live { margin-top: 0; }
.plugins-intro { max-width: 46rem; }
.plugins-intro p { color: #cfcfd6; line-height: 1.65; }
.plugins-lead { font-size: clamp(1.2rem, 2.2vw, 1.55rem); color: var(--ink) !important; font-weight: 600; }
.plugins-formats { color: var(--muted) !important; font-size: .9rem; }

/* ---------- Второй снимок на странице (патч-матрица D-SP, 30.09.2026) ---------- */
.dsp-figure { margin: 0; }
.dsp-video { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); background: #000; box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.dsp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dsp-figure figcaption { color: var(--muted); font-size: .92rem; line-height: 1.6; margin-top: 1rem; max-width: 46rem; }

/* ---------- D-Falcon Kick (01.10.2026): две кнопки скачивания ---------- */
.dfk-dl { display: flex; flex-wrap: wrap; gap: .8rem; }
.dsp-price .dfk-dl { justify-content: center; }
.dfk-dl .dsp-btn i { font-size: 1.15rem; }

/* ---------- Форма покупки (04.10.2026) ---------- */
.buy-form { max-width: 26rem; margin: 0 auto; display: flex; flex-direction: column; gap: .8rem; align-items: stretch; }
.buy-email { background: transparent; border: 1px solid var(--line); border-radius: 10px; padding: .75rem 1rem; color: var(--ink); font-size: 1rem; }
.buy-email:focus { outline: none; border-color: var(--amber); }
.buy-consent { display: flex; gap: .6rem; align-items: flex-start; text-align: left; color: var(--muted); font-size: .85rem; line-height: 1.45; cursor: pointer; }
.buy-consent input { margin-top: .2rem; accent-color: var(--amber); }
.buy-consent a { color: #e3b56a; }
.buy-err { color: #e88; font-size: .85rem; text-align: left; }
.buy-form .dsp-btn { justify-content: center; }
