:root{
  --enc-gap: 16px;
  --enc-radius: 14px;
  --enc-border: #eee;
  --enc-bg: #fff;
  --enc-text: #1f2937;
  --enc-text-soft: #6b7280;
  --enc-shadow: 0 4px 14px rgba(0,0,0,.06);
  --enc-shadow-hover: 0 10px 24px rgba(0,0,0,.10);
  --enc-nav-bg: #ffffffcc;
  --enc-nav-bg-hover: #ffffffee;
  --enc-nav-border: #e5e7eb;
}

/* Обёртка */
.enc-wrap{ position:relative; width:100%; margin:10px 0 20px; padding:0 32px; box-sizing:border-box; z-index:9; }

/* Вьюпорт: на мобиле — нативный горизонтальный скролл со snap */
.enc-viewport{
  overflow:hidden;
  width:100%;
  position:relative;
  z-index:9;
}
@media (max-width: 900px){
  .enc-viewport{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    touch-action:pan-x;
  }
  .enc-viewport::-webkit-scrollbar{ display:none; width:0; height:0; }
}

/* Трек */
.enc-track{ display:flex; gap:var(--enc-gap); will-change:transform; transition:transform .4s ease; z-index:9; }

/* Карточка */
.enc-card{
  position:relative; display:block;
  flex:0 0 calc(100% - 10px); max-width:calc(100% - 10px);
  background:var(--enc-bg); border:1px solid var(--enc-border);
  border-radius:var(--enc-radius); overflow:hidden;
  text-decoration:none!important; color:inherit;
  box-shadow:var(--enc-shadow);
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
  z-index:10;
  scroll-snap-align:start;
}
.enc-card *{ pointer-events:none; } /* кликается вся <a> */

/* Кол-во карточек на ряд */
@media (min-width:480px){ .enc-card{ flex-basis: calc(50% - var(--enc-gap)); max-width: calc(50% - var(--enc-gap)); } }
@media (min-width:768px){ .enc-card{ flex-basis: calc(33.333% - var(--enc-gap)); max-width: calc(33.333% - var(--enc-gap)); } }
@media (min-width:1024px){ .enc-card{ flex-basis: calc(25% - var(--enc-gap)); max-width: calc(25% - var(--enc-gap)); } }

/* На очень узких — 1 карточка без peek */
@media (max-width:479.98px){
  .enc-wrap{ padding:0 16px; }
  .enc-card{ flex-basis:100%; max-width:100%; }
}

/* Превью */
.enc-thumb-inner{ position:relative; width:100%; background:#f7f7f7; }
.enc-thumb-inner > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; border-radius:var(--enc-radius) var(--enc-radius) 0 0; }

/* Текст */
.enc-meta{ padding:12px 14px 14px; color:var(--enc-text); }
.enc-date{ display:inline-block; font-size:12px; line-height:1.3; color:var(--enc-text-soft); margin-bottom:6px; }
.enc-title{ font-size:16px; line-height:1.35; font-weight:700; margin:4px 0 0; color:var(--enc-text); }
.enc-excerpt{ margin:8px 0 0; font-size:14px; line-height:1.5; color:var(--enc-text-soft); }

.enc-card:focus{ outline:none; }
.enc-card:focus-visible{ box-shadow:0 0 0 3px rgba(59,130,246,.35); }
.enc-card:hover{ transform:translateY(-2px); box-shadow:var(--enc-shadow-hover); border-color:#eaeaea; }

/* Навигация */
.enc-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:20; width:38px; height:38px; border-radius:999px;
  border:1px solid var(--enc-nav-border); background:var(--enc-nav-bg);
  backdrop-filter:saturate(140%) blur(2px);
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer; user-select:none; -webkit-user-select:none;
  transition:background-color .15s ease, border-color .15s ease, transform .15s ease;
  pointer-events:auto;
}
.enc-prev{ left:8px; } .enc-next{ right:8px; }
.enc-nav:hover{ background:var(--enc-nav-bg-hover); border-color:#d1d5db; transform:translateY(-50%) scale(1.03); }
.enc-nav:active{ transform:translateY(-50%) scale(0.98); }

/* На узких — стрелки не нужны (свайп) */
@media (max-width:600px){ .enc-nav{ display:none; } }

/* Мобильная типографика */
@media (max-width:768px){
  .enc-meta{ padding:10px 12px 12px; }
  .enc-title{ font-size:15px; }
  .enc-excerpt{ font-size:13px; }
}

/* Сервисные */
.enc-empty, .enc-error{ padding:14px 16px; border-radius:10px; border:1px dashed #e5e7eb; background:#fafafa; color:#6b7280; font-size:14px; }
.enc-wrap[data-edit="1"] .enc-track{ transition:none!important; }
html[dir="rtl"] .enc-track{ flex-direction:row-reverse; }
html[dir="rtl"] .enc-prev{ right:8px; left:auto; }
html[dir="rtl"] .enc-next{ left:8px; right:auto; }
@media (prefers-reduced-motion: reduce){ .enc-track, .enc-card, .enc-nav{ transition:none!important; } }

.enc-thumb-inner, .enc-thumb-inner img, .enc-card{ border-radius:var(--enc-radius); overflow:hidden; }

/* 🔒 Анти-оверлеи Elementor */
.enc-parent{ position:relative; z-index:auto; }
.enc-parent > .elementor-background-overlay,
.enc-parent > .e-con-inner > .elementor-background-overlay,
.elementor-section .elementor-background-overlay{ pointer-events:none !important; }
.enc-parent .enc-wrap{ position:relative; z-index:5; }
.enc-nav{
  display:none !important;
}
