/* Posts: Single post (шаблон Theme Builder post_id=174). Соответствует Site/v2/post.html. */

.vg-hero-bg {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: -20;
  overflow: hidden;
  background: var(--vg-bg);
}
.vg-hero-bg__mesh { position: absolute; left: 0; right: 0; top: 0; height: 52rem; opacity: .9; }
.vg-hero-bg__beam { position: absolute; left: -10rem; top: -7rem; height: 40rem; width: 30rem; transform: rotate(12deg); opacity: .7; }
.vg-hero-bg__noise { position: absolute; inset: 0; }
.mesh-bg {
  background:
    radial-gradient(circle at -4% 4%, rgba(0,148,255,.98) 0%, rgba(0,154,255,.76) 15%, transparent 34%),
    radial-gradient(circle at 28% 10%, rgba(187,235,255,.96) 0%, rgba(216,246,255,.68) 18%, transparent 38%),
    radial-gradient(circle at 55% 8%, rgba(255,239,40,.98) 0%, rgba(255,226,35,.82) 25%, transparent 47%),
    radial-gradient(circle at 80% 10%, rgba(255,158,15,.92) 0%, rgba(255,110,34,.74) 23%, transparent 44%),
    radial-gradient(circle at 104% 8%, rgba(255,24,90,.9) 0%, rgba(255,92,128,.7) 24%, transparent 48%),
    linear-gradient(180deg, rgba(255,252,231,0) 0%, rgba(255,248,223,.76) 68%, var(--vg-bg) 100%);
  filter: blur(18px) saturate(1.14);
  transform: scale(1.10);
}
.left-blue-beam { background: radial-gradient(ellipse at center, rgba(0,32,128,.9) 0%, rgba(0,90,210,.52) 38%, transparent 72%); filter: blur(44px); }
.soft-noise { background-image: radial-gradient(rgba(255,255,255,.8) 1px, transparent 1px); background-size: 3px 3px; opacity: .08; }

header.elementor-location-header { background-color: transparent !important; }

