/* Teique front — переиспользуемые компоненты дизайн-системы.
   Разметка и стили сняты с рендера макетов (_ds_bundle.js), здесь —
   их статичный CSS-эквивалент без рантайма канвы. */

/* Высота шапки: на неё полосы hero заходят под шапку, как в макетах (там это
   --teique-header-h). Точное значение ставит app.js по факту, здесь — умолчания. */
:root{--v2-header-h:102px}
@media (max-width:1180px){:root{--v2-header-h:96px}}

/* ---------- Header ---------- */
.ds-header{position:sticky;top:0;z-index:1011;width:100%;padding:16px clamp(20px,5.5vw,80px);}
.ds-header__pill{display:flex;align-items:center;gap:40px;background:#fff;border-radius:15px;box-shadow:0 0 24px 8px rgba(0,0,0,.15);padding:11px 24px 11px 16px}
.ds-header__logo{flex-shrink:0;width:auto;height:36px;padding:0 5px;display:flex;align-items:center}
.ds-header__logo img{width:auto;height:36px;object-fit:contain}
.ds-nav{display:flex;gap:40px;align-items:center;flex:1}
.ds-nav__item{position:relative}
.ds-nav__link{display:flex;align-items:center;gap:8px;font-family:var(--font-manrope);font-weight:400;font-size:16px;color:var(--color-text-blue);padding:0 16px;white-space:nowrap;cursor:pointer}
.ds-nav__link img{width:14px;height:8px;filter:brightness(0) saturate(100%) invert(56%) sepia(89%) saturate(1053%) hue-rotate(165deg) brightness(93%) contrast(91%);transition:transform .2s ease}
.ds-nav__item.is-open .ds-nav__link img{transform:rotate(180deg)}
.ds-nav__dropdown{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);display:none;flex-direction:column;gap:2px;min-width:200px;padding:10px;background:#fff;border-radius:var(--radius-standard);box-shadow:var(--shadow-card);z-index:1100}
.ds-nav__item.is-open .ds-nav__dropdown{display:flex}
.ds-nav__dropdown a{padding:10px 14px;border-radius:var(--radius-small);font-family:var(--font-manrope);font-weight:400;font-size:15px;color:var(--color-text-blue);text-decoration:none;white-space:nowrap}
.ds-nav__dropdown a:hover{background:rgba(37,157,213,.08)}
.ds-header__actions{display:flex;align-items:center;gap:24px;flex-shrink:0}
.ds-header__icon-btn{width:32px;height:32px;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ds-header__icon-btn img{width:100%;height:100%}
.ds-header__icon-btn--login{width:48px;height:48px}
.ds-header__burger{display:none;background:none;border:0;cursor:pointer;padding:0;width:20px;height:16px;position:relative}
.ds-header__burger span{display:block;position:absolute;left:0;width:20px;height:2.5px;border-radius:11px;background:var(--color-primary-full);transition:.3s}
.ds-header__burger span:nth-child(1){top:0}
.ds-header__burger span:nth-child(2){top:50%;transform:translateY(-50%)}
.ds-header__burger span:nth-child(3){bottom:0}
.ds-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1010;opacity:0;visibility:hidden;transition:.3s}
.ds-drawer{position:fixed;top:0;left:0;width:300px;max-width:86vw;height:100vh;background:#fff;border-radius:0 16px 16px 0;box-shadow:4px 0 16px rgba(0,0,0,.15);padding:24px;z-index:1020;overflow-y:auto;display:flex;flex-direction:column;transform:translateX(-100%);transition:.3s}
body.ds-drawer-open .ds-drawer{transform:translateX(0)}
body.ds-drawer-open .ds-drawer-overlay{opacity:1;visibility:visible}
.ds-drawer nav{display:flex;flex-direction:column;flex:1}
.ds-drawer nav a{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-manrope);font-size:16px;color:var(--color-text-blue);padding:16px 0;border-bottom:1px solid var(--color-light-gray)}
.ds-drawer nav a:first-child{border-top:1px solid var(--color-light-gray)}
.ds-drawer .ds-btn{width:100%;justify-content:center;margin:16px 0;color: #fff;}

@media (max-width:1180px){
  .ds-header__pill{position:relative;justify-content:space-between;padding:16px}
  .ds-header__logo{position:absolute;left:50%;transform:translateX(-50%);height:36px;width:auto;padding:0}
  .ds-header__logo img{height:100%;width:auto}
  .ds-nav{display:none}
  .ds-header__burger{display:block}
  .ds-header__actions .ds-btn,.ds-header__actions .ds-header__icon-btn:not(.ds-header__icon-btn--login){display:none}
  .ds-header__actions .ds-header__icon-btn--login{width:32px;height:32px}
}

/* ---------- Buttons ---------- */
.ds-btn{border:0;border-radius:var(--radius-pill);padding:8px 24px;font-family:var(--font-manrope);font-weight:var(--font-weight-semibold);font-size:16px;line-height:var(--line-height-button);cursor:pointer;transition:var(--ease-standard);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-narrow-s);box-shadow:var(--shadow-card);text-align:center;background:var(--color-primary-gradient);color:#fff}
.ds-btn:hover{opacity:.92;color:#fff}
.ds-btn img{width:16px;height:16px}
.ds-btn--secondary{background:#fff;color:var(--color-primary-full)}
.ds-btn--secondary:hover{color:var(--color-secondary-full)}
.ds-btn--outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);box-shadow:none}
.ds-btn--outline:hover{background:rgba(255,255,255,.14);color:#fff}
.ds-btn--full{width:100%}
.ds-btn[disabled]{background:var(--color-disabled-gradient);cursor:not-allowed;opacity:.7}
/* Пилюля-ссылка макетов: не компонент Button (тот 38px и с тенью), а ссылка
   высотой 44px без тени — так в макетах свёрстаны крупные белые и прозрачные
   кнопки в hero, полосах и CTA. Поведение при наведении — data-motion="press arrow". */
.ds-btn--pill{height:44px;padding:0 24px;box-shadow:none}
.ds-btn--pill-lg{height:48px;padding:0 26px}

/* ---------- Tags ---------- */
.ds-tag{display:inline-block;padding:4px 12px;border-radius:var(--radius-standard);font-family:var(--font-inter);font-weight:var(--font-weight-bold);font-size:var(--font-size-secondary);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.ds-tag--primary{background:var(--color-primary-light);border:1px solid var(--color-primary-full)}
.ds-tag--secondary{background:var(--color-secondary-light);border:1px solid var(--color-secondary-full)}
.ds-tag--green{background:var(--color-facet-green-light);border:1px solid var(--color-facet-green-full)}
.ds-tag--yellow{background:var(--color-facet-yellow-light);border:1px solid var(--color-facet-yellow-full);color:var(--color-black)}
.ds-tag--purple{background:var(--color-facet-purple-light);border:1px solid var(--color-facet-purple-full)}
.ds-tag--magenta{background:var(--color-facet-magenta-light);border:1px solid var(--color-facet-magenta-full)}
.ds-tag--red{background:var(--color-facet-red-light);border:1px solid var(--color-facet-red-full)}
/* Оверлейный вариант поверх фото/градиента (как в hero-баннерах макетов) */
.ds-tag--pill-on-dark{border-radius:50px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.34);font-family:var(--font-manrope);font-weight:600;font-size:12px;padding:5px 14px;box-shadow:none}

/* ---------- Chips ---------- */
.ds-chip{padding:6px 14px;line-height:normal;border-radius:999px;cursor:pointer;font-family:var(--font-inter);font-size:13px;background:#fff;border:1px solid var(--color-light-gray);color:var(--color-gray);box-shadow:none;transition:var(--ease-fast)}
.ds-chip.is-active{background:var(--color-primary-light);border-color:var(--color-primary-full);color:#fff;box-shadow:var(--shadow-card)}

/* ---------- Form controls ---------- */
.ds-field{display:flex;flex-direction:column;gap:8px}
.ds-field__label{font-family:var(--font-manrope);font-weight:var(--font-weight-semibold);font-size:14px;color:var(--color-black)}
.ds-input,.ds-select{background:var(--color-white-gradient);border:0;border-radius:var(--radius-standard);padding:16px;font-family:var(--font-inter);font-size:16px;color:var(--color-black);box-shadow:var(--shadow-inner);outline:none;width:100%;transition:var(--ease-standard)}
.ds-input::placeholder{color:var(--color-gray)}
.ds-input:focus,.ds-select:focus{box-shadow:var(--shadow-inner),0 0 0 2px var(--color-primary-full)}
.ds-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23808080' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.ds-segmented{display:inline-flex;border:1px solid var(--color-light-gray);border-radius:var(--radius-pill);padding:4px;gap:4px}
.ds-segmented button{border:0;background:none;padding:8px 20px;border-radius:var(--radius-pill);font-family:var(--font-manrope);font-size:14px;color:var(--color-gray);cursor:pointer;transition:var(--ease-fast)}
.ds-segmented button.is-active{background:var(--color-primary-gradient);color:#fff;box-shadow:var(--shadow-card)}

/* ---------- Dropdown / accordion card ---------- */
/* Карточка-аккордеон — по компоненту DropdownCard макетов: белая карточка с
   тенью, вопрос 20px, стрелка 20px, ответ через 12px. */
.ds-dropdown-card{background:#fff;border-radius:var(--radius-standard);box-shadow:var(--shadow-card);padding:var(--spacing-narrow-l);transition:var(--ease-standard)}
.ds-dropdown-card+.ds-dropdown-card{margin-top:12px}
.v2-faq-grid>.ds-dropdown-card+.ds-dropdown-card{margin-top:0}
.ds-dropdown-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-narrow-m);width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left;font-family:var(--font-manrope);font-weight:var(--font-weight-semibold);font-size:var(--font-size-title-large);color:var(--color-text-blue)}
.ds-dropdown-card__head::after{content:'';width:20px;height:20px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23259dd5' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E") center/20px no-repeat;transform:rotate(180deg);transition:transform .3s}
.ds-dropdown-card.is-open .ds-dropdown-card__head::after{transform:rotate(0)}
.ds-dropdown-card__body{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s,opacity .3s}
.ds-dropdown-card__body-inner{padding-top:12px;font-family:var(--font-inter);font-weight:300;font-size:16px;line-height:1.5;color:var(--color-gray)}
.ds-dropdown-card.is-open .ds-dropdown-card__body{max-height:400px;opacity:1}

/* ---------- Footer ---------- */
.ds-footer{background:var(--color-primary-gradient);color:#fff;padding:var(--spacing-standard-l) 0 var(--spacing-narrow-l)}
.ds-footer__inner{width:100%;max-width:1440px;margin:0 auto;padding:0 96px;display:flex;flex-direction:column;gap:var(--spacing-standard-s)}
.ds-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:var(--spacing-standard-s);align-items:start}
.ds-footer__brand{display:flex;flex-direction:column;gap:var(--spacing-narrow-l);max-width:320px}
.ds-footer__brand img{height:48px;width:auto;max-width:190px;object-fit:contain;}
.ds-footer__social{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.ds-footer__social a{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.ds-footer__social img{width:24px;height:24px}
.ds-footer__col h3{font-family:var(--font-manrope);font-weight:var(--font-weight-semibold);font-size:16px;margin-bottom:16px;line-height:var(--line-height-button)}
.ds-footer__col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ds-footer__col a{color:#fff;font-family:var(--font-inter);font-size:16px}
.ds-footer__col a:hover{opacity:.8;color:#fff}
.ds-footer__address{display:flex;flex-direction:column;gap:8px;font-family:var(--font-inter);font-size:12px;line-height:var(--line-height-normal)}
.ds-footer__address strong{display:block;font-family:var(--font-manrope);font-weight:var(--font-weight-semibold);font-size:16px}
.ds-footer__address p{margin:0}
.ds-footer__bottom{border-top:1px solid rgba(255,255,255,.28);padding-top:var(--spacing-narrow-l);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-narrow-l);flex-wrap:wrap}
.ds-footer__legal{display:flex;gap:var(--spacing-narrow-l);flex-wrap:wrap}
.ds-footer__legal a{color:#fff;font-size:12px}
.ds-footer__copy{font-family:var(--font-inter);font-weight:var(--font-weight-light);font-size:12px;letter-spacing:.24px;margin:0}
@media (max-width:1100px){.ds-footer__inner{padding:0 32px}.ds-footer__grid{grid-template-columns:1fr 1fr}.ds-footer__brand{grid-column:1/-1}}
@media (max-width:640px){.ds-footer{padding-top:40px}.ds-footer__inner{padding:0 24px;gap:24px}.ds-footer__grid{grid-template-columns:1fr;gap:24px}}

/* ---------- Layout helpers ---------- */
.ds-section{max-width:1440px;margin:0 auto;padding:0 clamp(20px,5.5vw,80px);padding-bottom: clamp(56px, 8vw, 96px)}
.ds-hero-band{position:relative;overflow:hidden;background-image:var(--color-primary-gradient);margin-top:calc(-1 * var(--v2-header-h));margin-bottom: clamp(56px, 8vw, 96px);}
.ds-hero-band>.ds-section{padding:calc(var(--v2-header-h) + clamp(20px,3vw,40px)) clamp(20px, 5.5vw, 80px) clamp(48px, 6vw, 88px)}
.ds-marquee-mask{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.ds-marquee{display:flex;align-items:center;gap:72px;width:max-content;padding:8px 36px;animation:ds-marquee 45s linear infinite}
.ds-marquee:hover{animation-play-state:paused}
@keyframes ds-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.ds-marquee{animation:none}}

/* ---------- Floating subscribe widget (bottom-right, every page) ---------- */
.v2-float-sub{position:fixed;right:24px;bottom:24px;z-index:1030}
.v2-float-sub__btn{display:grid;place-items:center;width:60px;height:60px;border:0;border-radius:50%;background-image:var(--color-primary-gradient);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .2s ease}
.v2-float-sub__btn:hover{transform:scale(1.06)}
.v2-float-sub__btn img{height:32px;width:auto}
.v2-float-sub__panel{position:absolute;right:0;bottom:calc(100% + 12px);width:min(320px,calc(100vw - 48px));border-radius:16px;background:#fff;box-shadow:var(--shadow-card);overflow:hidden;transform-origin:bottom right;transform:translateY(8px) scale(.96);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.v2-float-sub.is-open .v2-float-sub__panel{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
.v2-float-sub__panel-body{display:flex;flex-direction:column;gap:14px;padding:22px 22px 24px}
.v2-float-sub__panel-body h4{margin:0;font-family:var(--font-manrope);font-weight:700;font-size:20px;line-height:1.25;color:var(--color-primary-full)}
.v2-float-sub__panel-body p{margin:0;font-family:var(--font-inter);font-weight:300;font-size:15px;line-height:1.45;color:var(--color-gray)}
.v2-float-sub__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v2-float-sub__fine{font-family:var(--font-inter);font-weight:400;font-size:12px;color:var(--color-gray)}
.v2-float-sub__close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:0;background:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--color-gray);font-size:18px;line-height:1}
.v2-float-sub__close:hover{background:var(--color-light-gray)}

.v2-hero__inner{padding: calc(var(--v2-header-h) + clamp(20px,3vw,40px)) clamp(20px, 5.5vw, 80px) clamp(48px, 6vw, 88px)}
.v2-shop-hero__inner{padding: calc(var(--v2-header-h) + clamp(20px,3vw,40px)) clamp(20px, 5.5vw, 80px) clamp(48px, 6vw, 88px)}
.v2-auth{margin-top:calc(-1 * var(--v2-header-h))}
.v2-auth__brand{padding-top:calc(var(--v2-header-h) + 43px)}
.v2-auth__form-wrap{padding-top:calc(var(--v2-header-h) + 43px)}

/* ---------- Cart bar (floating pill, bottom-centre, replaces the header icon) ---------- */
.v2-cart-bar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(0);z-index:1030;display:flex;align-items:center;gap:14px;border:0;padding:14px 28px;border-radius:var(--radius-pill);background-image:var(--color-primary-gradient);color:#fff;font-family:var(--font-manrope);font-weight:700;font-size:16px;box-shadow:var(--shadow-card);cursor:pointer;transition:transform .2s ease,opacity .2s ease}
.v2-cart-bar:hover{transform:translateX(-50%) translateY(-2px)}
.v2-cart-bar[hidden]{display:none}
.v2-cart-bar__divider{width:1px;height:18px;background:rgba(255,255,255,.5)}

/* ---------- Cart drawer (slides in from the right on add-to-cart) ---------- */
.v2-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1040;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.v2-cart-overlay.is-open{opacity:1;visibility:visible}
.v2-cart-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;background:#fff;box-shadow:var(--shadow-card);z-index:1050;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease}
.v2-cart-drawer.is-open{transform:translateX(0)}
.v2-cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-light-gray)}
.v2-cart-drawer__title{font-family:var(--font-manrope);font-weight:700;font-size:18px;color:var(--color-primary-full)}
.v2-cart-drawer__close{width:32px;height:32px;border:0;background:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--color-gray);font-size:20px;line-height:1}
.v2-cart-drawer__close:hover{background:var(--color-light-gray)}
.v2-cart-drawer__body{flex:1;overflow-y:auto;padding:16px 24px}
.v2-cart-drawer__items{display:flex;flex-direction:column;gap:16px}
.v2-cart-item{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:start}
.v2-cart-item__image{width:56px;height:56px;border-radius:10px;background:var(--color-white-gradient) center/cover no-repeat;flex-shrink:0}
.v2-cart-item__name{margin:0 0 4px;font-family:var(--font-manrope);font-weight:600;font-size:14px;line-height:1.3;color:var(--color-black)}
.v2-cart-item__price{margin:0;font-family:var(--font-inter);font-size:13px;color:var(--color-gray)}
.v2-cart-item__qty{display:flex;align-items:center;gap:8px;margin-top:8px}
.v2-cart-item__qty button{width:22px;height:22px;border:1px solid var(--color-light-gray);background:#fff;border-radius:50%;cursor:pointer;line-height:1;color:var(--color-primary-full)}
.v2-cart-item__qty button:hover{background:var(--color-white-gradient)}
.v2-cart-item__total{font-family:var(--font-manrope);font-weight:700;font-size:14px;color:var(--color-primary-full);text-align:right;white-space:nowrap}
.v2-cart-drawer__foot{border-top:1px solid var(--color-light-gray);padding:16px 24px 24px;display:flex;flex-direction:column;gap:14px}
.v2-cart-drawer__foot[hidden]{display:none}
.v2-cart-drawer__subtotal{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-manrope);font-weight:700;font-size:16px;color:var(--color-black)}

/* ---------- Checkout modal (hidden until "Checkout" is pressed) ---------- */
.v2-checkout-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1060;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:clamp(24px,4vw,64px) 20px}
.v2-checkout-modal-overlay.is-open{display:flex}
.v2-checkout-modal{position:relative;width:100%;max-width:1040px;background:var(--color-white,#fff);border-radius:16px;box-shadow:var(--shadow-card);padding:clamp(24px,3vw,40px)}
.v2-checkout-modal__close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:0;background:none;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--color-gray);font-size:22px;line-height:1}
.v2-checkout-modal__close:hover{background:var(--color-light-gray)}

/* ---------- FAQ grid (coaching, contacts, faq) ---------- */
.v2-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
@media (max-width:900px){.v2-faq-grid{grid-template-columns:1fr}}

/* Hover и нажатие .ds-btn и .v2-audience-cta задаёт js/motion.js — по правилам макетов. */
.v2-instrument-card__cta{transition: transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;}
.v2-instrument-card__cta:hover{transform: translateY(-1px)}
.v2-instrument-card__cta:hover img,.v2-instrument-card__cta:hover span{transform: translateX(4px);}
.v2-instrument-card__cta img,.v2-instrument-card__cta span{transition: transform .25s ease;}
/* ---------- Общие умолчания страниц ----------
   Шапка блока и текстура карточки нужны почти каждой странице, а описаны были
   только в CSS некоторых из них — на Business, Coach и Personal заголовки
   секций рисовались стилем браузера. Вес нулевой (:where), поэтому правило
   самой страницы, если оно есть, всегда сильнее. */
:where(.v2-block__head){display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
:where(.v2-block__head--row){flex-direction:row;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px}
:where(.v2-block__head--row>div){display:flex;flex-direction:column;gap:12px;flex:1 1 420px}
:where(.v2-block__head) h2{margin:0;font-family:var(--font-manrope);font-weight:700;font-size:36px;color:var(--color-primary-full)}
:where(.v2-block__head) p{margin:0;font-family:var(--font-inter);font-weight:300;font-size:16px;color:var(--color-gray)}
:where(.v2-card-texture){position:absolute;inset:0;background:url('/v2/assets/illustrations/background-abstract.png') center/cover no-repeat;opacity:.18;mix-blend-mode:soft-light;pointer-events:none}
.ds-btn--raised{box-shadow:var(--shadow-card)}
/* Внутренние отступы карточек — по макетам: название и описание модуля через
   4px, название и текст карточки отчёта через 6px. */
.v2-module-item>div{display:flex;flex-direction:column;gap:4px}
.v2-report-card>div:last-child{display:flex;flex-direction:column;gap:6px}
/* Стрелка в кнопке — через 12px, как во вложенном span кнопок макетов; в шапке — 16px. */
.ds-btn{gap:12px}
.ds-header .ds-btn{gap:16px}
