/* Aroken — CTA-плашки.
   Префикс .cta-plate, варианты — модификаторы .cta-plate--*. Опирается на токены :root и на .btn / .badge из css/main.css,
   поэтому переносится в main.css как есть. Таймер и закрытие — js/cta.js (data-cta-*), показ кампаний — js/campaigns.js. Витрина шаблонов — prototypes/cta. */

/* ---------- База ---------- */
.cta-plate { position: relative; isolation: isolate; overflow: hidden; border-radius: 24px; color: #fff; }
.cta-plate.is-closing { pointer-events: none; animation: cta-plate-out .26s var(--ease) forwards; }
@keyframes cta-plate-out { to { opacity: 0; transform: translateY(-6px) scale(.985); } }

.cta-plate__title { font-weight: 700; letter-spacing: -.025em; text-wrap: balance; }
.cta-plate__text { color: var(--muted-2); text-wrap: pretty; }
.cta-plate__text b { font-weight: 600; color: #fff; }
.cta-plate__link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; letter-spacing: -.01em; color: var(--lime); text-decoration: none; white-space: nowrap; }
.cta-plate__link:hover { text-decoration: underline; text-underline-offset: 3px; }

/* крестик: стеклянный круг, при наведении поворачивается */
.cta-plate__close { position: absolute; z-index: 5; top: 16px; right: 16px; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; background: rgba(9, 10, 11, .38); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: rgba(255, 255, 255, .86); cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .35s var(--spring); }
.cta-plate__close:hover { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .34); color: #fff; transform: rotate(90deg); }
.cta-plate__close:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.cta-plate__close svg { width: 16px; height: 16px; }

/* 3D-подарок из двух кадров одного ракурса: при наведении на плашку крышка приоткрывается */
.cta-plate__gift { position: relative; display: block; aspect-ratio: 544 / 549; pointer-events: none; filter: drop-shadow(0 22px 28px rgba(0, 0, 0, .5)); transition: transform .5s var(--spring); }
.cta-plate__gift img { position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity .28s var(--ease); }
.cta-plate__gift img + img { opacity: 0; }
.cta-plate:hover .cta-plate__gift img + img, .cta-plate:focus-within .cta-plate__gift img + img { opacity: 1; }
.cta-plate:hover .cta-plate__gift img:first-child, .cta-plate:focus-within .cta-plate__gift img:first-child { opacity: 0; }
.cta-plate__art { display: block; height: auto; pointer-events: none; transition: transform .6s var(--spring); }

/* обратный отсчёт: дни : часы : минуты : секунды, цифры моноширинные — строка не дёргается */
.cta-plate__timer { display: flex; align-items: stretch; gap: 6px; font-family: var(--mono); }
.cta-plate__unit { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 2px 10px; border-radius: 14px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .06); box-shadow: inset 0 1px 1px rgba(255, 255, 255, .06); }
.cta-plate__num { display: block; font-size: 36px; line-height: 42px; font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: #fff; }
.cta-plate__unit:last-child .cta-plate__num { color: var(--lime-2); }
.cta-plate__lbl { font-size: 11px; line-height: 14px; letter-spacing: .04em; color: rgba(255, 255, 255, .52); }
.cta-plate.is-expired .cta-plate__timer { opacity: .45; }
.cta-plate__colon { flex: none; align-self: center; margin-top: -16px; font-size: 22px; line-height: 1; color: rgba(255, 255, 255, .32); }
/* строчный таймер для полосы: 03д 11ч 05м 18с */
.cta-plate__timer--inline { display: inline-flex; align-items: baseline; gap: 7px; }
.cta-plate__timer--inline .cta-plate__unit { flex: none; flex-direction: row; align-items: baseline; gap: 1px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.cta-plate__timer--inline .cta-plate__num { font-size: 14px; line-height: 20px; letter-spacing: 0; color: #fff; }
.cta-plate__timer--inline .cta-plate__unit:last-child .cta-plate__num { color: var(--lime-2); }
.cta-plate__timer--inline .cta-plate__lbl { font-size: 12px; line-height: 20px; letter-spacing: 0; }

/* кнопка второго плана на бумаге: графит, стрелка в лаймовом круге (Primary на экране остаётся одна) */
.cta-plate__btn { display: inline-flex; align-items: center; gap: 14px; height: 52px; padding: 6px 7px 6px 20px; border-radius: 14px; background: var(--graphite); color: #fff; font-size: 16px; font-weight: 600; letter-spacing: -.01em; text-decoration: none; white-space: nowrap; transition: transform .25s var(--ease), box-shadow .25s var(--ease); }
.cta-plate__btn:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -10px rgba(19, 20, 23, .55); }
.cta-plate__btn:active { transform: translateY(1px) scale(.99); }
.cta-plate__btn-arrow { flex: none; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--lime-2); color: var(--ink); transition: transform .3s var(--spring); }
.cta-plate__btn:hover .cta-plate__btn-arrow { transform: translateX(3px); }

/* ---------- 01 / Промо: скидка, подарок, таймер ---------- */
.cta-plate--promo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(220px, calc(50vw - 360px), 400px) minmax(300px, 380px);
  grid-template-rows: auto auto auto;
  grid-template-areas: "sticker art action" "title art action" "bonus art action";
  align-content: center; align-items: center; column-gap: clamp(24px, 3vw, 48px);
  min-height: 360px; padding: 44px 48px;
  border: 1px solid rgba(184, 163, 255, .24);
  background:
    radial-gradient(360px 260px at 60% 104%, rgba(199, 255, 46, .2), rgba(199, 255, 46, 0) 72%),
    radial-gradient(560px 400px at -4% -10%, rgba(117, 87, 255, .5), rgba(117, 87, 255, 0) 70%),
    radial-gradient(520px 380px at 104% 110%, rgba(69, 56, 135, .8), rgba(69, 56, 135, 0) 72%),
    #0E0B1F;
  box-shadow: 0 24px 48px -16px rgba(0, 0, 0, .55), inset 0 1px 1px rgba(255, 255, 255, .06);
}
/* сетка, как у тест-драйва, гаснет к краям */
.cta-plate--promo::before, .cta-plate--testdrive::before { content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit; pointer-events: none; background-image: linear-gradient(rgba(158, 166, 173, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(158, 166, 173, .16) 1px, transparent 1px); background-size: 28px 28px; background-position: 0 20px, 20px 0; }
.cta-plate--promo::before { opacity: .5; -webkit-mask-image: radial-gradient(70% 90% at 58% 60%, #000, transparent 78%); mask-image: radial-gradient(70% 90% at 58% 60%, #000, transparent 78%); }

/* рваный лаймовый стикер: зубцы по бокам — clip-path, тень — фильтром на обёртке (clip-path режет box-shadow) */
.cta-plate__sticker { grid-area: sticker; position: relative; z-index: 2; justify-self: start; margin: 0 0 22px 6px; filter: drop-shadow(0 12px 16px rgba(0, 0, 0, .38)) drop-shadow(0 0 22px rgba(199, 255, 46, .22)); transform: rotate(-4deg); transform-origin: 0 100%; transition: transform .5s var(--spring); }
.cta-plate__sticker-paper { display: flex; align-items: center; gap: 12px; padding: 10px 26px 11px 22px; background: linear-gradient(100deg, var(--lime-2), var(--lime-3)); color: var(--ink); clip-path: polygon(1% 5%, 22% 0, 47% 3.5%, 72% .5%, 98.6% 4%, 97.4% 13%, 100% 23%, 97.8% 32%, 99.6% 43%, 97.2% 53%, 100% 64%, 98% 74%, 99.8% 85%, 97.6% 93%, 99% 100%, 74% 96.5%, 50% 100%, 25% 96%, 1.4% 99%, 2.8% 90%, 0 80%, 2.2% 70%, .2% 59%, 2.8% 48%, 0 38%, 1.8% 27%, .4% 16%); }
.cta-plate__sticker-big { font-size: 46px; line-height: 46px; font-weight: 700; letter-spacing: -.045em; white-space: nowrap; }
.cta-plate__sticker-small { display: flex; flex-direction: column; font-size: 15px; line-height: 18px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }
.cta-plate__sticker-small span { font-size: 14px; font-weight: 500; color: rgba(23, 24, 28, .72); }
.cta-plate--promo:hover .cta-plate__sticker { transform: rotate(-6deg) translateY(-2px); }

.cta-plate--promo .cta-plate__title { grid-area: title; max-width: 13ch; font-size: clamp(30px, 3.4vw, 58px); line-height: 1.02; letter-spacing: -.038em; }
.cta-plate__bonus { grid-area: bonus; justify-self: start; display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; padding: 6px 18px 6px 6px; border-radius: 16px; border: 1px solid rgba(184, 163, 255, .34); background: rgba(184, 163, 255, .1); font-size: 16px; line-height: 20px; font-weight: 600; letter-spacing: -.01em; }
.cta-plate__bonus img { width: 40px; height: 40px; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .45)); }

.cta-plate--promo .cta-plate__gift { grid-area: art; align-self: end; justify-self: center; width: 100%; margin-bottom: -72px; transform: rotate(-7deg); filter: drop-shadow(0 30px 34px rgba(0, 0, 0, .55)) drop-shadow(0 0 48px rgba(199, 255, 46, .22)); }
.cta-plate--promo:hover .cta-plate__gift { transform: rotate(-3deg) translateY(-10px); }

.cta-plate__action { grid-area: action; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.cta-plate__caption { font-size: 13px; line-height: 16px; font-weight: 500; color: var(--muted-2); }
.cta-plate__action .btn { justify-content: space-between; margin-top: 8px; }

/* ---------- 02 / Полоса над шапкой ---------- */
.cta-plate--bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2px 16px; min-height: 44px; padding: 10px 64px; border-radius: 0; background: linear-gradient(90deg, #0A0B09 0%, #131C0B 50%, #0A0B09 100%); font-size: 14px; line-height: 20px; }
.cta-plate--bar::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, rgba(199, 255, 46, 0), rgba(199, 255, 46, .5) 50%, rgba(199, 255, 46, 0)); }
.cta-plate--bar .cta-plate__text { display: inline-flex; align-items: baseline; gap: 10px; color: rgba(255, 255, 255, .78); }
.cta-plate--bar .cta-plate__text::before { content: "✦"; color: var(--lime-2); }
.cta-plate--bar .cta-plate__close { top: 50%; right: 12px; width: 32px; height: 32px; margin-top: -16px; border-color: transparent; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
.cta-plate--bar .cta-plate__close:hover { border-color: rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .08); }
.cta-plate--bar .cta-plate__close svg { width: 14px; height: 14px; }

/* ---------- 03 / Бесплатный тест-драйв ---------- */
.cta-plate--testdrive {
  display: grid; grid-template-columns: clamp(132px, 12vw, 176px) minmax(0, 1fr) auto;
  grid-template-areas: "art copy go" "art steps steps";
  align-items: center; gap: 20px 32px;
  padding: 28px 40px 28px 28px; border-radius: 20px; text-decoration: none;
  border: 1px solid rgba(199, 255, 46, .22);
  background: radial-gradient(420px 260px at 100% 0, rgba(199, 255, 46, .14), rgba(199, 255, 46, 0)), linear-gradient(96deg, #090A0B 0%, #0E120D 70%, #151D10 100%);
  box-shadow: 0 12px 24px -8px rgba(0, 0, 0, .38);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.cta-plate--testdrive::before { opacity: .34; }
.cta-plate--testdrive:hover { transform: translateY(-4px); border-color: rgba(199, 255, 46, .4); box-shadow: 0 24px 48px -12px rgba(199, 255, 46, .2); }
.cta-plate--testdrive:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.cta-plate--testdrive .cta-plate__gift { grid-area: art; width: 100%; }
.cta-plate--testdrive:hover .cta-plate__gift { transform: translateY(-4px) rotate(-3deg); }
.cta-plate__copy { grid-area: copy; display: block; min-width: 0; }
.cta-plate--testdrive .cta-plate__title, .cta-plate--testdrive .cta-plate__text { display: block; }
.cta-plate--testdrive .badge { margin-bottom: 10px; border-color: rgba(215, 255, 69, .4); color: var(--lime-2); }
.cta-plate--testdrive .cta-plate__title { max-width: 48ch; font-size: clamp(20px, 1.7vw, 28px); line-height: 1.18; letter-spacing: -.02em; }
.cta-plate--testdrive .cta-plate__text { margin-top: 8px; max-width: 620px; font-size: 15px; line-height: 22px; }
.cta-plate--testdrive .cta-plate__text s { color: var(--muted); }
.cta-plate__pill { grid-area: go; display: inline-flex; align-items: center; height: 48px; padding: 0 24px; border-radius: 999px; background: var(--lime); color: var(--ink); font-size: 16px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; box-shadow: 0 8px 18px -6px rgba(199, 255, 46, .35); transition: background .2s, transform .3s var(--spring); }
.cta-plate--testdrive:hover .cta-plate__pill { background: #D7FF50; transform: translateX(3px); }
.cta-plate__steps { grid-area: steps; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .1); }
.cta-plate__steps li { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13.5px; line-height: 18px; color: rgba(255, 255, 255, .82); }
.cta-plate__steps i { font: normal 500 12px/18px var(--mono); color: var(--lime); }

/* ---------- 04 / Бесплатная консультация: бумага + основатель ---------- */
.cta-plate--consult {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, min(34vw, 520px)); grid-template-areas: "copy photo"; column-gap: 40px;
  min-height: 420px; padding: 0 0 0 clamp(36px, 4vw, 72px); color: var(--ink);
  background: radial-gradient(420px 340px at 76% 90%, rgba(199, 255, 46, .5), rgba(199, 255, 46, 0) 70%), linear-gradient(109deg, var(--paper-1) 2%, var(--paper-2) 55%, var(--paper-3) 96%);
  box-shadow: var(--shadow-tile);
}
.cta-plate--consult .cta-plate__copy { align-self: center; padding: 52px 0; }
.cta-plate--consult .cta-plate__title { max-width: 18ch; font-size: clamp(30px, 3.3vw, 56px); line-height: 1.04; letter-spacing: -.034em; }
.cta-plate--consult .cta-plate__text { margin-top: 16px; max-width: 44ch; font-size: 17px; line-height: 26px; color: rgba(23, 24, 28, .72); }
.cta-plate__list { margin-top: 20px; display: grid; gap: 8px; font-size: 15px; line-height: 22px; color: rgba(23, 24, 28, .86); }
.cta-plate__list li { position: relative; padding-left: 22px; }
.cta-plate__list li::before { content: ""; position: absolute; left: 0; top: 11px; width: 10px; height: 2px; border-radius: 1px; background: var(--ink); }
.cta-plate--consult .btn { margin-top: 28px; }
.cta-plate__figure { grid-area: photo; position: relative; align-self: end; margin: 0; }
.cta-plate__photo { display: block; width: 100%; height: auto; margin-bottom: -1px; transition: transform .6s var(--spring); transform-origin: 50% 100%; }
.cta-plate--consult:hover .cta-plate__photo { transform: scale(1.02); }
.cta-plate__who { position: absolute; left: -2%; bottom: 32px; display: flex; flex-direction: column; padding: 10px 14px; border-radius: 14px; border: 1px solid rgba(23, 24, 28, .12); background: rgba(254, 253, 249, .88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 12px 24px -12px rgba(23, 24, 28, .35); font-size: 15px; line-height: 19px; font-weight: 600; letter-spacing: -.01em; }
.cta-plate__who span { font-size: 13px; line-height: 17px; font-weight: 400; color: rgba(23, 24, 28, .64); }

/* ---------- 05 / Рассрочка: бумага ---------- */
.cta-plate--installment { padding: 44px clamp(240px, 30vw, 460px) 44px 48px; color: var(--ink); background: linear-gradient(109deg, var(--paper-1) 2%, var(--paper-2) 55%, var(--paper-3) 96%); box-shadow: var(--shadow-tile); }
.cta-plate--installment .cta-plate__title { font-size: 22px; line-height: 28px; font-weight: 600; letter-spacing: -.015em; }
.cta-plate__price { margin-top: 6px; font-size: clamp(52px, 5.4vw, 88px); line-height: 1; font-weight: 700; letter-spacing: -.045em; white-space: nowrap; }
.cta-plate__price small { margin-left: .08em; font-size: .4em; font-weight: 600; letter-spacing: -.015em; color: rgba(23, 24, 28, .56); }
.cta-plate__facts { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px; }
.cta-plate__facts li { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(23, 24, 28, .14); background: rgba(255, 255, 255, .56); font-size: 15px; line-height: 20px; font-weight: 500; white-space: nowrap; }
.cta-plate__facts li:first-child { border-color: transparent; background: var(--lime); font-weight: 600; }
.cta-plate__note { margin-top: 16px; max-width: 52ch; font-size: 14px; line-height: 20px; color: rgba(23, 24, 28, .66); }
.cta-plate__foot { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.cta-plate__aside { max-width: 30ch; font-size: 14px; line-height: 20px; color: rgba(23, 24, 28, .66); }
.cta-plate--installment .cta-plate__art { position: absolute; z-index: -1; right: clamp(-90px, -4vw, -40px); bottom: clamp(-120px, -7vw, -60px); width: clamp(280px, 30vw, 500px); transform: rotate(-14deg); filter: drop-shadow(0 30px 34px rgba(23, 24, 28, .3)); }
.cta-plate--installment:hover .cta-plate__art { transform: rotate(-6deg) translateY(-10px); }

/* ---------- 06 / Гарантия первых заказов: тёмная полоса с волосяными разделителями ---------- */
.cta-plate--guarantee { display: grid; grid-template-columns: clamp(150px, 14vw, 230px) minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; column-gap: clamp(28px, 3.5vw, 64px); padding: 40px 0; border-radius: 0; overflow: visible; }
.cta-plate--guarantee::before, .cta-plate--guarantee::after { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: rgba(255, 255, 255, .14); }
.cta-plate--guarantee::before { top: 0; background: linear-gradient(90deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .16) 18%, rgba(199, 255, 46, .5) 50%, rgba(255, 255, 255, .16) 82%, rgba(255, 255, 255, .06)); }
.cta-plate--guarantee::after { bottom: 0; }
.cta-plate--guarantee .cta-plate__art { justify-self: center; width: min(100%, 170px); aspect-ratio: 170 / 221; border-radius: 8px; transform: rotate(-5deg); box-shadow: 0 26px 50px -18px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .08); }
.cta-plate--guarantee:hover .cta-plate__art { transform: rotate(2deg) translateY(-6px); }
.cta-plate__line { font-size: clamp(28px, 2.9vw, 50px); line-height: 1.06; font-weight: 600; letter-spacing: -.032em; text-wrap: balance; }
.cta-plate__line b { font-weight: 600; color: var(--lime); }
.cta-plate__side { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 14px; padding-left: clamp(28px, 3.5vw, 64px); border-left: 1px solid rgba(255, 255, 255, .14); }
.cta-plate--guarantee .cta-plate__text { max-width: 44ch; font-size: 16px; line-height: 24px; }
.cta-plate--guarantee .cta-plate__link { align-self: flex-start; font-size: 15px; }

/* ---------- 07 / Сообщество в Telegram ---------- */
.cta-plate--community {
  display: grid; grid-template-columns: clamp(150px, 15vw, 240px) minmax(0, 1fr) minmax(280px, 400px);
  grid-template-areas: "art copy topics"; align-items: center; column-gap: clamp(24px, 3vw, 48px);
  padding: 36px 40px 36px 20px; border: 1px solid rgba(160, 205, 235, .22);
  background: radial-gradient(320px 260px at 12% 100%, rgba(115, 214, 255, .3), rgba(115, 214, 255, 0) 70%), linear-gradient(104deg, #07131F 0%, #0A2236 62%, #103A5C 100%);
  box-shadow: 0 12px 24px -8px rgba(0, 0, 0, .34);
}
.cta-plate--community .cta-plate__art { grid-area: art; width: 100%; transform: rotate(-8deg); filter: drop-shadow(0 22px 30px rgba(0, 0, 0, .45)) drop-shadow(0 0 40px rgba(115, 214, 255, .3)); }
.cta-plate--community:hover .cta-plate__art { transform: rotate(0deg) translateY(-8px); }
.cta-plate--community .cta-plate__title { font-size: clamp(24px, 2vw, 32px); line-height: 1.15; letter-spacing: -.02em; }
.cta-plate__stat { margin-top: 10px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.cta-plate__stat b { font-size: clamp(48px, 4.4vw, 72px); line-height: 1; font-weight: 600; letter-spacing: -.04em; white-space: nowrap; }
.cta-plate__stat span { font-size: 18px; line-height: 24px; color: var(--muted-2); }
.cta-plate--community .cta-plate__text { margin-top: 12px; max-width: 42ch; font-size: 15px; line-height: 22px; }
.cta-plate--community .cta-plate__link { margin-top: 18px; font-size: 15px; }
/* темы сообщества — как список тем форума в Telegram */
.cta-plate__topics { grid-area: topics; display: grid; padding: 6px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(6, 14, 24, .5); box-shadow: inset 0 1px 1px rgba(255, 255, 255, .06); }
.cta-plate__topics li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; font-size: 15px; line-height: 20px; font-weight: 500; }
.cta-plate__topics li + li { border-top: 1px solid rgba(255, 255, 255, .07); }
.cta-plate__topics i { flex: none; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: var(--lime); color: var(--ink); font: normal 600 15px/1 var(--mono); }
.cta-plate__topics li:nth-child(1) i { background: var(--coral); }
.cta-plate__topics li:nth-child(3) i { background: var(--cobalt); }
.cta-plate__topics li:nth-child(4) i { background: var(--violet); }

/* ---------- 08 / Вебинар ---------- */
.cta-plate--webinar {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "copy when go";
  align-items: center; column-gap: clamp(24px, 3vw, 48px);
  min-height: 180px; padding: 32px 40px 32px clamp(160px, 14vw, 210px); border: 1px solid rgba(184, 163, 255, .2);
  background: radial-gradient(360px 260px at 0 100%, rgba(117, 87, 255, .34), rgba(117, 87, 255, 0) 70%), var(--graphite);
  box-shadow: 0 12px 24px -8px rgba(0, 0, 0, .38);
}
.cta-plate--webinar .cta-plate__art { position: absolute; left: -14px; bottom: -34px; width: clamp(150px, 12vw, 180px); transform: rotate(-10deg); filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .5)) drop-shadow(0 0 36px rgba(117, 87, 255, .35)); }
.cta-plate--webinar:hover .cta-plate__art { transform: rotate(-2deg) translateY(-8px); }
.cta-plate__kicker { font-size: 13px; line-height: 16px; font-weight: 500; color: var(--violet); }
.cta-plate--webinar .cta-plate__title { margin-top: 8px; font-size: clamp(22px, 1.9vw, 30px); line-height: 1.15; letter-spacing: -.02em; }
.cta-plate--webinar .cta-plate__text { margin-top: 8px; max-width: 48ch; font-size: 15px; line-height: 22px; }
.cta-plate__when { grid-area: when; display: flex; flex-direction: column; gap: 4px; padding-left: clamp(24px, 3vw, 48px); border-left: 1px solid rgba(255, 255, 255, .12); white-space: nowrap; }
.cta-plate__when > b { font-size: clamp(24px, 2vw, 32px); line-height: 1.1; font-weight: 600; letter-spacing: -.02em; }
.cta-plate__when > span { font-size: 14px; line-height: 20px; color: var(--muted-2); }
.cta-plate--webinar .btn { grid-area: go; }

/* ---------- 09 / Компактная плашка внутри статьи или FAQ ---------- */
.cta-plate--inline { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 12px 20px; padding: 14px 24px 14px 14px; border-radius: 16px; border: 1px solid rgba(199, 255, 46, .2); background: linear-gradient(96deg, #0B0D0A, #121A0E); }
.cta-plate--inline .cta-plate__gift { width: 64px; filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .45)); }
.cta-plate--inline .cta-plate__text { font-size: 15px; line-height: 22px; }
.cta-plate--inline .cta-plate__link { font-size: 15px; }

/* ---------- 10 / Липкая плашка снизу на телефоне ---------- */
.cta-plate--sticky { position: fixed; z-index: 60; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; overflow: visible; padding: 8px 8px 8px 16px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(16, 17, 20, .84); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); box-shadow: 0 16px 40px -8px rgba(0, 0, 0, .7); }
.cta-plate--sticky .cta-plate__text { display: flex; flex-direction: column; min-width: 0; font-size: 13px; line-height: 17px; white-space: nowrap; }
.cta-plate--sticky .cta-plate__text b { font-size: 17px; line-height: 22px; letter-spacing: -.015em; }
.cta-plate--sticky .btn { height: 44px; gap: 10px; padding: 4px 4px 4px 16px; border-radius: 12px; font-size: 15px; }
.cta-plate--sticky .btn__arrow { width: 36px; height: 36px; }
/* крестик — маленький круг на углу, чтобы не отнимать ширину у цены; зона нажатия расширена до 44 px */
.cta-plate--sticky .cta-plate__close { top: -10px; right: -6px; width: 26px; height: 26px; border-color: rgba(255, 255, 255, .2); background: #202228; -webkit-backdrop-filter: none; backdrop-filter: none; }
.cta-plate--sticky .cta-plate__close::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; }
.cta-plate--sticky .cta-plate__close svg { width: 11px; height: 11px; }
@media (min-width: 768px) { .cta-plate--sticky { display: none; } }
@media (max-width: 767px) { body:has(> .cta-plate--sticky:not([hidden])) { padding-bottom: 88px; } }

/* ---------- Анимации: только если человек не просил меньше движения ---------- */
@media (prefers-reduced-motion: no-preference) {
  .cta-plate--promo .cta-plate__gift img { animation: cta-plate-float 6s ease-in-out infinite alternate; }
  .cta-plate--sticky { animation: cta-plate-rise .5s var(--spring) both; }
}
@keyframes cta-plate-float { from { transform: translateY(0); } to { transform: translateY(-8px); } }
@keyframes cta-plate-rise { from { opacity: 0; transform: translateY(24px); } }
@media (prefers-reduced-motion: reduce) {
  .cta-plate, .cta-plate *, .cta-plate::before, .cta-plate::after { animation: none !important; transition: none !important; }
}

/* ---------- 1024–1279 ---------- */
@media (min-width: 1024px) and (max-width: 1279px) {
  .cta-plate--promo { grid-template-columns: minmax(0, 1fr) 180px 300px; padding: 40px; }
  .cta-plate--promo .cta-plate__gift { margin-bottom: -44px; }
  .cta-plate__num { font-size: 30px; line-height: 36px; }
  .cta-plate--testdrive { grid-template-columns: 124px minmax(0, 1fr) auto; padding: 24px 32px 24px 24px; }
  .cta-plate__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-plate--consult { padding-left: 44px; grid-template-columns: minmax(0, 1fr) 340px; }
  .cta-plate--community { grid-template-columns: 150px minmax(0, 1fr) 300px; padding-right: 32px; }
  .cta-plate--webinar { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "copy when" "copy go"; row-gap: 16px; }
  .cta-plate--webinar .cta-plate__when { border-left: 0; padding-left: 0; }
}

/* ---------- 768–1023 ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .cta-plate--promo { grid-template-columns: minmax(0, 1fr) 200px; grid-template-areas: "sticker art" "title art" "bonus art" "action action"; padding: 36px; }
  .cta-plate--promo .cta-plate__gift { align-self: center; margin-bottom: 0; }
  .cta-plate__action { margin-top: 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 20px; align-items: center; }
  .cta-plate__action .cta-plate__caption { grid-column: 1 / -1; }
  .cta-plate__action .btn { margin-top: 0; }
  .cta-plate--testdrive { grid-template-columns: 120px minmax(0, 1fr); grid-template-areas: "art copy" "art go" "steps steps"; }
  .cta-plate--testdrive .cta-plate__pill { justify-self: start; }
  .cta-plate__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cta-plate--consult { grid-template-columns: minmax(0, 1fr) 280px; padding-left: 36px; column-gap: 24px; }
  .cta-plate--guarantee { grid-template-columns: 150px minmax(0, 1fr); }
  .cta-plate--guarantee .cta-plate__side { grid-column: 1 / -1; margin-top: 24px; padding: 24px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .14); }
  .cta-plate--community { grid-template-columns: 140px minmax(0, 1fr); grid-template-areas: "art copy" "topics topics"; row-gap: 24px; padding: 32px; }
  .cta-plate--webinar { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "copy copy" "when go"; row-gap: 24px; }
  .cta-plate--webinar .cta-plate__when { border-left: 0; padding-left: 0; }
}

/* ---------- Телефон: < 768 ---------- */
@media (max-width: 767px) {
  .cta-plate { border-radius: 20px; }
  .cta-plate--bar { border-radius: 0; } /* полоса над шапкой — во всю ширину, без скругления */
  .cta-plate__close { top: 12px; right: 12px; width: 44px; height: 44px; }

  /* подарок уходит за правый верхний край, стикер наклеен поверх его угла */
  .cta-plate--promo { grid-template-columns: minmax(0, 1fr); grid-template-areas: "sticker" "title" "bonus" "action"; min-height: 0; padding: 44px 20px 20px; }
  .cta-plate--promo .cta-plate__gift { position: absolute; top: -26px; right: -30px; width: 158px; margin: 0; }
  .cta-plate__sticker { margin: 0 0 26px 2px; }
  .cta-plate__sticker-paper { gap: 10px; padding: 8px 20px 9px 18px; }
  .cta-plate__sticker-big { font-size: 38px; line-height: 40px; }
  .cta-plate__sticker-small { font-size: 14px; line-height: 17px; }
  .cta-plate__sticker-small span { font-size: 13px; }
  .cta-plate--promo .cta-plate__title { max-width: none; font-size: 32px; line-height: 1.06; }
  .cta-plate__bonus { margin-top: 18px; font-size: 15px; }
  .cta-plate__action { margin-top: 28px; }
  .cta-plate__action .btn { width: 100%; }
  .cta-plate__timer { gap: 4px; }
  .cta-plate__unit { padding: 10px 0 8px; border-radius: 12px; }
  .cta-plate__num { font-size: 28px; line-height: 34px; }
  .cta-plate__lbl { font-size: 10.5px; }
  .cta-plate__colon { font-size: 18px; margin-top: -14px; }

  .cta-plate--bar { justify-content: flex-start; gap: 2px 12px; padding: 9px 52px 9px 16px; font-size: 13px; line-height: 19px; }
  .cta-plate--bar .cta-plate__text { flex-basis: 100%; }
  .cta-plate--bar .cta-plate__close { right: 4px; width: 44px; height: 44px; margin-top: -22px; }
  .cta-plate--bar .cta-plate__link { padding: 13px 0; margin: -13px 0; } /* тап-цель ссылки «Забрать скидку →» ≥ 44 px без сдвига строки */
  .cta-plate__timer--inline { gap: 5px; }
  .cta-plate__timer--inline .cta-plate__num { font-size: 13px; line-height: 19px; }

  .cta-plate--testdrive { grid-template-columns: 88px minmax(0, 1fr); grid-template-areas: "art copy" "go go"; gap: 16px; padding: 20px; }
  .cta-plate--testdrive .cta-plate__gift { align-self: start; }
  .cta-plate--testdrive .cta-plate__title { font-size: 19px; line-height: 24px; }
  .cta-plate--testdrive .cta-plate__text { font-size: 14px; line-height: 20px; }
  .cta-plate__pill { justify-self: stretch; justify-content: center; }
  .cta-plate__steps { display: none; }

  .cta-plate--consult { grid-template-columns: minmax(0, 1fr); padding: 0; }
  .cta-plate--consult .cta-plate__copy { padding: 28px 20px 0; }
  .cta-plate--consult .cta-plate__title { font-size: 30px; }
  .cta-plate--consult .cta-plate__text { font-size: 16px; line-height: 24px; }
  .cta-plate--consult { grid-template-areas: "copy" "photo"; }
  .cta-plate--consult .btn { width: 100%; justify-content: space-between; gap: 10px; font-size: 15.5px; white-space: nowrap; }
  .cta-plate__figure { width: min(100%, 320px); margin: 20px auto 0; }
  .cta-plate__who { left: 0; bottom: 20px; }

  .cta-plate--installment { padding: 28px 20px 160px; }
  .cta-plate--installment .cta-plate__title { font-size: 19px; line-height: 24px; }
  .cta-plate__price { font-size: 52px; }
  .cta-plate__facts li { font-size: 14px; padding: 7px 12px; }
  .cta-plate__foot { margin-top: 22px; }
  .cta-plate--installment .cta-plate__art { right: -46px; bottom: -70px; width: 230px; }

  .cta-plate--guarantee { grid-template-columns: minmax(0, 1fr); padding: 28px 0; }
  .cta-plate--guarantee .cta-plate__art { justify-self: start; width: 110px; margin: 0 0 16px; }
  .cta-plate__line { font-size: 30px; }
  .cta-plate--guarantee .cta-plate__side { margin-top: 22px; padding: 22px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .14); }

  .cta-plate--community { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "topics"; gap: 22px; padding: 24px 20px 20px; }
  .cta-plate--community .cta-plate__art { position: absolute; z-index: -1; top: -14px; right: -18px; width: 124px; }
  .cta-plate--community .cta-plate__title { padding-right: 96px; font-size: 24px; }
  .cta-plate__stat b { font-size: 52px; }
  .cta-plate__stat span { font-size: 16px; }

  .cta-plate--webinar { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "when" "go"; row-gap: 18px; padding: 24px 20px 20px; }
  .cta-plate--webinar .cta-plate__art { left: auto; right: -18px; top: -14px; bottom: auto; width: 110px; }
  .cta-plate--webinar .cta-plate__copy { padding-right: 76px; }
  .cta-plate--webinar .cta-plate__when { padding: 16px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
  .cta-plate--webinar .btn { justify-content: space-between; }

  .cta-plate--inline { grid-template-columns: 52px minmax(0, 1fr); gap: 8px 14px; padding: 14px 16px 16px 12px; }
  .cta-plate--inline .cta-plate__gift { width: 52px; align-self: start; }
  .cta-plate--inline .cta-plate__link { grid-column: 2; justify-self: start; }
}
/* узкие телефоны: «веб‑разработчиком» не рвётся, поэтому колонка текста шире за счёт подарка */
@media (max-width: 400px) {
  .cta-plate--testdrive { grid-template-columns: 68px minmax(0, 1fr); column-gap: 14px; }
  .cta-plate--sticky .cta-plate__text b { font-size: 16px; }
}

/* ---------- Липкая плашка снизу (.sticky-cta): на всех ширинах. Чистый CSS — sticky внизу обёртки .cta-scope, исчезает у формы заявки ---------- */
.cta-scope { position: relative; }
.sticky-cta { position: sticky; overflow: hidden; bottom: 16px; z-index: 40; display: flex; align-items: center; gap: 16px; width: min(860px, calc(100% - 48px)); margin: -8px auto 0; padding: 10px 10px 10px 24px; border-radius: 20px; background: radial-gradient(120% 180% at 0% 50%, rgba(199, 255, 46, .12), rgba(199, 255, 46, 0) 42%), rgba(16, 17, 20, .88); border: 1px solid rgba(199, 255, 46, .22); -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%); box-shadow: 0 24px 48px -16px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .06); color: #fff; transition: transform .45s var(--spring), opacity .3s var(--ease); }
.sticky-cta::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: var(--lime); box-shadow: 0 0 12px rgba(199, 255, 46, .6); }
.sticky-cta[hidden] { display: none; }
.sticky-cta.is-away { transform: translateY(calc(100% + 28px)); opacity: 0; pointer-events: none; }
.sticky-cta__text { flex: 1 1 auto; min-width: 0; font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, .72); }
.sticky-cta__text b { margin-right: 10px; font-size: 17px; line-height: 22px; font-weight: 600; letter-spacing: -.012em; color: #fff; }
.sticky-cta .btn { flex: none; height: 48px; padding: 6px 6px 6px 18px; gap: 12px; font-size: 15px; }
.sticky-cta .btn__arrow { width: 36px; height: 36px; }
.sticky-cta__close { flex: none; width: 36px; height: 36px; display: grid; place-items: center; margin-left: -6px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: rgba(255, 255, 255, .55); cursor: pointer; transition: background .2s, color .2s, transform .3s var(--spring); }
.sticky-cta__close:hover { background: rgba(255, 255, 255, .1); color: #fff; transform: rotate(90deg); }
.sticky-cta__close:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.sticky-cta__close svg { width: 14px; height: 14px; }
/* акция в липкой плашке: лаймовая кромка, подарок, строчный таймер */
.sticky-cta--promo { padding-left: 12px; border-color: rgba(199, 255, 46, .32); background: radial-gradient(320px 120px at 0 50%, rgba(199, 255, 46, .16), rgba(199, 255, 46, 0)), rgba(16, 17, 20, .9); }
.sticky-cta__gift { flex: none; width: 52px; height: auto; margin: -14px 0 -10px; filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .5)); transform: rotate(-8deg); transition: transform .45s var(--spring); }
.sticky-cta--promo:hover .sticky-cta__gift { transform: rotate(-2deg) translateY(-3px); }
.sticky-cta .cta-plate__timer--inline { flex: none; padding: 6px 12px; border-radius: 10px; background: rgba(255, 255, 255, .06); }
@media (max-width: 767px) {
  .sticky-cta { bottom: 12px; gap: 12px; width: auto; margin: -8px 16px 0; padding: 8px 8px 8px 16px; background: rgba(16, 17, 20, .9); }
  .sticky-cta__text { font-size: 12px; line-height: 16px; }
  .sticky-cta__text b { display: block; margin: 0; font-size: 15px; line-height: 20px; white-space: normal; }
  .sticky-cta__close { position: absolute; top: -10px; right: -6px; width: 26px; height: 26px; margin: 0; border: 1px solid rgba(255, 255, 255, .2); background: #202228; color: rgba(255, 255, 255, .8); }
  .sticky-cta__close::before { content: ""; position: absolute; inset: -9px; border-radius: 50%; }
  .sticky-cta__close svg { width: 11px; height: 11px; }
  .sticky-cta--promo { padding-left: 8px; }
  .sticky-cta__gift { width: 40px; margin: -12px -4px -8px 0; }
  .sticky-cta .cta-plate__timer--inline { display: none; }
}
@media (max-width: 479px) {
  .sticky-cta { gap: 10px; }
  .sticky-cta .btn { padding-left: 14px; gap: 8px; font-size: 14px; }
  .sticky-cta .btn__arrow { width: 32px; height: 32px; }
}
@media (max-width: 359px) {
  .sticky-cta { padding-left: 12px; }
  .sticky-cta__text b { font-size: 14px; line-height: 18px; }
}

/* ---------- Промо-плашка в теле страницы ---------- */
.campaign-slot { padding-top: 24px; padding-bottom: 24px; }
.cta-plate__bonus--text { border-color: rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06); padding: 10px 18px; }
@media (prefers-reduced-motion: reduce) {
  .sticky-cta, .sticky-cta__gift, .sticky-cta__close { transition: none; }
}

