/* Product Page Styles — thumbnails stay vertical (right side) until 768px; below 768px they move under the main image horizontally */

:root {
    --main-color: #00c9c8;
    --dark-bg: #2e3137;
    --light-bg: #e8efef;
    --text-color: #2e3137;
}

/* Контейнер уведомления */
.notice {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: 100%;
}
.notice .short-desc {
    text-align: left;
    width: 100%;
    margin: 0;
}
.notice .desc-toggle {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 8px;
    line-height: 0;
    cursor: pointer;
    user-select: none;
    transition: margin 200ms ease;
}
.notice .desc-toggle .chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px; height: 20px;
    transition: transform 200ms ease, opacity 150ms ease;
    opacity: 0.35;
}
.short-desc{ text-align: center; }

/* ===== Base layout ===== */
.variant-block {
    border-top: 1px solid #ddd;
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
    margin-top: 2rem;
    background: #fff;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
    border-radius: 0.5rem;
}
.variant-block:nth-child(even){ background:#f9f9f9; }

.variant-section {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
}

.gallery-block, .variant-options {
    flex: 1 1 0;
    min-width: 320px;
    max-width: 600px;
    box-sizing: border-box;
}
.gallery-block { display:flex; flex-direction:column; width:100%; }
.variant-options { display:flex; flex-direction:column; gap:0; margin-left:2rem; }
.variant-options > * + *{ margin-top:1.5rem; }

h1.variant-title{
    text-align: center;
    margin-top: .5em;
}
/* меньше зазор между заголовком и кодом */
.variant-options h2.variant-title{ margin-bottom:0; }
.variant-options h2.variant-title + .product-code{ margin-top:4px; }

/* ===== Gallery ===== */
.gallery { display:flex; align-items:flex-start; }
.image-wrap { display:flex; align-items:stretch; width:100%; gap:10px; box-sizing:border-box; }

/* ===== Thumbs (vertical) ===== */
.thumbnails-viewport {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 72px;
    min-width: 72px;
    background: #f5f7f7;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    margin-right: 16px;
    position: relative;
    padding: 0;
    overflow: visible;
}
.thumbnails-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    max-height: 420px;
    width: 100%;
    padding: 8px 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
}
.thumbnails-list::-webkit-scrollbar { display: none; }

/* Arrows */
.thumb-arrow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 32px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    opacity: 1;
    pointer-events: auto;
    transition: opacity .2s;
    z-index: 1;
}
.thumb-arrow.hidden{ opacity:0; pointer-events:none; }
.arrow-up::after{
    content:""; display:block; width:0; height:0;
    border: solid transparent; border-width:0 20px 16px 20px; border-bottom-color:var(--main-color);
}
.arrow-down::after{
    content:""; display:block; width:0; height:0;
    border: solid transparent; border-width:16px 20px 0 20px; border-top-color:var(--main-color);
}

/* Main image */
.main-image { flex:1 1 0; display:flex; flex-direction:column; justify-content:center; max-width:420px; min-width:240px; width:100%; }
.main-image-content{
    width:100%; max-width:420px; margin:0 auto;
    aspect-ratio:1/1; position:relative; display:flex; align-items:center; justify-content:center;
    overflow:hidden; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.04); border-radius:1rem;
    min-width:240px; min-height:240px;
}
.main-image-content img, .main-image-content picture{
    position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transition:opacity .3s;
}

