@charset "UTF-8";
/* ===== 2. Оформление сайта в стиле ve4ora.ru ===== */
:root {
  --ve-coral: #fa7368;
  --ve-coral-dark: #d9493d;
  --ve-dark: #3b3b3b;
  --ve-grey: #ececec;
  --ve-rose: #cdc4c4;
  --cassiopeia-color-link: var(--ve-coral-dark);
  --cassiopeia-color-hover: var(--ve-coral);
}
body { color: var(--ve-dark); }
a { color: var(--ve-coral-dark); }
a:hover, a:focus { color: var(--ve-coral); }

/* Шапка: белая, логотип слева, меню справа */
.container-header {
  background: #fff !important;
  background-image: none !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
  color: var(--ve-dark);
}
.container-header .grid-child { align-items: center; }
.container-header .navbar-brand { padding: .6rem 0; margin: 0; }
.container-header .brand-logo img { max-height: 64px; width: auto; }
.container-header .container-nav { padding: 0; }
.container-header .mod-menu > li > a,
.container-header .mod-menu > li > button,
.container-header .metismenu > li > a,
.container-header .metismenu > li > button {
  color: var(--ve-dark);
  font-weight: 600;
}
.container-header .navbar-toggler { color: var(--ve-dark); border-color: var(--ve-dark); }
@media (min-width: 992px) {
  /* логотип и меню в одну строку, как на ve4ora.ru */
  .container-header {
    display: grid;
    grid-template-columns: max(1.25rem, calc((100% - 72rem) / 2)) auto 1fr max(1.25rem, calc((100% - 72rem) / 2));
    align-items: center;
  }
  .container-header > .container-topbar { grid-column: 1 / -1; }
  .container-header > .grid-child:not(.container-nav) { grid-column: 2; max-width: none; margin: 0; padding: 0 2rem 0 0; }
  .container-header > .container-nav { grid-column: 3; max-width: none; margin: 0; justify-content: flex-end; padding: 0; }
  .container-header .container-nav .navbar { flex: 1; justify-content: flex-end; }
}