/* === Хлебные крошки === */
.elementor-element-vgpostbc1 { background: rgba(255,255,255,.65); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: var(--vg-border-width) solid var(--vg-ink); padding: 16px 0 !important; }
.vg-post-bc__list { box-sizing: border-box; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 auto; padding: 0 16px; max-width: 1120px; font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600; line-height: 1; text-transform: uppercase; letter-spacing: .1em; color: rgba(22,32,50,.6); }
.vg-post-bc__link { color: inherit; text-decoration: none; }
.vg-post-bc__link:hover { color: var(--vg-primary); }
.vg-post-bc__sep { opacity: .5; }
.vg-post-bc__current { color: var(--vg-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 480px; }

/* === Шапка статьи (41047108) === */
.elementor-element-41047108 { max-width: 1120px !important; margin-left: auto !important; margin-right: auto !important; padding-bottom: 40px !important; }

.elementor-element-vgpostbadge1 { margin-bottom: 20px !important; }
.elementor-element-vgpostbadge1 .elementor-heading-title {
  display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important;
  padding: 8px 16px !important; border-radius: var(--vg-radius-control) !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important; background-color: var(--vg-red) !important;
  font-family: var(--vg-font-mono) !important; font-size: 12px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: .12em !important;
}
.elementor-element-vgpostbadge1 .elementor-heading-title,
.elementor-element-vgpostbadge1 .elementor-heading-title a { color: #FFFFFF !important; text-decoration: none !important; }
.elementor-element-vgpostbadge1 .elementor-heading-title:hover { background-color: var(--vg-ink) !important; }
.elementor-element-vgpostbadge1 .elementor-heading-title::before {
  content: ''; display: inline-block; width: 16px; height: 16px; flex-shrink: 0;
  background-repeat: no-repeat; background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' d='M22 22H2'/%3E%3Cpath d='M17 22V6c0-1.886 0-2.828-.586-3.414S14.886 2 13 2h-2c-1.886 0-2.828 0-3.414.586S7 4.114 7 6v16m14 0V11.5c0-1.405 0-2.107-.337-2.611a2 2 0 0 0-.552-.552C19.607 8 18.904 8 17.5 8M3 22V11.5c0-1.405 0-2.107.337-2.611a2 2 0 0 1 .552-.552C4.393 8 5.096 8 6.5 8'/%3E%3Cpath stroke-linecap='round' d='M12 22v-3M10 5h4m-4 3h4m-4 3h4m-4 3h4'/%3E%3C/svg%3E");
}

.elementor-element-5c5ae53 .elementor-heading-title { color: var(--vg-ink) !important; margin: 0 0 32px !important; }

.elementor-element-vgpostexc1 {
  margin: 0 0 40px !important; max-width: 720px !important;
  padding-left: 20px !important; border-left: var(--vg-border-width) solid var(--vg-ink) !important;
  font-family: var(--vg-font-body) !important; font-size: 19px !important; font-weight: 500 !important;
  line-height: 1.6 !important; color: var(--vg-ink) !important;
}
.elementor-element-vgpostexc1 .elementor-text-editor,
.elementor-element-vgpostexc1 p {
  margin: 0 !important; font: inherit !important; color: inherit !important;
}

.elementor-element-vgpostmeta1 { border-top: var(--vg-border-width) solid var(--vg-ink); border-bottom: var(--vg-border-width) solid var(--vg-ink); padding: 18px 0 !important; }
.elementor-element-vgpostmeta1 > .e-con-inner { align-items: center !important; justify-content: space-between !important; flex-wrap: wrap; gap: 16px !important; }
.elementor-element-vgpostmetaleft1 > .e-con-inner { align-items: center !important; gap: 16px !important; flex-wrap: wrap; }
.elementor-element-21a8fed { border-radius: 50% !important; overflow: hidden; flex-grow: 0 !important; }
.elementor-element-21a8fed img { border-radius: 50% !important; }
.elementor-element-51bd376 .elementor-heading-title {
  font-family: var(--vg-font-mono) !important; font-size: 12px !important; font-weight: 600 !important;
  text-transform: uppercase !important; letter-spacing: .08em !important; color: var(--vg-ink) !important; margin: 0 !important;
}
.elementor-element-51bd376 { position: relative; flex-grow: 0 !important; }
.elementor-element-51bd376::after {
  content: ''; position: absolute; top: 50%; right: -8px; width: 1px; height: 16px;
  transform: translateY(-50%); background: rgba(22,32,50,.3); display: none;
}
@media (min-width: 640px) {
  .elementor-element-51bd376::after { display: block; }
}
.elementor-element-db38b64 .ts-acw-item { font-family: var(--vg-font-mono) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .08em; }
.elementor-element-db38b64 .ts-action-con { display: inline-flex !important; align-items: center; gap: 6px; }
.elementor-repeater-item-89837d5 .ts-action-icon svg { display: none !important; }
.elementor-repeater-item-89837d5 .ts-action-icon {
  display: inline-block; width: 16px; height: 16px; background-repeat: no-repeat; background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23162032' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.5 8.5 0 1 1-4.24-7.36L21 3l-1.1 4.3A8.46 8.46 0 0 1 21 11.5Z'/%3E%3C/svg%3E");
}
.elementor-repeater-item-a8ceacc .ts-action-icon { display: none !important; }
.elementor-element-vgpostshare1 { flex-shrink: 0 !important; }
.vg-post-share { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; }
.vg-post-share__label {
  margin-right: 4px; font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em; color: rgba(22,32,50,.55);
}
.vg-post-share__btn {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 40px; height: 40px; padding: 0; border-radius: var(--vg-radius-control);
  border: 1px solid var(--vg-ink); background-color: transparent; color: var(--vg-ink);
  cursor: pointer; text-decoration: none; transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.vg-post-share__btn svg { width: 18px; height: 18px; }
.vg-post-share__btn:hover,
.vg-post-share__btn.is-copied { background-color: var(--vg-primary); color: #FFFFFF; border-color: var(--vg-primary); }

/* === Обложка === */
.elementor-element-6d610171 { padding: 32px 0 32px !important; border-bottom: var(--vg-border-width) solid var(--vg-ink); }
.elementor-element-15f56550 { width: 100% !important; max-width: 1600px !important; margin-left: auto !important; margin-right: auto !important; padding: 0 24px !important; box-sizing: border-box !important; }
.elementor-element-15f56550 img { border: var(--vg-border-width) solid var(--vg-ink) !important; }

/* === Сетка: контент + сайдбар === */
.elementor-element-vgpostgrid1 {
  width: 100% !important;
  max-width: none !important;
  background-color: rgba(255,255,255,.2) !important;
}
.elementor-element-vgpostgrid1 > .e-con-inner {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 56px 32px !important;
}
.elementor-element-vgpostgrid1 > .e-con-inner { gap: 40px !important; }
.elementor-element-vgpostcol1 { min-width: 0 !important; }

/* --- текст статьи --- */
.elementor-element-2ca8cf06 { max-width: 768px !important; margin-left: auto !important; margin-right: auto !important; }
.elementor-element-2ca8cf06 h2 { margin: 48px 0 20px !important; font-family: var(--vg-font-body); font-size: 32px; font-weight: 500; letter-spacing: -0.02em; color: var(--vg-ink) !important; line-height: 1.2; }
.elementor-element-2ca8cf06 h3 { margin: 36px 0 16px !important; font-family: var(--vg-font-body); font-size: 24px; font-weight: 500; color: var(--vg-ink) !important; line-height: 1.25; }
.elementor-element-2ca8cf06 p { margin: 0 0 20px !important; }
.elementor-element-2ca8cf06 blockquote {
  margin: 40px 0 !important; padding: 24px 28px !important; border-left: 4px solid var(--vg-red) !important;
  background-color: rgba(255,255,255,.6); border-radius: 0 var(--vg-radius-card) var(--vg-radius-card) 0;
  font-size: 22px !important; font-weight: 500 !important; line-height: 1.3 !important; color: var(--vg-ink) !important;
}
.elementor-element-2ca8cf06 ul, .elementor-element-2ca8cf06 ol { margin: 0 0 20px !important; padding-left: 24px !important; }
.elementor-element-2ca8cf06 li { margin-bottom: 10px !important; }
.elementor-element-2ca8cf06 img { max-width: 100%; height: auto; border-radius: var(--vg-radius-card); border: var(--vg-border-width) solid var(--vg-ink); }
.elementor-element-2ca8cf06 a { color: var(--vg-primary) !important; }

/* --- блок автора --- */
.elementor-element-vgpostauthorbox1 {
  max-width: 768px !important; margin: 56px auto 0 !important; padding: 32px !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important; border-radius: var(--vg-radius-card) !important;
  background-color: rgba(255,255,255,.6) !important;
}
.elementor-element-vgpostaboverline1 { margin-bottom: 20px !important; }
.elementor-element-vgpostaboverline1 .elementor-heading-title { margin: 0 !important; font-family: var(--vg-font-mono); font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .16em; color: rgba(22,32,50,.6) !important; }
.elementor-element-vgpostabrow1 { gap: 20px !important; align-items: flex-start !important; }
.elementor-element-vgpostabimg1 { flex-shrink: 0; }
.elementor-element-vgpostabimg1 img { width: 80px !important; height: 80px !important; border-radius: 50% !important; border: var(--vg-border-width) solid var(--vg-ink) !important; object-fit: cover; }
.elementor-element-vgpostabinfo1 > .e-con-inner { flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; gap: 12px 16px !important; }
.elementor-element-vgpostabname1 { flex-basis: 100% !important; width: 100% !important; order: 1; }
.elementor-element-vgpostabname1 .elementor-heading-title { margin: 0 !important; font-size: 24px !important; font-weight: 500 !important; color: var(--vg-ink) !important; }
.elementor-element-vgpostabname1 .elementor-heading-title a { color: inherit !important; text-decoration: none; }
.elementor-element-vgpostabcount1 { order: 3; width: auto !important; flex-basis: auto !important; }
.elementor-element-vgpostabcount1 { display: inline-block !important; }
.elementor-element-vgpostabcount1 .elementor-shortcode { display: inline-block; font-size: 14px !important; font-weight: 600 !important; color: var(--vg-ink) !important; }
.elementor-element-vgpostabbio1 { flex-basis: 100% !important; width: 100% !important; order: 2; font-size: 14px !important; line-height: 1.6; color: rgba(22,32,50,.7) !important; }
.elementor-element-vgpostabbio1 p { margin: 0 !important; }
.elementor-element-vgpostablink1 { order: 4; width: auto !important; flex-basis: auto !important; display: inline-block !important; }
.elementor-element-vgpostablink1 .elementor-heading-title { margin: 0 !important; }
.elementor-element-vgpostablink1 .elementor-heading-title a {
  display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 16px;
  border: var(--vg-border-width) solid var(--vg-ink) !important; border-radius: var(--vg-radius-control);
  font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important;
  color: var(--vg-ink) !important;
}
.elementor-element-vgpostablink1 .elementor-heading-title a:hover { background-color: var(--vg-ink) !important; color: #FFFFFF !important; }

/* --- сайдбар --- */
.elementor-element-vgpostsidebar1 { position: sticky !important; top: 112px !important; align-self: flex-start !important; }
.elementor-element-vgpostsidebar1 > .e-con-inner { display: flex; flex-direction: column; gap: 20px; }
.elementor-element-vgpostsbtoc1,
.elementor-element-vgpostsbcat1,
.elementor-element-vgpostsbau1,
.elementor-element-vgpostsbcatalog1 {
  padding: 20px !important; border: var(--vg-border-width) solid var(--vg-ink) !important; border-radius: var(--vg-radius-card) !important;
  background-color: rgba(255,255,255,.7) !important;
}
.elementor-element-vgpostsbcatalog1 { background-color: var(--vg-yellow) !important; }
.vg-post-sidecard__eyebrow { margin: 0 0 12px !important; font-family: var(--vg-font-mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: rgba(22,32,50,.6); }
.vg-post-sidecard__title { margin: 0 0 10px !important; font-size: 22px; font-weight: 500; color: var(--vg-ink); }
.vg-post-sidecard__text { margin: 0 0 16px !important; font-size: 13px; line-height: 1.6; color: rgba(22,32,50,.7); }
.vg-post-sidecard__btn {
  display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px;
  border: var(--vg-border-width) solid var(--vg-ink); border-radius: var(--vg-radius-control);
  background-color: var(--vg-ink); color: #FFFFFF !important; font-size: 12px; font-weight: 600;
  text-transform: uppercase; letter-spacing: .08em; text-decoration: none;
}
.vg-catsb__eyebrow { margin: 0 0 12px; font-family: var(--vg-font-mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: rgba(22,32,50,.6); }
.vg-catsb__main { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.vg-catsb__main:hover { color: var(--vg-primary); }
.vg-catsb__icon {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 44px; height: 44px; border-radius: var(--vg-radius-control);
  background-color: var(--vg-red); color: #FFFFFF;
}
.vg-catsb__icon svg { width: 22px; height: 22px; display: block; }
.vg-catsb__maintext { display: flex; flex-direction: column; min-width: 0; }
.vg-catsb__name { font-size: 18px; font-weight: 500; letter-spacing: -0.01em; color: var(--vg-ink); }
.vg-catsb__count { margin-top: 2px; font-size: 12px; color: rgba(22,32,50,.6); }
.vg-catsb__all {
  display: block; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(22,32,50,.25);
  font-size: 14px; font-weight: 600; color: var(--vg-ink); text-decoration: underline; text-underline-offset: 4px;
}
.vg-catsb__all:hover { color: var(--vg-primary); }
.vg-catsb__others {
  display: flex; flex-direction: column; gap: 8px; margin-top: 20px; padding-top: 16px;
  border-top: 1px solid rgba(22,32,50,.25); font-size: 14px;
}
.vg-catsb__other { display: flex; align-items: center; gap: 8px; color: var(--vg-ink); text-decoration: none; }
.vg-catsb__other:hover { color: var(--vg-primary); }
.vg-catsb__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.elementor-element-vgpostsbaurow1 { align-items: center !important; gap: 12px !important; }
.elementor-element-vgpostsbauimg1 img { width: 44px !important; height: 44px !important; border-radius: 50% !important; border: 1px solid var(--vg-ink) !important; object-fit: cover; }
.elementor-element-vgpostsbauname1 .elementor-heading-title { margin: 0 !important; font-size: 15px !important; font-weight: 600 !important; color: var(--vg-ink) !important; }
.vg-post-toc__label { margin: 0 0 14px !important; font-family: var(--vg-font-mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--vg-ink); }
.vg-post-toc__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.vg-post-toc__link { display: block; padding: 8px 0 8px 12px; border-left: 2px solid transparent; font-size: 13px; line-height: 1.4; color: rgba(22,32,50,.65); text-decoration: none; }
.vg-post-toc__link:hover { color: var(--vg-ink); }
.vg-post-toc__link.is-active { border-left-color: var(--vg-primary); color: var(--vg-ink); font-weight: 600; background-color: rgba(0,148,255,.06); }
.vg-post-toc__link--h3 { margin-left: 14px; font-size: 12px; }

@media (max-width: 1023px) {
  .elementor-element-vgpostgrid1 { flex-direction: column !important; }
  .elementor-element-vgpostcol1,
  .elementor-element-vgpostsidebar1 { width: 100% !important; max-width: 100% !important; }
  .elementor-element-vgpostsidebar1 { position: static !important; }
}

/* === Теги статьи === */
.elementor-element-vgposttags1 { display: block !important; }
.vg-post-tags { max-width: 768px; margin: 56px auto 0; border-top: var(--vg-border-width) solid var(--vg-ink); padding-top: 28px; }
.vg-post-tags__eyebrow { margin: 0 0 16px; font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .16em; color: rgba(22,32,50,.6); }
.vg-post-tags__list { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-post-tags__item { display: inline-block; padding: 8px 12px; border: 1px solid var(--vg-ink); border-radius: var(--vg-radius-control); font-size: 14px; color: var(--vg-ink); text-decoration: none; }
.vg-post-tags__item:hover { background-color: var(--vg-ink); color: #FFFFFF; }

/* === Пред/след статья === */
.elementor-element-vgpostprevnext1 {
  border-bottom: var(--vg-border-width) solid var(--vg-ink);
  background-color: rgba(255,255,255,.75);
}
.elementor-element-vgpostprevnext1 > .e-con-inner {
  max-width: 1400px !important; margin: 0 auto !important; padding: 0 !important;
}
.vg-post-nav { display: grid; grid-template-columns: 1fr; gap: 1px; background-color: var(--vg-ink); padding: 0 16px; }
@media (min-width: 640px) {
  .vg-post-nav { padding: 0 24px; }
}
@media (min-width: 1024px) {
  .vg-post-nav { grid-template-columns: 1fr 1fr; padding: 0 32px; }
}
.vg-post-nav__item { display: block; padding: 24px; background-color: #FFFFFF; text-decoration: none; }
.vg-post-nav__item:hover { background-color: var(--vg-bg); }
.vg-post-nav__item--next { text-align: right; }
.vg-post-nav__label { display: block; margin-bottom: 16px; font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .14em; color: rgba(22,32,50,.55); }
.vg-post-nav__title { margin: 0; font-size: 24px; font-weight: 500; line-height: 1.25; letter-spacing: -0.01em; color: var(--vg-ink); }
.vg-post-nav__item:hover .vg-post-nav__title { color: var(--vg-primary); }

/* === Похожие публикации === */
.elementor-element-vgpostrelated1 { max-width: 1400px !important; margin: 0 auto !important; padding: 56px 24px !important; }
.vg-post-section__eyebrow { margin: 0 0 12px !important; font-family: var(--vg-font-mono); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: rgba(22,32,50,.6); }
.vg-post-section__title { margin: 0 0 40px !important; font-size: 40px; font-weight: 500; letter-spacing: -0.02em; color: var(--vg-ink); }
.elementor-element-vgpostrelfeed1 .post-feed-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px !important; }
@media (max-width: 1023px) { .elementor-element-vgpostrelfeed1 .post-feed-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px) { .elementor-element-vgpostrelfeed1 .post-feed-grid { grid-template-columns: 1fr !important; } }

/* === Форма подписки === */
.elementor-element-vgpostnews1 {
  padding: 56px 0 !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink); background-color: var(--vg-ink) !important;
  align-items: center !important; justify-content: space-between !important; gap: 32px !important; flex-wrap: wrap;
}
.elementor-element-vgpostnews1 > .e-con-inner {
  max-width: 1100px !important; margin: 0 auto !important; padding: 0 24px !important;
  align-items: center !important; justify-content: space-between !important; gap: 32px !important; flex-wrap: wrap;
}
.vg-post-newsletter__eyebrow { margin: 0 0 12px !important; font-family: var(--vg-font-mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--vg-yellow) !important; }
.vg-post-newsletter__title {
  margin: 0; max-width: 600px; font-size: 36px; font-weight: 500; line-height: 1; letter-spacing: -0.025em; color: #FFFFFF !important;
}
@media (min-width: 640px) {
  .vg-post-newsletter__title { font-size: 48px; }
}

.elementor-element-vgpostnewssc1 { width: 100% !important; max-width: 448px !important; }
.elementor-element-vgpostnewssc1 .ff-t-container {
  display: flex !important; width: 100% !important; align-items: stretch !important; gap: 0 !important;
  border: 2px solid #FFFFFF !important; border-radius: var(--vg-radius-control) !important;
  overflow: hidden; background-color: transparent !important;
}
.elementor-element-vgpostnewssc1 .ff-t-column-1 { flex: 1 1 0% !important; min-width: 0 !important; width: auto !important; }
.elementor-element-vgpostnewssc1 .ff-t-column-2 { flex: 0 0 56px !important; width: 56px !important; min-width: 56px !important; max-width: 56px !important; }
.elementor-element-vgpostnewssc1 .ff-el-group,
.elementor-element-vgpostnewssc1 .ff-el-input--content { margin: 0 !important; padding: 0 !important; height: 100%; width: 100% !important; }
.elementor-element-vgpostnewssc1 .ff_submit_btn_wrapper_custom { width: 56px !important; height: 100% !important; display: flex !important; }
.elementor-element-vgpostnewssc1 .ff-el-form-control {
  height: 56px !important; width: 100% !important; background: transparent !important; border: none !important; box-shadow: none !important;
  color: #FFFFFF !important; padding: 0 16px !important; font-size: 14px !important;
}
.elementor-element-vgpostnewssc1 .ff-el-form-control::placeholder { color: rgba(255,255,255,.5) !important; }
.elementor-element-vgpostnewssc1 .ff-btn-submit {
  width: 56px !important; min-width: 56px !important; height: 56px !important;
  margin: 0 !important; padding: 0 !important; border: none !important; border-radius: 0 !important;
  background-color: var(--vg-yellow) !important; color: var(--vg-ink) !important; font-size: 0 !important;
  display: flex !important; align-items: center; justify-content: center; cursor: pointer;
}
.elementor-element-vgpostnewssc1 .ff-btn-submit:hover { background-color: var(--vg-primary) !important; color: #FFFFFF !important; }
.elementor-element-vgpostnewssc1 .ff-btn-submit::after {
  content: ""; display: block; width: 22px; height: 22px; background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center;
}
.elementor-element-vgpostnewssc1::after {
  content: "Подписываясь, вы соглашаетесь с политикой конфиденциальности.";
  display: block; margin-top: 12px; font-size: 12px; line-height: 1.5; color: rgba(255,255,255,.65);
}
@media (max-width: 767px) {
  .elementor-element-vgpostnewssc1 { max-width: 100%; }
}

/* === CTA рубрики (один HTML-блок, шорткод vg_category_card) === */
.elementor-element-vgpostcatcta1 {
  max-width: 1120px !important; margin: 32px auto !important; padding: 24px !important;
  background-color: #FFFFFF !important; border: var(--vg-border-width) solid var(--vg-ink) !important;
  border-radius: var(--vg-radius-card);
}
.elementor-element-vgpostcatctacard1 .elementor-shortcode { display: block; }
.vg-catcta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.vg-catcta__left { display: flex; align-items: center; gap: 16px; min-width: 0; flex: 1 1 auto; }
.vg-catcta__icon {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 44px; height: 44px; border-radius: var(--vg-radius-control);
  background-color: var(--vg-red); color: #FFFFFF;
}
.vg-catcta__icon svg { width: 24px; height: 24px; display: block; }
.vg-catcta__eyebrow { margin: 0; font-family: var(--vg-font-mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: rgba(22,32,50,.6); }
.vg-catcta__name { margin: 4px 0 0; font-family: var(--vg-font-body); font-size: 24px; font-weight: 500; line-height: 1.2; }
.vg-catcta__name a { color: var(--vg-ink); text-decoration: none; }
.vg-catcta__stat { margin: 4px 0 0; font-size: 14px; color: rgba(22,32,50,.65); }
.vg-catcta__button {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; min-height: 48px; padding: 0 20px; white-space: nowrap;
  border-radius: var(--vg-radius-control); border: var(--vg-border-width) solid var(--vg-ink);
  color: var(--vg-ink); text-decoration: none; font-size: 14px; font-weight: 500;
  transition: background-color .15s ease, color .15s ease;
}
.vg-catcta__button:hover { background-color: var(--vg-ink); color: #FFFFFF; }
.vg-catcta__arrow {
  display: inline-block; width: 16px; height: 16px; flex-shrink: 0; background-color: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M5 12h14m0 0l-6-6m6 6l-6 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M5 12h14m0 0l-6-6m6 6l-6 6'/%3E%3C/svg%3E");
  mask-size: contain; mask-repeat: no-repeat; mask-position: center;
}
@media (max-width: 640px) {
  .vg-catcta { flex-direction: column; align-items: flex-start; }
  .vg-catcta__button { width: 100%; justify-content: center; }
}
.elementor-element-vgpostreadtime1 .elementor-shortcode { font-family: var(--vg-font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: rgba(22,32,50,.6); }

/* === Нижний CTA (переиспользует .vgcta1__* из cta1.css, свой root — vgpostbottomcta1) === */

.elementor-element-vgpostbottomcta1 {
  position: relative;
  overflow: hidden;
  background-color: var(--vg-yellow);
  border-top: var(--vg-border-width) solid var(--vg-ink);
  padding: 0 16px;
}
@media (min-width: 768px) { .elementor-element-vgpostbottomcta1 { padding: 0 24px; } }
@media (min-width: 1025px) { .elementor-element-vgpostbottomcta1 { padding: 0 30px; } }

/* ============================================================
   Комментарии (Voxel Timeline, виджет ts-timeline, ts_mode=post_wall)
   Скоуп: .elementor-element-dffd3e7 (секция) / -99370a9 (виджет).
   Общий движок Timeline используется ещё в 3 местах сайта (отзывы мест,
   стена профиля, лента) с другими elementor-element-id — эти правила их не затрагивают.
   ============================================================ */

/* --- рамка секции (полностью bleed) + центрированная колонка --- */
.elementor-element-dffd3e7 {
  width: 100% !important;
  max-width: none !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink) !important;
  background-color: rgba(255,255,255,.7) !important;
  padding: 56px 0 !important;
  font-family: var(--vg-font-body) !important;
}
@media (min-width: 640px) { .elementor-element-dffd3e7 { padding: 64px 0 !important; } }

.elementor-element-dffd3e7 > .elementor-element-vgpostcomeyebrow1,
.elementor-element-dffd3e7 > .elementor-element-vgpostcomtitle1,
.elementor-element-dffd3e7 > .elementor-element-99370a9 {
  max-width: 900px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}
@media (min-width: 640px) {
  .elementor-element-dffd3e7 > .elementor-element-vgpostcomeyebrow1,
  .elementor-element-dffd3e7 > .elementor-element-vgpostcomtitle1,
  .elementor-element-dffd3e7 > .elementor-element-99370a9 { padding-left: 24px !important; padding-right: 24px !important; }
}
@media (min-width: 1024px) {
  .elementor-element-dffd3e7 > .elementor-element-vgpostcomeyebrow1,
  .elementor-element-dffd3e7 > .elementor-element-vgpostcomtitle1,
  .elementor-element-dffd3e7 > .elementor-element-99370a9 { padding-left: 32px !important; padding-right: 32px !important; }
}

/* --- заголовок секции --- */
.elementor-element-vgpostcomeyebrow1 { margin-bottom: 0 !important; }
.elementor-element-vgpostcomeyebrow1 .elementor-heading-title {
  margin: 0 !important;
  font-family: var(--vg-font-mono) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  color: rgba(22,32,50,.6) !important;
}
.elementor-element-vgpostcomtitle1 {
  margin-top: 8px !important;
  margin-bottom: 32px !important;
  padding-bottom: 24px !important;
  border-bottom: var(--vg-border-width) solid var(--vg-ink) !important;
}
.elementor-element-vgpostcomtitle1 .elementor-heading-title {
  margin: 0 !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: var(--vg-ink) !important;
}
@media (min-width: 640px) { .elementor-element-vgpostcomtitle1 .elementor-heading-title { font-size: 36px !important; } }

/* --- пустое состояние «Комментариев пока нет» --- */
.elementor-element-99370a9 .ts-no-posts {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 48px 16px !important;
  text-align: center !important;
  border: var(--vg-border-width) dashed rgba(22,32,50,.3) !important;
  border-radius: var(--vg-radius-card) !important;
  color: rgba(22,32,50,.55) !important;
}
.elementor-element-99370a9 .ts-no-posts svg { width: 32px !important; height: 32px !important; opacity: .5 !important; }
.elementor-element-99370a9 .ts-no-posts p { margin: 0 !important; font-size: 14px !important; }

/* --- поиск/фильтры/сортировка (.vxf-filters) --- */
.elementor-element-99370a9 .vxf-filters {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
}
.elementor-element-99370a9 .vxf-filters .ts-form {
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important;
  border-radius: var(--vg-radius-control) !important;
  background: #fff !important;
}
.elementor-element-99370a9 .vxf-filters > a {
  flex: 0 0 auto !important;
}
@media (max-width: 480px) {
  .elementor-element-99370a9 .vxf-filters { flex-wrap: wrap !important; }
  .elementor-element-99370a9 .vxf-filters .ts-form { flex-basis: 100% !important; }
}
.elementor-element-99370a9 .ts-input-icon { display: flex !important; align-items: center !important; gap: 8px !important; padding: 0 14px !important; min-height: 44px !important; }
.elementor-element-99370a9 .ts-input-icon > svg { position: absolute !important; left: 14px !important; }
.elementor-element-99370a9 .ts-input-icon input {
  border: none !important; outline: none !important; background: transparent !important;
  font-size: 14px !important; color: var(--vg-ink) !important; flex: 1 !important;
}
.elementor-element-99370a9 .vxf-filters > a {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  min-height: 44px !important; padding: 0 16px !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important; border-radius: var(--vg-radius-control) !important;
  font-size: 13px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: .06em !important;
  font-family: var(--vg-font-mono) !important; color: var(--vg-ink) !important; text-decoration: none !important;
}
.elementor-element-99370a9 .vxf-filters > a:hover { background: var(--vg-ink) !important; color: #fff !important; }

/* --- композер «написать сообщение» (.vxf-create-post) ---
   ВАЖНО: у Voxel это display:flow-root (блоковый контекст), НЕ flex —
   .vxf-avatar внутри position:absolute (значок-бейдж в углу), .vxf-content__textarea тоже
   position:absolute поверх .vxf-content__highlighter с color:transparent (трюк для каретка).
   Попытка сделать display:flex сломала эту модель — текст двоился/смещался,
   кнопки не уходили вниз. Стилизуем только визуал, не трогая display/позиционирование. */
.elementor-element-99370a9 .vxf-create-post {
  border: var(--vg-border-width) solid var(--vg-ink) !important;
  border-radius: var(--vg-radius-card) !important;
  background-color: var(--vg-bg) !important;
  margin-bottom: 24px !important;
}
.elementor-element-99370a9 .vxf-create-post .vxf-avatar img {
  border-radius: 50% !important;
  border: 1px solid var(--vg-ink) !important; object-fit: cover !important;
}
.elementor-element-99370a9 .vxf-content__highlighter,
.elementor-element-99370a9 .vxf-content__textarea {
  font-family: var(--vg-font-body) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.elementor-element-99370a9 .vxf-content__highlighter { color: var(--vg-ink) !important; }
.elementor-element-99370a9 .vxf-content__textarea { color: transparent !important; caret-color: var(--vg-ink) !important; }
.elementor-element-99370a9 .vxf-content__textarea::placeholder { color: rgba(22,32,50,.45) !important; }
.elementor-element-99370a9 .vxf-create-post .vxf-footer { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; margin-top: 12px !important; padding: 0 16px 16px !important; }
.elementor-element-99370a9 .vxf-footer-wrapper { padding: 0 !important; }
.elementor-element-99370a9 .vxf-create-post .ts-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-height: 40px !important; padding: 0 16px !important;
  border-radius: var(--vg-radius-control) !important; font-size: 13px !important; font-weight: 600 !important;
  text-decoration: none !important; cursor: pointer !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important;
}
.elementor-element-99370a9 .vxf-create-post .ts-btn-1 { background: transparent !important; color: var(--vg-ink) !important; }
.elementor-element-99370a9 .vxf-create-post .ts-btn-1:hover { background: rgba(22,32,50,.06) !important; }
.elementor-element-99370a9 .vxf-create-post .ts-btn-2 { background: var(--vg-ink) !important; color: #fff !important; }
.elementor-element-99370a9 .vxf-create-post .ts-btn-2:hover { background: var(--vg-primary) !important; border-color: var(--vg-primary) !important; }

/* --- карточка статуса/комментария (.vxf-post) --- */
.elementor-element-99370a9 .vxf-post {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(22,32,50,.15) !important;
}
.elementor-element-99370a9 .vxfeed > .vxf-subgrid:first-of-type > .vxf-post { border-top: none !important; padding-top: 0 !important; }
.elementor-element-99370a9 .vxf-head { display: flex !important; align-items: flex-start !important; gap: 12px !important; }
.elementor-element-99370a9 .vxf-avatar img {
  width: 44px !important; height: 44px !important; border-radius: 50% !important;
  border: 1px solid var(--vg-ink) !important; object-fit: cover !important;
}
.elementor-element-99370a9 .vxf-comment .vxf-avatar img { width: 36px !important; height: 36px !important; }
.elementor-element-99370a9 .vxf-user { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; align-items: center !important; gap: 4px 10px !important; flex: 1 !important; min-width: 0 !important; }
.elementor-element-99370a9 .vxf-user > a:first-child { font-weight: 600 !important; color: var(--vg-ink) !important; text-decoration: none !important; font-size: 15px !important; }
.elementor-element-99370a9 .vxf-user > span { display: flex !important; flex-wrap: wrap !important; gap: 4px 10px !important; font-size: 12px !important; color: rgba(22,32,50,.55) !important; }
.elementor-element-99370a9 .vxf-user > span a { color: inherit !important; text-decoration: none !important; }
.elementor-element-99370a9 .vxf-icon.vxf-more { color: rgba(22,32,50,.4) !important; }
.elementor-element-99370a9 .vxf-body { margin-top: 10px !important; margin-left: 56px !important; }
.elementor-element-99370a9 .vxf-comment .vxf-body { margin-left: 48px !important; }
.elementor-element-99370a9 .vxf-body-text { font-size: 14px !important; line-height: 1.65 !important; color: var(--vg-ink) !important; }
.elementor-element-99370a9 .vxf-post .vxf-footer { margin-top: 12px !important; margin-left: 56px !important; display: flex !important; align-items: center !important; gap: 16px !important; flex-wrap: wrap !important; }
.elementor-element-99370a9 .vxf-comment .vxf-footer { margin-left: 48px !important; }
.elementor-element-99370a9 .vxf-post .vxf-actions { display: flex !important; align-items: center !important; gap: 16px !important; }
.elementor-element-99370a9 .vxf-post .vxf-icon {
  display: inline-flex !important; align-items: center !important; gap: 6px !important;
  color: rgba(22,32,50,.55) !important; font-size: 13px !important; cursor: pointer !important;
}
.elementor-element-99370a9 .vxf-post .vxf-icon svg { width: 18px !important; height: 18px !important; }
.elementor-element-99370a9 .vxf-post .vxf-icon:hover { color: var(--vg-primary) !important; }
.elementor-element-99370a9 .vxf-icon.vxf-liked,
.elementor-element-99370a9 .vxf-icon.vxf-reposted { color: var(--vg-primary) !important; }
.elementor-element-99370a9 .vxf-details { font-size: 13px !important; color: rgba(22,32,50,.55) !important; }
.elementor-element-99370a9 .vxf-details a { color: inherit !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.elementor-element-99370a9 .vxf-details a:hover { color: var(--vg-primary) !important; }
.elementor-element-99370a9 .vxf-recent-likes img { width: 18px !important; height: 18px !important; border-radius: 50% !important; border: 1px solid #fff !important; margin-left: -6px !important; }

/* --- вложенные ответы --- */
.elementor-element-99370a9 .vxf-comment-level.vxf-second-level {
  margin-left: 56px !important; margin-top: 12px !important; padding-left: 16px !important;
  border-left: 2px solid var(--vg-primary) !important;
}
.elementor-element-99370a9 .vxf-comment-level .vxf-post { padding: 14px 0 !important; }

/* --- композер ответа (reply) --- */
.elementor-element-99370a9 .vxf-create-comment {
  margin-top: 12px !important; margin-left: 56px !important; padding: 12px !important;
  border-radius: var(--vg-radius-control) !important;
  background-color: rgba(255,255,255,.6) !important; border: 1px solid rgba(22,32,50,.2) !important;
}
.elementor-element-99370a9 .vxf-create-comment .vxf-avatar img { width: 32px !important; height: 32px !important; }

/* --- кнопки «загрузить ещё» --- */
.elementor-element-99370a9 .ts-load-more {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
  min-height: 48px !important; width: 100% !important; margin-top: 20px !important;
  border: var(--vg-border-width) solid var(--vg-ink) !important; border-radius: var(--vg-radius-control) !important;
  font-size: 14px !important; font-weight: 500 !important; color: var(--vg-ink) !important;
  text-decoration: none !important; background: transparent !important;
}
.elementor-element-99370a9 .ts-load-more:hover { background: var(--vg-ink) !important; color: #fff !important; }
.elementor-element-99370a9 .ts-btn-4 {
  display: inline-flex !important; align-items: center !important; gap: 6px !important; margin-top: 12px !important;
  font-size: 13px !important; font-weight: 600 !important; color: var(--vg-primary) !important;
  text-decoration: underline !important; text-underline-offset: 3px !important;
}