/* Badges on image */
.badges {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    z-index: 10;

}
.badge {
    padding: 3px 8px;
    font-size: 12px;
    font-weight: 300;
    border-radius: 12px;
    color: #fff;
    user-select: none;
    white-space: nowrap;
    letter-spacing: 0.1em;
}
.badge-new { background-color: #00c9c8BF; }
.badge-hot { background-color: #ff5722CC; }
.badge-discount { background-color: #ff9800; }
.badge-out { background-color: #888888BF; }

/* Single thumb */
.gallery .thumb{ flex:0 0 auto; width:64px; height:64px; display:flex; align-items:center; justify-content:center; box-sizing:border-box; border:2px solid transparent; cursor:pointer; aspect-ratio:1/1; }
.gallery .thumb.active{ border-color:var(--main-color); }
.gallery .thumb img{ max-width:100%; max-height:100%; display:block; border-radius:0.3rem; }

/* Colors/Packs/Buttons */
.colors{ display:flex; gap:.5rem; flex-wrap:wrap; }
.color-dot{ width:32px; height:32px; border-radius:50%; border:2px solid transparent; cursor:pointer; transition:border .2s; background-repeat:no-repeat; background-size:cover;}
.color-dot.active{ border-color:var(--main-color); }
.color-dot.active::after{ content:""; display:block; margin-top:120%; border-bottom:2px solid var(--main-color); }
.color-dot{ border:2px solid #ccc; }
.color-dot.gradient{ border-color:#ccc; }
.color-dot.gradient.active{ border-color:var(--main-color); }

.packs{ display:flex; flex-direction:column; gap:.5rem; }
.pack-option{ cursor:pointer; opacity:.5; padding:.3rem .6rem; border-radius:.3rem; margin-right:.5rem; border:1px solid transparent; display:inline-block; user-select:none; transition:all .3s; }
.pack-option.active{ border:2px solid var(--main-color); font-weight:bold; opacity:1; cursor:default; }
.pack-details{ margin-top:.5rem; display:flex; align-items:center; gap:1rem; }
.pack-details .price{ font-weight:bold; font-size:1.1rem; }
.cart-btn, .notify-btn{ border:none; background:var(--main-color); color:#fff; padding:.3rem .8rem; font-size:1.2rem; border-radius:.3rem; cursor:pointer; }
.notify-btn{ background:#9bc6c6; color:#000; }

.description{ font-size:.95rem; color:#333; }
.description ul{ margin-left:0; list-style-position:inside; }

.price { display: flex; align-items: baseline; gap: 0; }
.price.has-old-price .current-price { margin-left: 2rem; }
.old-price {
    position: relative;
    display: inline-block;
    color: #d00;
    font-weight: 500;
    opacity: 0.9;
}
.old-price::after {
    content: "";
    position: absolute;
    left: 0; right: 0;
    top: 50%;
    transform: translateY(-50%);
    border-top: 2px solid currentColor;
    pointer-events: none;
}

/* Buttons */
.addToCartButton{
    --btn-bg: #389ea3;
    --btn-fg: #fff;
    --btn-shadow: 0 6px 14px rgba(0,0,0,.18);
    --btn-shadow-hover: 0 10px 22px rgba(0,0,0,.22);
    --btn-ring: 0 0 0 3px rgba(0,0,0,.1);
    -webkit-tap-highlight-color: transparent;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .8rem 1.25rem;
    min-width: 9.5rem;
    border-radius: 14px;
    border: 0;
    background: var(--btn-bg);
    color: var(--btn-fg);
    font-weight: 600;
    line-height: 1;
    transition: transform .18s ease, box-shadow .25s ease, background-color .25s ease, opacity .25s ease;
    box-shadow: var(--btn-shadow);
    cursor: pointer;
    user-select: none;
    will-change: transform;
}
.addToCartButton.cart-btn{ --btn-bg: #389ea3; --btn-fg: #fff; }
.addToCartButton.notify-btn{
    --btn-bg: #e7e7ea; --btn-fg: #111;
    --btn-shadow: 0 6px 14px rgba(0,0,0,.08);
    --btn-shadow-hover: 0 10px 22px rgba(0,0,0,.10);
}
.addToCartButton:hover{ transform: translateY(-1px); box-shadow: var(--btn-shadow-hover); }
.addToCartButton:active{ transform: translateY(0) scale(.98); box-shadow: var(--btn-shadow); }
.addToCartButton:focus-visible{
    outline: none;
    box-shadow: var(--btn-shadow-hover), var(--btn-ring);
}
.addToCartButton.is-loading{ pointer-events: none; opacity: .88; }
.addToCartButton.is-loading::after{
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 14px;
    background:
            radial-gradient(closest-side at 50% 50%, transparent 60%, rgba(255,255,255,.25) 61%) center/24px 24px no-repeat,
            linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,0), rgba(255,255,255,.28));
    -webkit-mask: linear-gradient(#000,#000);
    mask: linear-gradient(#000,#000);
    animation: btn-sheen 1.1s linear infinite;
}
@keyframes btn-sheen{
    0%{ background-position: -120% 50%, -120% 0; }
    100%{ background-position: 220% 50%, 220% 0; }
}
.addToCartButton.is-success{ --btn-bg: #12b76a; --btn-fg: #fff; }
.addToCartButton.is-success::before{
    content: "✓";
    font-weight: 700;
    transform: scale(0.8);
    opacity: 0;
    transition: .22s ease;
}
.addToCartButton.is-success.show-check::before{ opacity: 1; transform: none; }
.addToCartButton.pulse{
    box-shadow: 0 0 0 0 rgba(18,183,106,.35);
    animation: btn-pulse .9s ease-out 1;
}
@keyframes btn-pulse{
    0%{ box-shadow: 0 0 0 0 rgba(18,183,106,.35); }
    100%{ box-shadow: 0 0 0 16px rgba(18,183,106,0); }
}
.addToCartButton.notify-btn.is-success{ --btn-bg: #2563eb; }

/* Мини-тост */
.cart-toast{
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%) translateY(20px);
    background: #111;
    color: #fff;
    padding: .75rem 1rem;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(0,0,0,.25);
    font-weight: 600;
    line-height: 1.1;
    opacity: 0;
    pointer-events: none;
    z-index: 9999;
    transition: transform .25s ease, opacity .25s ease;
}
.cart-toast.show{ opacity: 1; transform: translateX(-50%) translateY(0); }

.product-code{ font-size: 0.8em; font-weight: lighter; }

.variant-descriptions .description {
    display: none;
}
.variant-descriptions .description.is-active {
    display: block;
}

@media (prefers-reduced-motion: reduce){
    .addToCartButton, .cart-toast{ transition: none; animation: none; }
}

/* ===== Below 1000px - stack columns ===== */
@media (max-width:1000px){
    .variant-section{
        flex-direction: column;
        align-content: center;
    }
    h2,h3{ margin-top: 0; }
}

/* ===== Below 768px — thumbs under the image ===== */
@media (max-width:768px){
    .notice .short-desc { overflow: hidden; }
    .notice.is-collapsible.is-collapsed .short-desc {
        display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical;
    }
    .notice.is-collapsible.is-expanded .short-desc { -webkit-line-clamp: unset; }
    .notice.is-collapsible.is-collapsed .desc-toggle { margin-top: 2px; }
    .notice.is-collapsible.is-expanded .desc-toggle { margin-top: 6px; }
    .notice.is-collapsible.is-expanded .desc-toggle .chevron { transform: rotate(180deg); }

    .variant-section{ flex-direction:column; align-items:stretch; }
    .image-wrap{ flex-direction:column; gap:0; }

    .thumbnails-viewport{
        flex-direction:row; align-items:center; justify-content:center;
        width:100%; max-width:100vw; margin:0 auto; background:#f5f7f7; box-shadow:none; border-radius:0;
        order:2; position:relative; padding:0 48px; height:80px; overflow:visible;
    }
    .thumbnails-list{
        flex-direction:row; align-items:center; gap:8px; width:100%; min-width:0; flex-wrap:nowrap;
        height:80px; padding:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none;
        -webkit-overflow-scrolling:touch; touch-action:pan-x; justify-content:flex-start;
    }
    .thumbnails-list::-webkit-scrollbar{ display:none; }

    .thumb-arrow{
        position:absolute; top:0; bottom:0; width:48px; height:100%; min-height:100%; z-index:1;
    }
    .arrow-left{ left:0; right:auto; }
    .arrow-right{ right:0; left:auto; }
    .arrow-left::after{
        content:""; display:block; width:0; height:0;
        border: solid transparent; border-width:20px 20px 20px 0; border-right-color:var(--main-color);
    }
    .arrow-right::after{
        content:""; display:block; width:0; height:0;
        border: solid transparent; border-width:20px 0 20px 20px; border-left-color:var(--main-color);
    }

    .main-image{ max-width:100%; width:100%; margin:0 auto; order:1; }
    .main-image-content{ width:100%; max-width:100vw; margin:0 auto; aspect-ratio:1/1; min-width:160px; min-height:160px; }

    .notice .desc-toggle .chevron { transition: transform 200ms ease, opacity 150ms ease, translate 200ms ease; }
    .notice.is-collapsible.is-expanded .desc-toggle .chevron { transform: rotate(180deg); translate: 0 2px; }

    .notice .short-desc.clamped {
        display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden;
    }
    .notice .short-desc { will-change: height; contain: layout paint style; margin: 0; }
}

@media (max-width:540px){ h1.variant-title{ font-size: 1.1em; } }

@media (max-width:405px){
    .variant-section{ align-items: center; overflow-x: hidden; }
    .gallery-block{
        box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0;
        margin: 0 auto; padding: 0;
    }
    .image-wrap{ flex-wrap: wrap; gap: 8px; justify-content: center; padding-left: 0; padding-right: 0; }
    .main-image{ max-width: 100%; }
    .main-image-content{ max-width: 100%; }
    .thumbnails-viewport{
        order: 2; width: 100%; max-width: 100%;
        flex-direction: row; align-items: center; justify-content: center;
        height: 80px; background: #f5f7f7; border-radius: 8px;
        position: relative; padding: 0 44px; overflow: hidden;
    }
    .thumbnails-list{
        flex-direction: row; align-items: center; gap: 8px; height: 80px; width: 100%; min-width: 0;
        overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch;
        padding: 0; justify-content: flex-start;
    }
    .thumbnails-list::-webkit-scrollbar{ display: none; }
    .thumb-arrow{ position: absolute; top: 0; bottom: 0; width: 44px; height: 100%; min-height: 100%; z-index: 1; }
    .arrow-left{ left: 0; right: auto; } .arrow-right{ right: 0; left: auto; }
}

/* --- FIX: мобильная адаптация variant-options --- */
@media (max-width: 400px) {
    .variant-options { margin-left: 1rem; gap: 1rem; }
    .variant-options .colors,
    .variant-options .pack-details,
    .variant-options .description{
        max-width: 100%; width: 100%; box-sizing: border-box;
        overflow: visible; flex-wrap: wrap; word-break: break-word;
    }
    .variant-options .colors .options{ flex-wrap: wrap; gap: 6px; justify-content: flex-start; }
    .variant-options .color-dot{ flex: 0 0 auto; }
    h1.variant-title{ font-size: .9em; }
}
@media (max-width: 400px){ h1.variant-title{ font-size: .8em; } }

/* --- Универсально: не даём детям упираться в правый край --- */
.variant-options, .product-hero .buy-panel { min-width: 0; }

/* Ряд цветов: горизонтальный скролл */
.variant-options .variant.colors .options {
    display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch;
    gap: 10px; padding-right: 12px; scrollbar-gutter: stable;
}
.variant-options .variant.colors .options .color-dot { flex: 0 0 auto; }

/* Цена/кнопка: переносы на узких */
.price-row {
    display: flex; align-items: center; gap: 12px; min-width: 0; flex-wrap: wrap;
}
.price-row .price, .price-row .stock { min-width: 0; }

/* Превью в галерее: не обрезать последний thumb */
.thumbnails-viewport { padding-inline: 8px; }
.thumbnails-list { display: flex; gap: 8px; overflow: auto; -webkit-overflow-scrolling: touch; }
.thumbnails-list::after { content: ""; flex: 0 0 8px; }

/* === Product full description — readable look === */
.product-description{
    --h2: clamp(22px, 2.2vw, 28px);
    --h3: clamp(18px, 1.8vw, 22px);
    --text: clamp(15px, 1.3vw, 17px);
    --muted: #6b7280;
    --ink: #0f172a;
    --ink-2: #1f2937;
    --brand: #16a34a;
    --dot: #93c5fd;
    --divider: #e5e7eb;
    color: var(--ink);
}

/* Контентная колонка */
.product-description .desc-content{
    max-width: 100ch;
    margin: 0 auto;
    padding-bottom: 40px;
}

/* Карточная подложка секций (кроме первой) */
.product-description .section{
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 16px;
    padding: 18px 18px 22px;
    box-shadow: 0 6px 20px rgba(15,23,42,.04);
    margin: 16px 0 18px;
}
/* зебра */
.product-description .section:nth-of-type(2n){ background: #f9fbff; }

/* Заголовок секции */
.product-description .section-title{
    position: relative;
    margin: 2px 0 14px;
    padding-bottom: 6px;
    text-align: left;
}
.product-description .section-title::after{
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 64px; height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg,#bdebe5,#2addf0);
    opacity: .9;
}

/* Подзаголовки h3 */
.product-description .section-subtitle{
    font-size: var(--h3);
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -.005em;
    margin: 16px 0 10px;
    padding-left: 10px;
    border-left: 4px solid #38bcdb;
    color: var(--ink-2);
}

/* Базовая типографика */
.product-description p,
.product-description .subsection{
    font-size: var(--text);
    line-height: 1.72;
    margin: 8px 0 12px;
}
.product-description .muted{ color: var(--muted); }

/* --- Bullets (собственные маркеры, БЕЗ стандартных) --- */
.product-description .bullets{
    list-style: none;
    margin: 12px 0 18px;
    padding: 0;
}
.product-description .bullets li{
    list-style: none;
    position: relative;
    padding-left: 28px;
    margin: 8px 0;
    font-size: var(--text);
    line-height: 1.6;
}
.product-description .bullets li::marker{ content: ""; }
.product-description .bullets li::before{
    content: "";
    position: absolute;
    left: 3px; top: 0.55em;
    width: 9px; height: 9px;
    border-radius: 2px;
    transform: rotate(45deg);
    background: #2fcde7;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent);
}

/* --- Шаги — собственные цифры, компактная сетка --- */
.product-description .steps{
    counter-reset: step;
    list-style: none;
    margin: 14px 0 4px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #e9eef6;
    border-radius: 12px;
}
.product-description .steps li{
    counter-increment: step;
    display: grid;
    grid-template-columns: 32px 1fr;
    align-items: start;
    column-gap: 10px;
    font-size: var(--text);
    line-height: 1.65;
    margin: 6px 0;
    word-break: break-word;
}
.product-description .steps li::before{
    content: counter(step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px; height: 26px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 13px;
    background: #8ae1f6;
    color: #0b1b37;
    margin-top: 2px;
}

/* Изображения внутри описания */
.product-description .long-images{
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}
.product-description .long-images figure{
    margin: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.product-description .long-images img{ width: 100%; height: auto; display: block; }

/* Разделитель внутри секции */
.product-description hr{
    border: 0;
    height: 1px;
    background: #e6ebf2;
    margin: 16px 0;
}

/* === HERO (первая секция описания) — явный акцент === */
.product-description .desc-content .section:first-of-type{
    background: linear-gradient(180deg, #f6fbff 0%, #ffffff 100%);
    border: 1px solid #e6eef7;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(15,23,42,.06);
    padding: 20px 18px 22px;
    margin: 8px 0 20px;
}
.product-description .desc-content .section:first-of-type .section-title{
    font-size: calc(var(--h2) * 1.1);
    text-align: center;
    margin: 0 0 12px;
    padding-bottom: 10px;
}
.product-description .desc-content .section:first-of-type .section-title::after{
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: 6em  ;
    height: 5px;
    border-radius: 6px;
    background: linear-gradient(90deg,#bdebe5,#2addf0);
    opacity: .95;
}
.product-description .desc-content .section:first-of-type p:first-of-type{
    font-size: calc(var(--text) * 1.06);
    line-height: 1.85;
    color: var(--ink-2);
}
.product-description .desc-content .section:first-of-type .bullets li{
    padding-left: 30px; margin: 10px 0;
}
.product-description .desc-content .section:first-of-type .bullets li::before{
    width: 10px; height: 10px;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 24%, transparent);
}
.product-description .desc-content .section:first-of-type .steps li{
    grid-template-columns: 32px 1fr; margin: 8px 0;
}
.product-description .desc-content .section:first-of-type .steps li::before{
    width: 26px; height: 26px; font-size: 13px;
}

/* Мобильные штрихи для героя */
@media (max-width: 768px){
    .product-description .desc-content .section:first-of-type{
        padding: 16px 14px 18px;
        margin: 6px 0 16px;
        border-radius: 14px;
    }
    .product-description .desc-content .section:first-of-type .section-title{
        font-size: calc(var(--h2) * 1.02);
    }
}

/*новый код для ссылок*/
/* --- Buy panel: pill links (работает и на product, и на product-single) --- */
.variant-options .links-row{
    display:flex; flex-wrap:wrap; gap:10px; margin-top:1em;
}

.variant-options a.pill-link{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    border:2px solid transparent;
    transition:none;  /* как в исходном скрине */
    animation:none;
}

/* compat (бирюзовая) */
.variant-options a.pill-link.compat:link,
.variant-options a.pill-link.compat:visited{
    background:#e8f7f7;
    color:#007e7d;
    border-color:#00c9c8;
}
.variant-options a.pill-link.compat:hover{
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(0,0,0,.08);
}

/* outline (серая «Повний опис») */
.variant-options a.pill-link.outline:link,
.variant-options a.pill-link.outline:visited{
    background:#fff;
    color:#2e3137;
    border-color:#d3e6e6;
}
.variant-options a.pill-link.outline:hover{
    border-color:#00c9c8;
    color:#007e7d;
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(0,0,0,.06);
}

/*для видео*/
.vwrap { margin: 16px 0 24px; }
.vframe { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 12px; overflow: hidden; }
.vframe iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vcap { margin-top: 8px; font-size: 14px; color: #3a4049; }
.vcta { text-decoration: underline; }
@media (prefers-color-scheme: dark) {
    .vcap { color: #cfd6d6; }
}