/* SCAN Works Carousel — чистая версия без фокус-рамок */

.swc-carousel { position: relative; }
.swc-carousel .swiper { position: relative; overflow: hidden; width: 100%; }
.swc-carousel .swiper-wrapper { display: flex; }
.swc-carousel .swiper-slide { flex: 0 0 auto; }

/* Карточка */
.swc-card {
  position: relative;
  margin: 0;
  transition: transform .16s ease, box-shadow .16s ease;
  will-change: transform;
}
.swc-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

/* Превью */
.swc-card__thumb {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #f2f2f2;
  aspect-ratio: 4 / 3;
}
.swc-card__thumb > img,
.swc-card__thumb picture > img,
.swc-card__thumb .wp-post-image {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: inherit !important;
  margin: 0 !important;
}

/* Подпись */
.swc-card__caption {
  margin-top: 12px;
  font-style: normal !important;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.3;
  color: #2a2a2a;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
@media (min-width: 1025px) {
  .swc-card__caption { font-weight: 500; }
}

/* Пагинация по центру */
.swc-carousel .swiper-horizontal>.swiper-pagination-bullets,
.swc-carousel .swiper-pagination-bullets.swiper-pagination-horizontal,
.swc-carousel .swiper-pagination {
  position: relative !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
  transform: none !important; width: 100% !important;
  display: flex !important; justify-content: center !important; align-items: center !important;
  flex-wrap: nowrap !important; white-space: nowrap !important; gap: 8px !important;
  margin-top: 16px !important; overflow: hidden !important;
}
.swc-carousel .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 7px; height: 7px; border-radius: 50%;
  background: #bbb; opacity: .55;
  transition: transform .2s ease, background-color .2s ease, opacity .2s ease;
}
.swc-carousel .swiper-pagination-bullets .swiper-pagination-bullet-active {
  background: var(--e-global-color-primary, #c00); opacity: 1; transform: scale(1.1);
}

/* Стрелки */
.swc-carousel .swc-nav { display: none; }
@media (min-width: 1025px) {
  .swc-carousel { padding: 0 56px; }
  .swc-carousel .swc-nav { display: block; }

  .swc-carousel .swiper-button-prev,
  .swc-carousel .swiper-button-next {
    position: absolute; top: 50%; transform: translateY(-50%);
    width: 40px; height: 40px; border-radius: 20px;
    background: rgba(0,0,0,.22);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: background .2s ease; z-index: 5;
  }
  .swc-carousel .swiper-button-prev:hover,
  .swc-carousel .swiper-button-next:hover { background: rgba(0,0,0,.32); }
  .swc-carousel .swiper-button-prev { left: 8px; }
  .swc-carousel .swiper-button-next { right: 8px; }
  .swc-carousel .swiper-button-prev::after,
  .swc-carousel .swiper-button-next::after {
    content: ''; width: 14px; height: 14px; display: block;
    border-right: 2px solid #fff; border-bottom: 2px solid #fff;
  }
  .swc-carousel .swiper-button-prev::after { transform: rotate(135deg); margin-left: 3px; }
  .swc-carousel .swiper-button-next::after { transform: rotate(-45deg); margin-right: 3px; }
}

/* Скрыть системные подписи Swiper (aria-live) визуально */
.swc-carousel .swiper-notification{
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0 0 0 0) !important; white-space:nowrap !important; border:0 !important; opacity:0 !important;
}

/* Полное отключение любых фокус-рамок внутри виджета */
.swc-card:focus, .swc-card:focus-visible, .swc-card:focus-within,
.swc-card__thumb:focus, .swc-card__thumb:focus-visible,
.swc-carousel .swiper-slide:focus, .swc-carousel .swiper-slide:focus-visible,
.swc-carousel .swiper-slide *:focus, .swc-carousel .swiper-slide *:focus-visible {
  outline: none !important; box-shadow: none !important;
}
.swc-card__thumb::after { content: none !important; }
.swc-card, .swc-card__thumb, .swc-card * { -webkit-tap-highlight-color: transparent; }

