/* ICC Holidays. Colours are variables so they can be matched to the ICC Drupal theme. */
:root{
  --hol-ink:#1c2430; --hol-muted:#5b6675; --hol-line:#e3e7ee; --hol-bg:#f6f8fb; --hol-card:#fff;
  --hol-brand:#0b5cad; --hol-brand-ink:#fff; --hol-accent:#e8590c;
  --hol-closed:#0f7a3d; --hol-closed-bg:#e6f5ec; --hol-restr:#8a5a00; --hol-restr-bg:#fff4dc;
  --hol-opt:#5a3fb0; --hol-opt-bg:#efeafe; --hol-open:#5b6675; --hol-open-bg:#eef1f5;
  --hol-vac:#0b6e8a; --hol-vac-bg:#e4f4f8; --hol-moon:#3b4a8a; --hol-moon-bg:#e9ecfa;
  --hol-radius:10px; --hol-font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari",sans-serif;
}
*{box-sizing:border-box}
body.hol{margin:0;font-family:var(--hol-font);color:var(--hol-ink);background:var(--hol-bg);line-height:1.6;font-size:17px}
.hol a{color:var(--hol-brand)}
.hol-wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.hol-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hol-muted{color:var(--hol-muted);font-size:.92em}

/* header / footer placeholders */
.hol-site-header{background:var(--hol-brand);color:var(--hol-brand-ink)}
.hol-site-header__in{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.hol-logo{color:#fff!important;font-weight:700;text-decoration:none;font-size:1.15rem}
.hol-nav{display:flex;flex-wrap:wrap;gap:6px 16px}.hol-nav a{color:#fff;text-decoration:none;font-size:.95rem}
.hol-site-footer{margin-top:48px;padding:24px 0;background:#1c2430;color:#cfd6e0;font-size:.9rem}

/* breadcrumbs */
.hol-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:14px 16px 0;margin:0;font-size:.88rem}
.hol-crumbs li+li::before{content:"›";margin:0 6px;color:var(--hol-muted)}

/* hero */
.hol-hero{padding:18px 0 8px}
.hol-hero h1{font-size:clamp(1.6rem,3.6vw,2.3rem);line-height:1.2;margin:.2em 0 .4em}
.hol-h1-local{display:block;font-size:.6em;color:var(--hol-muted);font-weight:500}
.hol-lede{font-size:1.08rem;max-width:62ch}
.hol-kicker{text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--hol-accent);font-weight:700;margin:0}
.hol-bigdate{font-size:1.5rem;font-weight:700;color:var(--hol-brand);margin:.2em 0}
.hol-note{background:var(--hol-moon-bg);border-left:4px solid var(--hol-moon);padding:8px 12px;border-radius:6px;max-width:62ch}
.hol-hero--fest{display:grid;gap:20px}
@media(min-width:860px){.hol-hero--fest{grid-template-columns:1.4fr 1fr;align-items:center}}
.hol-hero__img img{width:100%;height:auto;border-radius:var(--hol-radius)}
.hol-hero__img figcaption{font-size:.85rem;color:var(--hol-muted)}

/* layout */
.hol-grid{display:grid;gap:24px;margin-top:12px}
@media(min-width:960px){.hol-grid{grid-template-columns:minmax(0,1fr) 340px}}
.hol-sec{background:var(--hol-card);border:1px solid var(--hol-line);border-radius:var(--hol-radius);padding:18px 20px;margin-bottom:20px}
.hol-sec h2{margin:0 0 .6em;font-size:1.3rem}
.hol-card{background:var(--hol-card);border:1px solid var(--hol-line);border-top:4px solid var(--hol-brand);border-radius:var(--hol-radius);padding:14px 16px;margin-bottom:20px}
.hol-card__title{font-size:1.05rem;margin:0 0 .6em}

/* facts strip */
.hol-facts{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:0;margin:12px 0}
.hol-facts li{background:linear-gradient(135deg,#0b5cad,#1677d2);color:#fff;border-radius:var(--hol-radius);padding:12px 14px}
.hol-facts li:nth-child(2){background:linear-gradient(135deg,#0f7a3d,#1f9d57)}
.hol-facts li:nth-child(3){background:linear-gradient(135deg,#e8590c,#f08c3a)}
.hol-facts li:nth-child(4){background:linear-gradient(135deg,#5a3fb0,#7b61d1)}
.hol-facts strong{display:block;font-size:1.6rem;line-height:1.1}.hol-facts span{font-size:.88rem;opacity:.95}

/* tables */
.hol-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hol-table{width:100%;border-collapse:collapse;font-size:.96rem}
.hol-table th{background:#eef3fa;text-align:left;padding:9px 10px;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:#334}
.hol-table td{padding:9px 10px;border-bottom:1px solid var(--hol-line);vertical-align:top}
.hol-table tr.is-past td{color:#8a94a3}.hol-table tr.is-past a{color:#6f8fb4}
.hol-table tr.is-today td{background:#fff8e1}
.hol-date{white-space:nowrap;font-weight:600}
.hol-listed{display:block;font-size:.85rem;color:var(--hol-muted)}
.hol-add a{white-space:nowrap;font-size:.85rem;text-decoration:none}

/* badges */
.hol-badge{display:inline-block;font-size:.76rem;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--hol-open-bg);color:var(--hol-open);white-space:nowrap}
.hol-badge--holiday,.hol-badge--ni_act,.hol-badge--ni_act_rtgs,.hol-badge--trading{background:var(--hol-closed-bg);color:var(--hol-closed)}
.hol-badge--restricted{background:var(--hol-restr-bg);color:var(--hol-restr)}
.hol-badge--optional{background:var(--hol-opt-bg);color:var(--hol-opt)}
.hol-badge--vacation{background:var(--hol-vac-bg);color:var(--hol-vac)}
.hol-badge--moon{background:var(--hol-moon-bg);color:var(--hol-moon);margin-left:6px}
.hol-badge--closing_of_accounts,.hol-badge--settlement,.hol-badge--half_day{background:#fdecef;color:#a1213d}
.hol-st{font-weight:700;padding:3px 10px;border-radius:999px;font-size:.85rem;white-space:nowrap}
.hol-st--closed{background:var(--hol-closed-bg);color:var(--hol-closed)}.hol-st--restricted{background:var(--hol-restr-bg);color:var(--hol-restr)}
.hol-st--optional{background:var(--hol-opt-bg);color:var(--hol-opt)}.hol-st--open{background:var(--hol-open-bg);color:var(--hol-open)}
.hol-tags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px}
.hol-tag{font-size:.72rem;background:#eef3fa;color:#24496f;border-radius:4px;padding:1px 6px;text-decoration:none}
.hol-tag--restricted{background:var(--hol-restr-bg);color:var(--hol-restr)}.hol-tag--vacation{background:var(--hol-vac-bg);color:var(--hol-vac)}

/* lists, tiles, chips */
.hol-list{padding-left:1.1em;margin:.4em 0}.hol-list li{margin:.25em 0}
.hol-list--cols{columns:2 260px}
.hol-list .is-chosen{font-weight:600}
.hol-orgs{columns:3 200px;padding-left:1.1em}
.hol-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0 20px}
.hol-tile{display:block;background:var(--hol-card);border:1px solid var(--hol-line);border-left:5px solid var(--hol-accent);border-radius:var(--hol-radius);padding:14px;text-decoration:none;color:var(--hol-ink)!important}
.hol-tile:nth-child(2n){border-left-color:var(--hol-brand)}.hol-tile:nth-child(3n){border-left-color:var(--hol-closed)}
.hol-tile strong{display:block;font-size:1.05rem}.hol-tile span{font-size:.9rem;color:var(--hol-muted)}
.hol-tile:hover{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.hol-chips{display:flex;flex-wrap:wrap;gap:8px}
.hol-chip{background:#fff;border:1px solid var(--hol-line);border-radius:999px;padding:5px 12px;text-decoration:none;font-size:.92rem}
.hol-months{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px}
.hol-months a{background:#fff;border:1px solid var(--hol-line);border-radius:8px;padding:5px 10px;text-decoration:none;font-weight:600;font-size:.9rem}
.hol-months a[aria-current]{background:var(--hol-brand);color:#fff;border-color:var(--hol-brand)}

/* upcoming */
.hol-up{list-style:none;margin:0;padding:0}
.hol-up li{display:flex;gap:12px;align-items:flex-start;padding:7px 0;border-bottom:1px dashed var(--hol-line)}
.hol-up li:last-child{border-bottom:0}
.hol-up__date{flex:0 0 56px;text-align:center;background:#eef3fa;border-radius:8px;font-weight:700;font-size:.85rem;line-height:1.2;padding:4px 2px;color:#24496f}
.hol-up__date small{display:block;font-weight:500;color:var(--hol-muted)}

/* official doc box */
.hol-doc{background:#fffdf6;border:1px solid #f0e2b6;border-radius:var(--hol-radius);padding:14px 16px;margin-bottom:20px}
.hol-doc__title{margin:0 0 .5em;font-size:1rem}
.hol-doc__meta{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 10px;font-size:.9rem}
.hol-doc__meta dt{color:var(--hol-muted)}.hol-doc__meta dd{margin:0}
.hol-doc__links{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.hol-doc__amend{margin:.8em 0 .2em;font-size:.9rem}.hol-doc__amendlist{font-size:.88rem;padding-left:1.1em;margin:0}
.hol-btn{display:block;text-align:center;background:var(--hol-brand);color:#fff!important;border-radius:8px;padding:8px 10px;text-decoration:none;font-weight:600;font-size:.92rem}
.hol-btn--ghost{background:#fff;color:var(--hol-brand)!important;border:1px solid var(--hol-brand)}

/* month calendar */
.hol-cal{border-collapse:separate;border-spacing:4px;width:100%;max-width:520px}
.hol-cal th{font-size:.8rem;color:var(--hol-muted)}
.hol-cal td{text-align:center;padding:8px 0;border-radius:8px;background:#f2f5f9;font-weight:600}
.hol-cal td.is-off,.hol-key.is-off{background:#e4e9f1;color:#6b7686}
.hol-cal td.is-hol,.hol-key.is-hol{background:var(--hol-accent);color:#fff}
.hol-cal td.is-rh,.hol-key.is-rh{background:var(--hol-restr-bg);color:var(--hol-restr);box-shadow:inset 0 0 0 2px #f0c463}
.hol-cal td.is-today{outline:2px solid var(--hol-brand)}
.hol-key{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:middle;margin:0 4px 0 10px}
.hol-prevnext{display:flex;justify-content:space-between;gap:10px}

/* festival */
.hol-steps{padding-left:1.3em}.hol-steps li{margin:.35em 0}.hol-steps .is-current{font-weight:700}
.hol-faq details{border-bottom:1px solid var(--hol-line);padding:10px 0}
.hol-faq summary{cursor:pointer;font-weight:600}

/* print */
.hol-printpage{max-width:1000px;margin:0 auto;padding:16px}
.hol-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.hol-mini{border-collapse:collapse;width:100%;font-size:.8rem}
.hol-mini caption{font-weight:700;text-align:left}
.hol-mini td,.hol-mini th{text-align:center;padding:2px}
.hol-mini td.is-hol{background:var(--hol-accent);color:#fff;border-radius:4px}
.hol-mini td.is-off{color:#a00}
.hol-printlist{columns:2;font-size:.85rem}
@media print{.hol-noprint{display:none}body.hol{background:#fff;font-size:12px}.hol-year{grid-template-columns:repeat(4,1fr)}}

.hol-callout{background:#eefaf3;border:1px solid #bfe6cf;border-left:5px solid var(--hol-closed);border-radius:var(--hol-radius);padding:12px 16px;margin:12px 0 18px}
.hol-callout h2{font-size:1.05rem;margin:0 0 .3em}
.hol-callout p{margin:.3em 0}
.hol-prose p{max-width:72ch}
.hol-events li{margin:.5em 0}

/* moon calendar box (Hindu tithi / Hijri date) */
.hol-moon{display:flex;gap:.75rem;align-items:flex-start;margin:.75rem 0;padding:.75rem 1rem;border:1px solid #d9cdf5;border-radius:10px;background:#f7f3ff}
.hol-moon p{margin:.15rem 0}
.hol-moon__title{font-weight:700;color:#4a1d4f}
.hol-moon__icon{flex:0 0 auto;margin-top:.1rem}
/* inline illustrations */
.hol-fig{margin:1rem 0}
.hol-fig img{width:100%;height:auto;border-radius:10px;display:block}
.hol-fig figcaption{font-size:.85rem;color:#6b6b6b;margin-top:.35rem}

/* festival page theme: fireworks background (set per festival, e.g. Diwali) */
body.hol-theme-fireworks{background:#0f0b2e url(img/bg-fireworks-static.webp?v=4) center top/900px auto repeat}
.hol-theme-fireworks .hol-hero{background:var(--hol-card);border-radius:var(--hol-radius);padding:18px 20px;margin:12px 0 20px;box-shadow:0 6px 30px rgba(0,0,0,.35)}
.hol-theme-fireworks .hol-crumbs,.hol-theme-fireworks .hol-crumbs a,.hol-theme-fireworks .hol-crumbs li{color:#efe7ff}
.hol-theme-fireworks .hol-col-side>p,.hol-theme-fireworks .hol-col-side>p a{color:#efe7ff}
.hol-theme-fireworks .hol-sec,.hol-theme-fireworks .hol-card{box-shadow:0 6px 24px rgba(0,0,0,.3)}

/* calendar block on every page: this month and next (class hol-mcal, separate from .hol-cal used on month pages) */
.hol-mcal h2{font-size:1.25rem;margin:0 0 .3em}
.hol-mcal__months{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:12px 0}
.hol-mcal__grid{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}
.hol-mcal__grid caption{font-weight:700;text-align:left;padding:0 0 6px;color:var(--hol-brand)}
.hol-mcal__grid th{font-size:.72rem;color:var(--hol-muted);font-weight:600}
.hol-mcal__day{position:relative;text-align:center;padding:6px 0 10px;border-radius:8px;background:#f3f5f9;font-size:.9rem}
.hol-mcal__day.is-weekend{background:#eceff5}
.hol-mcal__day.is-past{opacity:.45}
.hol-mcal__day.is-holiday{background:var(--hol-closed-bg);color:var(--hol-closed);font-weight:700}
.hol-mcal__day.is-festival{background:#fff1e0;color:#b45309;font-weight:700}
.hol-mcal__day.is-today{outline:2px solid var(--hol-brand);outline-offset:-2px}
.hol-mcal__day i{position:absolute;left:50%;bottom:3px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:currentColor}
.hol-mcal__legend{font-size:.82rem;color:var(--hol-muted);display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center}
.hol-mcal__legend .k{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.hol-mcal .k--holiday{background:var(--hol-closed-bg);border:1px solid var(--hol-closed)}.hol-mcal .k--festival{background:#fff1e0;border:1px solid #b45309}.hol-mcal .k--today{border:2px solid var(--hol-brand)}
.hol-mcal__list{list-style:none;padding:0;margin:10px 0 0;columns:2 320px;column-gap:28px}
.hol-mcal__list li{break-inside:avoid;padding:6px 0;border-bottom:1px dashed var(--hol-line);display:flex;gap:10px}
.hol-mcal__date{flex:0 0 92px;font-weight:600;font-size:.9rem}
.hol-tag--fest{background:#fff1e0;color:#b45309}

/* festival icons (60x60 artwork; shown small next to links, full size beside the festival H1) */
.hol-ficon{width:1.35em;height:1.35em;vertical-align:-.3em;margin-right:.3em;display:inline-block}
.hol-ficon--h1{width:60px;height:60px;vertical-align:middle;margin-right:.35em}
.hol-crumbs .hol-ficon{width:1.1em;height:1.1em}

/* calendar hover / tap tooltip explaining the festival on that date (pure CSS) */
.hol-mcal__day[tabindex]{cursor:help}
.hol-mcal__tip{display:none;position:absolute;z-index:20;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:260px;text-align:left;
  background:#1c2430;color:#fff;border-radius:10px;padding:10px 12px;box-shadow:0 8px 24px rgba(0,0,0,.3);font-weight:400;font-size:.82rem;line-height:1.45}
.hol-mcal__tip::after{content:"";position:absolute;top:100%;left:50%;margin-left:-7px;border:7px solid transparent;border-top-color:#1c2430}
.hol-mcal__day:hover .hol-mcal__tip,.hol-mcal__day:focus .hol-mcal__tip,.hol-mcal__day:focus-within .hol-mcal__tip{display:block}
.hol-mcal__day:hover,.hol-mcal__day:focus{z-index:21}
.hol-mcal__grid td:nth-child(-n+2) .hol-mcal__tip{left:0;transform:none}.hol-mcal__grid td:nth-child(-n+2) .hol-mcal__tip::after{left:22px}
.hol-mcal__grid td:nth-child(n+6) .hol-mcal__tip{left:auto;right:0;transform:none}.hol-mcal__grid td:nth-child(n+6) .hol-mcal__tip::after{left:auto;right:15px}
.hol-mcal__tip p{margin:0 0 4px}
.hol-mcal__tipdate{color:#9fb3c8;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
.hol-mcal__tipname{font-weight:700;font-size:.9rem;color:#ffd166}
.hol-mcal__tiptags{color:#b9f6ca;font-size:.75rem}
.hol-mcal__tip p+.hol-mcal__tipname{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.15)}

/* festival page theme: Ravan Dahan night (Dussehra) */
body.hol-theme-ravan-dahan{background:#1a0b14 url(img/bg-ravan-dahan.webp?v=1) center top/900px auto repeat}
.hol-theme-ravan-dahan .hol-hero{background:var(--hol-card);border-radius:var(--hol-radius);padding:18px 20px;margin:12px 0 20px;box-shadow:0 6px 30px rgba(0,0,0,.4)}
.hol-theme-ravan-dahan .hol-crumbs,.hol-theme-ravan-dahan .hol-crumbs a,.hol-theme-ravan-dahan .hol-crumbs li,.hol-theme-ravan-dahan .hol-col-side>p,.hol-theme-ravan-dahan .hol-col-side>p a{color:#ffe9d6}
.hol-theme-ravan-dahan .hol-sec,.hol-theme-ravan-dahan .hol-card{box-shadow:0 6px 24px rgba(0,0,0,.35)}

/* shared rules for every festival page theme (body class hol-themed hol-theme-<name>); add one background line per new theme */
body.hol-themed{background-position:center top;background-size:900px auto;background-repeat:repeat}
.hol-themed .hol-hero{background:var(--hol-card);border-radius:var(--hol-radius);padding:18px 20px;margin:12px 0 20px;box-shadow:0 6px 30px rgba(0,0,0,.4)}
.hol-themed .hol-crumbs,.hol-themed .hol-crumbs a,.hol-themed .hol-crumbs li,.hol-themed .hol-col-side>p,.hol-themed .hol-col-side>p a{color:#fff1e6}
.hol-themed .hol-sec,.hol-themed .hol-card{box-shadow:0 6px 24px rgba(0,0,0,.35)}
body.hol-theme-garba-night{background-color:#1d0b2e;background-image:url(img/bg-garba-night.webp?v=1)}
body.hol-theme-pandal-lights{background-color:#2a0a12;background-image:url(img/bg-pandal-lights.webp?v=1)}
body.hol-theme-chhath-ghat{background-color:#1f1640;background-image:url(img/bg-chhath-ghat.webp?v=1)}
body.hol-theme-holi-colours{background-color:#2b1440;background-image:url(img/bg-holi-colours.webp?v=1)}
body.hol-theme-sankranti-kites{background-color:#1e5a8a;background-image:url(img/bg-sankranti-kites.webp?v=1)}
body.hol-theme-rakhi-threads{background-color:#5c1530;background-image:url(img/bg-rakhi-threads.webp?v=1)}
body.hol-theme-pongal-kolam{background-color:#7a2e12;background-image:url(img/bg-pongal-kolam.webp?v=1)}
body.hol-theme-shivratri-night{background-color:#101a3a;background-image:url(img/bg-shivratri-night.webp?v=1)}
body.hol-theme-ugadi-toran{background-color:#1f5130;background-image:url(img/bg-ugadi-toran.webp?v=1)}
body.hol-theme-gudi-padwa{background-color:#6a1b4d;background-image:url(img/bg-gudi-padwa.webp?v=1)}
body.hol-theme-ram-navami{background-color:#8a3b00;background-image:url(img/bg-ram-navami.webp?v=1)}
body.hol-theme-onam-pookalam{background-color:#0b4f3c;background-image:url(img/bg-onam-pookalam.webp?v=1)}
body.hol-theme-janmashtami-midnight{background-color:#0b1d4a;background-image:url(img/bg-janmashtami-midnight.webp?v=1)}
body.hol-theme-ganesh-modak{background-color:#7a0f2a;background-image:url(img/bg-ganesh-modak.webp?v=1)}
body.hol-theme-akshaya-gold{background-color:#6b4a08;background-image:url(img/bg-akshaya-gold.webp?v=1)}
body.hol-theme-guru-purnima{background-color:#0d1b3e;background-image:url(img/bg-guru-purnima.webp?v=1)}
body.hol-theme-karva-chauth{background-color:#2a1450;background-image:url(img/bg-karva-chauth.webp?v=1)}
body.hol-theme-bhai-dooj{background-color:#7a1f3d;background-image:url(img/bg-bhai-dooj.webp?v=1)}
body.hol-theme-dev-deepawali{background-color:#141a3e;background-image:url(img/bg-dev-deepawali.webp?v=1)}
body.hol-theme-hanuman-jayanti{background-color:#8a2c0a;background-image:url(img/bg-hanuman-jayanti.webp?v=1)}
body.hol-theme-pohela-boishakh{background-color:#8a1020;background-image:url(img/bg-pohela-boishakh.webp?v=1)}
body.hol-theme-govardhan{background-color:#1d2a40;background-image:url(img/bg-govardhan.webp?v=1)}
body.hol-theme-agroha{background-color:#3a1a2c;background-image:url(img/bg-agroha.webp?v=1)}
body.hol-theme-independence-day{background-color:#231a32;background-image:url(img/bg-independence-day.webp?v=1)}
body.hol-theme-republic-day{background-color:#131b38;background-image:url(img/bg-republic-day.webp?v=1)}
body.hol-theme-gandhi{background-color:#2b2119;background-image:url(img/bg-gandhi.webp?v=1)}
body.hol-theme-gurpurab{background-color:#161a3d;background-image:url(img/bg-gurpurab.webp?v=1)}
body.hol-theme-khalsa{background-color:#1a2148;background-image:url(img/bg-khalsa.webp?v=1)}
body.hol-theme-vaisakhi{background-color:#35260f;background-image:url(img/bg-vaisakhi.webp?v=1)}
body.hol-theme-shaheedi-diwas{background-color:#25272f;background-image:url(img/bg-shaheedi-diwas.webp?v=1)}
body.hol-theme-christmas{background-color:#141a3e;background-image:url(img/bg-christmas.webp?v=1)}
body.hol-theme-good-friday{background-color:#2a2433;background-image:url(img/bg-good-friday.webp?v=1)}
body.hol-theme-easter{background-color:#1f3a2e;background-image:url(img/bg-easter.webp?v=1)}
body.hol-theme-buddha-purnima{background-color:#141c48;background-image:url(img/bg-buddha-purnima.webp?v=1)}
body.hol-theme-mahavir{background-color:#3d0f26;background-image:url(img/bg-mahavir.webp?v=1)}
body.hol-theme-navroz{background-color:#0d3a46;background-image:url(img/bg-navroz.webp?v=1)}
/* state hub: combined table, bank Saturdays, festival cards */
.hol-table--state td:nth-child(4){min-width:150px}
.hol-table tr.is-weekend td{background:var(--hol-open-bg,#f4f6f8)}
.hol-fest-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.hol-fest-cards li{border:1px solid var(--hol-line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.hol-fest-cards__name{font-weight:700}
.hol-fest-cards__date{font-size:.85rem;color:var(--hol-muted,#5b6472)}
.hol-fest-cards__sum{font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Islamic festivals: plain green background, no picture (owner, 11 Oct 2026) */
body.hol-theme-islamic{background-color:#0b5d3b;background-image:linear-gradient(180deg,#0e6b45 0%,#0a4f33 100%);background-attachment:fixed;background-size:100% 100%;background-repeat:no-repeat}
/* state picker on all-India pages (owner, 11 Oct 2026) */
.hol-statepick__list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.hol-statepick__list a{display:block;padding:3px 0}

/* language switch on pages that have a translation (owner, 11 Oct 2026) */
.hol-langswitch { margin: .25rem 0 .5rem; font-size: .95rem; }
.hol-langswitch a { display: inline-block; padding: .2rem .7rem; border: 1px solid currentColor; border-radius: 999px; text-decoration: none; }
html[lang="hi"] .hol-main { line-height: 1.75; }

/* festival tagline under the H1 (owner, 11 Oct 2026) */
.hol-tagline { margin: -.25rem 0 .75rem; font-size: 1.15rem; font-weight: 600; color: var(--hol-accent, #b45309); }

/* footer of the main site (owner, 11 Oct 2026) */
.hol-site-footer p{margin:0 0 10px}
.hol-site-footer__disclaimer{color:#fff;font-weight:600}
.hol-site-footer__links a{color:#cfd6e0;text-decoration:underline}
.hol-site-footer__links a:hover{color:#fff}

/* last updated + share links (owner, 11 Oct 2026) */
.hol-pagefoot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;margin-top:8px}
.hol-updated{margin:0;color:var(--hol-muted,#5b6472);font-size:.9rem}
.hol-share{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem}
.hol-share a{display:inline-block;padding:4px 12px;border-radius:999px;color:#fff;text-decoration:none;font-weight:600}
.hol-share__wa{background:#1f8f4e}.hol-share__fb{background:#1b5fc1}.hol-share__x{background:#111}.hol-share__tg{background:#1d8ad6}

/* mobile (owner check, 11 Oct 2026): grid columns must be allowed to shrink below their content (wide tables scroll inside .hol-tablewrap) */
@media(max-width:959px){.hol-grid{grid-template-columns:minmax(0,1fr)}}
.hol-grid>*,.hol-hero>*,.hol-mcal__months>*{min-width:0}
.hol-prose,.hol-sec p,.hol-sec li{overflow-wrap:anywhere}
@media(max-width:600px){.hol-table{font-size:.9rem}.hol-table th,.hol-table td{padding:7px 8px}}
.hol-tablewrap{position:relative}
/* readable on phones: nothing smaller than 12px (Google mobile usability) */
.hol small{font-size:max(.8em,12px)}
.hol-table th,.hol-mcal__grid th,.hol-tag{font-size:max(.72rem,12px)}
.hol dd,.hol dt,.hol td,.hol-card{overflow-wrap:anywhere;min-width:0}
