/* Teique front — Shop page (v2/default/shop) */
.v2-page{background:var(--color-white)}
.v2-card-texture{position:absolute;inset:0;background:url('/v2/assets/illustrations/background-abstract.png') center/cover no-repeat;opacity:.3;mix-blend-mode:overlay;pointer-events:none}
.v2-white{color:#fff}
.v2-muted-on-dark{color:rgba(255,255,255,.94)}
.v2-lead{font-family:var(--font-inter);font-weight:300;font-size:20px;line-height:1.55;color:rgba(255,255,255,.94);max-width:56ch}
.v2-lead-dark{font-family:var(--font-inter);font-weight:300;font-size:20px;line-height:1.5;color:var(--color-black);max-width:54ch}
.v2-muted{font-family:var(--font-inter);font-weight:300;font-size:12px;line-height:1.5;color:var(--color-gray)}
.v2-date{font-family:var(--font-inter);font-weight:400;font-size:12px;color:var(--color-gray)}
.v2-tag-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v2-block{padding-bottom:clamp(56px,8vw,96px)}
.v2-block__head{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.v2-block__head h2{margin:0;font-family:var(--font-manrope);font-weight:700;font-size:36px;color:var(--color-primary-full)}
.v2-block__head p{margin:0;font-family:var(--font-inter);font-weight:300;font-size:16px;color:var(--color-gray);max-width:70ch}
.ds-section-chips{display:flex;flex-wrap:wrap;gap:10px}

/* SHOP HERO */
.v2-shop-hero{position:relative;overflow:hidden;margin-top:8px;background:linear-gradient(158deg,oklch(.42 .098 244) 0%,oklch(.53 .122 240) 42%,oklch(.66 .115 236) 100%)}
.v2-shop-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:88px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.28) 46%,var(--color-white) 100%);pointer-events:none}
.v2-shop-hero__inner{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(112px,10vw,148px)}
.v2-shop-hero__inner h1{margin:0;font-family:var(--font-manrope);font-weight:700;font-size:clamp(38px,4.6vw,60px);line-height:1.06;max-width:16ch}
.v2-shop-hero__facts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:6px;font-family:var(--font-inter);font-weight:400;font-size:16px}
.v2-shop-hero__dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.55)}

/* FEATURED */
.v2-featured{display:grid;grid-template-columns:380px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,3vw,40px);border-radius:16px;background:var(--color-white-gradient);box-shadow:var(--shadow-card)}
.v2-featured__media{display:flex;align-items:center;justify-content:center;padding:20px;border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}
.v2-featured__media img{width:100%;max-height:340px;object-fit:contain}
.v2-featured__body{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.v2-featured__body h2{margin:0;font-family:var(--font-manrope);font-weight:700;font-size:36px;line-height:1.15;color:var(--color-primary-full)}
.v2-featured__pills{display:flex;flex-wrap:wrap;gap:10px}
.v2-featured__pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:50px;background:#fff;box-shadow:var(--shadow-card);font-family:var(--font-inter);font-weight:400;font-size:12px;color:var(--color-gray)}
.v2-featured__pill img{width:12px;height:12px}
.v2-featured__buy{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding-top:6px}
.v2-featured__buy>div:first-child{display:flex;flex-direction:column;gap:2px}
.v2-featured__price{font-family:var(--font-manrope);font-weight:700;font-size:36px;line-height:1;color:var(--color-primary-full)}
.v2-featured__buy-actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:860px){.v2-featured{grid-template-columns:minmax(0,1fr)}}

/* AUDIENCE ROW */
.v2-audience-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:28px}
.v2-audience-tile{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}
.v2-audience-tile__label{font-family:var(--font-manrope);font-weight:700;font-size:16px;color:var(--color-primary-full)}
.v2-audience-tile__count{font-family:var(--font-inter);font-weight:400;font-size:12px;color:var(--color-gray)}
.v2-audience-tile--active{background-image:var(--color-primary-gradient)}
.v2-audience-tile--active .v2-audience-tile__label{color:#fff}
.v2-audience-tile--active .v2-audience-tile__count{color:rgba(255,255,255,.85)}
@media (max-width:640px){.v2-audience-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* CATALOGUE CONTROLS */
.v2-catalogue-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.v2-catalogue-search{flex:0 1 320px;min-width:240px}
.v2-catalogue-result-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid var(--color-light-gray)}
.v2-catalogue-result-row__label{font-family:var(--font-manrope);font-weight:600;font-size:20px;color:var(--color-primary-full)}

/* PRODUCT GRID */
.v2-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,288px),1fr));gap:20px}
.v2-shop-card{display:flex;flex-direction:column;gap:16px;padding:18px;border-radius:16px;background:#fff;box-shadow:var(--shadow-card);transition:transform .2s ease}
.v2-shop-card:hover{transform:translateY(-3px)}
.v2-shop-card__link{display:contents;text-decoration:none;color:inherit}
.v2-shop-card__cover{display:flex;align-items:center;justify-content:center;height:170px;padding:14px;border-radius:12px;background:var(--color-white-gradient);box-shadow:var(--shadow-inner);overflow:hidden}
.v2-shop-card__cover img{width:100%;height:100%;object-fit:contain}
.v2-shop-card__mono{font-family:var(--font-manrope);font-weight:700;font-size:20px;line-height:1.2;color:var(--color-primary-light);text-align:center}
.v2-shop-card__body{display:flex;flex-direction:column;gap:6px}
.v2-shop-card__name{font-family:var(--font-manrope);font-weight:600;font-size:20px;line-height:1.25;color:var(--color-primary-full)}
.v2-shop-card__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-inter);font-weight:300;font-size:16px;line-height:1.45;color:var(--color-gray)}
.v2-shop-card__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--font-inter);font-weight:400;font-size:12px;color:var(--color-gray)}
.v2-shop-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--color-light-gray)}
.v2-shop-card__price{font-family:var(--font-manrope);font-weight:700;font-size:20px;color:var(--color-primary-full)}