/* ---------- Акция внизу окна: мини-версия промо-плашки (.cta-plate--dock) — стикер, подарок, курс ИИ, таймер, кнопка ---------- */
.cta-plate--dock { position: fixed; z-index: 60; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: min(1200px, calc(100% - 32px)); display: flex; align-items: center; gap: 20px; padding: 12px 14px 12px 112px; overflow: visible; border-radius: 22px; border: 1px solid rgba(184, 163, 255, .36); background: radial-gradient(380px 150px at 8% 100%, rgba(199, 255, 46, .2), rgba(199, 255, 46, 0) 70%), linear-gradient(100deg, #1d1446 0%, #120e27 55%, #1b1538 100%); box-shadow: 0 30px 60px -18px rgba(0, 0, 0, .85), 0 0 0 1px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .08); transform: translateX(-50%); transition: transform .5s var(--spring), opacity .3s var(--ease); animation: cta-dock-in .7s var(--spring) .5s backwards; }
.cta-plate--dock::before { content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit; pointer-events: none; opacity: .35; background-image: linear-gradient(rgba(158, 166, 173, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(158, 166, 173, .16) 1px, transparent 1px); background-size: 24px 24px; -webkit-mask-image: linear-gradient(90deg, #000, transparent 55%); mask-image: linear-gradient(90deg, #000, transparent 55%); }
.cta-plate--dock.is-away { transform: translate(-50%, calc(100% + 40px)); opacity: 0; pointer-events: none; }
.cta-plate--dock.is-closing { animation: none; transform: translate(-50%, calc(100% + 40px)); opacity: 0; }
@keyframes cta-dock-in { from { transform: translate(-50%, calc(100% + 40px)); opacity: 0; } }
.cta-plate--dock .cta-plate__gift { position: absolute; left: 4px; bottom: 4px; width: 100px; transform: rotate(-9deg); }
.cta-plate--dock:hover .cta-plate__gift { transform: rotate(-4deg) translateY(-6px); }
.cta-plate--dock .cta-plate__sticker { flex: none; margin: 0; transform: rotate(-3deg); }
.cta-plate--dock:hover .cta-plate__sticker { transform: rotate(-5deg) translateY(-1px); }
.cta-plate--dock .cta-plate__sticker-paper { gap: 8px; padding: 6px 16px 7px 14px; }
.cta-plate--dock .cta-plate__sticker-big { font-size: 30px; line-height: 32px; }
.cta-plate--dock .cta-plate__sticker-small { font-size: 12px; line-height: 14px; }
.cta-plate--dock .cta-plate__sticker-small span { font-size: 11px; }
.cta-plate__dock-copy { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.cta-plate__dock-title { max-width: 100%; font-size: 16px; line-height: 20px; font-weight: 700; letter-spacing: -.015em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cta-plate__dock-text { font-size: 14px; line-height: 18px; color: var(--muted-2); }
.cta-plate--dock .cta-plate__bonus { margin: 0; gap: 8px; padding: 3px 12px 3px 3px; border-radius: 10px; font-size: 14px; line-height: 18px; white-space: nowrap; }
.cta-plate--dock .cta-plate__bonus img { width: 26px; height: 26px; }
.cta-plate__dock-timer { flex: none; display: flex; flex-direction: column; gap: 4px; }
.cta-plate--dock .cta-plate__caption { font-size: 11px; line-height: 14px; }
.cta-plate--dock .cta-plate__timer { gap: 4px; }
.cta-plate--dock .cta-plate__unit { flex: none; width: 46px; padding: 5px 0 4px; border-radius: 10px; }
.cta-plate--dock .cta-plate__num { font-size: 20px; line-height: 24px; }
.cta-plate--dock .cta-plate__lbl { font-size: 9px; line-height: 11px; }
.cta-plate--dock .cta-plate__colon { margin-top: -10px; font-size: 14px; }
.cta-plate--dock .btn { flex: none; height: 52px; gap: 14px; padding: 6px 6px 6px 20px; }
.cta-plate--dock .cta-plate__close { position: static; flex: none; width: 36px; height: 36px; margin-left: -6px; }
.cta-plate--dock .cta-plate__close svg { width: 14px; height: 14px; }
body.has-cta-dock { padding-bottom: 104px; }
@media (max-width: 1279px) {
  .cta-plate--dock { gap: 16px; padding-left: 100px; }
  .cta-plate--dock .cta-plate__gift { width: 88px; }
  .cta-plate__dock-title { display: none; }
  .cta-plate--dock .cta-plate__caption { display: none; }
  .cta-plate--dock .cta-plate__sticker-small { display: none; }
}
@media (max-width: 1099px) {
  .cta-plate__dock-timer { display: none; }
}
@media (max-width: 1023px) {
  .cta-plate--dock .cta-plate__caption { display: none; }
  .cta-plate--dock .cta-plate__unit { width: 38px; }
  .cta-plate--dock .cta-plate__num { font-size: 17px; line-height: 21px; }
  .cta-plate--dock .cta-plate__lbl { display: none; }
  .cta-plate--dock .cta-plate__colon { margin-top: 0; }
  .cta-plate--dock .cta-plate__sticker-small { display: none; }
  .cta-plate__dock-timer { display: none; }
}
@keyframes cta-dock-in-m { from { transform: translateY(calc(100% + 30px)); opacity: 0; } }
@media (max-width: 767px) {
  .cta-plate--dock { left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); width: auto; transform: none; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "sticker copy" "btn btn"; gap: 10px 12px; padding: 12px 12px 12px 14px; border-radius: 20px; animation-name: cta-dock-in-m; }
  .cta-plate--dock.is-away, .cta-plate--dock.is-closing { transform: translateY(calc(100% + 30px)); }
  .cta-plate--dock .cta-plate__gift { display: none; }
  .cta-plate--dock .cta-plate__sticker { grid-area: sticker; align-self: center; }
  .cta-plate--dock .cta-plate__sticker-paper { padding: 5px 12px 6px 10px; }
  .cta-plate--dock .cta-plate__sticker-big { font-size: 24px; line-height: 26px; }
  .cta-plate--dock .cta-plate__sticker-small { display: flex; font-size: 11px; line-height: 13px; }
  .cta-plate--dock .cta-plate__sticker-small span { font-size: 10px; }
  .cta-plate__dock-copy { grid-area: copy; align-self: center; }
  .cta-plate--dock .cta-plate__bonus { font-size: 13px; padding-right: 10px; white-space: normal; }
  .cta-plate--dock .cta-plate__bonus img { width: 22px; height: 22px; }
  .cta-plate__dock-timer { display: none; }
  .cta-plate--dock .btn { grid-area: btn; width: 100%; height: 46px; justify-content: space-between; font-size: 15px; }
  .cta-plate--dock .cta-plate__close { position: absolute; top: -10px; right: -4px; width: 28px; height: 28px; margin: 0; background: #202228; border-color: rgba(255, 255, 255, .22); }
  .cta-plate--dock .cta-plate__close svg { width: 11px; height: 11px; }
  body.has-cta-dock { padding-bottom: 132px; }
}
@media (prefers-reduced-motion: reduce) {
  .cta-plate--dock { animation: none; transition: none; }
}

/* Промо на широких экранах — компактная полоса: текст, подарок сразу за ним, таймер и кнопка справа. Было 400+ px высоты при трёх строках контента */
@media (min-width: 1280px) {
  .cta-plate--promo { grid-template-columns: auto clamp(170px, 13vw, 230px) minmax(300px, 360px); justify-content: space-between; min-height: 0; padding: 28px 44px; row-gap: 0; }
  .cta-plate--promo .cta-plate__title { max-width: 20ch; font-size: clamp(30px, 2.5vw, 42px); line-height: 1.04; }
  .cta-plate--promo .cta-plate__sticker { margin-bottom: 14px; }
  .cta-plate--promo .cta-plate__sticker-big { font-size: 38px; line-height: 40px; }
  .cta-plate--promo .cta-plate__bonus { margin-top: 16px; }
  .cta-plate--promo .cta-plate__gift { align-self: center; margin: -36px 0 -44px; }
  .cta-plate--promo .cta-plate__action { gap: 10px; }
  .cta-plate--promo .cta-plate__num { font-size: 30px; line-height: 36px; }
  .cta-plate--promo .cta-plate__unit { padding: 8px 2px 7px; }
}