/* Верхняя полоса с контактами */
.container-header .container-topbar {
  background: var(--ve-dark);
  color: #fff;
  font-size: .85rem;
  padding: .35rem 0;
}
.vh-topbar {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem;
  max-width: 72rem; margin: 0 auto; padding: 0 1.25rem;
}
.vh-topbar a { color: #fff; text-decoration: none; }
.vh-topbar a:hover, .vh-topbar a:focus { color: var(--ve-coral); }
.vh-topbar__social { display: flex; gap: 1rem; }
.vh-topbar__social .fa-brands { font-size: 1rem; }
.vh-topbar__info { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
.vh-topbar__info .fa-solid, .vh-topbar__info .fa-regular { color: var(--ve-coral); margin-right: .35rem; }

/* Нижний блок с меню: на всю ширину, светло-серый */
.container-bottom-b {
  grid-column: full-start / full-end;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem 2rem;
  padding: 2.5rem max(1.25rem, calc((100% - 69.5rem) / 2));
  margin: 0;
  background: var(--ve-grey);
}
.container-bottom-b > .card { background: transparent; border: 0; margin: 0; }
.container-bottom-b > .card > .card-header {
  background: transparent; border: 0; padding: 0 0 1rem;
  font-size: 1.1rem; font-weight: 700; color: var(--ve-dark);
}
.container-bottom-b > .card > .card-header::after {
  content: ""; display: block; width: 2.5rem; height: 3px; margin-top: .55rem;
  background: var(--ve-coral); border-radius: 2px;
}
.container-bottom-b > .card > .card-body { padding: 0; }
.container-bottom-b .mod-menu { display: flex; flex-direction: column; gap: .15rem; padding: 0; margin: 0; list-style: none; }
.container-bottom-b .mod-menu li { margin: 0; padding: 0; }
.container-bottom-b .mod-menu a {
  display: flex; align-items: center; gap: .7rem;
  margin: 0 -.6rem; padding: .45rem .6rem; border-radius: .6rem;
  color: var(--ve-dark); text-decoration: none !important; font-weight: 500;
  transition: background-color .15s, color .15s;
}
.container-bottom-b .mod-menu li.current > a,
.container-bottom-b .mod-menu li.active > a { color: var(--ve-coral-dark); font-weight: 600; }
.container-bottom-b .mod-menu a > [class*="fa-"] {
  flex: none; width: 2rem; height: 2rem; padding: 0 !important;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: #fff; color: var(--ve-coral); font-size: .85rem;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
  transition: background-color .15s, color .15s;
}
.container-bottom-b .mod-menu a::after {
  content: "\f105"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .75rem;
  margin-left: auto; color: #bbb; opacity: 0; transform: translateX(-4px); transition: opacity .15s, transform .15s;
}
.container-bottom-b .mod-menu a:hover,
.container-bottom-b .mod-menu a:focus-visible { background: #fff; color: var(--ve-coral-dark); }
.container-bottom-b .mod-menu a:hover > [class*="fa-"],
.container-bottom-b .mod-menu a:focus-visible > [class*="fa-"] { background: var(--ve-coral); color: #fff; }
.container-bottom-b .mod-menu a:hover::after,
.container-bottom-b .mod-menu a:focus-visible::after { opacity: 1; transform: none; color: var(--ve-coral); }
@media (prefers-reduced-motion: reduce) {
  .container-bottom-b .mod-menu a, .container-bottom-b .mod-menu a::after { transition: none; }
}

/* Подвал: тёмный */
.container-footer { background: var(--ve-dark) !important; background-image: none !important; color: #ddd; }
.container-footer .grid-child { max-width: 72rem; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem; }
.container-footer a { color: #fff; }
.container-footer { margin-top: 0; }
.container-bottom-b { margin-bottom: 0 !important; }
.container-footer .mod-stats { margin: 0; padding: 0; }
.container-footer .mod-stats .list-group-item {
  background: transparent; border: 0; padding: 0; color: #bbb; font-size: .85rem;
}
.container-footer .mod-stats .badge { background: var(--ve-coral) !important; margin-left: .5rem; }
.vh-copy { margin: 0; }
.back-to-top-link { background: var(--ve-coral) !important; }

/* Главная: без полей, на всю ширину экрана */
body.itemid-203.site .site-grid > .container-component {
  grid-column: full-start / full-end !important;
  padding: 0;
}
body.itemid-203.site .site-grid { grid-gap: 0; }
body.itemid-203.site .site-grid > .container-bottom-b { margin-top: 0; }

/* ===== Улучшения ===== */
/* Подвал: колонка «Мы на связи» */
.vh-footer-contacts { list-style: none; padding: 0; margin: 0 0 1rem; }
.vh-footer-contacts li { margin-bottom: .45rem; }
.vh-footer-contacts .fa-solid, .vh-footer-contacts .fa-regular { color: var(--ve-coral); width: 1.3rem; }
.vh-footer-contacts a { color: var(--ve-dark); text-decoration: none; font-weight: 600; }
.vh-footer-social { display: flex; gap: .6rem; }
.vh-footer-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.4rem; height: 2.4rem; border-radius: 50%;
  background: var(--ve-dark); color: #fff !important; text-decoration: none; font-size: 1.05rem;
}
.vh-footer-social a:hover, .vh-footer-social a:focus-visible { background: var(--ve-coral); }
.container-footer .grid-child { justify-content: center; text-align: center; }

/* Верхняя полоса на телефоне: компактнее */
@media (max-width: 575px) {
  .vh-topbar { justify-content: center; }
  .vh-topbar__info > span { display: none; }
}

/* Подкатегории («Для детей», «Для взрослых») — карточками */
.com-content-category-blog__children.cat-children {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  margin: 1rem 0 2rem;
}
.cat-children > h3 { grid-column: 1 / -1; }
.com-content-category-blog__child {
  position: relative;
  background: #fff;
  border: 1px solid #eee;
  border-top: 4px solid var(--ve-coral);
  border-radius: .5rem;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
  transition: box-shadow .2s, transform .2s;
}
.com-content-category-blog__child:hover,
.com-content-category-blog__child:focus-within {
  box-shadow: 0 10px 26px rgba(0, 0, 0, .12);
  transform: translateY(-2px);
}
.com-content-category-blog__child .item-title {
  font-size: 1.2rem; margin: 0 0 .5rem; padding: 0; border: 0;
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
}
.com-content-category-blog__child .item-title a {
  color: var(--ve-dark); text-decoration: none;
}
.com-content-category-blog__child .item-title a::after { content: ""; position: absolute; inset: 0; }
.com-content-category-blog__child:hover .item-title a { color: var(--ve-coral-dark); }
.com-content-category-blog__child .item-title .badge {
  background: var(--ve-coral) !important; color: #fff; font-size: .75rem; font-weight: 600;
}
.com-content-category-blog__child .category-desc {
  font-size: .9rem; color: #666; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.com-content-category-blog__child .category-desc h1,
.com-content-category-blog__child .category-desc h2 { display: none; }
@media (prefers-reduced-motion: reduce) {
  .com-content-category-blog__child { transition: none; }
  .com-content-category-blog__child:hover { transform: none; }
}
.vh-topbar__info .fa-envelope, .vh-footer-contacts .fa-envelope { color: var(--ve-coral); margin-right: .35rem; }
.vh-footer-contacts a[href^="mailto"] { font-weight: 400; }
@media (max-width: 575px) { .vh-topbar__info { justify-content: center; } }

/* ===== Меню в шапке ===== */
.container-header .metismenu > li > a::after,
.container-header .metismenu > li > button::before,
.container-header .metismenu > li > a::before { display: none !important; }

/* стрелка-«галочка» вместо треугольника */
.container-header .metismenu.mod-menu .mm-toggler::after {
  border: solid currentColor; border-width: 0 2px 2px 0;
  width: .42em; height: .42em; margin: -.2em 0 0 .45em;
  transform: rotate(45deg); transition: transform .2s;
}

@media (min-width: 992px) {
  .container-header .metismenu { gap: .25rem; align-items: center; flex-wrap: nowrap; }
  .container-header .metismenu > li { flex-wrap: nowrap; }
  .container-header .metismenu > li {
    position: relative; display: flex; align-items: center; padding: 0 !important; margin: 0;
    border-radius: 2rem; transition: background-color .2s;
  }
  .container-header .metismenu > li > a {
    padding: .5rem 1rem; line-height: 1.4; color: var(--ve-dark); font-weight: 600; text-decoration: none; white-space: nowrap;
  }
  .container-header .metismenu > li.parent > a { padding-right: .15rem; }
  .container-header .metismenu > li > .mm-toggler { padding: .55rem .9rem .55rem .2rem; color: var(--ve-dark); }
  .container-header .metismenu > li:hover,
  .container-header .metismenu > li:focus-within { background: #fdf0ee; }
  .container-header .metismenu > li:hover > a,
  .container-header .metismenu > li:hover > .mm-toggler { color: var(--ve-coral-dark); }
  .container-header .metismenu > li:hover > .mm-toggler::after { transform: rotate(-135deg); margin-top: .25em; }
  .container-header .metismenu > li.active,
  .container-header .metismenu > li.current { background: var(--ve-coral); }
  .container-header .metismenu > li.active > a,
  .container-header .metismenu > li.active > .mm-toggler { color: #fff; }

  /* выпадающее меню — карточка */
  .container-header .metismenu > li > .mm-collapse {
    position: absolute; top: calc(100% + .6rem); left: 0; z-index: 1000;
    min-width: 16rem; padding: .5rem;
    background: #fff !important; border: 0 !important; border-radius: 1rem;
    box-shadow: 0 18px 40px rgba(30, 20, 20, .15), 0 2px 6px rgba(0, 0, 0, .05);
    animation: ve-drop .18s ease-out;
  }
  /* «мостик», чтобы меню не закрывалось при движении мыши */
  .container-header .metismenu > li > .mm-collapse::before {
    content: ""; position: absolute; left: 0; right: 0; top: -.7rem; height: .7rem;
  }
  .container-header .metismenu li:hover > .mm-collapse,
  .container-header .metismenu li:focus-within > .mm-collapse { display: block; }
  .container-header .metismenu .mm-collapse li { display: block; margin: 0; padding: 0; position: relative; }
  .container-header .metismenu .mm-collapse a {
    display: block; padding: .55rem .9rem; border-radius: .6rem;
    color: var(--ve-dark) !important; font-weight: 500; line-height: 1.35; text-decoration: none;
    transition: background-color .15s, color .15s, padding-left .15s;
  }
  .container-header .metismenu .mm-collapse a:hover,
  .container-header .metismenu .mm-collapse a:focus-visible {
    background: #fdf0ee; color: var(--ve-coral-dark) !important; padding-left: 1.15rem;
  }
  .container-header .metismenu .mm-collapse li.active > a,
  .container-header .metismenu .mm-collapse li.current > a { color: var(--ve-coral-dark) !important; font-weight: 700; }
  /* вложенные пункты (Свадьба → …) — под родителем, с отступом */
  .container-header .metismenu .mm-collapse li.parent { display: flex; flex-wrap: wrap; align-items: center; }
  .container-header .metismenu .mm-collapse li.parent > a { flex: 1; }
  .container-header .metismenu .mm-collapse li.parent > .mm-toggler { padding: 0 .8rem; color: #aaa; }
  .container-header .metismenu .mm-collapse .mm-collapse {
    position: static; flex-basis: 100%; min-width: 0; margin: 0 0 .25rem .75rem; padding: 0 0 0 .5rem;
    border-left: 2px solid #f6d6d2 !important; box-shadow: none; animation: none; background: transparent !important;
  }
  .container-header .metismenu .mm-collapse .mm-collapse a { font-size: .92rem; padding: .4rem .75rem; }
}
@keyframes ve-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ===== Поиск ===== */
.container-header .container-search { position: relative; }
.container-header .container-search .mod-finder { margin: 0; }
.container-header .container-search input.form-control {
  height: 2.75rem; width: 16rem; max-width: 100%;
  padding: 0 1.1rem 0 2.6rem;
  border: 1px solid transparent; border-radius: 2rem;
  background: #f3f1f1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E") no-repeat .95rem center;
  color: var(--ve-dark); font-size: .95rem;
  transition: width .25s, background-color .2s, border-color .2s, box-shadow .2s;
}
.container-header .container-search input.form-control::placeholder { color: #999; }
.container-header .container-search input.form-control:hover { background-color: #eeeaea; }
.container-header .container-search input.form-control:focus {
  background-color: #fff; border-color: var(--ve-coral);
  box-shadow: 0 0 0 4px rgba(250, 115, 104, .18); outline: 0;
}
/* подсказки при наборе */
.container-header .container-search .awesomplete { display: block; }
.container-header .container-search .awesomplete > ul {
  top: calc(100% + .5rem); left: 0; right: 0; min-width: 100%; margin: 0; padding: .4rem;
  background: #fff; border: 0; border-radius: .9rem;
  box-shadow: 0 18px 40px rgba(30, 20, 20, .15);
}
.container-header .container-search .awesomplete > ul::before { display: none; }
.container-header .container-search .awesomplete > ul > li { padding: .5rem .8rem; border-radius: .5rem; }
.container-header .container-search .awesomplete > ul > li:hover,
.container-header .container-search .awesomplete > ul > li[aria-selected="true"] { background: #fdf0ee; color: var(--ve-coral-dark); }
.container-header .container-search .awesomplete mark { background: none; color: var(--ve-coral-dark); font-weight: 700; padding: 0; }
@media (min-width: 992px) {
  .container-header .container-search { margin-left: 1.25rem; }
}

/* ===== Телефон и планшет ===== */
@media (max-width: 991.98px) {
  /* логотип и кнопка меню в одну строку, поиск под ними */
  .container-header { display: grid; grid-template-columns: 1fr auto; align-items: center; position: sticky; }
  .container-header > .container-topbar { grid-column: 1 / -1; }
  .container-header > .grid-child:not(.container-nav) { grid-column: 1; margin: 0; padding: .5rem 1rem; }
  .container-header .brand-logo img { max-height: 48px; }
  .container-header .container-nav { display: contents; }
  .container-header .container-nav .navbar { grid-column: 2; grid-row: 2; padding: 0 1rem 0 0; position: static; }
  .container-header .container-nav .container-search { grid-column: 1 / -1; padding: 0 1rem .8rem; margin: 0; }
  .container-header .container-search input.form-control,
  .container-header .container-search input.form-control:focus { width: 100%; }

  .container-header .navbar-toggler {
    width: 2.75rem; height: 2.75rem; padding: 0; border: 0 !important; border-radius: .8rem;
    background: var(--ve-dark); color: #fff !important;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .container-header .navbar-toggler .icon-menu { font-size: 1.2rem; }
  .container-header .navbar-toggler[aria-expanded="true"] { background: var(--ve-coral); }

  /* раскрытое меню — карточка поверх страницы */
  .container-header .navbar-collapse {
    position: absolute; left: .75rem; right: .75rem; top: calc(100% - .25rem); z-index: 1030;
  }
  .container-header .metismenu {
    margin: 0; padding: .4rem !important; background: #fff; border-radius: 1rem;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .18);
    max-height: calc(100vh - 11rem); overflow-y: auto;
  }
  .container-header .metismenu li { display: flex; flex-wrap: wrap; align-items: center; padding: 0 !important; margin: 0; }
  .container-header .metismenu, .container-header .metismenu ul { list-style: none; }
  .container-header .metismenu li > a {
    flex: 1; padding: .8rem 1rem; color: var(--ve-dark) !important; font-weight: 600;
    text-decoration: none !important; border-radius: .6rem;
  }
  .container-header .metismenu li > a:hover,
  .container-header .metismenu li > a:active { background: #fdf0ee; color: var(--ve-coral-dark) !important; }
  .container-header .metismenu li > .mm-toggler {
    width: 2.75rem; height: 2.75rem; justify-content: center; padding: 0; color: var(--ve-dark);
    border-radius: .6rem; outline-offset: -2px;
  }
  .container-header .metismenu li > .mm-toggler[aria-expanded="true"] { background: #fdf0ee; color: var(--ve-coral-dark); }
  .container-header .metismenu > li + li { border-top: 1px solid #f1eded; }
  .container-header .metismenu .mm-collapse,
  .container-header .metismenu > li > .mm-collapse {
    position: static !important; flex-basis: 100%; width: auto; min-width: 0;
    margin: 0 0 .4rem .9rem; padding: 0 0 0 .4rem;
    border: 0 !important; border-left: 2px solid #f6d6d2 !important;
    background: transparent !important; box-shadow: none !important;
  }
  .container-header .metismenu .mm-collapse a { font-weight: 500; padding: .6rem .8rem; }
  .container-header .metismenu .mm-toggler[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: .25em; }
}
@media (prefers-reduced-motion: reduce) {
  .container-header .metismenu > li > .mm-collapse { animation: none; }
  .container-header .container-search input.form-control,
  .container-header .metismenu .mm-collapse a { transition: none; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .container-header .metismenu > li > a { padding: .5rem .7rem; }
  .container-header .metismenu > li.parent > a { padding-right: .1rem; }
  .container-header .metismenu > li > .mm-toggler { padding-right: .6rem; }
  .container-header .container-search input.form-control { width: 11rem; }
  .container-header .container-search { margin-left: .75rem; }
  .container-header > .grid-child:not(.container-nav) { padding-right: 1rem; }
  .container-header .brand-logo img { max-height: 54px; }
}
.container-header .metismenu a,
.container-header .metismenu a:hover,
.container-header .metismenu a:focus { text-decoration: none !important; }
@media (min-width: 992px) {
  .container-header .metismenu .mm-collapse li.parent:hover > .mm-toggler::after { transform: rotate(-135deg); margin-top: .25em; }
}

/* ===== Иконки пунктов меню ===== */
.container-header .metismenu a > [class*="fa-"] {
  padding: 0 !important;
  width: 1.25em; margin-right: .5rem; vertical-align: -.08em;
  display: inline-block; text-align: center;
  color: var(--ve-coral); font-size: .95em;
  transition: color .15s, transform .15s;
}
.container-header .metismenu .mm-collapse a > [class*="fa-"] { color: #c9a6a2; font-size: .9em; }
.container-header .metismenu .mm-collapse a:hover > [class*="fa-"],
.container-header .metismenu .mm-collapse a:focus-visible > [class*="fa-"] { color: var(--ve-coral); transform: scale(1.12); }
@media (min-width: 992px) {
  .container-header .metismenu > li:hover > a > [class*="fa-"] { color: var(--ve-coral-dark); }
  .container-header .metismenu > li.active > a > [class*="fa-"] { color: #fff; }
  /* в выпадающем меню отступ при наведении не нужен — сдвигается иконка */
  .container-header .metismenu .mm-collapse a:hover,
  .container-header .metismenu .mm-collapse a:focus-visible { padding-left: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .container-header .metismenu a > [class*="fa-"] { transition: none; }
}
/* место в шапке для 4 разделов */
@media (min-width: 992px) {
  .container-header .metismenu > li > a { padding-left: .8rem; }
  .container-header .container-search input.form-control { width: 12.5rem; }
}
@media (min-width: 992px) and (max-width: 1279.98px) {
  .container-header .metismenu > li > a > [class*="fa-"] { display: none; }
  .container-header .container-search input.form-control { width: 10rem; }
}
@media (min-width: 992px) and (max-width: 1099.98px) {
  .container-header .metismenu > li > a { padding-left: .6rem; font-size: .95rem; }
  .container-header .container-search input.form-control { width: 8.5rem; }
}
@media (min-width: 992px) {
  .container-header .metismenu > li { flex-shrink: 0; }
}
@media (min-width: 992px) {
  .container-header .metismenu > li > a > [class*="fa-"] { display: none; }
}

/* «Главная» — домик вместо слова (на компьютере) */
@media (min-width: 992px) {
  .container-header .metismenu > li.item-206 > a { font-size: 0 !important; padding: .55rem .85rem !important; line-height: 1; }
  .container-header .metismenu > li.item-206 > a > [class*="fa-"] {
    display: inline-block !important; margin: 0 !important; width: auto;
    font-size: 1.2rem; color: var(--ve-dark); vertical-align: middle;
  }
  .container-header .metismenu > li.item-206:hover > a > [class*="fa-"] { color: var(--ve-coral-dark); }
  .container-header .metismenu > li.item-206.active > a > [class*="fa-"],
  .container-header .metismenu > li.item-206.current > a > [class*="fa-"] { color: #fff; }

  /* поиск занимает всё свободное место в шапке */
  .container-header > .container-nav { display: flex; flex-wrap: nowrap !important; align-items: center; gap: 1.25rem; min-width: 0; }
  .container-header { grid-template-columns: max(1.25rem, calc((100% - 80rem) / 2)) auto 1fr max(1.25rem, calc((100% - 80rem) / 2)) !important; }
  .vh-topbar { max-width: 80rem; }
  .container-header .container-nav .navbar { flex: 0 0 auto; }
  .container-header .container-nav .container-search { flex: 1 1 auto; min-width: 9rem; max-width: 30rem; margin: 0 0 0 auto !important; }
  .container-header .container-search .mod-finder,
  .container-header .container-search .awesomplete { width: 100%; display: block; }
  .container-header .container-search input.form-control,
  .container-header .container-search input.form-control:focus { width: 100% !important; }
}
/* ===== 1. Вставки-модули в статьях: единая карточка ===== */
.com-content-article__body .mod-custom:has(.card, .card-body) {
  max-width: 34rem;
  margin: 2rem auto;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .08);
  text-align: center;
}
.com-content-article__body .mod-custom .card {
  width: 100% !important; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
  display: flex; flex-direction: column; align-items: stretch;
}
.com-content-article__body .mod-custom .card > *,
.com-content-article__body .mod-custom .card-body > * { margin-left: 1.5rem; margin-right: 1.5rem; }

/* медиа сверху на всю ширину: картинка или видео */
.com-content-article__body .mod-custom .card-title img,
.com-content-article__body .mod-custom .card > img,
.com-content-article__body .mod-custom .card > p:first-child img {
  display: block; width: calc(100% + 3rem) !important; max-width: none; height: auto !important;
  margin: 0 -1.5rem 1.1rem !important; border-radius: 0; box-shadow: none;
}
.com-content-article__body .mod-custom > div:has(> iframe),
.com-content-article__body .mod-custom > p:has(> iframe) { margin: 0; line-height: 0; }
.com-content-article__body .mod-custom iframe {
  display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0; background: #1f1f1f;
}

/* текст карточки */
.com-content-article__body .mod-custom .card-body { padding: 1.1rem 0 0; text-align: center; }
.com-content-article__body .mod-custom .card-title {
  font-size: 1.15rem !important; line-height: 1.35; font-weight: 700; color: var(--ve-dark) !important;
  margin-top: 0; margin-bottom: .35rem; text-align: center !important;
}
.com-content-article__body .mod-custom .card > .card-title { margin-top: 0; }
.com-content-article__body .mod-custom .card-text,
.com-content-article__body .mod-custom .card-body h6,
.com-content-article__body .mod-custom .card-body p:not(:has(a)) {
  font-size: .92rem !important; font-weight: 400; color: #777 !important; line-height: 1.45;
  margin-top: 0; margin-bottom: 1rem; text-align: center !important;
}
.com-content-article__body .mod-custom h5 *, .com-content-article__body .mod-custom h6 * { color: inherit !important; }

/* аудиоплеер */
.com-content-article__body .mod-custom audio {
  display: block; width: 100%; max-width: 100%; height: 2.6rem; margin: 0 auto .9rem !important;
  border-radius: 2rem;
}
.com-content-article__body .mod-custom p:has(> audio) { margin-bottom: 0; }

/* кнопка — как во всём сайте: коралловая «таблетка» */
.com-content-article__body .mod-custom .btn,
.com-content-article__body .mod-custom .btn-danger,
.com-content-article__body .mod-custom .btn-primary,
.com-content-article__body .mod-custom .btn-success,
.com-content-article__body .mod-custom .btn-secondary {
  display: block; width: auto; max-width: 100%;
  margin: .25rem 1.5rem 1.5rem !important; padding: .8rem 1.5rem;
  border: 0; border-radius: 2rem;
  background: var(--ve-coral) !important; color: #fff !important;
  font-size: .98rem; font-weight: 600; line-height: 1.3; text-align: center; text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(250, 115, 104, .35);
  transition: background-color .2s, box-shadow .2s, transform .2s;
}
.com-content-article__body .mod-custom .btn::before {
  content: "\f019"; font-family: "Font Awesome 6 Free"; font-weight: 900; margin-right: .5rem; font-size: .9em;
}
.com-content-article__body .mod-custom .btn:hover,
.com-content-article__body .mod-custom .btn:focus-visible {
  background: var(--ve-dark) !important; box-shadow: 0 6px 16px rgba(0, 0, 0, .2); transform: translateY(-1px);
}
.com-content-article__body .mod-custom .btn:focus-visible { outline: 3px solid var(--ve-coral); outline-offset: 2px; }
.com-content-article__body .mod-custom p:has(> .btn) { margin: 0; }
@media (prefers-reduced-motion: reduce) {
  .com-content-article__body .mod-custom .btn { transition: none; }
}
.com-content-article__body .mod-custom em,
.com-content-article__body .mod-custom i:not([class*="fa"]) { font-style: normal; color: inherit !important; }

/* ===== Кнопки-вставки: главное целевое действие ===== */
.com-content-article__body .mod-custom .btn,
.com-content-article__body .mod-custom .btn-danger,
.com-content-article__body .mod-custom .btn-primary,
.com-content-article__body .mod-custom .btn-success,
.com-content-article__body .mod-custom .btn-secondary {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex !important; align-items: center; justify-content: center; gap: .6rem;
  min-height: 3.5rem; padding: .9rem 1.75rem !important;
  border-radius: 3rem !important;
  background: linear-gradient(135deg, #ff8f6b 0%, #fa6a5e 45%, #ef4d5a 100%) !important;
  color: #fff !important;
  font-size: 1.08rem !important; font-weight: 700 !important; letter-spacing: .01em;
  box-shadow: 0 10px 24px rgba(239, 77, 90, .38), inset 0 -3px 0 rgba(0, 0, 0, .12) !important;
  transition: transform .2s, box-shadow .2s, filter .2s !important;
}
/* значок загрузки в белом кружке */
.com-content-article__body .mod-custom .btn::before {
  content: "\f019"; font-family: "Font Awesome 6 Free"; font-weight: 900;
  flex: none; width: 2rem; height: 2rem; margin: 0 !important;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(255, 255, 255, .25); font-size: .9rem;
}
/* блик, пробегающий по кнопке */
.com-content-article__body .mod-custom .btn::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
  transform: skewX(-20deg);
  animation: ve-shine 3.8s ease-in-out infinite;
}
@keyframes ve-shine { 0%, 55% { left: -60%; } 85%, 100% { left: 130%; } }
.com-content-article__body .mod-custom .btn:hover,
.com-content-article__body .mod-custom .btn:focus-visible {
  transform: translateY(-3px) scale(1.02);
  filter: saturate(1.15) brightness(1.03);
  background: linear-gradient(135deg, #ff8f6b 0%, #fa6a5e 45%, #ef4d5a 100%) !important;
  box-shadow: 0 16px 34px rgba(239, 77, 90, .5), inset 0 -3px 0 rgba(0, 0, 0, .12) !important;
}
.com-content-article__body .mod-custom .btn:hover::before { animation: ve-bounce .6s ease-in-out infinite; }
@keyframes ve-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(3px); } }
.com-content-article__body .mod-custom .btn:active { transform: translateY(0) scale(.99); }
.com-content-article__body .mod-custom .btn:focus-visible { outline: 3px solid var(--ve-dark); outline-offset: 3px; }
/* подсказка под кнопкой */
.com-content-article__body .mod-custom:has(.btn)::after {
  content: "Откроется магазин sheyanova.ru";
  display: block; margin: -.6rem 1.5rem 1.2rem; font-size: .78rem; color: #999;
}
@media (prefers-reduced-motion: reduce) {
  .com-content-article__body .mod-custom .btn::after,
  .com-content-article__body .mod-custom .btn:hover::before { animation: none; }
  .com-content-article__body .mod-custom .btn { transition: none !important; }
  .com-content-article__body .mod-custom .btn:hover { transform: none; }
}

/* ===== Кнопки покупки/скачивания прямо в тексте сценария ===== */
.com-content-article__body a.btn-blue-border,
.com-content-article__body a.cta-btn,
.com-content-article__body a.btn:not(.mod-custom a) {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex !important; align-items: center; justify-content: center; gap: .65rem;
  max-width: 44rem; min-height: 3.5rem; margin: 1rem auto; padding: .9rem 2rem .9rem 1rem !important;
  border: 0 !important; border-radius: 3rem !important;
  background: linear-gradient(135deg, #ff8f6b 0%, #fa6a5e 45%, #ef4d5a 100%) !important;
  color: #fff !important; text-decoration: none !important; text-align: center;
  font-size: 1.08rem !important; font-weight: 700 !important; line-height: 1.3;
  box-shadow: 0 10px 24px rgba(239, 77, 90, .38), inset 0 -3px 0 rgba(0, 0, 0, .12) !important;
  transition: transform .2s, box-shadow .2s, filter .2s !important;
}
.com-content-article__body a.btn-blue-border *,
.com-content-article__body a.cta-btn *,
.com-content-article__body a.btn:not(.mod-custom a) * { color: #fff !important; font-weight: 700; }
.com-content-article__body a.btn-blue-border::before,
.com-content-article__body a.cta-btn::before,
.com-content-article__body a.btn:not(.mod-custom a)::before {
  content: "\f07a"; font-family: "Font Awesome 6 Free"; font-weight: 900;
  flex: none; width: 2.2rem; height: 2.2rem;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%; background: rgba(255, 255, 255, .25); font-size: .95rem;
}
.com-content-article__body a.btn-blue-border::after,
.com-content-article__body a.cta-btn::after,
.com-content-article__body a.btn:not(.mod-custom a)::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
  transform: skewX(-20deg); animation: ve-shine 3.8s ease-in-out infinite;
}
.com-content-article__body a.btn-blue-border:hover, .com-content-article__body a.btn-blue-border:focus-visible,
.com-content-article__body a.cta-btn:hover, .com-content-article__body a.cta-btn:focus-visible,
.com-content-article__body a.btn:not(.mod-custom a):hover, .com-content-article__body a.btn:not(.mod-custom a):focus-visible {
  transform: translateY(-3px) scale(1.02); filter: saturate(1.15) brightness(1.03);
  box-shadow: 0 16px 34px rgba(239, 77, 90, .5), inset 0 -3px 0 rgba(0, 0, 0, .12) !important;
}
.com-content-article__body a.btn-blue-border:focus-visible,
.com-content-article__body a.cta-btn:focus-visible,
.com-content-article__body a.btn:not(.mod-custom a):focus-visible { outline: 3px solid var(--ve-dark); outline-offset: 3px; }
/* абзац с кнопкой — по центру и с воздухом */
.com-content-article__body p:has(> a.btn-blue-border),
.com-content-article__body p:has(> a.cta-btn),
.com-content-article__body p:has(> a.btn) { text-align: center !important; margin: 1.75rem 0; }
@media (max-width: 575px) {
  .com-content-article__body a.btn-blue-border,
  .com-content-article__body a.cta-btn,
  .com-content-article__body a.btn:not(.mod-custom a) { display: flex !important; font-size: 1rem !important; padding-right: 1.25rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  .com-content-article__body a.btn-blue-border::after,
  .com-content-article__body a.cta-btn::after,
  .com-content-article__body a.btn:not(.mod-custom a)::after { animation: none; }
  .com-content-article__body a.btn-blue-border,
  .com-content-article__body a.cta-btn,
  .com-content-article__body a.btn:not(.mod-custom a) { transition: none !important; }
}
/* ===== 3. Главная страница ===== */
.vh { --vh-grad: linear-gradient(135deg, #ff8f6b 0%, #fa6a5e 45%, #ef4d5a 100%); color: var(--ve-dark, #3b3b3b); line-height: 1.6; font-size: 1.02rem; }
.vh img { max-width: 100%; height: auto; display: block; }
.vh-in { max-width: 72rem; margin: 0 auto; padding: 0 1.25rem; }
.vh-sec { padding: 4.5rem 0; }
.vh h2 { font-size: clamp(1.7rem, 1.25rem + 1.6vw, 2.5rem); line-height: 1.2; margin: 0 0 .75rem; color: var(--ve-dark); text-align: center; border: 0; padding: 0; }
.vh h3 { margin: 0; border: 0; padding: 0; }
.vh a { text-decoration: none; }
.vh-lead { text-align: center; color: #777; margin: 0 0 2.5rem; font-size: 1.08rem; }
.vh-kicker { color: var(--ve-coral-dark); font-weight: 700; font-size: .85rem; letter-spacing: .06em; margin: 0 0 .5rem; }
.vh-center { text-align: center; margin: 2.5rem 0 0; }

/* кнопки — одна система на всей странице */
.vh-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 3.4rem; padding: .85rem 1.8rem; border-radius: 3rem;
  font-weight: 700; font-size: 1.05rem; line-height: 1.2; text-decoration: none !important;
  transition: transform .2s, box-shadow .2s, background-color .2s, color .2s;
}
.vh-btn--main { background: var(--vh-grad); color: #fff !important; box-shadow: 0 10px 24px rgba(239, 77, 90, .35); }
.vh-btn--main:hover, .vh-btn--main:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(239, 77, 90, .45); }
.vh-btn--ghost { background: #fff; color: var(--ve-dark) !important; box-shadow: inset 0 0 0 2px #eadfdd; }
.vh-btn--ghost:hover, .vh-btn--ghost:focus-visible { box-shadow: inset 0 0 0 2px var(--ve-coral); color: var(--ve-coral-dark) !important; transform: translateY(-2px); }
.vh-btn--ghost .fa-vk { color: #0077ff; }
.vh-btn--white { background: #fff; color: var(--ve-coral-dark) !important; box-shadow: 0 10px 24px rgba(0, 0, 0, .15); }
.vh-btn--white:hover, .vh-btn--white:focus-visible { transform: translateY(-2px); background: #fff7f5; }
.vh-btn:focus-visible { outline: 3px solid var(--ve-dark); outline-offset: 3px; }

/* 1. Первый экран */
.vh-hero {
  padding: 4.5rem 0;
  background: linear-gradient(rgba(255, 255, 255, .78), rgba(255, 255, 255, .78)), url("/images/_raznoe/heder-01.jpg") center / cover no-repeat;
}
.vh-hero > .vh-in { display: grid; grid-template-columns: minmax(220px, 360px) 1fr; gap: 3.5rem; align-items: center; }
.vh-hero__photo img {
  width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%;
  border: 8px solid #fff; box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
}
.vh .vh-hero__title {
  font-family: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: .01em; font-size: clamp(3.2rem, 2.2rem + 4.5vw, 5.4rem);
  line-height: 1; margin: 0; color: var(--ve-dark); text-align: left;
}
.vh-hero__lead { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); font-weight: 700; color: var(--ve-coral-dark); margin: .35rem 0 1rem; }
.vh-hero__desc { font-size: 1.12rem; max-width: 36rem; margin: 0 0 1.5rem; color: #444; }
.vh-facts { list-style: none; padding: 0; margin: 0 0 2rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.vh-facts li {
  display: flex; flex-direction: column; padding: .6rem 1.1rem; margin: 0;
  background: #fff; border-radius: 1rem; box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
}
.vh-facts strong { font-size: 1.35rem; color: var(--ve-coral-dark); line-height: 1.2; }
.vh-facts span { font-size: .85rem; color: #777; }
.vh-actions { display: flex; flex-wrap: wrap; gap: .9rem; }

/* 2. Разделы — карточки вместо ссылок-списков */
.vh-cats { background: #faf6f5; }
.vh-groups { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.vh-group { background: #fff; border-radius: 1.25rem; padding: 1.5rem; box-shadow: 0 6px 20px rgba(0, 0, 0, .05); display: flex; flex-direction: column; }
.vh .vh-group h3 {
  display: flex; align-items: center; gap: .6rem; font-size: 1.3rem; color: var(--ve-dark);
  padding-bottom: 1rem; margin-bottom: .75rem; border-bottom: 2px solid #f6e3e0;
}
.vh-group h3 .fa-solid { width: 2.4rem; height: 2.4rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--vh-grad); color: #fff; font-size: 1rem; }
.vh-group__list { display: flex; flex-direction: column; gap: .15rem; flex: 1; }
.vh-cat { display: flex; align-items: center; gap: .85rem; padding: .6rem .7rem; margin: 0 -.7rem; border-radius: .8rem; color: var(--ve-dark) !important; transition: background-color .15s; }
.vh-cat:hover, .vh-cat:focus-visible { background: #fdf0ee; }
.vh-cat__icon { flex: none; width: 2.3rem; height: 2.3rem; display: inline-flex; align-items: center; justify-content: center; border-radius: .7rem; background: #fdf0ee; color: var(--ve-coral); font-size: .95rem; transition: background-color .15s, color .15s; }
.vh-cat:hover .vh-cat__icon, .vh-cat:focus-visible .vh-cat__icon { background: var(--ve-coral); color: #fff; }
.vh-cat__text { display: flex; flex-direction: column; line-height: 1.3; }
.vh-cat__text strong { font-size: 1rem; }
.vh-cat__text small { font-size: .82rem; color: #8a8a8a; }
.vh-group__all { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; font-weight: 700; color: var(--ve-coral-dark) !important; }
.vh-group__all .fa-solid { transition: transform .15s; }
.vh-group__all:hover .fa-solid { transform: translateX(4px); }

/* 3. Магазин */
.vh-shop { background: var(--vh-grad); color: #fff; padding: 4rem 0; }
.vh-shop > .vh-in { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: center; }
.vh-shop__kicker { font-weight: 700; font-size: .9rem; letter-spacing: .06em; opacity: .9; margin: 0 0 .5rem; }
.vh .vh-shop h2 { color: #fff; text-align: left; }
.vh-shop__list { list-style: none; padding: 0; margin: 1rem 0 2rem; }
.vh-shop__list li { display: flex; align-items: center; gap: .75rem; margin: 0 0 .7rem; font-size: 1.08rem; }
.vh-shop__list .fa-solid { width: 2.1rem; height: 2.1rem; flex: none; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255, 255, 255, .22); font-size: .9rem; }
.vh-shop__img img { border-radius: 1.25rem; box-shadow: 0 20px 40px rgba(0, 0, 0, .18); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* 4. Об авторе */
.vh-author > .vh-in { display: grid; grid-template-columns: 1fr 1.3fr; gap: 3.5rem; align-items: center; }
.vh-author__photo img { border-radius: 1.25rem; box-shadow: 0 18px 40px rgba(0, 0, 0, .12); width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.vh .vh-author h2 { text-align: left; }
.vh-author__text p { max-width: 38rem; }
.vh-benefits { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .75rem; }
.vh-benefits li { display: flex; align-items: flex-start; gap: .8rem; margin: 0; padding: .9rem 1rem; background: #faf6f5; border-radius: .9rem; }
.vh-benefits .fa-solid { flex: none; color: var(--ve-coral); font-size: 1.2rem; margin-top: .15rem; width: 1.4rem; text-align: center; }
.vh-benefits strong { color: var(--ve-dark); margin-right: .25rem; }

/* 5. Отзывы */
.vh-reviews { background: #faf6f5; }
.vh-reviews__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-top: 2rem; }
.vh-review { margin: 0; background: #fff; border-radius: 1.25rem; padding: 1.75rem; box-shadow: 0 6px 20px rgba(0, 0, 0, .05); display: flex; flex-direction: column; }
.vh-review__stars { color: #ffb400; letter-spacing: .15em; font-size: 1rem; margin-bottom: .6rem; }
.vh-review blockquote { margin: 0 0 1.25rem; flex: 1; font-size: 1rem; line-height: 1.65; color: #444; }
.vh-review figcaption { display: flex; align-items: center; gap: .8rem; font-weight: 700; font-size: .95rem; }
.vh .vh-review figcaption img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: none; border: 3px solid #fdf0ee; }

/* 6. ВКонтакте */
.vh-vk { padding: 3.5rem 0; background: var(--ve-dark); color: #fff; }
.vh-vk > .vh-in { display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; }
.vh-vk__icon { width: 4.5rem; height: 4.5rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 1.2rem; background: #0077ff; font-size: 2.2rem; }
.vh .vh-vk h2 { color: #fff; text-align: left; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); margin-bottom: .35rem; }
.vh-vk__text p { margin: 0; color: #ddd; }
.vh-vk__actions { display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.vh-vk .vh-btn--white { color: #0077ff !important; }
.vh-vk__yt { color: #ddd !important; font-size: .9rem; display: inline-flex; align-items: center; gap: .4rem; }
.vh-vk__yt:hover { color: #fff !important; }
.vh-vk__yt .fa-youtube { color: #ff3d3d; }

@media (max-width: 991px) {
  .vh-groups { grid-template-columns: 1fr 1fr; }
  .vh-shop > .vh-in, .vh-author > .vh-in { grid-template-columns: 1fr; }
  .vh-author__photo { max-width: 22rem; }
  .vh-vk > .vh-in { grid-template-columns: auto 1fr; }
  .vh-vk__actions { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; gap: 1.25rem; }
}
@media (max-width: 767px) {
  .vh-sec { padding: 3rem 0; }
  .vh-hero { padding: 2.5rem 0 3rem; }
  .vh-hero > .vh-in { grid-template-columns: 1fr; gap: 1.5rem; text-align: center; }
  .vh-hero__photo { max-width: 200px; margin: 0 auto; }
  .vh .vh-hero__title { text-align: center; }
  .vh-hero__desc { margin-left: auto; margin-right: auto; }
  .vh-facts, .vh-actions { justify-content: center; }
  .vh-actions .vh-btn { width: 100%; }
  .vh-groups, .vh-reviews__grid { grid-template-columns: 1fr; }
  .vh-shop__img { display: none; }
  .vh-vk > .vh-in { grid-template-columns: 1fr; text-align: center; justify-items: center; }
  .vh .vh-vk h2 { text-align: center; }
  .vh-vk__actions { flex-direction: column; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .vh-btn, .vh-cat, .vh-cat__icon, .vh-group__all .fa-solid { transition: none; }
}
@media (max-width: 767px) {
  .vh-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
  .vh-facts li { padding: .55rem .4rem; align-items: center; text-align: center; }
  .vh-facts strong { font-size: 1.15rem; }
  .vh-facts span { font-size: .72rem; line-height: 1.25; }
}

/* ===== Разделы меню: сценарии плиткой в 2 колонки ===== */
.com-content-category-blog .blog-items {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem;
  column-count: auto;
  margin: 1rem 0 2rem;
}
.com-content-category-blog .blog-items > .blog-item {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid #eee;
  border-radius: .75rem;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .06);
  transition: box-shadow .2s, transform .2s;
  position: relative;
}
/* вся плитка кликабельна */
.com-content-category-blog .blog-item .page-header h2 a::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
}
.com-content-category-blog .blog-items > .blog-item:hover,
.com-content-category-blog .blog-items > .blog-item:focus-within {
  box-shadow: 0 12px 30px rgba(0, 0, 0, .12);
  transform: translateY(-3px);
}
.com-content-category-blog .blog-item .item-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  padding: 0 0 1.5rem;
}
.com-content-category-blog .blog-item .item-content > * {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
/* картинка из вступления — сверху, на всю ширину плитки */
.com-content-category-blog .blog-item .item-content > img,
.com-content-category-blog .blog-item .item-content > :has(img) {
  order: -1;
  margin: 0 0 1.1rem;
  padding: 0;
  font-size: 0;
  line-height: 0;
  text-align: center;
}
.com-content-category-blog .blog-item .item-content > :has(img) ~ :has(img) { display: none; }
.com-content-category-blog .blog-item .item-content img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: #f3eeee;
  margin: 0 !important;
}
/* заголовок */
.com-content-category-blog .blog-item .page-header { margin-bottom: .6rem; border: 0; padding: 0; }
.com-content-category-blog .blog-item .page-header h2 {
  font-size: 1.2rem; line-height: 1.35; margin: 0;
}
.com-content-category-blog .blog-item .page-header h2 a {
  color: var(--ve-dark); text-decoration: none;
}
.com-content-category-blog .blog-item .page-header h2 a:hover,
.com-content-category-blog .blog-item .page-header h2 a:focus { color: var(--ve-coral-dark); }
/* текст: только первый абзац, не больше 4 строк */
.com-content-category-blog .blog-item .item-content > :not(.page-header):not(.readmore):not(:has(img)):not(img) {
  font-size: .95rem; line-height: 1.55; color: #555; margin-bottom: 1.25rem;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.com-content-category-blog .blog-item .item-content > :not(.page-header):not(.readmore):not(:has(img)):not(img)
  ~ :not(.page-header):not(.readmore):not(:has(img)):not(img) { display: none; }
.com-content-category-blog .blog-item .item-content > :not(.page-header):not(.readmore):not(:has(img)) * {
  color: inherit !important; font-size: inherit !important; font-weight: inherit;
}
/* кнопка — внизу плитки, все на одной линии */
.com-content-category-blog .blog-item .readmore {
  margin-top: auto; margin-bottom: 0; text-align: center;
  position: relative; z-index: 2;
}
.com-content-category-blog .blog-item .readmore .btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .7rem 1.6rem;
  border: 0; border-radius: 2rem;
  background: var(--ve-coral); color: #fff;
  font-weight: 600; font-size: .95rem;
  box-shadow: 0 4px 12px rgba(250, 115, 104, .35);
  transition: background-color .2s, box-shadow .2s;
}
.com-content-category-blog .blog-item .readmore .btn:hover,
.com-content-category-blog .blog-item .readmore .btn:focus-visible {
  background: var(--ve-dark); color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .2);
}
.com-content-category-blog .blog-item .readmore .btn:focus-visible { outline: 3px solid var(--ve-coral); outline-offset: 2px; }
.com-content-category-blog .blog-item .readmore .icon-chevron-right { order: 2; font-size: .8em; }
/* разбивка на страницы */
.com-content-category-blog .com-content-category-blog__navigation { margin-top: 1rem; }
.com-content-category-blog .pagination .page-link { color: var(--ve-dark); border-radius: .4rem; margin: 0 .15rem; }
.com-content-category-blog .pagination .active .page-link { background: var(--ve-coral); border-color: var(--ve-coral); color: #fff; }
.com-content-category-blog .counter { color: #888; font-size: .9rem; }
@media (max-width: 767px) {
  .com-content-category-blog .blog-items { grid-template-columns: 1fr; gap: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .com-content-category-blog .blog-items > .blog-item,
  .com-content-category-blog .blog-item .readmore .btn { transition: none; }
  .com-content-category-blog .blog-items > .blog-item:hover { transform: none; }
}

/* заголовок раздела */
.com-content-category-blog > .page-header h1,
.com-content-category-blog > h1 {
  font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem);
  margin: 1.5rem 0 .5rem;
  color: var(--ve-dark);
}
.com-content-category-blog > .page-header { border: 0; margin: 0; padding: 0; }
.com-content-category-blog > .page-header h1::after,
.com-content-category-blog > h1::after {
  content: ""; display: block; width: 3.5rem; height: 4px; margin-top: .6rem;
  background: var(--ve-coral); border-radius: 2px;
}
/* статья: аккуратный заголовок без служебной информации */
.com-content-article > .page-header h1,
.com-content-article .page-header h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); line-height: 1.25; margin: 1.5rem 0 1rem; }
.com-content-article .article-info { display: none; }

/* листание страниц — по центру, счётчик под ним */
.com-content-category-blog .com-content-category-blog__navigation {
  display: flex; flex-direction: column-reverse; align-items: center;
  gap: .25rem; margin: 1.5rem 0 1rem;
}
.com-content-category-blog .com-content-category-blog__counter {
  float: none !important; padding: 0 !important; margin: 0; text-align: center;
}
.com-content-category-blog .pagination__wrapper { display: flex; justify-content: center; }
.com-content-category-blog .pagination { justify-content: center; flex-wrap: wrap; margin: 0 !important; gap: .25rem; }
.com-content-category-blog .pagination .page-link {
  min-width: 2.6rem; height: 2.6rem; display: inline-flex; align-items: center; justify-content: center;
}
.com-content-category-blog .pagination a.page-link:hover,
.com-content-category-blog .pagination a.page-link:focus { background: #fdf0ee; color: var(--ve-coral-dark); border-color: var(--ve-coral); }
@media (max-width: 575px) {
  .com-content-category-blog .pagination .page-link { min-width: 2.3rem; height: 2.3rem; padding: 0 .4rem; }
  .com-content-category-blog .pagination .page-item:first-child,
  .com-content-category-blog .pagination .page-item:last-child { display: none; }
}

/* ===== Страница результатов поиска ===== */
.com-finder { max-width: 56rem; margin: 0 auto; padding: 1.5rem 0 1rem; }
.com-finder__form .com-finder__search { margin-bottom: 1.25rem !important; }
.com-finder__form label[for="q"] { display: none; }
.com-finder__form .form-inline { display: block; }
.com-finder__form .input-group {
  position: relative; display: flex; flex-wrap: nowrap;
  background: #fff; border: 2px solid #eee; border-radius: 3rem; padding: .35rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
  transition: border-color .2s, box-shadow .2s;
}
.com-finder__form .input-group:focus-within { border-color: var(--ve-coral); box-shadow: 0 0 0 4px rgba(250, 115, 104, .15); }
.com-finder__form .input-group input.form-control {
  border: 0 !important; box-shadow: none !important; background: transparent;
  padding: .6rem 1rem .6rem 1.2rem; font-size: 1.1rem; min-width: 0; flex: 1 1 auto; width: 100%;
}
.com-finder__form .input-group .btn-primary {
  border: 0; border-radius: 3rem !important; padding: .6rem 1.6rem;
  background: var(--ve-coral); color: #fff; font-weight: 600;
  display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap;
}
.com-finder__form .input-group .btn-primary:hover,
.com-finder__form .input-group .btn-primary:focus-visible { background: var(--ve-dark); }
.com-finder__form .input-group .btn-secondary,
.com-finder__advanced { display: none !important; }

.com-finder__form .input-group > .awesomplete { flex: 1 1 auto; display: flex; min-width: 0; }
.com-finder__form .input-group > .awesomplete > ul {
  top: calc(100% + .6rem); border: 0; border-radius: .9rem; padding: .4rem; box-shadow: 0 18px 40px rgba(30, 20, 20, .15);
}
.com-finder__form .input-group > .awesomplete > ul::before { display: none; }

/* сколько найдено */
.com-finder__explained p { color: #777; font-size: .95rem; margin: 0 0 1.25rem; text-align: center; }
.com-finder__explained .term { color: var(--ve-coral-dark); font-weight: 700; }
.com-finder__explained a { color: inherit; text-decoration: none; pointer-events: none; }

/* карточки результатов */
.com-finder__results-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.com-finder__results-list > .result__item {
  position: relative; display: flex; flex-direction: column;
  padding: 1.25rem 1.5rem; margin: 0;
  background: #fff; border: 1px solid #eee; border-left: 4px solid var(--ve-coral);
  border-radius: .75rem; box-shadow: 0 3px 12px rgba(0, 0, 0, .05);
  transition: box-shadow .2s, transform .2s;
}
.com-finder__results-list > .result__item::after { display: none; }
.com-finder__results-list > .result__item:hover,
.com-finder__results-list > .result__item:focus-within {
  box-shadow: 0 10px 26px rgba(0, 0, 0, .1); transform: translateY(-2px);
}
.result__item .result__title { margin: 0 0 .4rem; font-size: 1.2rem; line-height: 1.35; font-weight: 700; }
.result__item .result__title-link { color: var(--ve-dark) !important; text-decoration: none !important; }
.result__item .result__title-link::after { content: ""; position: absolute; inset: 0; border-radius: .75rem; }
.result__item:hover .result__title-link { color: var(--ve-coral-dark) !important; }
.result__item .result__title-url { display: none; }
.result__item .result__description { margin: 0; color: #555; font-size: .95rem; line-height: 1.6; }
.result__item .result__date {
  display: inline-block; margin-right: .5rem; padding: .05rem .55rem;
  background: #f3f1f1; border-radius: 1rem; color: #888; font-size: .8rem; vertical-align: .1em;
}
.result__item .result__description::before,
.result__item .result__date::before, .result__item .result__date::after { content: none !important; display: none; }
.com-finder mark, .com-finder .highlight {
  background: #ffe3df; color: var(--ve-coral-dark); padding: 0 .15em; border-radius: .2em; font-weight: 600;
}
/* раздел — меткой над заголовком; тип, автор, язык не нужны */
.result__item .result__taxonomy {
  order: -1; list-style: none; padding: 0; margin: 0 0 .5rem; display: flex; gap: .4rem;
}
.result__item .result__taxonomy-item { display: none; margin: 0; padding: 0; }
.result__item .result__taxonomy-item::before, .result__item .result__taxonomy-item::after { display: none; }
.result__item .result__taxonomy--Category {
  display: inline-block; padding: .15rem .7rem; border-radius: 1rem;
  background: #fdf0ee; color: var(--ve-coral-dark); font-size: .8rem; font-weight: 600;
}
.result__item .result__taxonomy--Category > span { display: none; }

/* листание страниц */
.com-finder__navigation { display: flex; flex-direction: column; align-items: center; gap: .25rem; margin: 1.75rem 0 .5rem; }
.com-finder__navigation .pagination { justify-content: center; flex-wrap: wrap; gap: .25rem; margin: 0 !important; }
.com-finder__navigation .page-link {
  min-width: 2.6rem; height: 2.6rem; display: inline-flex; align-items: center; justify-content: center;
  color: var(--ve-dark); border-radius: .4rem;
}
.com-finder__navigation .active .page-link { background: var(--ve-coral); border-color: var(--ve-coral); color: #fff; }
.com-finder__navigation a.page-link:hover { background: #fdf0ee; color: var(--ve-coral-dark); border-color: var(--ve-coral); }
.com-finder__navigation .counter, .com-finder__counter { float: none !important; color: #888; font-size: .9rem; text-align: center; }

/* ничего не найдено */
.com-finder__empty { text-align: center; padding: 2rem 1rem; color: #666; }
.com-finder__empty h2 { font-size: 1.4rem; color: var(--ve-dark); }

@media (max-width: 575px) {
  .com-finder__form .input-group .btn-primary { padding: .6rem 1rem; }
  .com-finder__form .input-group .btn-primary .icon-search { margin: 0; }
  .com-finder__results-list > .result__item { padding: 1rem 1.1rem; }
  .com-finder__navigation .page-item:first-child,
  .com-finder__navigation .page-item:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .com-finder__results-list > .result__item { transition: none; }
  .com-finder__results-list > .result__item:hover { transform: none; }
}

/* ===== Страница сценария ===== */
.com-content-article.item-page:not(:has(.vh)) { max-width: 50rem; margin: 0 auto; padding: 1rem 0 3rem; }
.com-content-article > .page-header h1,
.com-content-article > .page-header h2 {
  font-size: clamp(1.7rem, 1.25rem + 1.6vw, 2.5rem); line-height: 1.2; margin: 1.5rem 0 1.5rem;
  color: var(--ve-dark);
}
.com-content-article > .page-header h1::after,
.com-content-article > .page-header h2::after {
  content: ""; display: block; width: 3.5rem; height: 4px; margin-top: .9rem;
  background: var(--ve-coral); border-radius: 2px;
}
.com-content-article__body:not(:has(> .vh)) {
  font-size: 1.07rem; line-height: 1.75; color: #333;
  overflow-wrap: break-word;
}
/* убираем «мусорные» шрифты и фоны, скопированные из Word/Google */
.com-content-article__body:not(:has(> .vh)) span[style],
.com-content-article__body:not(:has(> .vh)) font,
.com-content-article__body:not(:has(> .vh)) strong[style],
.com-content-article__body:not(:has(> .vh)) div[style],
.com-content-article__body:not(:has(> .vh)) p[style] {
  font-family: inherit !important; font-size: inherit !important;
  background-color: transparent !important; line-height: inherit !important;
}
.com-content-article__body:not(:has(> .vh)) p { margin: 0 0 1.1rem; }
.com-content-article__body:not(:has(> .vh)) p:empty,
.com-content-article__body:not(:has(> .vh)) p:has(> br:only-child) { display: none; }

/* заголовки внутри сценария */
.com-content-article__body:not(:has(> .vh)) h1 { font-size: 1.8rem; line-height: 1.25; margin: 2rem 0 1rem; color: var(--ve-dark); }
.com-content-article__body:not(:has(> .vh)) h2 {
  font-size: 1.5rem; line-height: 1.3; margin: 2.5rem 0 1rem; color: var(--ve-dark);
  padding-left: .9rem; border-left: 5px solid var(--ve-coral); border-radius: 2px;
}
.com-content-article__body:not(:has(> .vh)) h3 { font-size: 1.22rem; line-height: 1.35; margin: 2rem 0 .75rem; color: var(--ve-coral-dark); }
.com-content-article__body:not(:has(> .vh)) h4 { font-size: 1.08rem; margin: 1.5rem 0 .5rem; color: var(--ve-dark); }
.com-content-article__body:not(:has(> .vh)) h1 *, .com-content-article__body:not(:has(> .vh)) h2 *,
.com-content-article__body:not(:has(> .vh)) h3 *, .com-content-article__body:not(:has(> .vh)) h4 * { color: inherit !important; font-size: inherit !important; }

/* реплики: «Ведущий:», «Ведущая 1:» — выделяем имя говорящего */
.com-content-article__body:not(:has(> .vh)) p > strong:first-child,
.com-content-article__body:not(:has(> .vh)) div > strong:first-child,
.com-content-article__body:not(:has(> .vh)) br + strong { color: var(--ve-coral-dark); }
/* ремарки курсивом — приглушённо */
.com-content-article__body:not(:has(> .vh)) em { color: #777; }

/* списки */
.com-content-article__body:not(:has(> .vh)) ul, .com-content-article__body:not(:has(> .vh)) ol { padding-left: 1.4rem; margin: 0 0 1.25rem; }
.com-content-article__body:not(:has(> .vh)) li { margin-bottom: .45rem; padding-left: .2rem; }
.com-content-article__body:not(:has(> .vh)) ul > li::marker { color: var(--ve-coral); }
.com-content-article__body:not(:has(> .vh)) ol > li::marker { color: var(--ve-coral-dark); font-weight: 700; }

/* картинки */
.com-content-article__body:not(:has(> .vh)) img {
  max-width: 100%; height: auto; border-radius: .75rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .1); margin: .5rem auto 1.25rem;
}
.com-content-article__body:not(:has(> .vh)) .mod-custom img { box-shadow: none; border-radius: 0; margin: 0; }

/* цитаты, таблицы, линии */
.com-content-article__body:not(:has(> .vh)) blockquote {
  margin: 1.5rem 0; padding: 1rem 1.25rem; background: #fdf0ee; border-radius: .75rem;
  border-left: 4px solid var(--ve-coral);
}
.com-content-article__body:not(:has(> .vh)) table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: .97rem; }
.com-content-article__body:not(:has(> .vh)) th, .com-content-article__body:not(:has(> .vh)) td { border: 1px solid #eee; padding: .55rem .75rem; }
.com-content-article__body:not(:has(> .vh)) th { background: #fdf0ee; }
.com-content-article__body:not(:has(> .vh)) hr { border: 0; height: 1px; background: #eee; margin: 2rem 0; }
.com-content-article__body:not(:has(> .vh)) a:not(.btn) { color: var(--ve-coral-dark); text-underline-offset: .2em; }

@media (max-width: 575px) {
  .com-content-article__body:not(:has(> .vh)) { font-size: 1rem; line-height: 1.7; }
  .com-content-article__body:not(:has(> .vh)) h2 { font-size: 1.3rem; }
  .com-content-article__body:not(:has(> .vh)) h3 { font-size: 1.12rem; }
}

/* ===== «Хлебные крошки» — только на страницах сценариев ===== */
body:not(.view-article) .mod-breadcrumbs__wrapper,
body.itemid-203 .mod-breadcrumbs__wrapper { display: none !important; }
.view-article .mod-breadcrumbs__wrapper { max-width: 50rem; margin: 1.5rem auto -.5rem; width: 100%; }
.view-article .mod-breadcrumbs.breadcrumb {
  background: transparent !important; padding: 0 !important; margin: 0; font-size: .85rem; flex-wrap: wrap; row-gap: .15rem;
}
.view-article .mod-breadcrumbs__divider { display: none; }
.view-article .mod-breadcrumbs .breadcrumb-item { color: #999; }
.view-article .mod-breadcrumbs .breadcrumb-item a { color: #8a8a8a; text-decoration: none; }
.view-article .mod-breadcrumbs .breadcrumb-item a:hover { color: var(--ve-coral-dark); text-decoration: underline; }
.view-article .mod-breadcrumbs .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #ccc; }
.view-article .mod-breadcrumbs .breadcrumb-item.active,
.view-article .mod-breadcrumbs .breadcrumb-item:last-child { max-width: 24rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 575px) { .view-article .mod-breadcrumbs .breadcrumb-item:last-child { display: none; } }

/* ===== «Похожие сценарии» под статьёй ===== */
body:not(.view-article) .ve-related { display: none !important; }
.container-main-bottom { grid-column: main-start / main-end; }
.ve-related { width: 100%; max-width: 72rem; align-self: center; margin: 1rem auto 3rem; padding: 2rem 1.25rem 0;
  border: 0 !important; border-top: 1px solid #f1e8e6 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.ve-related > .card-header { background: transparent; border: 0; padding: 0; }
.ve-related > .card-header, .ve-related > .card-header * { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); font-weight: 700; text-align: center; color: var(--ve-dark); margin: 0 0 1.5rem; }
.ve-related > .card-body { padding: 0; }
.ve-related .ve-related__title, .ve-related > h2 {
  font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); text-align: center; margin: 0 0 1.5rem; color: var(--ve-dark);
}
.ve-related .mod-articles-items { list-style: none; padding: 0; margin: 0; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.ve-related .mod-articles-items > li { margin: 0; padding: 0; display: flex; }
.ve-related .mod-articles-item {
  position: relative; display: flex; flex-direction: column; width: 100%;
  background: #fff; border: 1px solid #eee; border-radius: .9rem; overflow: hidden;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .06); transition: box-shadow .2s, transform .2s;
}
.ve-related .mod-articles-item:hover, .ve-related .mod-articles-item:focus-within { box-shadow: 0 12px 28px rgba(0, 0, 0, .12); transform: translateY(-3px); }
.ve-related .mod-articles-item-content { display: flex; flex-direction: column; padding: 0 0 1.1rem; flex: 1; }
.ve-related .mod-articles-item-content > * { margin-left: 1rem; margin-right: 1rem; }
.ve-related .mod-articles-item-content > :has(img), .ve-related .mod-articles-item-content > img { order: -1; margin: 0 0 .8rem; line-height: 0; font-size: 0; }
.ve-related .mod-articles-item-content > :has(img) ~ :has(img) { display: none; }
.ve-related .mod-articles-item-content img {
  display: block; width: 100% !important; height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; margin: 0 !important;
  border-radius: 0 !important; box-shadow: none !important; background: #f3eeee;
}
.ve-related .mod-articles-title { font-size: 1rem !important; line-height: 1.35; margin: 0 1rem .4rem !important; font-weight: 700; }
.ve-related .mod-articles-item-content * { background: none !important; font-style: normal !important; }
.ve-related .mod-articles-item-content > div > p, .ve-related .mod-articles-item-content > div > div { margin: 0; padding: 0; }
.ve-related .mod-articles-item-content > :not(.mod-articles-title) :is(p, span, strong, em, b) { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
.ve-related .mod-articles-title a { color: var(--ve-dark); text-decoration: none; }
.ve-related .mod-articles-title a::after { content: ""; position: absolute; inset: 0; }
.ve-related .mod-articles-item:hover .mod-articles-title a { color: var(--ve-coral-dark); }
.ve-related .mod-articles-item-content > :not(.mod-articles-title):not(:has(img)):not(img):not(:has(.mod-articles-title)) {
  font-size: .86rem; color: #777; line-height: 1.5; margin-bottom: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.ve-related .mod-articles-item-content > :not(.mod-articles-title):not(:has(img)):not(img):not(:has(.mod-articles-title))
  ~ :not(.mod-articles-title):not(:has(img)):not(img):not(:has(.mod-articles-title)) { display: none; }
@media (max-width: 991px) { .ve-related .mod-articles-items { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .ve-related .mod-articles-items { gap: .75rem; } .ve-related .mod-articles-title { font-size: .92rem !important; } }
@media (prefers-reduced-motion: reduce) { .ve-related .mod-articles-item { transition: none; } .ve-related .mod-articles-item:hover { transform: none; } }

/* ===== Страница 404 ===== */
.ve404 { max-width: 46rem; margin: 2rem auto 3rem; text-align: center; padding: 0 1rem; }
.ve404__code {
  font-family: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif; font-weight: 700;
  font-size: clamp(5rem, 3rem + 8vw, 8rem); line-height: 1; margin: 0;
  background: linear-gradient(135deg, #ff8f6b 0%, #fa6a5e 45%, #ef4d5a 100%); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ve404__title { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.3rem); margin: .5rem 0 .75rem; color: var(--ve-dark); }
.ve404__text { color: #666; font-size: 1.05rem; margin: 0 auto 1.75rem; max-width: 34rem; }
.ve404__search {
  display: flex; max-width: 34rem; margin: 0 auto 2rem; padding: .35rem;
  background: #fff; border: 2px solid #eee; border-radius: 3rem; box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
}
.ve404__search:focus-within { border-color: var(--ve-coral); }
.ve404__search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: .6rem 1rem; font-size: 1.02rem; }
.ve404__search button {
  display: inline-flex; align-items: center; gap: .45rem; border: 0; border-radius: 3rem; padding: .6rem 1.4rem;
  font-weight: 700; color: #fff; cursor: pointer; background: linear-gradient(135deg, #ff8f6b 0%, #fa6a5e 45%, #ef4d5a 100%);
}
.ve404__search button:focus-visible { outline: 3px solid var(--ve-dark); outline-offset: 2px; }
.ve404__cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; margin-bottom: 2rem; }
.ve404__cat {
  display: flex; flex-direction: column; align-items: center; gap: .45rem; padding: 1rem .5rem;
  background: #faf6f5; border-radius: .9rem; color: var(--ve-dark) !important; text-decoration: none !important; font-weight: 600; font-size: .92rem;
  transition: background-color .15s, color .15s;
}
.ve404__cat .fa-solid { color: var(--ve-coral); font-size: 1.3rem; }
.ve404__cat:hover, .ve404__cat:focus-visible { background: #fdf0ee; color: var(--ve-coral-dark) !important; }
.ve404__btn { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.8rem; border-radius: 3rem; background: #fff; color: var(--ve-dark) !important; text-decoration: none !important; font-weight: 700; box-shadow: inset 0 0 0 2px #eadfdd; }
.ve404__btn:hover { box-shadow: inset 0 0 0 2px var(--ve-coral); color: var(--ve-coral-dark) !important; }
@media (max-width: 575px) { .ve404__cats { grid-template-columns: repeat(2, 1fr); } }