/* TERM-FIN V5.8.8.3 — supports 1672x941 uploads, but displays a compact banner.
   Upload size: 1672 x 941 px. Display size is responsive and intentionally smaller. */

.promo-section{
  position:relative;
  margin:18px 18px 0;
  padding:12px 58px 26px;
  overflow:hidden;
  border-radius:22px;
}

.carousel-stage{
  position:relative;
  height:clamp(230px, 29vw, 325px);
  touch-action:pan-y;
  user-select:none;
  cursor:grab;
}

.promo-slide{
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(420px, 50vw, 600px);
  height:auto !important;
  aspect-ratio:1672 / 941;
  border-radius:20px;
  overflow:hidden;
  transform:translate(-50%,-50%) scale(.78);
  opacity:0;
  z-index:0;
  transition:transform .48s cubic-bezier(.22,.75,.24,1),opacity .35s ease,filter .35s ease;
  box-shadow:0 14px 34px rgba(113,78,16,.16);
  background:#fff8e9;
}

.promo-slide img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  padding:0 !important;
}

.promo-slide.is-active{
  transform:translate(-50%,-50%) scale(1);
  opacity:1;
  z-index:3;
}

.promo-slide.is-prev{
  transform:translate(-116%,-50%) scale(.70);
  opacity:.22;
  filter:saturate(.75) brightness(.96);
  z-index:1;
}
.promo-slide.is-next{
  transform:translate(16%,-50%) scale(.70);
  opacity:.22;
  filter:saturate(.75) brightness(.96);
  z-index:1;
}

.carousel-btn{top:50%;margin-top:-21px}
.carousel-dots{margin-top:6px}

@media (max-width:1100px){
  .promo-section{margin:16px 10px 0;padding:12px 48px 26px}
  .carousel-stage{height:clamp(220px,34vw,300px)}
  .promo-slide{width:min(62vw,560px);border-radius:18px}
  .promo-slide.is-prev{transform:translate(-118%,-50%) scale(.68)}
  .promo-slide.is-next{transform:translate(18%,-50%) scale(.68)}
}

@media (max-width:700px){
  .promo-section{margin:12px 6px 0;padding:10px 30px 22px;border-radius:18px}
  .carousel-stage{
    height:calc((100vw - 76px) * 941 / 1672 + 10px);
    min-height:150px;
    max-height:260px;
  }
  .promo-slide{
    width:min(calc(100vw - 76px),520px);
    border-radius:14px;
  }
  .promo-slide.is-prev{transform:translate(-120%,-50%) scale(.66);opacity:.14}
  .promo-slide.is-next{transform:translate(20%,-50%) scale(.66);opacity:.14}
  .carousel-btn{width:36px;height:36px;margin-top:-18px}
  .carousel-btn.prev{left:3px}
  .carousel-btn.next{right:3px}
}

@media (max-width:390px){
  .promo-section{padding-left:26px;padding-right:26px}
  .carousel-stage{
    height:calc((100vw - 64px) * 941 / 1672 + 8px);
    min-height:142px;
  }
  .promo-slide{width:calc(100vw - 64px)}
}
