/* MerchForge Events & Holidays Calendar (3.1.9) */
.mfcal-shell{max-width:1180px;margin:0 auto;padding:24px 16px 48px;color:var(--text);}
.mfcal-intro h1{margin:0 0 8px;font-size:clamp(26px,4vw,38px);}
.mfcal-intro p{margin:0 0 20px;color:var(--dim);max-width:70ch;line-height:1.55;}
.mfcal-tools{display:grid;gap:12px;margin-bottom:16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;}
.mfcal-row1,.mfcal-row2{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;}
.mfcal-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.mfcal-title{min-width:140px;text-align:center;font-size:17px;}
.mfcal button,.mfcal-dlg button{font:inherit;cursor:pointer;}
.mfcal-view,.mfcal-nb,.mfcal-today,.mfcal-catbtn,.mfcal-btn{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:40px;}
.mfcal-view.on,.mfcal-catbtn.on{background:var(--accent);color:#1a0f0a;border-color:var(--accent-dim);font-weight:700;}
.mfcal-catbtn:not(.on){opacity:.65;}
.mfcal-views{display:flex;gap:6px;}
.mfcal-sel,.mfcal-search{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-height:40px;font:inherit;}
.mfcal-search{flex:1;min-width:200px;}
.mfcal-cats{display:flex;flex-wrap:wrap;gap:6px;}
.mfcal-count{margin:0;color:var(--dim);font-size:13px;}
.mfcal :focus-visible,.mfcal-dlg :focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.mfcal-wd,.mfcal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}
.mfcal-wd div{text-align:center;color:var(--dim);font-size:12px;padding:4px 0;}
.mfcal-cell{min-height:104px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0;}
.mfcal-cell.is-we{background:var(--panel2);}
.mfcal-cell.is-today{outline:2px solid var(--accent);}
.mfcal-empty{background:transparent;border-color:transparent;}
.mfcal-dn{font-size:12px;color:var(--dim);font-weight:700;}
.mfcal-chip{display:block;width:100%;text-align:left;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-left-width:4px;border-radius:6px;padding:2px 5px;font-size:11.5px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mfcal-chip:hover{background:var(--line);}
.mfcal-more{background:none;border:0;color:var(--accent-dim);font-size:11.5px;text-align:left;padding:2px;}
.mfcal-c-holiday{border-left-color:#d64545;} .mfcal-c-school{border-left-color:#3b82c4;} .mfcal-c-cultural{border-left-color:#9b59b6;} .mfcal-c-commercial{border-left-color:#f28c38;} .mfcal-c-seasonal{border-left-color:#2e9e6a;} .mfcal-c-popular{border-left-color:#d4a017;} .mfcal-c-awareness{border-left-color:#14a3a3;}
.mfcal-catbtn{border-left-width:4px;}
.mfcal-periods,.mfcal-ylist{margin-top:20px;}
.mfcal-periods h3,.mfcal-ylist h3{font-size:16px;margin:0 0 8px;}
.mfcal-prow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px;} .mfcal-prow .mfcal-chip{width:auto;max-width:100%;} .mfcal-pdate,.mfcal-rmeta,.mfcal-in{color:var(--dim);font-size:12.5px;}
.mfcal-year{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.mfcal-mini{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px;}
.mfcal-mini-h{background:none;border:0;color:var(--text);font-weight:700;font-size:15px;padding:0 0 6px;display:flex;gap:8px;align-items:center;}
.mfcal-badge{background:var(--accent);color:#1a0f0a;border-radius:10px;font-size:11px;padding:1px 7px;}
.mfcal-mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.mfcal-md{font-size:11px;text-align:center;padding:3px 0;border-radius:4px;color:var(--dim);}
.mfcal-md.has1{background:rgba(242,140,56,.25);color:var(--text);} .mfcal-md.has2{background:rgba(242,140,56,.5);color:var(--text);} .mfcal-md.has3{background:var(--accent);color:#1a0f0a;font-weight:700;}
.mfcal-ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.mfcal-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);}
.mfcal-rdate{min-width:150px;font-size:13px;font-weight:700;} .mfcal-row .mfcal-chip{width:auto;max-width:100%;white-space:normal;}
.mfcal-mh{font-weight:800;margin-top:10px;color:var(--accent-dim);} .mfcal-none{color:var(--dim);}
.mfcal-legal{margin-top:20px;font-size:12.5px;color:var(--dim);max-width:90ch;line-height:1.5;}
.mfcal-dlg{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:22px;max-width:min(640px,94vw);max-height:88vh;overflow:auto;}
.mfcal-dlg::backdrop{background:rgba(0,0,0,.55);}
.mfcal-dlg h2{margin:0 0 10px;font-size:22px;}
.mfcal-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.mfcal-tag{background:var(--panel2);border:1px solid var(--line);border-left-width:4px;border-radius:6px;padding:3px 8px;font-size:12px;}
.mfcal-dl{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;margin:0 0 14px;} .mfcal-dl dt{color:var(--dim);font-size:13px;} .mfcal-dl dd{margin:0;line-height:1.5;}
.mfcal-kw{display:flex;flex-wrap:wrap;gap:5px;} .mfcal-kwchip{background:var(--panel2);border-radius:12px;padding:2px 9px;font-size:12px;}
.mfcal-niches{margin:0;padding-left:18px;} .mfcal-actions{display:flex;gap:8px;flex-wrap:wrap;}
@media (max-width:700px){.mfcal-cell{min-height:70px}.mfcal-chip{font-size:0;padding:0;height:8px;border-radius:4px}.mfcal-chip .mfcal-sym{display:none}.mfcal-dl{grid-template-columns:1fr}.mfcal-row .mfcal-chip,.mfcal-prow .mfcal-chip{font-size:12.5px;height:auto;padding:2px 6px}}
