/* Bangla Calendar Plugin — bangla-calendar.css */
.bncal-wrapper *,.bncal-wrapper *::before,.bncal-wrapper *::after{box-sizing:border-box}
.bncal-wrapper{
  font-family:'Hind Siliguri','Noto Sans Bengali',sans-serif;
  --bc-green-dark:#1a5c2a;
  --bc-green-mid:#2d8a45;
  --bc-green-light:#e8f5ec;
  --bc-green-accent:#3fb062;
  --bc-red:#d42b2b;
  --bc-gold:#c9a227;
  --bc-text:#1a1a1a;
  --bc-text2:#4a5568;
  --bc-muted:#718096;
  --bc-border:#e2e8f0;
  --bc-page:#f7f9f7;
  --bc-card:#ffffff;
  --bc-shadow:0 2px 12px rgba(26,92,42,.10);
  --bc-radius:12px;
  max-width:700px;
  margin:0 auto;
  line-height:1.6;
}




.bncal-wrapper .today-banner{
  background:var(--bc-card);border-bottom:3px solid var(--bc-green-mid);
  padding:1rem;text-align:center;
}
.bncal-wrapper .today-bangla-date{
  font-size:clamp(1rem,4vw,1.45rem);font-weight:700;color:var(--bc-green-dark);margin-bottom:.2rem;
}
.bncal-wrapper .today-en-date{font-size:.85rem;color:var(--bc-text2)}
.bncal-wrapper .today-season{
  display:inline-block;margin-top:.4rem;
  background:var(--bc-green-light);color:var(--bc-green-dark);
  font-size:.78rem;font-weight:600;padding:.2rem .8rem;
  border-radius:20px;border:1px solid var(--bc-green-accent);
}
.bncal-wrapper .cal-wrap{max-width:680px;margin:0 auto;padding:1rem}
.bncal-wrapper .cal-nav{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--bc-card);border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);padding:.7rem 1rem;margin-bottom:1rem;
}
.bncal-wrapper .nav-btn{
  background:var(--bc-green-light);border:1.5px solid var(--bc-green-accent);
  border-radius:8px;color:var(--bc-green-dark);font-family:inherit;
  font-size:1.3rem;width:36px;height:36px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,transform .1s;
}
.bncal-wrapper .nav-btn:hover{background:var(--bc-green-accent);color:#fff}
.bncal-wrapper .nav-btn:active{transform:scale(.95)}
.bncal-wrapper .nav-title{text-align:center;flex:1}
.bncal-wrapper .nav-bangla-month{font-size:1.1rem;font-weight:700;color:var(--bc-green-dark);display:block}
.bncal-wrapper .nav-en-month{font-size:.78rem;color:var(--bc-muted)}
.bncal-wrapper .cal-grid-wrap{
  background:var(--bc-card);border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);overflow:hidden;margin-bottom:1rem;
}
.bncal-wrapper .cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bc-green-dark)}
.bncal-wrapper .wd{text-align:center;padding:.5rem .1rem;font-size:.73rem;font-weight:600;color:#fff}
.bncal-wrapper .wd.fri{color:#ffd580}
.bncal-wrapper .cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--bc-border)}
.bncal-wrapper .day-cell{
  background:var(--bc-card);min-height:56px;padding:.35rem .3rem;
  display:flex;flex-direction:column;align-items:center;
  transition:background .12s;position:relative;
}
.bncal-wrapper .day-cell.empty{background:var(--bc-page)}
.bncal-wrapper .day-cell:hover:not(.empty){background:#f0faf3}
.bncal-wrapper .day-cell.today{background:var(--bc-green-dark)!important}
.bncal-wrapper .day-cell.today .bn-day,.bncal-wrapper .day-cell.today .en-day{color:#fff!important}
.bncal-wrapper .day-cell.friday .bn-day{color:var(--bc-red)}
.bncal-wrapper .day-cell.holiday .bn-day{color:var(--bc-red)}
.bncal-wrapper .day-cell.holiday::after{
  content:'';width:5px;height:5px;border-radius:50%;background:var(--bc-red);
  position:absolute;top:4px;right:4px;
}
.bncal-wrapper .bn-day{font-size:1rem;font-weight:700;color:var(--bc-text);line-height:1;margin-bottom:.15rem}
.bncal-wrapper .en-day{font-size:.65rem;color:var(--bc-muted);line-height:1}
.bncal-wrapper .events-section{
  background:var(--bc-card);border-radius:var(--bc-radius);
  box-shadow:var(--bc-shadow);overflow:hidden;margin-bottom:1rem;
}
.bncal-wrapper .events-title{
  background:var(--bc-green-dark);color:#fff;font-size:.88rem;
  font-weight:700;padding:.6rem 1rem;
}
.bncal-wrapper .event-row{
  display:flex;align-items:flex-start;gap:.75rem;
  padding:.65rem 1rem;border-bottom:1px solid var(--bc-border);font-size:.86rem;
}
.bncal-wrapper .event-row:last-child{border-bottom:none}
.bncal-wrapper .event-date-badge{
  background:var(--bc-green-light);color:var(--bc-green-dark);
  border:1px solid var(--bc-green-accent);border-radius:6px;
  font-weight:700;font-size:.78rem;min-width:48px;text-align:center;
  padding:.2rem .3rem;flex-shrink:0;line-height:1.3;
}
.bncal-wrapper .event-name{color:var(--bc-text);font-weight:500}
.bncal-wrapper .event-en{color:var(--bc-muted);font-size:.75rem}
.bncal-wrapper .event-type-govt{border-left:3px solid var(--bc-red);padding-left:.4rem}
.bncal-wrapper .event-type-religious{border-left:3px solid var(--bc-gold);padding-left:.4rem}
.bncal-wrapper .year-section{margin-bottom:1rem}
.bncal-wrapper .year-toggle-btn{
  width:100%;background:var(--bc-card);border:1.5px solid var(--bc-green-accent);
  border-radius:var(--bc-radius);color:var(--bc-green-dark);font-family:inherit;
  font-size:.9rem;font-weight:600;padding:.7rem 1rem;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  box-shadow:var(--bc-shadow);
}
.bncal-wrapper .year-toggle-btn:hover{background:var(--bc-green-light)}
.bncal-wrapper .mini-months-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:.75rem;margin-top:.75rem;
}
.bncal-wrapper .mini-month{
  background:var(--bc-card);border-radius:8px;box-shadow:var(--bc-shadow);
  overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;
}
.bncal-wrapper .mini-month:hover{transform:translateY(-2px);box-shadow:0 4px 18px rgba(26,92,42,.15)}
.bncal-wrapper .mini-month-head{
  background:var(--bc-green-dark);color:#fff;font-size:.7rem;
  font-weight:700;padding:.3rem .5rem;text-align:center;
}
.bncal-wrapper .mini-month-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:.5px;
  background:var(--bc-border);font-size:.56rem;text-align:center;
}
.bncal-wrapper .mini-cell{background:var(--bc-card);padding:.18rem .05rem;color:var(--bc-text2)}
.bncal-wrapper .mini-cell.mini-today{background:var(--bc-green-dark);color:#fff}
.bncal-wrapper .mini-cell.mini-fri{color:var(--bc-red)}
.bncal-wrapper .mini-cell.mini-empty{background:var(--bc-page)}

@media(max-width:400px){
  .bncal-wrapper .day-cell{min-height:44px;padding:.2rem .1rem}
  .bncal-wrapper .bn-day{font-size:.82rem}
  .bncal-wrapper .en-day{font-size:.56rem}
  .bncal-wrapper .wd{font-size:.6rem;padding:.35rem .05rem}
}