/* Меньше анимаций для prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .swc-card,
  .swc-carousel .swiper-button-prev,
  .swc-carousel .swiper-button-next { transition: none !important; transform: none !important; }
}

/* ===== Logo mode (временное включение классом .swc--logo) ===== */
.swc--logo .swc-card__thumb {
  background:#fff;                 /* белый фон под логотип */
  border-radius:12px;
}
.swc--logo .swc-card__thumb > img,
.swc--logo .swc-card__thumb picture > img {
  object-fit: contain !important;  /* логотип целиком */
  object-position: center !important;
  padding: 10px;                   /* равные внутренние поля */
}
@media (max-width: 767.98px){ .swc--logo .swc-card__thumb > img{ padding:8px; } }
@media (min-width:1025px){ .swc--logo .swc-card__thumb > img{ padding:12px; } }

/* Логотипам — более деликатная тень/ховер */
.swc--logo .swc-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
/* Центрируем подписи под карточками */
.swc-card__caption { text-align: center; }

/* Дальше уводим стрелки от карточек + больше боковые поля под них (только десктоп) */
@media (min-width: 1025px) {
  .swc-carousel { padding-left: 80px; padding-right: 80px; } /* было 56px */
  .swc-carousel .swiper-button-prev { left: 16px; }
  .swc-carousel .swiper-button-next { right: 16px; }
}
/* Жёстко увеличиваем боковые поля под стрелки на десктопе */
@media (min-width: 1025px) {
  .swc-carousel { 
    padding-left: 96px !important; 
    padding-right: 96px !important; 
  }
  .swc-carousel .swiper-button-prev { left: 24px !important; }
  .swc-carousel .swiper-button-next { right: 24px !important; }
}
/* Стрелки: у края контейнера и поменьше */
@media (min-width: 1025px) {
  /* вернём разумные поля под стрелки */
  .swc-carousel { 
    padding-left: 56px !important; 
    padding-right: 56px !important; 
  }

  .swc-carousel .swiper-button-prev,
  .swc-carousel .swiper-button-next{
    width: 36px !important;
    height: 36px !important;
    background: rgba(0,0,0,.22) !important;
  }

  /* прижимаем к краям контейнера */
  .swc-carousel .swiper-button-prev{ left: 8px !important; }
  .swc-carousel .swiper-button-next{ right: 8px !important; }
}
@media (min-width: 1025px) {
  /* выносим стрелки за пределы контейнера */
  .swc-carousel .swiper-button-prev{ left: -16px !important; }
  .swc-carousel .swiper-button-next{ right: -16px !important; }
}
/* Стрелки за пределами трека — не обрезать их overflow'ом */
@media (min-width: 1025px) {
  .swc-carousel,
  .swc-carousel .swiper { overflow: visible !important; }

  /* дальше наружу и поверх всего */
  .swc-carousel .swiper-button-prev,
  .swc-carousel .swiper-button-next {
    z-index: 10 !important;
    width: 36px !important;
    height: 36px !important;
  }
  .swc-carousel .swiper-button-prev { left: -28px !important; }
  .swc-carousel .swiper-button-next { right: -28px !important; }
}
/* Трек клиппит слайды (чтобы не было «лишних» по краям), стрелки — снаружи */
@media (min-width: 1025px) {
  .swc-carousel { position: relative; overflow: visible !important; }
  .swc-carousel .swiper { overflow: hidden !important; } /* прячем лишние слайды */
  .swc-carousel .swc-nav {
    position: absolute; inset: 0; pointer-events: none; /* слой поверх, но клики только на кнопках */
  }
  .swc-carousel .swc-nav .swiper-button-prev,
  .swc-carousel .swc-nav .swiper-button-next {
    position: absolute; top: 50%; transform: translateY(-50%);
    z-index: 10; width: 36px; height: 36px; pointer-events: auto;
  }
  .swc-carousel .swc-nav .swiper-button-prev { left: -28px; }
  .swc-carousel .swc-nav .swiper-button-next{ right: -28px; }
}
/* SWC: стрелки — ближе к карточкам и с hover-анимацией */
@media (min-width: 1025px) {
  .swc-carousel .swc-nav .swiper-button-prev,
  .swc-carousel .swc-nav .swiper-button-next{
    width: 36px; height: 36px; border-radius: 50%;
    background: rgba(0,0,0,.22);
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  }
  /* ближе к карточкам (было -28px) */
  .swc-carousel .swc-nav .swiper-button-prev{ left: -12px; }
  .swc-carousel .swc-nav .swiper-button-next{ right: -12px; }

  /* hover-анимация */
  .swc-carousel .swc-nav .swiper-button-prev:hover,
  .swc-carousel .swc-nav .swiper-button-next:hover{
    background: rgba(0,0,0,.32);
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 4px 12px rgba(0,0,0,.18);
  }
  .swc-carousel .swc-nav .swiper-button-prev:active,
  .swc-carousel .swc-nav .swiper-button-next:active{
    transform: translateY(-50%) scale(0.98);
  }
}
/* SWC: стрелки ещё ближе к карточкам */
@media (min-width: 1025px) {
  .swc-carousel .swc-nav .swiper-button-prev{ left: -4px !important; }
  .swc-carousel .swc-nav .swiper-button-next{ right: -4px !important; }
}
/* ===== SWC Lightbox (квик-вью записи) ===== */
.swc-lightbox{position:fixed;inset:0;z-index:10000;display:none;background:rgba(0,0,0,.6);}
.swc-lightbox--open{display:block;}
.swc-lightbox__dialog{
  position:absolute;left:50%;top:5vh;transform:translateX(-50%);
  width:min(920px,94vw);max-height:90vh;overflow:auto;
  background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.swc-lightbox__header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);}