/* CHECKOUT */
.v2-checkout-split{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:clamp(24px,3vw,48px);align-items:start}
.v2-checkout-forms{display:flex;flex-direction:column;gap:28px}
.v2-checkout-card{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.6vw,32px);border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}
.v2-checkout-card__title{font-family:var(--font-manrope);font-weight:700;font-size:20px;color:var(--color-primary-full)}
.v2-checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
.v2-checkout-summary{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,2.6vw,32px);border-radius:16px;background:var(--color-white-gradient);box-shadow:var(--shadow-card)}
.v2-checkout-summary__items{display:flex;flex-direction:column}
.v2-checkout-summary__item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 0;border-top:1px solid var(--color-light-gray)}
.v2-checkout-summary__item>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.v2-checkout-summary__item-name{font-family:var(--font-manrope);font-weight:600;font-size:16px;line-height:1.3;color:var(--color-primary-full)}
.v2-checkout-summary__item-total{font-family:var(--font-manrope);font-weight:600;font-size:16px;color:var(--color-primary-full)}
.v2-checkout-summary__totals{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--color-light-gray)}
.v2-checkout-summary__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-family:var(--font-inter);font-weight:400;font-size:16px;color:var(--color-gray)}
.v2-checkout-summary__row--total{padding-top:10px;border-top:1px solid var(--color-light-gray);font-family:var(--font-manrope);font-weight:700;font-size:20px;color:var(--color-primary-full)}
.v2-checkout-summary__row--total span:last-child{font-size:36px;line-height:1}
.v2-checkout-summary__item>.v2-checkout-summary__item-controls{grid-column:1/-1;display:flex;flex-direction:row;gap:8px;padding-top:6px}
.v2-checkout-summary__item-controls .ds-btn{height:32px;padding:0 12px;font-size:12px}
.v2-checkout-consent{grid-column:1/-1;display:flex;flex-direction:column;gap:10px;margin-top:6px}
.v2-checkout-consent__row{display:flex;gap:10px;align-items:flex-start;font-family:var(--font-inter);font-weight:300;font-size:13px;line-height:1.5;color:var(--color-gray)}
.v2-checkout-consent__row input{margin-top:3px}
@media (max-width:1000px){.v2-checkout-split{grid-template-columns:minmax(0,1fr)}}

/* ---------- Сверка с макетом Shop ---------- */
/* Hero: свой градиент и отступы. Вес поднят — .ds-hero-band из components.css
   подключается позже и перебивал фон и верхний отступ. Полоса начинается
   в 8px от верха страницы, под шапкой, как в макете. */
.v2-shop-hero.ds-hero-band{background-image:linear-gradient(158deg,oklch(.42 .098 244) 0%,oklch(.53 .122 240) 42%,oklch(.66 .115 236) 100%)}
.v2-shop-hero.ds-hero-band::before{content:'';position:absolute;inset:0;background:radial-gradient(78% 120% at 88% 12%,rgba(255,255,255,.20) 0%,rgba(255,255,255,0) 62%);pointer-events:none}
.v2-shop-hero.ds-hero-band>.v2-shop-hero__inner{padding:clamp(104px,10vw,140px)}
.v2-shop-hero__inner .ds-tag--pill-on-dark{padding:7px 18px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.42)}
.v2-shop-hero__facts span:not(.v2-shop-hero__dot){color:rgba(255,255,255,.9)}
/* Featured — своя секция с отступами сверху и снизу. */
.v2-block.v2-featured-block{padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(48px,6vw,72px)}
/* Каталог: строки через 28px. */
#catalogue.v2-block{padding-bottom:clamp(64px,8vw,96px)}
.v2-catalogue-controls{margin-bottom:28px}
.v2-catalogue-result-row{padding-bottom:4px;margin-bottom:28px}
