/* ==========================================================================
   Aston Mark — Chapters Carousel Widget   (prefix: chp-)
   ডিজাইন হুবহু আগের মতোই। টিউনযোগ্য মান CSS ভেরিয়েবলে,
   ডিফল্ট মান = আগের মান।
   ========================================================================== */

.chp, .chp * { box-sizing: border-box !important; }

.chp {
  /* ---- রঙ ---- */
  --chp-red: #b1352a;
  --chp-red-deep: #531e19;
  --chp-bg: #0f0e11;
  --chp-card-bg: #1c1b1e;
  --chp-title-color: #ffffff;
  --chp-text-color: #98a0b3;

  /* ---- সেকশন ---- */
  --chp-pad-top: 70px;
  --chp-pad-bottom: 70px;
  --chp-container-w: 1180px;
  --chp-container-pad: 60px;

  /* ---- কার্ড ---- */
  --chp-card-pad: 20px;
  --chp-card-radius: 20px;
  --chp-media-radius: 14px;
  --chp-media-ratio: 4 / 5;
  --chp-media-gap: 22px;
  --chp-title-size: clamp(15px, 1.2vw, 18px);
  --chp-title-lh: 1.4;
  --chp-text-size: clamp(14px, 1.05vw, 16px);
  --chp-text-lh: 1.6;

  /* ---- অ্যারো ---- */
  --chp-nav-size: 48px;
  --chp-nav-icon: 20px;
  --chp-nav-offset: -56px;
  --chp-nav-top: 40%;
  --chp-nav-border: rgba(255, 255, 255, 0.55);
  --chp-nav-color: #ffffff;
  --chp-nav-bg: transparent;

  /* ---- ডট ---- */
  --chp-dot: rgba(255, 255, 255, 0.35);
  --chp-dot-size: 9px;
  --chp-dot-active-w: 24px;
  --chp-dots-gap: 34px;

  position: relative !important;
  padding: var(--chp-pad-top) 0 var(--chp-pad-bottom) !important;
  background-color: var(--chp-bg) !important;
  overflow: hidden !important;
  color: #fff !important;
  font-family: 'Hind Siliguri', Arial, Helvetica, sans-serif !important;
}

.chp-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: var(--chp-container-w) !important;
  margin: 0 auto !important;
  padding: 0 var(--chp-container-pad) !important;
}

.chp-stage { position: relative !important; }

.chp-swiper {
  width: 100% !important;
  overflow: hidden !important;
}

/* একটানা মসৃণ চলা — ধাপে ধাপে নয় */
.chp-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

/* মার্কি বন্ধ থাকলে স্বাভাবিক ease */
.chp--stepped .chp-swiper .swiper-wrapper {
  transition-timing-function: ease !important;
}

.chp-swiper .swiper-slide {
  height: auto !important;
  display: flex !important;
}

/* ---------------- কার্ড ---------------- */
.chp-card {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: var(--chp-card-pad) !important;
  border-radius: var(--chp-card-radius) !important;
  background: var(--chp-card-bg) !important;
  text-decoration: none !important;
}

.chp-card__media {
  width: 100% !important;
  aspect-ratio: var(--chp-media-ratio) !important;
  border-radius: var(--chp-media-radius) !important;
  overflow: hidden !important;
  background: #2a292c !important;
  margin-bottom: var(--chp-media-gap) !important;
}

.chp-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}

.chp-card:hover .chp-card__media img { transform: scale(1.04) !important; }

.chp-card__title {
  margin: 0 0 12px !important;
  font-size: var(--chp-title-size) !important;
  line-height: var(--chp-title-lh) !important;
  font-weight: 700 !important;
  color: var(--chp-title-color) !important;
}

.chp-card__text {
  margin: 0 !important;
  font-size: var(--chp-text-size) !important;
  line-height: var(--chp-text-lh) !important;
  color: var(--chp-text-color) !important;
}

/* ---------------- অ্যারো ---------------- */
.chp-nav {
  position: absolute !important;
  top: var(--chp-nav-top) !important;
  left: var(--chp-nav-offset) !important;
  right: var(--chp-nav-offset) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.chp-nav__btn {
  all: unset !important;
  box-sizing: border-box !important;
  pointer-events: all !important;
  width: var(--chp-nav-size) !important;
  height: var(--chp-nav-size) !important;
  min-width: var(--chp-nav-size) !important;
  border-radius: 50% !important;
  border: 1px solid var(--chp-nav-border) !important;
  background-color: var(--chp-nav-bg) !important;
  color: var(--chp-nav-color) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.2s ease !important;
}

.chp-nav__btn svg {
  display: block !important;
  pointer-events: none !important;
  width: var(--chp-nav-icon) !important;
  height: var(--chp-nav-icon) !important;
}

.chp-nav__btn:hover {
  background-image: linear-gradient(90deg, var(--chp-red) 0%, var(--chp-red-deep) 100%) !important;
  border-color: transparent !important;
  transform: scale(1.08) !important;
}

.chp-nav__btn:focus-visible {
  outline: 2px solid var(--chp-red) !important;
  outline-offset: 3px !important;
}

/* ---------------- ডট ---------------- */
.chp-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: var(--chp-dots-gap) !important;
  position: relative !important;
  z-index: 5 !important;
}

.chp-pagination .swiper-pagination-bullet {
  width: var(--chp-dot-size) !important;
  height: var(--chp-dot-size) !important;
  border-radius: 50% !important;
  background: var(--chp-dot) !important;
  opacity: 1 !important;
  margin: 0 !important;
  transition: all 0.3s ease !important;
  display: inline-block !important;
  cursor: pointer !important;
}

.chp-pagination .swiper-pagination-bullet-active {
  width: var(--chp-dot-active-w) !important;
  border-radius: 5px !important;
  background: linear-gradient(90deg, var(--chp-red) 0%, var(--chp-red-deep) 100%) !important;
}

@media (prefers-reduced-motion: reduce) {
  .chp-card__media img, .chp-nav__btn { transition: none !important; }
}

/* ---------------- Responsive ডিফল্ট ---------------- */
@media (max-width: 1280px) {
  .chp { --chp-container-pad: 40px; --chp-nav-offset: -48px; }
}

@media (max-width: 991px) {
  .chp {
    --chp-pad-top: 55px;
    --chp-pad-bottom: 55px;
    --chp-container-pad: 20px;
    --chp-nav-offset: -10px;
    --chp-nav-size: 40px;
    --chp-nav-icon: 17px;
    --chp-nav-bg: rgba(15, 14, 17, 0.6);
  }
}

@media (max-width: 576px) {
  .chp {
    --chp-container-pad: 12px;
    --chp-card-pad: 12px;
    --chp-card-radius: 16px;
    --chp-media-radius: 12px;
    --chp-media-gap: 16px;
    --chp-dots-gap: 26px;
    --chp-nav-offset: -4px;
    --chp-nav-size: 38px;
    --chp-nav-icon: 16px;
  }
}