.swc-lightbox__title{margin:0;font-size:20px;line-height:1.3;font-weight:600;flex:1;}
.swc-lightbox__close{appearance:none;border:0;background:transparent;width:40px;height:40px;border-radius:999px;cursor:pointer;}
.swc-lightbox__close:before{content:'✕';display:block;line-height:40px;text-align:center;font-size:20px;color:#333;}
.swc-lightbox__body{padding:20px;}
.swc-lightbox__body img{max-width:100%;height:auto;}
.swc-lightbox__spinner{padding:32px;text-align:center;color:#666;font-size:14px;}
@media (max-width: 767.98px){
  .swc-lightbox__dialog{left:0;transform:none;top:0;width:100vw;max-height:100vh;border-radius:0;}
  .swc-lightbox__close{position:absolute;top:6px;right:6px;}
}
HTML.swc-no-scroll, body.swc-no-scroll{overflow:hidden;}
/* Уточняем размеры диалога на десктопе */
@media (min-width: 1025px){
  .swc-lightbox__dialog{ width:min(980px, 94vw); }
  .swc-lightbox__title{ font-size:22px; }
}

/* Внутренний контейнер контента — узкий столбец по центру */
.swc-lb-inner{
  max-width: 860px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.6;
}
.swc-lb-inner p{ margin: 0 0 1em; }
.swc-lb-inner h2, .swc-lb-inner h3, .swc-lb-inner h4{ margin: 1.2em 0 .6em; line-height:1.3; }

/* Картинки внутри контента — адаптивные и аккуратные */
.swc-lb-inner img{
  display: block;
  max-width: 100% !important;
  height: auto !important;
  border-radius: 8px;
  margin: 0 0 16px;
}

/* Футер лайтбокса с кнопкой открытия записи */
.swc-lightbox__footer{
  max-width: 860px;
  margin: 12px auto 0;
  text-align: center;
  padding: 0 20px 8px;
}
.swc-lightbox__open{
  display: inline-block;
  padding: 10px 16px;
  border-radius: 12px;
  background: var(--e-global-color-primary, #cc0000);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
.swc-lightbox__open:hover{ opacity: .92; }
/* ==== SWC LB v2: адаптив под контент, нормальные углы, фикс-крестик ==== */

/* Диалог: задаём ширину через переменную (JS выставит по контенту) */
.swc-lightbox__dialog{
  position:absolute; left:50%; top:5vh; transform:translateX(-50%);
  width: min(var(--swc-lb-w, 980px), 94vw);
  background:#fff; border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
  overflow:hidden;                         /* скругление не «съедается» */
}

/* Отдельный скроллер, чтобы углы не терялись */
.swc-lightbox__scroller{ max-height:90vh; overflow:auto; }

/* Заголовок */
.swc-lightbox__header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.06);}
.swc-lightbox__title{margin:0;font-size:20px;line-height:1.3;font-weight:600;flex:1;}

/* Фиксированная кнопка закрытия в правом верхнем углу окна */
.swc-lightbox__close{
  position:fixed; top:16px; right:20px; z-index:10002;
  width:44px; height:44px; border-radius:999px; cursor:pointer;
  background:rgba(0,0,0,.08); border:1px solid rgba(0,0,0,.18);
  box-shadow:0 6px 16px rgba(0,0,0,.2);
}
.swc-lightbox__close:before{
  content:'✕'; display:block; text-align:center; line-height:44px;
  font-size:20px; color:#111;
}
.swc-lightbox__close:hover{ background:rgba(0,0,0,.16); }

/* Внутренний контейнер контента — аккуратная колонка */
.swc-lb-inner{ max-width:860px; margin:0 auto; font-size:16px; line-height:1.6; padding:0 20px 20px; }
.swc-lb-inner p{ margin:0 0 1em; }
.swc-lb-inner h2, .swc-lb-inner h3, .swc-lb-inner h4{ margin:1.2em 0 .6em; line-height:1.3; }

/* Картинки внутри контента */
.swc-lb-inner img{ display:block; max-width:100% !important; height:auto !important; border-radius:8px; margin:0 0 16px; }

/* Кнопка «Открыть запись» */
.swc-lightbox__footer{ max-width:860px; margin:12px auto 12px; text-align:center; padding:0 20px; }
.swc-lightbox__open{
  display:inline-block; padding:10px 16px; border-radius:12px;
  background:var(--e-global-color-primary, #cc0000); color:#fff; text-decoration:none; font-weight:600;
}
.swc-lightbox__open:hover{ opacity:.92; }

@media (min-width:1025px){
  .swc-lightbox__title{ font-size:22px; }
}
@media (max-width:767.98px){
  .swc-lightbox__dialog{ left:0; transform:none; top:0; width:100vw; }
  .swc-lightbox__close{ top:10px; right:10px; }
}
/* --- SWC LB: фиксируем крестик к оверлею, поверх диалога --- */
.swc-lightbox{ position: fixed; inset:0; z-index:10000; } /* на всякий */
.swc-lightbox__close{
  position: absolute !important; /* вместо fixed */
  top: 14px; 
  right: 18px;
  z-index: 10005;                /* выше диалога со своим stacking-context */
  width: 44px; height: 44px;
  border-radius: 999px;
  background: rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: 0 6px 16px rgba(0,0,0,.2);
  cursor: pointer;
}
.swc-lightbox__close:before{
  content:'✕';
  display:block; text-align:center; line-height:44px; font-size:20px; color:#111;
}
.swc-lightbox__close:hover{ background: rgba(0,0,0,.16); }

@media (max-width: 767.98px){
  .swc-lightbox__close{ top:10px; right:10px; }
}
/* ---- SWC: единый стиль круглых кнопок (как на стрелках) ---- */
:root{
  --swc-btn-bg: #d0d0d0;
  --swc-btn-bg-hover: #c5c5c5;
  --swc-btn-size: 56px;
}

/* Кнопка закрытия лайтбокса – круглая, серая, белый знак */
.swc-lightbox__close{
  width: var(--swc-btn-size);
  height: var(--swc-btn-size);
  border-radius: 999px;
  background: var(--swc-btn-bg);
  border: 0;
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
  transition: background .15s ease, transform .15s ease;
}
.swc-lightbox__close:hover{ background: var(--swc-btn-bg-hover); transform: translateY(-1px); }
.swc-lightbox__close:before{
  content:'✕';
  color:#fff;
  font-weight:700;
  font-size:22px;
  line-height: var(--swc-btn-size);
  text-align:center;
  display:block;
}

/* позиционирование (кнопка живёт ВНУТРИ .swc-lightbox__dialog) */
.swc-lightbox__dialog{ position:absolute; }
.swc-lightbox__close{
  position:absolute !important; /* привязка к диалогу */
  top: 14px; right: 18px;
  z-index: 10005;
}

@media (max-width: 767.98px){
  .swc-lightbox__close{ top:10px; right:10px; }
}
