/* Bank Holidays 2026 — BankersClub.in */
#bc-bh-wrapper{font-family:inherit;max-width:960px;margin:0 auto;padding:0 15px}
.bc-bh-hero{background:linear-gradient(135deg,#0a9e9e 0%,#065f5f 100%);color:#fff;padding:40px 30px;border-radius:16px;margin-bottom:28px;text-align:center}
.bc-bh-hero h1{font-size:2em;margin:0 0 10px;color:#fff!important;border:none!important}
.bc-bh-hero p{opacity:.9;margin:0;color:#e0f7f7}
.bc-bh-controls{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:25px;margin-bottom:22px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.bc-bh-state-select label{display:block;font-weight:700;color:#333;margin-bottom:10px;font-size:1.05em}
#bc-bh-state-search{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:8px;font-size:1em;margin-bottom:10px;box-sizing:border-box;transition:border-color .2s}
#bc-bh-state-search:focus{border-color:#0a9e9e;outline:none}
#bc-bh-state{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:8px;font-size:1em;background:#fff;cursor:pointer;transition:border-color .2s}
#bc-bh-state:focus{border-color:#0a9e9e;outline:none}
.bc-bh-status{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap}
.bc-bh-today,.bc-bh-tomorrow{flex:1;min-width:220px;display:flex;align-items:center;gap:15px;padding:18px 20px;border-radius:12px}
.bc-bh-open{background:#edfaf4;border:2px solid #27ae60;color:#1a7a4a}
.bc-bh-closed{background:#fef0f0;border:2px solid #e74c3c;color:#c0392b}
.bc-bh-icon{font-size:2em;flex-shrink:0}
.bc-bh-today strong,.bc-bh-tomorrow strong{display:block;font-size:1.05em;margin-bottom:2px}
.bc-bh-today span,.bc-bh-tomorrow span{font-size:.88em;opacity:.85}
#bc-bh-upcoming{margin-bottom:30px}
#bc-bh-upcoming h2,#bc-bh-full-list h2{font-size:1.25em;color:#222;border-bottom:3px solid #0a9e9e;padding-bottom:9px;margin-bottom:18px}
.bc-bh-upcoming-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.bc-bh-upcoming-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e8e8e8;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.bc-bh-upcoming-item.holiday{border-left:4px solid #0a9e9e}
.bc-bh-upcoming-item.weekend{border-left:4px solid #9e9e9e}
.bc-bh-upcoming-date{text-align:center;min-width:42px}
.bc-bh-upcoming-date .day{display:block;font-size:1.5em;font-weight:700;color:#0a9e9e;line-height:1}
.bc-bh-upcoming-date .mon{display:block;font-size:.72em;color:#999;text-transform:uppercase;margin-top:1px}
.bc-bh-upcoming-info strong{display:block;font-size:.86em;color:#333;line-height:1.3}
.bc-bh-upcoming-info span{font-size:.76em;color:#999}
#bc-bh-calendar{margin-bottom:30px}
.bc-bh-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.bc-bh-cal-header h3{font-size:1.15em;color:#333;margin:0}
.bc-bh-cal-header button{background:#0a9e9e;color:#fff;border:none;width:34px;height:34px;border-radius:50%;font-size:1.2em;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bc-bh-cal-header button:hover{background:#065f5f}
.bc-bh-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:#d8d8d8;border-radius:10px;overflow:hidden;padding:2px}
.bc-cal-head{background:#065f5f;color:#fff;text-align:center;padding:8px 2px;font-size:.75em;font-weight:700}
.bc-cal-cell{background:#fff;padding:5px 4px;min-height:58px;position:relative;overflow:hidden}
.bc-cal-cell.empty{background:#f7f7f7}
.bc-cal-cell.bc-cal-holiday{background:#e6f7f7}
.bc-cal-cell.bc-cal-weekend{background:#f5f5f5}
.bc-cal-cell.bc-cal-today{outline:2px solid #0a9e9e;outline-offset:-2px;background:#e0f7f7}
.bc-cal-day{display:block;font-weight:600;font-size:.9em;color:#333}
.bc-cal-holiday .bc-cal-day{color:#0a9e9e}
.bc-cal-weekend .bc-cal-day{color:#888}
.bc-cal-label{display:block;font-size:.64em;color:#0a9e9e;line-height:1.2;margin-top:2px;word-break:break-word}
.bc-cal-weekend .bc-cal-label{color:#888}
.bc-bh-cal-legend{margin-top:10px;font-size:.83em;color:#666;display:flex;gap:18px;flex-wrap:wrap}
.holiday-marker,.weekend-marker{display:inline-block;width:13px;height:13px;border-radius:2px;vertical-align:middle;margin-right:3px}
.holiday-marker{background:#e6f7f7;border:1px solid #0a9e9e}
.weekend-marker{background:#f5f5f5;border:1px solid #bbb}
.bc-bh-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:.9em}
.bc-bh-table th{background:#065f5f;color:#fff;padding:10px 14px;text-align:left}
.bc-bh-table td{padding:9px 14px;border-bottom:1px solid #eee}
.bc-bh-table tr:nth-child(even) td{background:#f5fefe}
.bc-bh-pdf-btn{background:#0a9e9e;color:#fff;border:none;padding:12px 26px;border-radius:8px;font-size:.97em;cursor:pointer;font-weight:600;margin-top:5px}
.bc-bh-pdf-btn:hover{background:#065f5f}
.bc-bh-note{background:#fffbe6;border:1px solid #f0c040;border-radius:8px;padding:12px 16px;font-size:.85em;color:#7a6000;margin-bottom:20px}
@media print{
  body *{visibility:hidden}
  #bc-bh-full-list,#bc-bh-full-list *{visibility:visible}
  #bc-bh-full-list{position:absolute;top:0;left:0;width:100%}
  .bc-bh-pdf-btn{display:none}
}
@media(max-width:640px){
  .bc-bh-hero{padding:25px 18px}
  .bc-bh-hero h1{font-size:1.5em}
  .bc-bh-status{flex-direction:column}
  .bc-bh-upcoming-list{grid-template-columns:1fr 1fr}
  .bc-cal-cell{min-height:38px;padding:2px}
  .bc-cal-label{display:none}
  .bc-bh-controls{padding:18px}
}
@media(max-width:400px){
  .bc-bh-upcoming-list{grid-template-columns:1fr}
}

/* ── Phase 2 SSR Sections ─────────────────────────────────── */
.bc-bh-ssr-national,.bc-bh-ssr-states{max-width:960px;margin:0 auto 32px;padding:0 15px}
.bc-bh-ssr-national h2,.bc-bh-ssr-states h2{font-size:1.3em;color:#065f5f;border-bottom:3px solid #0a9e9e;padding-bottom:8px;margin-bottom:14px}
.bc-bh-ssr-national p,.bc-bh-ssr-states p{color:#555;font-size:.93em;margin-bottom:14px}

/* National holidays table (SSR) */
.bank-holiday-table{width:100%;border-collapse:collapse;font-size:.9em;margin-bottom:8px}
.bank-holiday-table th{background:#065f5f;color:#fff;padding:10px 14px;text-align:left}
.bank-holiday-table td{padding:9px 14px;border-bottom:1px solid #e8e8e8}
.bank-holiday-table tr:nth-child(even) td{background:#f5fefe}
.bank-holiday-table tr:hover td{background:#e6f7f7}

/* State links grid (SSR) */
.bc-bh-state-grid{display:flex;flex-wrap:wrap;gap:8px 10px}
.bc-bh-state-link{display:inline-block;padding:7px 14px;background:#f0fafa;border:1px solid #b2dfdf;border-radius:20px;color:#065f5f;font-size:.87em;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}
.bc-bh-state-link:hover{background:#0a9e9e;border-color:#0a9e9e;color:#fff;text-decoration:none}

@media(max-width:640px){
  .bc-bh-ssr-national,.bc-bh-ssr-states{padding:0 10px}
  .bc-bh-state-link{font-size:.82em;padding:6px 12px}
}
