/* ============================================================
   bharatpest — homepage rotating banner (data-driven from
   window.SITEDATA.banner, edited via admin.html "🖼️ Banner" tab)
   ============================================================ */
.bp-banner-wrap{padding:28px 22px 8px}
.bp-carousel{
  position:relative;max-width:1400px;margin:0 auto;
  border-radius:22px;overflow:hidden;box-shadow:0 18px 44px rgba(16,19,23,.16);
  aspect-ratio:16/7;background:#101418;
}
@media(max-width:1080px){.bp-carousel{aspect-ratio:16/9}}
@media(max-width:820px){.bp-carousel{aspect-ratio:4/3;border-radius:18px}}
@media(max-width:520px){.bp-carousel{aspect-ratio:3/4;border-radius:16px}}

.bp-slide{
  position:absolute;inset:0;display:flex;align-items:center;
  opacity:0;pointer-events:none;transition:opacity .7s ease;
}
.bp-slide.active{opacity:1;pointer-events:auto;z-index:2}
.bp-slide a.bp-slide-link{position:absolute;inset:0;display:block;z-index:1}

/* theme gradients used when a slide has no photo */
.bp-slide.t-teal{background:linear-gradient(120deg,#0F6363,#123B3B)}
.bp-slide.t-red{background:linear-gradient(120deg,#B31212,#5C0A0A)}
.bp-slide.t-gold{background:linear-gradient(120deg,#B46E14,#7A4A0C)}
.bp-slide.t-navy{background:linear-gradient(120deg,#1F3C88,#101B3E)}
.bp-slide.t-dashed{background:repeating-linear-gradient(135deg,#22262b,#22262b 14px,#282d33 14px,#282d33 28px)}
.bp-slide.t-dashed .bp-slide-inner{border:2px dashed rgba(255,255,255,.35);border-radius:16px;margin:18px;padding:22px 34px!important}

/* photo slides: blurred cover copy fills the frame, full un-cropped image sits on top */
.bp-slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(28px) brightness(.55) saturate(1.15);transform:scale(1.15)}
.bp-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1}

/* dark overlay so caption text stays legible over a photo background */
.bp-slide.has-photo.show-overlay::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,15,.72),rgba(10,12,15,.28) 60%,rgba(10,12,15,.05));z-index:1}

.bp-slide-inner{position:relative;z-index:2;padding:0 46px;max-width:640px;color:#fff;pointer-events:none}
.bp-slide-inner .bp-cta{pointer-events:auto}
@media(max-width:520px){.bp-slide-inner{padding:0 26px}}
.bp-slide.has-photo:not(.show-overlay) .bp-slide-inner{display:none}
.bp-slide .bp-ic{font-size:2.6rem;line-height:1;margin-bottom:10px;display:inline-block}
.bp-slide .bp-eyebrow{
  display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  background:rgba(255,255,255,.16);padding:5px 12px;border-radius:999px;margin-bottom:12px;
}
.bp-slide h3{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;margin:0 0 8px;line-height:1.15}
.bp-slide p{font-size:.98rem;opacity:.92;margin:0 0 18px;max-width:52ch}
.bp-slide .bp-cta{
  display:inline-flex;align-items:center;gap:6px;background:#fff;color:#14181C;font-weight:700;
  font-size:.9rem;padding:10px 20px;border-radius:11px;text-decoration:none;transition:transform .18s;
  position:relative;z-index:2;
}
.bp-slide .bp-cta:hover{transform:translateY(-2px)}

/* arrows */
.bp-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(3px);transition:.18s;
}
.bp-arrow:hover{background:rgba(255,255,255,.32)}
.bp-arrow.prev{left:14px}
.bp-arrow.next{right:14px}

/* dots + pause button */
.bp-controls{position:absolute;left:0;right:0;bottom:14px;z-index:3;display:flex;align-items:center;justify-content:center;gap:14px}
.bp-dots{display:flex;gap:8px}
.bp-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:none;cursor:pointer;padding:0;transition:.18s}
.bp-dot.active{background:#fff;width:22px;border-radius:5px}
.bp-pause{
  position:absolute;top:14px;right:14px;z-index:3;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.8rem;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}

@media(max-width:600px){
  .bp-arrow{width:34px;height:34px;font-size:.95rem}
}

@media(prefers-reduced-motion:reduce){
  .bp-slide{transition:none}
}
