/* Scope only /feed; no global UniSite layout changes. */
.vpfeed{max-width:1270px;margin:28px auto 80px;padding:0 16px}.vpfeed-head{padding:22px 5px 28px}.vpfeed-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#5b80be;margin-bottom:9px}.vpfeed-head h1{font-size:clamp(29px,3.8vw,43px);font-weight:800;line-height:1.15;margin:0 0 15px;color:#202e43}.vpfeed-head p{font-size:15px;line-height:1.75;color:#66758c;max-width:810px;margin:0}/* CSS fallback for no-JS; JS enhances into append-only independent masonry batches. */
.vpfeed-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:start}
.vpfeed-cards.vpfeed-enhanced{display:block}
.vpfeed-batch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:19px;align-items:start}
.vpfeed-lane{display:flex;flex-direction:column;gap:19px;min-width:0}
.vpfeed-card{box-sizing:border-box;display:block;vertical-align:top;width:100%;margin:0;border:1px solid #e5ecf2;border-radius:21px;background:white;box-shadow:0 6px 21px rgba(31,51,85,.055);overflow:hidden;color:#24334a;transition:transform .16s,box-shadow .16s}.vpfeed-card:hover{transform:translateY(-2px);box-shadow:0 12px 33px rgba(31,51,85,.10)}.vpfeed-card--ad{background:#edf5ff}.vpfeed-card--blog{background:#f5f0ff}.vpfeed-card--pro{background:#f2f0ff}.vpfeed-card--shop{background:#eaf8f3}.vpfeed-card--stories{background:#fff0f6}.vpfeed-card--review{background:#fff6e8}.vpfeed-card--fast{background:#e9f9fd}.vpfeed-card--manual{background:var(--vpfeed-custom-bg,#fff2e3);border:2px solid #eac889}.vpfeed-card-content{padding:15px 18px 0}.vpfeed-card-bottom{padding-bottom:18px}.vpfeed-type{display:inline-flex;align-items:center;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.065em;background:rgba(255,255,255,.72);color:#57708d}.vpfeed-card--manual .vpfeed-type{background:#fff2c2;color:#805a15}.vpfeed-person{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#43536a}.vpfeed-person img{width:42px;height:42px;flex:0 0 42px;object-fit:cover;border-radius:50%;border:2px solid white}.vpfeed-card--pro .vpfeed-person img{width:68px;height:68px;flex-basis:68px}.vpfeed-person-label{font-size:12px;color:#718093}.vpfeed-cover,.vpfeed-photo{display:block;margin-top:13px;line-height:0;overflow:hidden}/* Reserve media space BEFORE lazy images arrive: prevents layout jumps. */
.vpfeed-cover img,.vpfeed-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.vpfeed-cover img{aspect-ratio:16/8}
.vpfeed-card--blog .vpfeed-photo img{aspect-ratio:16/10}.vpfeed-card--manual .vpfeed-photo img{aspect-ratio:4/5}.vpfeed-card--stories .vpfeed-photo img{aspect-ratio:9/14;object-fit:cover}.vpfeed-story-media{display:block;width:100%;aspect-ratio:9/14;max-height:480px;margin-top:13px;object-fit:contain;background:#141820}.vpfeed-card h2{font-size:19px;line-height:1.34;margin:0 0 10px;font-weight:800;overflow-wrap:anywhere}.vpfeed-card h2 a{color:#26364b!important;text-decoration:none}.vpfeed-card h2 a:hover{color:#2869bd!important}.vpfeed-desc{font-size:14px;line-height:1.67;color:#55677b;overflow-wrap:anywhere;margin:0 0 10px}.vpfeed-badge{display:inline-flex;background:rgba(255,255,255,.84);color:#285a9e;padding:6px 10px;border-radius:10px;font-weight:800;margin:0 0 12px}.vpfeed-action{display:inline-flex;align-items:center;gap:15px;background:white;color:#306abc!important;font-size:13px;font-weight:750;text-decoration:none!important;border-radius:11px;padding:10px 15px;margin-top:4px}.vpfeed-next{display:flex;gap:15px;justify-content:center;align-items:center;margin:32px auto}.vpfeed-next a{padding:13px 22px;border-radius:12px;border:1px solid #d6e1ef;background:#fff;color:#3265a5;text-decoration:none;font-weight:700}.vpfeed-next span{color:#687a90;font-size:13px}.vpfeed-message,.vpfeed-finish{text-align:center;padding:24px;color:#73849c}@media(max-width:1020px){.vpfeed-cards,.vpfeed-batch{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vpfeed{padding:0 12px;margin:18px auto}.vpfeed-head{padding-top:13px}.vpfeed-cards,.vpfeed-batch{grid-template-columns:minmax(0,1fr)}.vpfeed-lane,.vpfeed-batch{gap:14px}.vpfeed-card-content{padding-left:16px;padding-right:16px}}

/* v8: isolated manual card skinning, never changes existing UniSite cards */
.vpfeed-card--promo{background:#fff9e8;border-color:#efdbab}
.vpfeed-card--promo .vpfeed-type{background:#fff0c6;color:#8e6315}
.vpfeed-card--manual{position:relative;isolation:isolate;border-width:var(--vpfeed-border-width,2px)!important;border-style:solid;border-color:var(--vpfeed-border,#eac889)!important;border-radius:var(--vpfeed-radius,21px)!important;color:var(--vpfeed-text,#55677b)}
.vpfeed-card--manual .vpfeed-card-content{position:relative;z-index:2}
.vpfeed-card--manual .vpfeed-type,.vpfeed-card--manual .vpfeed-badge{background:var(--vpfeed-badge-bg,#fff2c2);color:var(--vpfeed-badge-text,#805a15)}
.vpfeed-card--manual .vpfeed-type{max-width:100%;overflow-wrap:anywhere}
.vpfeed-card--manual h2,.vpfeed-card--manual h2 a{color:var(--vpfeed-title,#26364b)!important}
.vpfeed-card--manual .vpfeed-desc{color:var(--vpfeed-text,#55677b)}
.vpfeed-card--manual .vpfeed-action{background:var(--vpfeed-button-bg,#fff);color:var(--vpfeed-button-text,#306abc)!important}
.vpfeed-card--manual.vpfeed-align-center{text-align:center}.vpfeed-card--manual.vpfeed-align-right{text-align:right}
.vpfeed-card--manual.vpfeed-media-full .vpfeed-photo{margin:0}.vpfeed-card--manual.vpfeed-media-full .vpfeed-photo img{aspect-ratio:4/5}
.vpfeed-card--manual .vpfeed-manual-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.vpfeed-card--manual .vpfeed-manual-backdrop img{width:100%;height:100%;object-fit:cover}
.vpfeed-card--manual.vpfeed-media-background::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.23),rgba(0,0,0,.55));pointer-events:none}
.vpfeed-card--manual.vpfeed-media-background .vpfeed-card-content{padding-top:20px;padding-bottom:18px;min-height:120px}
.vpfeed-card--manual.vpfeed-media-background .vpfeed-card-bottom{min-height:200px}

/* v9 continuous masonry: no row breaks after each 15-item page. */
.vpfeed-cards.vpfeed-enhanced{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:19px}
.vpfeed-cards.vpfeed-enhanced .vpfeed-lane{display:flex;flex-direction:column;gap:19px;min-width:0}
.vpfeed-batch{display:contents} /* legacy layout, should no longer be generated */
.vpfeed-card{overflow:hidden}
.vpfeed-card .vpfeed-topline{padding:13px 14px 10px}
.vpfeed-card .vpfeed-cover,.vpfeed-card .vpfeed-photo{margin-top:0;width:100%;display:block;line-height:0}
.vpfeed-card .vpfeed-cover img,.vpfeed-card .vpfeed-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.vpfeed-card--shop .vpfeed-cover img{aspect-ratio:16/9}
.vpfeed-card--ad .vpfeed-photo img,.vpfeed-card--promo .vpfeed-photo img{aspect-ratio:4/3}
.vpfeed-card--pro .vpfeed-photo img{aspect-ratio:4/3}
.vpfeed-card--stories .vpfeed-photo img{aspect-ratio:9/13}
.vpfeed-card--channel .vpfeed-photo img{aspect-ratio:4/3}
.vpfeed-card .vpfeed-after-media{padding:12px 15px 0}
.vpfeed-card .vpfeed-person-link{text-decoration:none;color:inherit}
.vpfeed-card .vpfeed-person-link:hover{color:#2869bd}
.vpfeed-card .vpfeed-person img{width:33px;height:33px;flex:0 0 33px;object-fit:cover;border-radius:50%}
.vpfeed-card .vpfeed-story-media{margin-top:0}
.vpfeed-blog-hero{position:relative;overflow:hidden}
.vpfeed-blog-hero .vpfeed-photo img{aspect-ratio:16/10}
.vpfeed-blog-hero .vpfeed-type-overlay{position:absolute;top:12px;left:12px;z-index:2;background:rgba(255,255,255,.94);color:#59449e;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.vpfeed-card--channel{background:#eff9f9;border-color:#c9e7e6}
.vpfeed-card--channel .vpfeed-type{background:#d8f3f0;color:#226a66}
@media(max-width:1020px){.vpfeed-cards.vpfeed-enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vpfeed-cards.vpfeed-enhanced{grid-template-columns:minmax(0,1fr);gap:14px}.vpfeed-cards.vpfeed-enhanced .vpfeed-lane{gap:14px}}

/* v9.1: identical media-top layout to "Статья в блоге" for EVERY card with photo or video.
   The badge floats OVER the image. Text, seller/author and CTA remain BELOW the image.
   Only /feed is affected. */
.vpfeed-card .vpfeed-media-hero{position:relative;overflow:hidden;line-height:0;isolation:isolate}
.vpfeed-card .vpfeed-media-hero .vpfeed-photo,
.vpfeed-card .vpfeed-media-hero .vpfeed-cover{display:block;margin:0;width:100%;line-height:0}
.vpfeed-card .vpfeed-media-hero .vpfeed-photo img,
.vpfeed-card .vpfeed-media-hero .vpfeed-cover img{display:block;margin:0;width:100%;height:auto;object-fit:cover}
.vpfeed-card .vpfeed-media-hero .vpfeed-story-media{display:block;margin:0;width:100%}
.vpfeed-card .vpfeed-media-hero .vpfeed-type-overlay{
 position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;
 max-width:calc(100% - 24px);white-space:normal;line-height:1.3;
 background:rgba(255,255,255,.94);color:#344965;
 box-shadow:0 2px 10px rgba(0,0,0,.10);pointer-events:none;
}
.vpfeed-card--blog .vpfeed-media-hero .vpfeed-type-overlay{color:#59449e}
.vpfeed-card--promo .vpfeed-media-hero .vpfeed-type-overlay{background:#fff0c6;color:#8e6315}
.vpfeed-card--manual .vpfeed-media-hero .vpfeed-type-overlay{
 background:var(--vpfeed-badge-bg,#fff2c2);color:var(--vpfeed-badge-text,#805a15);
}
.vpfeed-card--manual.vpfeed-media-background .vpfeed-topline{
 position:relative;z-index:3;padding-top:12px;
}
/* Cover photo always spans edge-to-edge even for custom full-image manual cards. */
.vpfeed-card--manual.vpfeed-media-full .vpfeed-media-hero .vpfeed-photo img{aspect-ratio:4/5}

/* v9.2: the category label OVERLAYS the photo/video in EVERY media card.
   It never forms a separate row above or below the image. */
.vpfeed .vpfeed-card > .vpfeed-media-hero{position:relative!important;isolation:isolate;overflow:hidden}
.vpfeed .vpfeed-card > .vpfeed-media-hero > .vpfeed-type-overlay{
 position:absolute!important;top:12px!important;left:12px!important;bottom:auto!important;right:auto!important;
 z-index:8!important;display:inline-flex!important;align-items:center;
 width:auto!important;max-width:calc(100% - 24px);margin:0!important;
 line-height:1.25!important;white-space:normal;pointer-events:none;
 background:rgba(255,255,255,.95);color:#344965;
 box-shadow:0 2px 10px rgba(0,0,0,.14);
}
.vpfeed .vpfeed-card > .vpfeed-media-hero > .vpfeed-photo,
.vpfeed .vpfeed-card > .vpfeed-media-hero > .vpfeed-cover,
.vpfeed .vpfeed-card > .vpfeed-media-hero > .vpfeed-story-media{display:block;width:100%;margin:0}
.vpfeed .vpfeed-card--manual > .vpfeed-media-hero > .vpfeed-type-overlay{background:var(--vpfeed-badge-bg,#fff2c2);color:var(--vpfeed-badge-text,#805a15)}
.vpfeed .vpfeed-card--promo > .vpfeed-media-hero > .vpfeed-type-overlay{background:#fff0c6;color:#8e6315}
.vpfeed .vpfeed-card--blog > .vpfeed-media-hero > .vpfeed-type-overlay{color:#59449e}
/* Global white-card mode: every content source EXCEPT individually styled manual cards. */
.vpfeed.vpfeed-theme-white .vpfeed-card:not(.vpfeed-card--manual){background:#fff;border-color:#e5ecf2}

/* v9.3 — advertising disclosure for OPTIONAL manual ads. Native <details> works without JS. */
.vpfeed .vpfeed-card--manual{position:relative;isolation:isolate}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure{
 position:absolute;z-index:21;top:12px;right:12px;max-width:calc(100% - 24px);margin:0;font-size:12px;line-height:1.4;text-align:left;
}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-trigger{
 cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;padding:7px 10px;
 background:#fff;color:#172c45;border:1px solid rgba(0,0,0,.12);border-radius:10px;
 box-shadow:0 2px 12px rgba(18,33,50,.16);font-weight:800;white-space:nowrap;
}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-trigger::-webkit-details-marker{display:none}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-trigger:focus-visible{outline:3px solid #438ded;outline-offset:2px}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-panel{
 position:absolute;right:0;top:calc(100% + 7px);width:min(290px,calc(100vw - 50px));max-width:none;
 padding:16px;border-radius:12px;border:1px solid #dce3ef;background:#fff;color:#203045;
 box-shadow:0 12px 32px rgba(10,22,40,.23);font-size:12px;line-height:1.5;
}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-panel strong{display:block;margin-bottom:10px;font-size:14px}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-panel p{margin:6px 0;overflow-wrap:anywhere}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-panel p span{color:#5c6d82}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-panel a{color:#1665bd;text-decoration:underline}
.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-panel code{font-size:11px;overflow-wrap:anywhere;white-space:normal;color:#293b56}
.vpfeed .vpfeed-card--manual:has(> .vpfeed-ad-disclosure[open]){overflow:visible;z-index:50}
.vpfeed .vpfeed-card--manual:has(> .vpfeed-ad-disclosure[open]) .vpfeed-ad-disclosure{z-index:30}
@media(max-width:680px){.vpfeed .vpfeed-card--manual .vpfeed-ad-disclosure-panel{width:min(285px,calc(100vw - 55px))}}


/* v9.4: keep the feed aligned with the full site header/container, no separate narrow text column. */
.vpfeed.container{box-sizing:border-box;width:100%;max-width:1368px!important;margin:28px auto 80px!important;padding:0 16px!important}
.vpfeed .vpfeed-head{padding:10px 0 25px}
.vpfeed .vpfeed-head p{max-width:none;width:100%;margin:0;font-size:15px;line-height:1.65}
/* Desktop: selectable number of columns. JS and no-JS use the same column count. */
.vpfeed.vpfeed-cols-3 .vpfeed-cards,
.vpfeed.vpfeed-cols-3 .vpfeed-cards.vpfeed-enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}
.vpfeed.vpfeed-cols-4 .vpfeed-cards,
.vpfeed.vpfeed-cols-4 .vpfeed-cards.vpfeed-enhanced{grid-template-columns:repeat(4,minmax(0,1fr))}
.vpfeed .vpfeed-cards{gap:19px}
.vpfeed .vpfeed-cards.vpfeed-enhanced .vpfeed-lane{gap:19px}
/* At smaller desktop widths, 4-column mode progressively adapts to 3, then 2. */
@media(max-width:1220px){
 .vpfeed.vpfeed-cols-4 .vpfeed-cards,
 .vpfeed.vpfeed-cols-4 .vpfeed-cards.vpfeed-enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
 .vpfeed.vpfeed-cols-3 .vpfeed-cards,
 .vpfeed.vpfeed-cols-3 .vpfeed-cards.vpfeed-enhanced,
 .vpfeed.vpfeed-cols-4 .vpfeed-cards,
 .vpfeed.vpfeed-cols-4 .vpfeed-cards.vpfeed-enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .vpfeed.container{margin:18px auto 50px!important;padding:0 12px!important}
 .vpfeed.vpfeed-cols-3 .vpfeed-cards,
 .vpfeed.vpfeed-cols-3 .vpfeed-cards.vpfeed-enhanced,
 .vpfeed.vpfeed-cols-4 .vpfeed-cards,
 .vpfeed.vpfeed-cols-4 .vpfeed-cards.vpfeed-enhanced{grid-template-columns:minmax(0,1fr)}
 .vpfeed .vpfeed-cards{gap:14px}
 .vpfeed .vpfeed-cards.vpfeed-enhanced .vpfeed-lane{gap:14px}
 .vpfeed .vpfeed-head p{font-size:14px}
}

/* Hotfix: opening the advertising disclosure lifts card overflow clipping so the
   popover can extend past the card. Clip media/background corners independently,
   matching the card's individually configured radius and border thickness. */
.vpfeed .vpfeed-card--manual:has(> .vpfeed-ad-disclosure[open]) > .vpfeed-media-hero {
  overflow: hidden;
  border-radius: max(0px, calc(var(--vpfeed-radius, 21px) - var(--vpfeed-border-width, 2px)))
                 max(0px, calc(var(--vpfeed-radius, 21px) - var(--vpfeed-border-width, 2px))) 0 0;
}
.vpfeed .vpfeed-card--manual:has(> .vpfeed-ad-disclosure[open]) > .vpfeed-manual-backdrop,
.vpfeed .vpfeed-card--manual.vpfeed-media-background:has(> .vpfeed-ad-disclosure[open])::before {
  border-radius: max(0px, calc(var(--vpfeed-radius, 21px) - var(--vpfeed-border-width, 2px)));
}
