/* ===== NH Carousel Card – FIXED CARD WIDTHS (3/2/1 per view) ===== */
:root{
  --nh-blue:#00325D;
  --nh-blue-2:#005EB8;
  --nh-orange:#F58F29;

  --nh-card:#FFFFFF;
  --nh-border:#E6EAF0;
  --nh-text:#0F172A;

  --shadow-sm:0 10px 22px rgba(0,0,0,.06);
  --shadow-md:0 16px 34px rgba(0,0,0,.10);

  --nh-gap:24px;           /* разстояние между картите */
  --nh-indent:16px;        /* отстъп за заглавие/списък */
  --arrow-offset:12px;     /* близост на стрелките до viewport-а */
  --arrow-size:40px;       /* размер на стрелките (desktop/tablet) */

  --nh-ico-size:20px;          /* редове (дата/език/дни) */
  --nh-ico-format-size:20px;   /* бейдж "формат" долу */

  --card-w:340px;          /* ФИКС ширина на карта за всички екрани */
}

/* фон / контейнери */
.nh-carousel-section{background:#e3e3e3;padding:20px 0 26px;}
.nh-carousel-outer{max-width:1833px;margin:0 auto;padding:0 56px;position:relative;}
@media(max-width:1200px){.nh-carousel-outer{padding:0 32px;}}
@media(max-width:640px){.nh-carousel-outer{padding:0 8px;}}

.nh-carousel-wrap{font-family:Inter,"Open Sans",sans-serif;color:var(--nh-text);position:relative;}
/* padding = половин gap, за да „реже“ между картите и да влиза във формулата */
.nh-carousel-window{overflow:hidden;width:100%;padding:0 calc(var(--nh-gap)/2);box-sizing:border-box;}
.nh-carousel-track{display:flex;flex-wrap:nowrap;transition:transform .6s cubic-bezier(.22,.61,.36,1);will-change:transform;touch-action:pan-y;}

/* ===== Карта (фиксирана ширина) ===== */
.nh-card{
  min-width:0;
  box-sizing:border-box !important;

  flex:0 0 var(--card-w) !important;
  max-width:var(--card-w) !important;
  margin:0 calc(var(--nh-gap)/2) !important;

  background:var(--nh-card);
  border:1px solid var(--nh-border);
  border-radius:22px; overflow:hidden;
  display:flex; flex-direction:column;
  box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.nh-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:#dbe3ed; }

/* снимка + таг */
.nh-media{ position:relative; padding:12px 12px 0; }
.nh-img-wrap{ width:100%; height:180px; border-radius:16px; overflow:hidden; }
.nh-img{ width:100%; height:100%; object-fit:cover; display:block; }

/* таг категория */
.nh-cat{
  position:absolute; left:20px; top:20px;
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 12px; border-radius:999px;
  background:rgba(255,255,255,0.9); color:var(--nh-blue);
  font-weight:800; font-size:12px; letter-spacing:.3px; text-transform:uppercase;
  box-shadow:0 4px 10px rgba(0,0,0,.12);
}

/* тяло */
.nh-card-body{ padding:14px 16px 20px; display:flex; flex-direction:column; gap:10px; }

/* заглавие – 2 реда + ellipsis за еднакво начало на списъка */
.nh-title{
  margin:4px 0 2px;
  font-size:18px; line-height:1.25; color:var(--nh-text); font-weight:800;
  padding-left:var(--nh-indent);

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:52px; /* ~2 реда */
}

/* инфо списък */
.nh-items{ list-style:none; padding:0; margin:6px 0 8px; display:grid; gap:10px; padding-left:var(--nh-indent); }
.nh-item{ display:flex; align-items:center; gap:12px; font-size:14px; }
.nh-item span{ color:var(--nh-text); font-weight:600; }
.nh-ico{ width:var(--nh-ico-size); height:var(--nh-ico-size); flex:0 0 var(--nh-ico-size); display:inline-block; object-fit:contain; }

/* разделител */
.nh-divider{ height:1px; background:#EEF2F7; margin:8px 0 10px; }

/* footer */
.nh-cta{
  margin-top:auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; flex-wrap:wrap;
}
.nh-format, .nh-btn{ box-sizing:border-box; flex:0 1 auto; min-width:140px; max-width:100%; }
.nh-format{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 16px; border-radius:999px; font-size:14px; font-weight:600; line-height:1; background:rgba(0,50,93,.06); color:var(--nh-blue); }
.nh-format.hybrid{ background:rgba(245,143,41,.12); color:var(--nh-orange); }
.nh-format.online{ background:rgba(0,94,184,.12); color:var(--nh-blue-2); }
.nh-format.onsite{ background:rgba(16,185,129,.14); color:#0BAF84; }
.nh-format .nh-ico{ width:var(--nh-ico-format-size); height:var(--nh-ico-format-size); }
.nh-btn{
  display:inline-block; text-align:center; padding:11px 16px; border-radius:999px;
  text-decoration:none; font-weight:600; letter-spacing:.2px; font-size:14px;
  background:var(--nh-blue); color:#fff; border:1px solid var(--nh-blue);
  transition:background .2s, color .2s, border-color .2s, box-shadow .2s, transform .1s;
  white-space:nowrap;
}
.nh-btn:hover{ background:var(--nh-orange); color:#fff; border-color:var(--nh-orange); box-shadow:0 8px 18px rgba(245,143,41,.28); }

/* точки */
.nh-dots{ text-align:center; margin-top:16px; display:flex; justify-content:center; gap:8px; }
.nh-dot{ appearance:none; border:none; background:#cfd4dc; width:9px; height:9px; border-radius:50%; cursor:pointer; transition:.25s; }
.nh-dot.active{ background:var(--nh-orange); transform:scale(1.08); }
.nh-dot:focus-visible{ outline:none; box-shadow:0 0 0 3px rgba(245,143,41,.35); }

/* ===== Стрелки (по подразбиране absolute) ===== */
.nh-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:var(--arrow-size); height:var(--arrow-size);
  border-radius:50%; background:#fff; border:1px solid var(--nh-border);
  box-shadow:0 6px 16px rgba(0,0,0,.06); display:grid; place-items:center; cursor:pointer; z-index:5;
  transition:box-shadow .2s, transform .2s, background .2s, border-color .2s;
}
.nh-arrow:hover{ box-shadow:0 10px 22px rgba(0,0,0,.08); transform:translateY(-50%) scale(1.04); }
.nh-arrow svg{ width:18px; height:18px; fill:none; stroke:var(--nh-blue); stroke-width:2; }
.nh-arrow[disabled]{ opacity:.45; cursor:not-allowed; }

/* ===== Desktop (≥1092px): 3 карти ===== */
@media (min-width:1092px){
  .nh-carousel-wrap{
    --vw-desktop: calc(3 * var(--card-w) + 3 * var(--nh-gap));
  }
  .nh-carousel-window{
    width:100%;
    max-width:calc(var(--vw-desktop) + 1px);
    margin:0 auto;
  }
  .nh-prev{ left:  calc((100% - var(--vw-desktop))/2 - var(--arrow-size) - var(--arrow-offset)); }
  .nh-next{ right: calc((100% - var(--vw-desktop))/2 - var(--arrow-size) - var(--arrow-offset)); }
}

/* ===== Tablet (728–1091px): 2 карти ===== */
@media (min-width:728px) and (max-width:1091.98px){
  .nh-carousel-wrap{
    --vw-tablet: calc(2 * var(--card-w) + 2 * var(--nh-gap));
  }
  .nh-carousel-window{
    width:100%;
    max-width:calc(var(--vw-tablet) + 1px);
    margin:0 auto;
  }
  .nh-prev{ left:  calc((100% - var(--vw-tablet))/2 - var(--arrow-size) - var(--arrow-offset)); }
  .nh-next{ right: calc((100% - var(--vw-tablet))/2 - var(--arrow-size) - var(--arrow-offset)); }
}

/* ===== Mobile (≤727px): 1 карта ===== */
@media (max-width:727.98px){
  :root{
    --nh-ico-size:18px;
    --nh-ico-format-size:18px;
    --arrow-size:36px; /* по-малки стрелки */
  }
  .nh-carousel-wrap{
    --vw-mobile: calc(1 * var(--card-w) + 1 * var(--nh-gap));
  }
  .nh-carousel-window{
    width:100%;
    max-width:calc(var(--vw-mobile) + 1px);
    margin:0 auto;
  }
  .nh-prev{ left:6px; }
  .nh-next{ right:6px; }
  .nh-img-wrap{ height:170px; }
  .nh-cta{ flex-direction:column; align-items:stretch; }
  .nh-btn, .nh-format{ width:100%; min-width:0; flex-basis:auto; }
}

/* намаляване на анимациите при предпочитания */
@media (prefers-reduced-motion:reduce){
  .nh-carousel-track,.nh-card,.nh-btn,.nh-arrow{transition:none;}
}
