/* =======================
   Palette & base
   ======================= */
:root{
  --fst-cream:#eae9e4;
  --fst-gold:#fbb932;
  --fst-sky:#87bcde;
  --fst-ink:#011423;
  --fst-blue:#034078;
  --fst-header-h:100px;
  --fst-container:1200px;
}

html,body{ background:#fff; color:var(--fst-ink); }
a{ color:var(--fst-blue); }
a:hover{ text-decoration:underline; }
h1{ font-weight:700; line-height:1.15; }
h2{ font-weight:700; line-height:1.2; }
p{ line-height:1.6; }

.container{ max-width:1200px; margin:0 auto; padding:0 16px; }

/* =======================
   Utility bar (global)
   ======================= */
.utility-bar{ background:var(--fst-blue); color:#fff; font-size:14px; width:100%; }
.utility-bar .utility-inner,
.utility-bar .container{
  max-width:var(--fst-container);
  margin:0 auto !important;
  padding:10px 24px;
  display:flex; align-items:center; justify-content:space-between;
}
.utility-left,.utility-right{ display:flex; align-items:center; gap:16px; }

/* Круглые соц-кнопки */
.util-social{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:999px;
  background:#fff; color:#074276; text-decoration:none;
  box-shadow:0 2px 8px rgba(0,0,0,.12); transition:.2s;
  font-size:18px; line-height:1;
}
.util-social:hover{ background:#87bcde; color:#fff; transform:translateY(-1px); }

/* Пока скрываем правые ссылки */
.util-link{ display:none !important; }

/* =======================
   Header (Olivero cleanup)
   ======================= */
.site-header{ background:#fff; }
.site-header__initial,.header-nav-overlay{ display:none !important; }
.site-header__inner::before,.site-header__inner__container::before{ content:none !important; }

.site-header__fixable,
.site-header__inner__container{
  display:flex !important; align-items:center !important;
  min-height:var(--fst-header-h); padding:0; max-width:95%;
}

.site-branding{ margin:0; background:transparent; box-shadow:none; justify-content:flex-start; }
.site-branding__text{ display:none; }
.site-branding__logo img{ height:56px; width:auto; display:block; }

/* =======================
   Primary menu (центр везде)
   ======================= */
.region--primary-menu,#header-nav{ display:flex; justify-content:center; }

.primary-nav,
.primary-nav__menu,
.primary-nav__menu--level-1{
  margin:0 !important; padding:0 !important;
  background:transparent !important; box-shadow:none !important; border-radius:0 !important;
}
.primary-nav{ --primary-nav-underline-size:0 !important; }
.primary-nav__menu-link::after,
.primary-nav__menu-link--level-1::after,
.primary-nav__menu-link--active::after,
.primary-nav__menu-link--active-trail::after{ content:none !important; }

.menu.primary-nav__menu,
.primary-nav__menu{
  display:flex; align-items:center; justify-content:center;
  gap:3.5rem; flex-wrap:wrap;
}
.primary-nav__menu > li{ position:relative; list-style:none; padding:0 .25em; }
.primary-nav__menu > li + li::before{
  content:""; position:absolute; left:-1.75rem; top:50%; transform:translateY(-50%);
  width:1px; height:22px; background:#cbd6e2; opacity:.8;
}

.primary-nav__menu-link,
.primary-nav__menu-link-inner,
.region-primary-menu nav a{
  font-family:"Bitter", Georgia, "Times New Roman", serif !important;
  font-weight:400; font-size:16px; letter-spacing:.2px;
  color:var(--fst-blue); text-decoration:none;
}
.region-primary-menu nav a:hover{ text-decoration:underline; text-underline-offset:3px; }

@media (max-width:980px){
  .primary-nav__menu{ gap:1.5rem; }
}

/* =======================
   FST header wrapper (логотип слева, меню по центру)
   ======================= */
.fst-header{ background:#fff; }
.fst-header__inner{
  max-width:min(1200px,90vw); margin:0 auto;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px;
}
.fst-header__branding .site-branding{ display:flex; align-items:center; gap:12px; }
.fst-header__branding .site-branding__logo img{ max-height:64px; height:auto; width:auto; }
.fst-header__nav{ grid-column:2; }
.fst-header__nav .primary-nav__menu{ justify-content:center; gap:22px; margin:0; padding:0; }
.fst-header__nav .primary-nav__menu > li{ padding:0 16px; }
.fst-header__nav .primary-nav__menu > li + li::before{
  content:""; position:absolute; left:-1px; top:50%; transform:translateY(-50%);
  height:1.05em; border-left:1px solid rgba(7,66,118,.25);
}
.fst-header__nav .primary-nav__menu a{
  font-family:"Bitter", ui-serif, Georgia, serif; font-weight:400; font-size:17px; line-height:1;
  color:#074276; text-decoration:none; padding:8px 0;
}
.fst-header__nav .primary-nav__menu a:hover{ text-decoration:underline; }

.fst-header__inner [data-drupal-selector="header-nav"],
.fst-header__inner .secondary-nav,
.fst-header__inner .block-search-narrow,
.fst-header__inner .block-search-wide{ display:none !important; }

@media (max-width:980px){
  .fst-header__inner{ grid-template-columns:1fr; row-gap:12px; margin:12px auto 4px; }
  .fst-header__branding{ justify-self:center; }
  .fst-header__nav .primary-nav__menu{ flex-wrap:wrap; gap:14px; }
  .fst-header__nav .primary-nav__menu > li{ padding:0 10px; }
}

/* =======================
   Front page: layout helpers
   ======================= */
.path-frontpage .layout-container,
.path-frontpage .container{ max-width:none; }
.path-frontpage .page-title,
.path-frontpage .breadcrumb{ display:none !important; }
.path-frontpage .site-header__inner__container{ max-width:1200px; margin-inline:auto; }

.main-full,.fst-main{ width:100%; max-width:100%; margin:0; padding:0; }
.fst-content{ max-width:1200px; margin:0 auto; padding:2rem 1rem; }

/* =======================
   HERO
   ======================= */
.fst-hero{
  position:relative;
  background:url('/themes/custom/fst_theme/images/hero-image.webp') center top/cover no-repeat;
  min-height:800px !important; max-width:100%; margin:0; padding:0;
}
.fst-hero__overlay{
  position:absolute; left:50%; transform:translateX(-50%); bottom:30%;
  background:var(--fst-blue); color:#fff; padding:24px 28px;
  box-shadow:0 8px 24px rgba(0,0,0,.15); text-align:center;
  width:max-content; max-width:min(90vw,960px);
}
.fst-hero__overlay h1{ margin:0; line-height:1.1; color:#fff; font-weight:400; }
@media (max-width:768px){ .fst-hero__overlay{ bottom:20%; padding:18px 20px; } }

/* =======================
   ABOUT (компас слева, 80vw)
   ======================= */
.fst-about{
  position:relative; margin:0; padding:5rem 0 6rem; 
/*  background:#e9e8e3; */ /* тонкая кремовая подложка */
  background-image:url('../images/compass.webp'); 
  background-repeat:no-repeat;
  --compass-size:500px; --compass-top:180px;
  background-size:var(--compass-size) var(--compass-size);
  background-position:left 0 top var(--compass-top);
}
.fst-about__inner{
  width:80vw; max-width:1400px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; padding:0 2.5rem;
}
.fst-about__left{ padding-left:2rem; padding-right:1rem; }
.fst-about__right{ padding-right:2rem; padding-left:1rem; }

.fst-about__left h2{
  font-family:'Bitter',serif; color:#0b3857; font-weight:400;
  font-size:clamp(2rem,3vw,3rem); line-height:1.15; margin:0 0 1rem;
}
.fst-about__left p{
  font-family:'Bitter',serif; font-size:1.125rem; line-height:1.6; color:#0e3050; margin:0;
}

/* Slider (compact) */
.fst-slider{ position:relative; background:#fff; aspect-ratio:16/9; overflow:hidden; border-radius:12px;
  box-shadow:0 14px 30px rgba(0,0,0,.12); }
.fst-slide{ position:absolute; inset:0; opacity:0; transform:scale(1.02);
  transition:opacity .5s ease, transform .6s ease; display:grid; place-items:center; }
.fst-slide.is-active{ opacity:1; transform:scale(1); }
.fst-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.fst-slider__dots{ display:flex; gap:.5rem; justify-content:center; padding:.75rem .75rem 1rem; }
.fst-slider__dots button{ width:8px; height:8px; border-radius:999px; border:0; background:#cfd8df; cursor:pointer; }
.fst-slider__dots button.is-active{ background:#7f96a6; }

@media (max-width:900px){
  .fst-about__inner{ grid-template-columns:1fr; gap:1.75rem; }
  .fst-about__right{ order:2; } .fst-about__left{ order:1; }
}

/* =======================
   Promo video (placeholder)
   ======================= */
.fst-video{
  position:relative; padding:7rem 0; margin-top:0; background:#eae9e4;
  background-image:url('../images/steps.webp'); background-size:cover; background-position:center; background-repeat:no-repeat;
}
.fst-video__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.15); }
.fst-video__inner{
  position:relative; width:80vw; margin:0 auto;
  display:flex; flex-direction:column; align-items:center; gap:1.25rem; text-align:center;
}
.fst-video__play{
  width:104px; height:104px; border-radius:999px; border:0; background:#ffffffee;
  display:grid; place-items:center; box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.fst-video__play i{ font-size:34px; color:#0b3857; }
.fst-video__caption{ margin:0; font-size:clamp(1rem,1.6vw,1.25rem); line-height:1.45; color:#0b3857;
  padding:.0 .75rem; background:#ffffffd9; border-radius:12px; }

@media (min-width:1400px){ .fst-video{ padding:9rem 0; } .fst-video__play{ width:120px; height:120px; } .fst-video__play i{ font-size:40px; } }
@media (max-width:680px){ .fst-video{ padding:5.5rem 0; } .fst-video__play{ width:88px; height:88px; } .fst-video__play i{ font-size:28px; } }

/* =======================
   CTA (3 круглые кнопки)
   ======================= */
.fst-cta{ background:#fff; padding:4rem 0; }
.fst-cta__inner{ display:flex; justify-content:center; gap:3rem; flex-wrap:wrap; max-width:80vw; margin:0 auto; }
.fst-cta__item{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  width:240px; height:240px; margin:0 .25em; border-radius:50%; color:#fff;
  font-family:"Bitter",serif; font-size:2.1rem; line-height:2.2rem; font-weight:400; text-decoration:none;
  box-shadow:0 6px 20px rgba(0,0,0,.2); transition:.2s; flex-shrink:0;
}
.fst-cta__item--map{ background:#074276; }
.fst-cta__item--tour{ background:#89bcdb; }
.fst-cta__item--collab{ background:#f8b742; }
.fst-cta__icon{ width:80px; height:80px; margin-bottom:1rem; object-fit:contain; filter:brightness(0) invert(1); }
.fst-cta__text{ color:#fff; }

/* =======================
   Latest Blog (views block)
   ======================= */
.fst-latest-blog{
  margin:0; padding:4.5rem 0 5rem; background-color:#f8b742;
  background-image:url('../images/feather.webp'); background-repeat:no-repeat;
  background-position:right 4rem center; background-size:50vw;
  box-shadow:inset 0 1px 0 rgba(0,0,0,.05);
}
.fst-latest-blog__inner{ width:80vw; max-width:1280px; margin:0 auto; }
.fst-latest-blog__title{
  font-family:"Bitter",serif; font-size:clamp(2rem,3.2vw,3.5rem); font-weight:400; line-height:1.1;
  color:#0c3b63; margin:0 0 2rem;
}
.fst-latest-blog__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }

.fst-card{ background:#fff; border-radius:6px; box-shadow:0 10px 30px rgba(0,0,0,.12); overflow:hidden; display:flex; flex-direction:column; }
.fst-card__thumb{ display:block; line-height:0; }
.fst-card__thumb img{ width:100%; height:auto; display:block; }
.fst-card__h3{ font-family:"Bitter",serif; font-weight:400; font-size:1.8rem; color:#0c3b63; margin:1.25rem 1.25rem .25rem; }
.fst-card__h3 a{ color:inherit; text-decoration:none; }
.fst-card__h3 a:hover{ text-decoration:underline; }
.fst-card__excerpt{ font-family:"Bitter",serif; font-weight:400; color:#24323e; margin:0 1.25rem 1.25rem; }
.fst-card__btn{
  align-self:flex-start; margin:0 1.25rem 1.25rem; background:#0c3b63; color:#fff;
  font-family:"Bitter",serif; font-size:.95rem; text-decoration:none; padding:.55rem .9rem; border-radius:4px;
  box-shadow:0 2px 0 rgba(0,0,0,.12); transition:.15s;
}
.fst-card__btn:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.18); }

@media (max-width:1100px){
  .fst-latest-blog__grid{ grid-template-columns:1fr 1fr; }
  .fst-latest-blog{ background-size:62vw; background-position:right 2rem center; }
}
@media (max-width:700px){
  .fst-latest-blog__grid{ grid-template-columns:1fr; }
  .fst-latest-blog{ background-size:90vw; background-position:right -2rem top 10%; }
}

/* =======================
   Footer (универсальный)
   ======================= */
.fst-footer{
  background-color:#074276;
  background-image:url('../images/footer-illustration.webp');
  background-repeat:no-repeat; background-size:contain; background-position:center bottom;
  padding:56px 0 80px;
}
.fst-footer__inner{
  width:min(1200px,92vw); margin:0 auto;
  display:flex; justify-content:flex-end; align-items:flex-end; gap:32px;
}
.fst-footer__logo{ width:180px; height:auto; display:block; }
.fst-footer__cta{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.fst-footer__contact{
  display:inline-block; padding:10px 16px; background:#fff; color:#074276;
  font-family:"Bitter",serif; font-weight:400; text-decoration:none; border-radius:8px; box-shadow:0 1px 0 rgba(0,0,0,.05);
}
.fst-footer__social{ display:flex; gap:14px; }

@media (max-width:860px){
  .fst-footer__inner{ justify-content:center; gap:20px; flex-direction:column; align-items:center; }
  .fst-footer__logo{ width:140px; }
}

/* =======================
   Misc tweaks
   ======================= */
.primary-nav__menu-link-inner::after{ border-top:none !important; }

/* Внутренние страницы — небольшой отступ под меню (если нет hero) */
body:not(:has(.fst-hero)) #block-fst-main-menu-primary{ margin-bottom:70px !important; }


/* Latest Blog: центрируем thumbnail */
.fst-card__thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem; /* отступ вниз от картинки */
}

/* Latest Blog — центрируем картинку, где бы её ни вывело Views */

/* 1) Случай как у тебя сейчас: img в соседнем <a> после .fst-card__thumb */
.fst-card .fst-card__thumb + a > img {
  display: block;
  margin: 0 auto;
  width: auto;         /* не растягиваем на всю ширину */
  max-width: 100%;     /* но не выходим за рамки карточки */
  height: auto;
}

/* 2) Запасной вариант: любые картинки-ссылки на первом уровне карточки */
.fst-card > a > img {
  display: block;
  margin: 0 auto;
  width: auto;
  max-width: 100%;
  height: auto;
}

/* 3) Если где-то осталось прежнее правило с width:100%, перебиваем его: */
.fst-card__thumb img {
  width: auto;
  max-width: 100%;
}

.fst-card p {
  padding: 0 1.25rem 1.25rem;
}


/* =========================
   BLOG & STORY MAP · layout
   ========================= */

/* скрываем левую колонку темы */
body.path-blog .social-bar,
body.path-story-map .social-bar { display: none !important; }

/* общий каркас контейнера */
body.path-blog .layout-main,
body.path-story-map .layout-main { display: block !important; }

body.path-blog .layout-main-wrapper.layout-container,
body.path-story-map .layout-main-wrapper.layout-container { padding-left: 0 !important; padding-right: 0 !important; }

body.path-blog .main-content__container.container,
body.path-story-map .main-content__container.container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* двухколоночный ряд: контент + правый сайдбар */
body.path-blog .sidebar-grid.grid-full,
body.path-story-map .sidebar-grid.grid-full { display: flex !important; gap: 32px; align-items: flex-start; }

body.path-blog .region--content,
body.path-story-map .region--content { flex: 1 1 800px; min-width: 0; }

body.path-blog .region--content.layout--pass--content-medium,
body.path-story-map .region--content.layout--pass--content-medium { max-width: none !important; }

body.path-blog .region--sidebar,
body.path-story-map .region--sidebar { flex: 0 0 316px !important; max-width: 316px; font-family: 'Bitter', serif; }

/* мобилка: стекаем */
@media (max-width: 980px) {
  body.path-blog .sidebar-grid.grid-full,
  body.path-story-map .sidebar-grid.grid-full { display: block !important; }
  body.path-blog .region--sidebar,
  body.path-story-map .region--sidebar { flex: none; max-width: none; margin-top: 24px; }
}

/* =========================
   BLOG · specifics
   ========================= */

/* фон сайдбара */
body.path-blog .region--sidebar {
  padding: 1em;
  background: #e9e8e3 url('../images/steps.webp') no-repeat 50% 50% / cover;
}

/* сетка карточек: 2 → 1 */
body.path-blog .view.view-blog .views-view-grid { --views-grid--column-count: 2 !important; }
@media (max-width: 720px) {
  body.path-blog .view.view-blog .views-view-grid { --views-grid--column-count: 1 !important; }
}

/* «фикс схлопывания» при пустом результате */
body.path-blog .region--sidebar { margin-left: auto; }
@media (max-width: 980px) { body.path-blog .region--sidebar { margin-left: 0; } }
body.path-blog .region--content { min-height: 1px; }

/* карточка */
body.path-blog .views-view-grid__item{
  font-family: 'Bitter', serif;
  text-align: center;
  background: #fafafa url('https://first.jensengroup.ca/themes/custom/fst_theme/images/feather.webp') no-repeat center bottom / contain;
  border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,.06);
  padding: 16px; transition: transform .2s ease, box-shadow .2s ease;
}
body.path-blog .views-view-grid__item:hover { transform: translateY(-3px); box-shadow: 0 4px 12px rgba(0,0,0,.12); }

/* картинка */
body.path-blog .views-view-grid__item .views-field-field-image img { display: block; margin: 0 auto; border-radius: 6px; }

/* заголовок */
body.path-blog .views-view-grid__item .views-field-title a{
  display: block; margin: 12px 0 8px;
  font: 400 1.25rem/1.4 'Bitter', serif;
  color: var(--fst-blue); text-decoration: none;
}
body.path-blog .views-view-grid__item .views-field-title a:hover { text-decoration: underline; }

/* аннотация */
body.path-blog .views-view-grid__item .views-field-body p{
  margin: 0 0 12px; font: 1rem/1.6 'Bitter', serif; color: var(--fst-ink); text-align: justify;
}

/* Read more → стиль .fst-card__btn (без класса) */
body.path-blog .views-view-grid__item .views-field-view-node a{
  display: inline-block; margin: 12px auto 0; padding: 9px 14px;
  color: #fff; background: #0c3b63; border-radius: 4px; border: 0; box-shadow: 0 2px 0 rgba(0,0,0,.12);
  font: 400 15.2px/27px 'Bitter', serif; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
body.path-blog .views-view-grid__item .views-field-view-node a:hover { background: #034078; transform: translateY(-2px); }

/* теги-пилюли */
body.path-blog .views-view-grid__item .views-field-field-tags a{
  display: inline-block; margin: 4px 6px 0 0; padding: 4px 10px; border-radius: 999px;
  background: #f0f4f8; border: 1px solid #d0dae2; color: var(--fst-blue);
  font: 400 .85rem/1.4 'Bitter', serif; text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
body.path-blog .views-view-grid__item .views-field-field-tags a:hover { background: var(--fst-blue); color: #fff; border-color: var(--fst-blue); }

/* BLOG sidebar: форма + Apply */
aside.region.region--sidebar .block__content { width: 100% !important; }

body.path-blog .region--sidebar .views-exposed-form input[type="text"],
body.path-blog .region--sidebar .views-exposed-form select{
  width: 100% !important; box-sizing: border-box; margin-bottom: 12px; padding: 8px 10px;
  font: 400 .95rem/1.4 'Bitter', serif; background: #fff; border: 1px solid #d0dae2; border-radius: 4px;
  transition: border-color .2s, box-shadow .2s;
}
body.path-blog .region--sidebar .views-exposed-form input[type="text"]:hover,
body.path-blog .region--sidebar .views-exposed-form select:hover { border-color: var(--fst-blue); }
body.path-blog .region--sidebar .views-exposed-form input[type="text"]:focus,
body.path-blog .region--sidebar .views-exposed-form select:focus {
  outline: none; border-color: var(--fst-blue); box-shadow: 0 0 0 2px rgba(3,64,120,.2);
}
body.path-blog .region--sidebar .views-exposed-form .form-actions { text-align: right; }
body.path-blog .region--sidebar .views-exposed-form input[type="submit"]{
  display: inline-block; padding: 9px 14px; border: 0; border-radius: 4px; box-shadow: 0 2px 0 rgba(0,0,0,.12);
  color: #fff; background: #0c3b63; cursor: pointer; text-decoration: none;
  font: 400 15.2px/27px 'Bitter', serif; transition: background-color .2s, transform .2s;
}
body.path-blog .region--sidebar .views-exposed-form input[type="submit"]:hover { background: #034078; transform: translateY(-2px); }
body.path-blog .region--sidebar .fieldset { border: none; background: transparent; }
body.path-blog .region--sidebar .fieldset .fieldset__legend { background: #074276; font-weight: 400; }
body.path-blog .region--sidebar .fieldset__wrapper { padding-inline: 0; }

/* =========================
   STORY MAP · specifics
   ========================= */

/* снимаем ограничитель ширины, откуда приходила «узость» */
body.path-story-map .site-main { width: 100% !important; }

/* фон сайдбара */
body.path-story-map .region--sidebar{
  padding: 1em;
  background: #87bcde url('../images/compass.webp') no-repeat 50% 50%;
  background-size: contain;
}

/* скрыть заголовок блока в сайдбаре */
body.path-story-map .region--sidebar .block__title { display: none; }

/* унифицированные стили формы сайдбара (как в блоге) */
body.path-story-map .region--sidebar .views-exposed-form input[type="text"],
body.path-story-map .region--sidebar .views-exposed-form select{
  width: 100% !important; box-sizing: border-box; margin-bottom: 12px; padding: 8px 10px;
  font: 400 .95rem/1.4 'Bitter', serif; background: #fff; border: 1px solid #d0dae2; border-radius: 4px;
  transition: border-color .2s, box-shadow .2s;
}
body.path-story-map .region--sidebar .fieldset { border: none; background: transparent; }
body.path-story-map .region--sidebar .fieldset .fieldset__legend { background: #074276; font-weight: 400; }
body.path-story-map .region--sidebar .fieldset__wrapper { padding-inline: 0; }

/* карта всегда на всю ширину контента */
body.path-story-map .region--content.grid-full { display: block !important; margin: 0 !important; padding: 0 !important; }
body.path-story-map .view-interactive-story-map .view-content,
body.path-story-map .view-interactive-story-map .view-content > div[id^="leaflet-map"] { width: 100% !important; min-width: 0; }
/* высоту можно править по вкусу */
body.path-story-map .view-interactive-story-map .view-content > div[id^="leaflet-map"] { height: 760px; }

/* =========================
   TOURS · layout & specifics
   ========================= */

/* скрываем левую колонку темы */
body.path-tours .social-bar { display: none !important; }

/* общий каркас контейнера */
body.path-tours .layout-main { display: block !important; }
body.path-tours .layout-main-wrapper.layout-container { padding-left: 0 !important; padding-right: 0 !important; }
body.path-tours .main-content__container.container { max-width: 1200px; margin: 0 auto; padding: 0 16px; }

/* двухколоночный ряд: контент + правый сайдбар (≈800 / 316) */
body.path-tours .sidebar-grid.grid-full { display: flex !important; gap: 32px; align-items: flex-start; }
body.path-tours .region--content { flex: 1 1 800px; min-width: 0; }
body.path-tours .region--content.layout--pass--content-medium { max-width: none !important; }
body.path-tours .region--sidebar { flex: 0 0 316px !important; max-width: 316px; margin-left: auto; }

/* фон сайдбара — как у блога */
body.path-tours .region--sidebar {
  padding: 1em;
  background: #fbb932 url('../images/steps.webp') no-repeat 50% 50% / cover;
  font-family: 'Bitter', serif;
}

/* мобилка: стекаем */
@media (max-width: 980px) {
  body.path-tours .sidebar-grid.grid-full { display: block !important; }
  body.path-tours .region--sidebar { flex: none; max-width: none; margin-top: 24px; margin-left: 0; }
}

/* сетка карточек туров: 2 → 1
   (прикрываем оба варианта классов View: view-tours / view-id-tours) */
body.path-tours .view.view-tours .views-view-grid,
body.path-tours .view.view-id-tours .views-view-grid {
  --views-grid--column-count: 2 !important;
}
@media (max-width: 720px) {
  body.path-tours .view.view-tours .views-view-grid,
  body.path-tours .view.view-id-tours .views-view-grid {
    --views-grid--column-count: 1 !important;
  }
}

/* карточка тура — как у блога */
body.path-tours .views-view-grid__item{
  font-family: 'Bitter', serif;
  text-align: center;
  background: #fafafa url('https://first.jensengroup.ca/themes/custom/fst_theme/images/compass.webp') no-repeat center bottom / contain;
  border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,.06);
  padding: 16px; transition: transform .2s ease, box-shadow .2s ease;
}
body.path-tours .views-view-grid__item:hover { transform: translateY(-3px); box-shadow: 0 4px 12px rgba(0,0,0,.12); }

/* картинка */
body.path-tours .views-view-grid__item .views-field-field-image img { display: block; margin: 0 auto; border-radius: 6px; }

/* заголовок */
body.path-tours .views-view-grid__item .views-field-title a{
  display: block; margin: 12px 0 8px;
  font: 400 1.25rem/1.4 'Bitter', serif;
  color: var(--fst-blue); text-decoration: none;
}
body.path-tours .views-view-grid__item .views-field-title a:hover { text-decoration: underline; }

/* аннотация / teaser */
body.path-tours .views-view-grid__item .views-field-body p{
  margin: 0 0 12px; font: 1rem/1.6 'Bitter', serif; color: var(--fst-ink); text-align: justify;
}

/* Read more → стиль .fst-card__btn (без добавления класса) */
body.path-tours .views-view-grid__item .views-field-view-node a{
  display: inline-block; margin: 12px auto 0; padding: 9px 14px;
  color: #fff; background: #0c3b63; border-radius: 4px; border: 0; box-shadow: 0 2px 0 rgba(0,0,0,.12);
  font: 400 15.2px/27px 'Bitter', serif; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
body.path-tours .views-view-grid__item .views-field-view-node a:hover { background: #034078; transform: translateY(-2px); }

/* теги-пилюли (если используются) */
body.path-tours .views-view-grid__item .views-field-field-tags a{
  display: inline-block; margin: 4px 6px 0 0; padding: 4px 10px; border-radius: 999px;
  background: #f0f4f8; border: 1px solid #d0dae2; color: var(--fst-blue);
  font: 400 .85rem/1.4 'Bitter', serif; text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
body.path-tours .views-view-grid__item .views-field-field-tags a:hover { background: var(--fst-blue); color: #fff; border-color: var(--fst-blue); }

/* field_kind (Bus / Walking) — бейдж под заголовком
   Вариант «по умолчанию»: стилизуем текст поля как пилюлю */
body.path-tours .views-view-grid__item .views-field-field-kind {
  margin: 4px 0 8px;
}
body.path-tours .views-view-grid__item .views-field-field-kind,
body.path-tours .views-view-grid__item .views-field-field-kind *{
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: #eef5ff;
  border: 1px solid #cfe0f5;
  color: #0c3b63;
  font: 400 .85rem/1.2 'Bitter', serif;
  text-decoration: none;
}

/* (опционально) если сможем добавить классы через Views → Rewrite output:
   <span class="tour-kind tour-kind--bus">Bus Tour</span>
   <span class="tour-kind tour-kind--walking">Walking Tour</span> */
body.path-tours .views-view-grid__item .tour-kind { display:inline-block; padding:3px 10px; border-radius:999px; font:400 .85rem/1.2 'Bitter',serif; }
body.path-tours .views-view-grid__item .tour-kind--bus     { background:#e6f0ff; border:1px solid #bcd0ff; color:#0c3b63; }
body.path-tours .views-view-grid__item .tour-kind--walking { background:#eaf7ef; border:1px solid #c6e9d1; color:#0f6d38; }

/* TOURS sidebar: форма + Apply — как в блоге */
aside.region.region--sidebar .block__content { width: 100% !important; }

body.path-tours .region--sidebar .views-exposed-form input[type="text"],
body.path-tours .region--sidebar .views-exposed-form select{
  width: 100% !important; box-sizing: border-box; margin-bottom: 12px; padding: 8px 10px;
  font: 400 .95rem/1.4 'Bitter', serif; background: #fff; border: 1px solid #d0dae2; border-radius: 4px;
  transition: border-color .2s, box-shadow .2s;
}
body.path-tours .region--sidebar .views-exposed-form input[type="text"]:hover,
body.path-tours .region--sidebar .views-exposed-form select:hover { border-color: var(--fst-blue); }
body.path-tours .region--sidebar .views-exposed-form input[type="text"]:focus,
body.path-tours .region--sidebar .views-exposed-form select:focus {
  outline: none; border-color: var(--fst-blue); box-shadow: 0 0 0 2px rgba(3,64,120,.2);
}
body.path-tours .region--sidebar .views-exposed-form .form-actions { text-align: right; }
body.path-tours .region--sidebar .views-exposed-form input[type="submit"]{
  display: inline-block; padding: 9px 14px; border: 0; border-radius: 4px; box-shadow: 0 2px 0 rgba(0,0,0,.12);
  color: #fff; background: #0c3b63; cursor: pointer; text-decoration: none;
  font: 400 15.2px/27px 'Bitter', serif; transition: background-color .2s, transform .2s;
}
body.path-tours .region--sidebar .views-exposed-form input[type="submit"]:hover { background: #034078; transform: translateY(-2px); }
body.path-tours .region--sidebar .fieldset { border: none; background: transparent; }
body.path-tours .region--sidebar .fieldset .fieldset__legend { background: #074276; font-weight: 400; }
body.path-tours .region--sidebar .fieldset__wrapper { padding-inline: 0; }

/* скрыть заголовок блока в сайдбаре */
body.path-tours .region--sidebar .block__title { display: none; }








/* =========================
   TOURS (node) · layout + sidebar + fixes
   ========================= */

/* каркас контейнера как в блоге */
body.page-node-type-tours .layout-main{display:block!important}
body.page-node-type-tours .layout-main-wrapper.layout-container{padding-left:0!important;padding-right:0!important}
body.page-node-type-tours .main-content__container.container{max-width:1200px;margin:0 auto;padding:0 16px}

/* две колонки: контент + сайдбар */
body.page-node-type-tours .sidebar-grid.grid-full{display:flex!important;gap:32px;align-items:flex-start}

/* контент слева */
body.page-node-type-tours .region--content{flex:1 1 800px;min-width:0;min-height:1px}
body.page-node-type-tours .region--content.grid-full{display:block!important;margin:0!important;padding:0!important}
body.page-node-type-tours .region--content.layout--pass--content-medium{max-width:none!important}

/* сайдбар справа */
body.page-node-type-tours .region--sidebar{
  flex:0 0 316px!important;max-width:316px;margin-left:auto;
  font-family:'Bitter',serif;
  background:#fbb932 url('../images/steps.webp') no-repeat 50% 50%/cover;
  padding:.5em 1em 0 1em;
}

/* мобилка: стекаем */
@media (max-width:980px){
  body.page-node-type-tours .sidebar-grid.grid-full{display:block!important}
  body.page-node-type-tours .region--sidebar{flex:none;max-width:none;margin-top:24px;margin-left:0}
}

/* HERO = ширина как у body (убираем full-bleed Olivero) */
body.page-node-type-tours .fst-node__hero,
body.page-node-type-tours .fst-node__hero .wide-content{
  margin:0!important;width:100%!important;max-width:100%!important;padding:0 16px;box-sizing:border-box
}
body.page-node-type-tours .fst-node__hero img{
  display:block;width:100%;height:auto;border-radius:6px
}

/* текстовый блок под героем — те же боковые отступы */
body.page-node-type-tours .fst-node__body{
  padding:1em;box-sizing:border-box;text-align:justify
}

/* снимаем возможные локальные ограничения ширины */
body.page-node-type-tours .wide-content,
body.page-node-type-tours .text-content{max-width:none}

/* теги-пилюли в сайдбаре */
body.page-node-type-tours .field--tags__items a{
  display:inline-block;margin:4px 6px 0 0;padding:4px 10px;border-radius:999px;
  background:#f0f4f8;border:1px solid #d0dae2;color:var(--fst-blue);
  font:400 .85rem/1.4 'Bitter',serif;text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease
}
body.page-node-type-tours .field--tags__items a:hover{background:var(--fst-blue);color:#fff;border-color:var(--fst-blue)}
body.page-node-type-tours ul.links.field__items.field--tags__items li.field--tags__item::after{display:none}

/* фотогалерея: небольшой зазор между превью */
body.page-node-type-tours .fst-meta.fst-meta--gallery .photoswipe-gallery .field__item{margin-bottom:.5em}

/* кнопка "Book This Tour" (центр, без скруглений) */
body.page-node-type-tours .fst-meta.fst-meta--book{text-align:center}
.fst-book-btn{
  display:inline-block;margin:20px auto;padding:12px 28px;text-align:center;
  background-color:var(--fst-blue);color:#fff;border:0;border-radius:0;cursor:pointer;
  font:600 18px/1.4 'Bitter',serif;text-decoration:none;
  box-shadow:0 2px 4px rgba(0,0,0,.12);transition:background-color .2s ease
}
.fst-book-btn:hover{background-color:#fff;color:#011423}

/* оформление "Kind" */
body.page-node-type-tours .fst-meta.fst-meta--kind{color:var(--fst-blue);text-align:center}


body.page-node-type-tours .fst-meta.fst-meta--summary {
  text-align:center;
}



/* =========================
   LANDMARKS (node) · layout + sidebar
   ========================= */

/* каркас как в блоге/турах */
body.page-node-type-landmarks .layout-main{display:block!important}
body.page-node-type-landmarks .layout-main-wrapper.layout-container{padding-left:0!important;padding-right:0!important}
body.page-node-type-landmarks .main-content__container.container{max-width:1200px;margin:0 auto;padding:0 16px}

/* две колонки */
body.page-node-type-landmarks .sidebar-grid.grid-full{display:flex!important;gap:32px;align-items:flex-start}

/* контент слева */
body.page-node-type-landmarks .region--content{flex:1 1 800px;min-width:0;min-height:1px}
body.page-node-type-landmarks .region--content.grid-full{display:block!important;margin:0!important;padding:0!important}
body.page-node-type-landmarks .region--content.layout--pass--content-medium{max-width:none!important}

/* сайдбар справа (фон компас) */
body.page-node-type-landmarks .region--sidebar{
  flex:0 0 316px!important;max-width:316px;margin-left:auto;
  font-family:'Bitter',serif;
  background:#87bcde url('../images/compass.webp') no-repeat 50% 50%;
  background-size:contain;
  padding:.5em 1em 0 1em;
}

/* мобилка: стекаем */
@media (max-width:980px){
  body.page-node-type-landmarks .sidebar-grid.grid-full{display:block!important}
  body.page-node-type-landmarks .region--sidebar{flex:none;max-width:none;margin-top:24px;margin-left:0}
}

/* карта: как и body/hero по горизонтали */
body.page-node-type-landmarks .fst-node__map{padding:0 16px;box-sizing:border-box;margin:0 0 16px}
body.page-node-type-landmarks .fst-node__map .leaflet-container{width:100%!important;max-width:100%}

/* hero-изображение: та же ширина, что у текста */
body.page-node-type-landmarks .fst-node__hero,
body.page-node-type-landmarks .fst-node__hero .wide-content{
  margin:0!important;width:100%!important;max-width:100%!important;padding:0 16px;box-sizing:border-box
}
body.page-node-type-landmarks .fst-node__hero img{display:block;width:100%;height:auto;border-radius:6px}

/* тело */
body.page-node-type-landmarks .fst-node__body{padding:1em;box-sizing:border-box;text-align:justify}

/* общие возможные ограничения ширины */
body.page-node-type-landmarks .wide-content,
body.page-node-type-landmarks .text-content{max-width:none}

/* теги-пилюли (как в блоге/турах) */
body.page-node-type-landmarks .field--tags__items a{
  display:inline-block;margin:4px 6px 0 0;padding:4px 10px;border-radius:999px;
  background:#f0f4f8;border:1px solid #d0dae2;color:var(--fst-blue);
  font:400 .85rem/1.4 'Bitter',serif;text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease
}
body.page-node-type-landmarks .field--tags__items a:hover{background:var(--fst-blue);color:#fff;border-color:var(--fst-blue)}
body.page-node-type-landmarks ul.links.field__items.field--tags__items li.field--tags__item::after{display:none}

/* фотогалерея: небольшой зазор между превью */
body.page-node-type-landmarks .fst-meta.fst-meta--gallery .photoswipe-gallery .field__item{margin-bottom:.5em}

body.page-node-type-landmarks .fst-meta.fst-meta--gallery .photoswipe-gallery .field__item a img {
  width: 100%;
}




/* =========================
   ARTICLE (node) · layout + sidebar
   ========================= */
body.page-node-type-article .layout-main{display:block!important}
body.page-node-type-article .layout-main-wrapper.layout-container{padding-left:0!important;padding-right:0!important}
body.page-node-type-article .main-content__container.container{max-width:1200px;margin:0 auto;padding:0 16px}

/* две колонки */
body.page-node-type-article .sidebar-grid.grid-full{display:flex!important;gap:32px;align-items:flex-start}

/* контент слева */
body.page-node-type-article .region--content{flex:1 1 800px;min-width:0;min-height:1px}
body.page-node-type-article .region--content.grid-full{display:block!important;margin:0!important;padding:0!important}
body.page-node-type-article .region--content.layout--pass--content-medium{max-width:none!important}

/* сайдбар справа — фон как у блога */
body.page-node-type-article .region--sidebar{
  flex:0 0 316px!important;max-width:316px;margin-left:auto;
  font-family:'Bitter',serif;
  background:#e9e8e3 url('../images/steps.webp') no-repeat 50% 50% / cover;
  background-size:contain; /* как просили */
  padding:.5em 1em 0 1em;
}

/* мобилка */
@media (max-width:980px){
  body.page-node-type-article .sidebar-grid.grid-full{display:block!important}
  body.page-node-type-article .region--sidebar{flex:none;max-width:none;margin-top:24px;margin-left:0}
}

/* hero и текст — по ширине контент-колонки, как в турах */
body.page-node-type-article .fst-node__hero,
body.page-node-type-article .fst-node__hero .wide-content{
  margin:0!important;width:100%!important;max-width:100%!important;padding:0 16px;box-sizing:border-box
}
body.page-node-type-article .fst-node__hero img{display:block;width:100%;height:auto;border-radius:6px}
body.page-node-type-article .fst-node__body{padding:1em;box-sizing:border-box;text-align:justify}

/* теги-пилюли */
body.page-node-type-article .field--tags__items a{
  display:inline-block;margin:4px 6px 0 0;padding:4px 10px;border-radius:999px;
  background:#f0f4f8;border:1px solid #d0dae2;color:var(--fst-blue);
  font:400 .85rem/1.4 'Bitter',serif;text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease
}
body.page-node-type-article .field--tags__items a:hover{background:var(--fst-blue);color:#fff;border-color:var(--fst-blue)}
body.page-node-type-article ul.links.field__items.field--tags__items li.field--tags__item::after{display:none}

/* мини-отступы для превью галереи в сайдбаре */
body.page-node-type-article .fst-meta.fst-meta--gallery .photoswipe-gallery .field__item{margin-bottom:.5em}

body.page-node-type-article .fst-meta.fst-meta--gallery .photoswipe-gallery .field__item a img,
body.page-node-type-landmarks .fst-meta.fst-meta--gallery .photoswipe-gallery .field__item a img {
  width: 100%;
}

/* Заголовки на индивидуальных Tour, Landmark, Article */
body.page-node-type-tours   .fst-node__title h1,
body.page-node-type-landmarks .fst-node__title h1,
body.page-node-type-article   .fst-node__title h1 {
  font-family: 'Bitter', serif;
  font-weight: 400;
  font-size: 24px;
  color: var(--fst-blue);
  margin: 0 0 1em 0;
  text-align: center;
}


/* =========================
   Leaflet popup (Story Map)
   ========================= */
.leaflet-popup-content .map-popup{
  font-family: 'Bitter', serif;   /* Bitter в попапе */
  line-height: 1.4;
}

/* картинка — по центру и резиновая */
.leaflet-popup-content .map-popup__image img{
  display:block;
  max-width:100%;
  height:auto;
  margin:0 auto 8px;
  border-radius:4px;
}

/* заголовок — крупнее и с фирменным синим */
.leaflet-popup-content a {
  display:block;
  font-size:18px;                 /* «немного укрупнить» */
  font-weight:400;
  color: var(--fst-blue);
  text-decoration:none;
  margin:2px auto 8px;
}
.leaflet-popup-content a:hover{
  text-decoration:underline;
}

/* теги как на внутренних страницах — пилюли и БЕЗ запятых */
.leaflet-popup-content .map-popup__tags{
  margin-top:4px;
  font-size:0;                    /* хак: «съедаем» запятые как текстовые узлы */
}
.leaflet-popup-content .map-popup__tags a{
  font-size:.85rem;               /* возвращаем размер для ссылок */
  display:inline-block;
  margin:4px 6px 0 0;
  padding:4px 10px;
  border-radius:999px;
  background:#f0f4f8;
  border:1px solid #d0dae2;
  color:var(--fst-blue);
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.leaflet-popup-content .map-popup__tags a:hover{
  background:var(--fst-blue);
  color:#fff;
  border-color:var(--fst-blue);
}

/* Сетка уже отдаёт Views Grid, это — стили карточки */
.fst-card { position: relative; background:#fff; border-radius:12px; overflow:hidden; height:100%; }
.fst-card__inner { display:flex; flex-direction:column; gap:10px; padding:12px; }
.fst-card__badge { position:absolute; left:12px; top:12px; display:flex; gap:6px; z-index:2; }
.fst-badge { font-size:12px; padding:4px 8px; background:var(--color--primary-hue, #2b6cb0); color:#fff; border-radius:999px; line-height:1; }
.fst-badge--sub { background:#111827; } /* темная метка для подтипа тура */

.fst-card__image img { width:100%; height:auto; display:block; }
.fst-card__title { 
  margin:6px 0 1em; 
  font-size:18px; 
  line-height:1.3; 
  text-align: center;
  font-weight: 400;
}
.fst-card__excerpt p { margin:6px 0; }
.fst-card__tags { 
  font-size:13px; 
  opacity:.85; 
  padding: 0 1em;
  margin-bottom: 1em;
}
.fst-card__more { margin-top:auto; }
.fst-card__readmore { font-weight:400; text-decoration:none; }

/* Бейдж типа материала */
.fst-card__type {
  font-weight: 400;
  text-transform: none;
  margin-bottom: .25rem;
  font-family: 'Bitter', serif;
  color: --fst-blue !important;
  font-size: 18px;
  text-align: center;  
}

/* Внутренние отступы карточки */
.fst-card__body {
  padding-top: .5rem;
}

/* Чтобы сетка карточек в терминах выглядела как на /blog */
.path-taxonomy .views-view-grid__item-inner {
  display: block;
}

/* Основная двухколоночная сетка страницы таксономии */
.sidebar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px; /* контент + сайдбар */
  gap: 32px;
}

/* Когда сайдбара нет — одна колонка и без «пустого» места справа */
.sidebar-grid.sidebar-grid--no-sidebar {
  grid-template-columns: 1fr;
}

/* Безопасность: чтобы контент не выпирал из колонки */
.sidebar-grid .site-main,
.sidebar-grid .region--content,
.sidebar-grid .region--sidebar {
  min-width: 0;
}

/* На планшетах/мобилках — стекаем в одну колонку */
@media (max-width: 1024px) {
  .sidebar-grid {
    grid-template-columns: 1fr;
  }
}

/* 1) У вас не должно быть grid-full на обёртке sidebar-grid */
.sidebar-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 32px; }
@media (max-width:1024px){ .sidebar-grid { grid-template-columns: 1fr; } }

/* 2) Сбиваем olivero/grid-full ВНУТРИ контент-региона только на этой сетке */
.sidebar-grid .region--content.grid-full {
  display: block;           /* отключаем грид от Olivero */
  grid-template-columns: none;
  padding: 0;               /* на всякий случай убираем внутренние отступы */
}

/* 3) Olivero ещё вешает layout--pass--content-medium, он ограничивает ширину. Уберём. */
.sidebar-grid .region--content.layout--pass--content-medium {
  max-width: none;
}

/* 4) Чтоб блоки не пытались выравниваться по «центральной колонке» */
.sidebar-grid .region--content .block { margin-left: 0; margin-right: 0; }

/* Техническое: чтобы содержимое колонки не выпирало */
.sidebar-grid .site-main,
.sidebar-grid .region--content,
.sidebar-grid .region--sidebar { min-width: 0; }

/* Полноценный охват основной области */
.sidebar-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 2rem;
}

/* Контент занимает всю ширину, если нет сайдбара */
.sidebar-grid--no-sidebar .region--content {
  grid-column: 1 / 13; /* вся ширина */
}

/* Если сайдбар есть — контент + сайдбар */
.sidebar-grid .region--content {
  grid-column: 1 / 9;   /* ширина контента */
}
.sidebar-grid .region--sidebar {
  grid-column: 9 / 13;  /* ширина сайдбара */
}

/* Единый грид */
.sidebar-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 2rem;
  align-items: start;
}

/* Без сайдбара — на всю ширину */
.sidebar-grid--no-sidebar .site-main,
.sidebar-grid--no-sidebar .region--content {
  grid-column: 1 / 13;
  grid-row: 1;
}

/* С сайдбаром: 8/12 контент + 4/12 сайдбар */
.sidebar-grid .site-main,
.sidebar-grid .region--content {
  grid-column: 1 / 9;
  grid-row: 1;           /* фиксирует начало с первой строки */
}

.sidebar-grid .region--sidebar {
  grid-column: 9 / 13;
  grid-row: 1;           /* не даёт «сползти» ниже контента */
}

/* Таксономический сайдбар */
.fst-taxonomy-sidebar-block {
  background: #87bcde url('../images/steps.webp') no-repeat 50% 50%;
  border-radius: 12px;
  padding: 16px 16px 8px;
}
.fst-taxonomy-sidebar-block .block__title { display: none; }
.fst-taxonomy-sidebar-block .field--tags__items {
  margin: 0; padding: 0; list-style: none;
}
.fst-taxonomy-sidebar-block .field--tags__item { margin: 0 0 8px 0; }
.fst-taxonomy-sidebar-block .field--tags__item a { text-decoration: none; }

/* Taxonomy sidebar bg */
.region--sidebar.taxonomy-sidebar .block__content {
  background: #87bcde url('../images/steps.webp') no-repeat 50% 50%;
  background-size: cover;
  padding: 24px;
  border-radius: 16px;
}

/* Чтобы «пилюли» шли сеткой без запятых */
.region--sidebar.taxonomy-sidebar .field--tags__items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Taxonomy sidebar background */
.region--sidebar.taxonomy-sidebar .block__content {
  background: #87bcde url('../images/steps.webp') no-repeat 50% 50%;
  background-size: cover;
  padding: 24px;
  border-radius: 16px;
}

/* Clean tags list (no commas, no duplicates) */
.fst-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* "Pill" tag look to match cards */
.fst-tag {
  display: inline-block;
  padding: 8px 14px;
  border: 2px solid #d6dee6;
  border-radius: 9999px;
  background: #fff;
  color: #143a56;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.fst-tag:hover,
.fst-tag:focus {
  text-decoration: underline;
}

/* Taxonomy sidebar background/padding */
.region--sidebar .taxonomy-sidebar .block__content {
  background: #87bcde url('../images/steps.webp') no-repeat 50% 50%;
  background-size: cover;
  padding: 24px;
  border-radius: 16px;
}

/* Чуть разрежаем «пилюли» */
.region--sidebar .taxonomy-sidebar .field--tags__items {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
}

/* Taxonomy sidebar panel */
.region--sidebar .taxonomy-sidebar .block__content{
  background:#87bcde url('../images/steps.webp') no-repeat 50% 50%;
  background-size:cover;
  padding:24px;
  border-radius:16px;
}

/* Сетка «пилюль» в сайдбаре */
.region--sidebar .taxonomy-sidebar .field--tags__items{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0;
  padding:0;
}

/* Taxonomy sidebar look */
.region--sidebar .taxonomy-sidebar .block__content{
  background:#87bcde url('../images/steps.webp') no-repeat 50% 50%;
  background-size:cover;
  padding:24px;
  border-radius:16px;
}

.region--sidebar .taxonomy-sidebar .field--tags__items{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0;
  padding:0;
}

/* Taxonomy sidebar */
.path-taxonomy .region--sidebar {
  background: #87bcde url('../images/steps.webp') no-repeat 50% 50%;
  background-size: cover;
  padding: 16px;
  border-radius: 8px;
}

.path-taxonomy .block--taxonomy-sidebar .field--tags__items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.path-taxonomy .block--taxonomy-sidebar .field--tags__item a {
  /* наследуем «пилюльный» вид как на карточках */
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1.2;
}

/* === Sidebar: pill tags === */
.region--sidebar .view-all-tags-sidebar .view-content{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
}

/* строка-обёртка от Views — убираем возможные маркеры/отступы */
.region--sidebar .view-all-tags-sidebar .field--tags__item{
  list-style:none;
  margin:0;
  padding:0;
}

/* сама «пилюля» */
.region--sidebar .view-all-tags-sidebar .field--tags__item a{
  display:inline-block;
  padding:6px 12px;
  border-radius:9999px;            /* круглые края */
  background:#EEF3F8;              /* светлый фон */
  border:1px solid #DBE7F3;        /* тонкая рамка */
  text-decoration:none;
  font-size:0.9375rem;             /* 15px */
  line-height:1;
  white-space:nowrap;               /* не переносим слово на две строки */
  color:#0B3558;                    /* тёмный текст (читабельный) */
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}

.region--sidebar .view-all-tags-sidebar .field--tags__item a:hover{
  background:#E5EEF8;
  border-color:#C9DDF0;
}

.region--sidebar .view-all-tags-sidebar .field--tags__item a:focus{
  outline:2px solid #0B5CAB;       /* видимый focus, AA контраст */
  outline-offset:2px;
}

/* На всякий случай: если вдруг в сайдбар попадут <ul class="links"> — отключаем «запятые» Olivero */
.region--sidebar .view-all-tags-sidebar .links.inline li::after{
  content:none !important;
}

.region--sidebar .view-all-tags-sidebar .field--tags__item::after {
  content: none !important;
}






/* ===========================
   TAXONOMY CARDS — TAG PILLS
   =========================== */
.path-taxonomy .fst-card__tags .field--tags__items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none; /* на всякий — без маркеров и запятых */
}
.path-taxonomy .fst-card__tags .field--tags__item { margin: 0; }

.path-taxonomy .fst-card__tags .field--tags__items a {
  display: inline-block; margin: 4px 6px 0 0; padding: 4px 10px; border-radius: 999px;
  background: #f0f4f8; border: 1px solid #d0dae2; color: var(--fst-blue);
  font: 400 .85rem/1.4 'Bitter', serif; text-decoration: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.path-taxonomy .fst-card__tags .field--tags__items a:hover { background: var(--fst-blue); color: #fff; border-color: var(--fst-blue); }
.path-taxonomy .fst-card__tags .field--tags__items a:focus-visible { background: var(--fst-blue); color: #fff; border-color: var(--fst-blue); }


/* ===========================
   TAXONOMY CARDS — READ MORE BUTTON
   =========================== */
/* убираем «список ссылок» оформления и делаем кнопку */
.path-taxonomy .views-view-responsive-grid__item .links.inline {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}
.path-taxonomy .views-view-responsive-grid__item .links.inline > li { display: inline; }


.path-taxonomy .views-view-responsive-grid__item .links.inline a{
  display: inline-block; margin: 12px auto 0; padding: 9px 14px;
  color: #fff; background: #0c3b63; border-radius: 4px; border: 0; box-shadow: 0 2px 0 rgba(0,0,0,.12);
  font: 400 15.2px/27px 'Bitter', serif; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
.path-taxonomy .views-view-responsive-grid__item .links.inline a:hover { background: #034078; transform: translateY(-2px); }




.path-taxonomy .views-view-responsive-grid__item .links.inline a:active {
  transform: translateY(1px);
}
.path-taxonomy .views-view-responsive-grid__item .links.inline a:focus-visible {
  outline: 2px solid #fff;
  box-shadow: 0 0 0 4px hsl(var(--color--primary-hue, 210) var(--color--primary-saturation, 79%) calc(var(--color--primary-lightness, 50) * 1%));
}

/* Чтобы кнопка визуально относилась к карточке */
.path-taxonomy .views-view-responsive-grid__item .links.inline { 
  /* немного воздуха от текста карточки */
  margin-top: 14px;
  margin-bottom: 16px;
  text-align: center;
}

.path-taxonomy .fst-card__excerpt .text-content {
  margin: 0 0 12px;
  font: 1rem/1.6 'Bitter', serif;
  color: var(--fst-ink);
  text-align: justify;  
}









.field--tags__item::after {
  content: none !important;
  display: none !important;
}

.views-field-field-tags a::after {
  content: none !important;
  display: none !important;
}
