/* LyfPDF v101 — calendar hub pages (calendar 2027, India / West Bengal holidays, Islamic calendar) */
.calhub .cal-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0 1.4rem}
.calhub .cal-quick div{background:#f5f7fc;border:1px solid #e3e9f4;border-radius:12px;padding:.7rem .8rem}
.calhub .cal-quick b{display:block;font-size:1.05rem;color:#14213d}
.calhub .cal-quick span{font-size:.82rem;line-height:1.35;color:#5b6b82;display:block}
.calhub .cal-dl{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.4rem}
.calhub .cal-dl a{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border-radius:10px;background:#5b3fd6;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem}
.calhub .cal-dl a.alt{background:#fff;color:#3b2aa8;border:1px solid #cfc6f5}
.calhub .cal-dl a:hover{filter:brightness(1.07)}
.calhub .cal-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.6rem 0 1rem;padding:.7rem .8rem;border:1px dashed #cdd6e6;border-radius:12px;background:#fbfcff}
.calhub .cal-tools label{font-weight:600;font-size:.9rem}
.calhub .cal-tools select{padding:.4rem .5rem;border-radius:8px;border:1px solid #c9d3e3;font:inherit;max-width:240px}
.calhub .cal-tools button{padding:.45rem .8rem;border-radius:8px;border:1px solid #c9d3e3;background:#fff;font:inherit;cursor:pointer}
.calhub .cal-tools small{color:#5b6b82;flex-basis:100%}
.calhub .cal-legend{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.85rem;color:#3a4a62;margin:.2rem 0 1rem}
.calhub .cal-legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;margin-right:.3rem;vertical-align:-1px}
.calhub .lg-pub{background:#fbd0d8;border:1.5px solid #e5484d}.calhub .lg-opt{background:#d8e5fb;border:1.5px solid #2f6fdf}.calhub .lg-fest{background:#fde4cf;border:1.5px solid #f08a34}.calhub .lg-reg{background:#e7defa;border:1.5px solid #7c5cd6}
.calhub .cal-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:0 0 1.6rem}
.calhub .cal-month{border:1px solid #e1e7f2;border-radius:14px;padding:.7rem .7rem .5rem;background:#fff;break-inside:avoid}
.calhub .cal-month h3{margin:.1rem 0 .4rem;font-size:1rem;color:#4a32c4}
.calhub .cal-month h3 a{color:inherit;text-decoration:none}
.calhub table.cal{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.86rem;text-align:center}
.calhub table.cal th{font-size:.7rem;color:#6b7a90;font-weight:700;padding:.15rem 0}
.calhub table.cal th:first-child,.calhub table.cal td.su{color:#d61f45}
.calhub table.cal td{padding:.18rem 0;height:1.9rem;position:relative}
.calhub table.cal td span{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-radius:50%}
.calhub table.cal td.h-pub span{background:#fbd0d8;box-shadow:inset 0 0 0 1.5px #e5484d;color:#a8102e;font-weight:700}
.calhub table.cal td.h-opt span{background:#d8e5fb;box-shadow:inset 0 0 0 1.5px #2f6fdf;font-weight:700}
.calhub table.cal td.h-fest span{background:#fde4cf;box-shadow:inset 0 0 0 1.5px #f08a34;font-weight:700}
.calhub table.cal td.h-reg span{background:#e7defa;box-shadow:inset 0 0 0 1.5px #7c5cd6;font-weight:700}
.calhub table.cal td.today span{outline:2px solid #2563eb;outline-offset:1px}
.calhub .mlist{list-style:none;padding:0;margin:.5rem 0 0;font-size:.82rem;line-height:1.45}
.calhub .mlist li{display:flex;gap:.4rem;padding:.12rem 0;border-top:1px solid #f0f3f9}
.calhub .mlist time{flex:0 0 3.2rem;font-weight:700;color:#14213d}
.calhub .mlist .tag{margin-left:auto;flex:0 0 auto;font-size:.7rem;color:#5b6b82;background:#f2f5fb;border-radius:6px;padding:0 .35rem;align-self:center}
.calhub .mlist li.pub time{color:#c81e43}
.calhub .month-sec{margin:1.8rem 0}
.calhub .month-sec .cal-month{max-width:520px}
.calhub .month-wrap{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:1.2rem;align-items:start}
.calhub table.htable{width:100%;border-collapse:collapse;font-size:.9rem;margin:.6rem 0 1.4rem}
.calhub table.htable th,.calhub table.htable td{border-bottom:1px solid #e6ebf3;padding:.45rem .5rem;text-align:left;vertical-align:top}
.calhub table.htable th{background:#f5f7fc;font-size:.8rem;color:#3a4a62}
.calhub table.htable td.d{white-space:nowrap;font-weight:600}
.calhub table.htable tr.g td.d{color:#c81e43}.calhub table.htable tr.r td.d{color:#1f56c4}
.calhub .note{background:#fff8e6;border:1px solid #f4dfa6;border-radius:12px;padding:.7rem .9rem;font-size:.9rem}
.calhub .cta{background:linear-gradient(135deg,#f3efff,#eaf3ff);border:1px solid #ddd3fb;border-radius:16px;padding:1rem 1.1rem;margin:1.4rem 0}
.calhub .cta a.btn{display:inline-block;margin-top:.4rem;padding:.6rem 1rem;border-radius:10px;background:#5b3fd6;color:#fff;font-weight:700;text-decoration:none}
.calhub .toc{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0 1.2rem}
.calhub .toc a{font-size:.82rem;padding:.25rem .55rem;border-radius:999px;background:#f2f5fb;color:#24324a;text-decoration:none;border:1px solid #e3e9f4}
@media (max-width:640px){.calhub .cal-quick{grid-template-columns:repeat(2,1fr)}.calhub .month-wrap{grid-template-columns:1fr}.calhub table.htable{font-size:.84rem}.calhub .cal-year{grid-template-columns:1fr}}
@media print{
  #site-header,#site-footer,#cookie,.crumb,.author-card,.cal-tools,.cal-dl,.cta,.faq,.article-cards,.toc,.calhub .noprint{display:none!important}
  .calhub .cal-year{grid-template-columns:repeat(4,1fr);gap:.4rem}
  .calhub .cal-month{padding:.3rem;border-color:#ccc}
  .calhub table.cal td{height:1.2rem;padding:0}.calhub table.cal td span{width:1.2rem;height:1.2rem;font-size:.7rem}
  .calhub .mlist{display:none}
  body{background:#fff}
}
.calhub caption.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body[data-lyf-ui="89"] main .calhub .cal-month .lyf-table-scroll{margin:0;overflow:visible;border-radius:0;max-width:none}
body[data-lyf-ui="89"] main .calhub .lyf-table-scroll table.cal{min-width:0;width:100%;font-size:.86rem;line-height:1.2}
body[data-lyf-ui="89"] main .calhub .lyf-table-scroll table.cal :is(td,th){border:0;padding:.18rem 0;text-align:center;vertical-align:middle;background:none}
body[data-lyf-ui="89"] main .calhub .lyf-table-scroll table.htable{min-width:520px}
body[data-lyf-ui="89"] main .calhub .lyf-table-scroll table.htable :is(td,th){padding:.5rem .6rem}
body[data-lyf-ui="89"] main .calhub nav.toc{border:0;padding:0;background:none;box-shadow:none;max-width:none}
