/* ===== تقویم سالانه — لایهٔ CSS اختصاصی صفحات تقویم (FA + EN) =====
   فقط روی /calendar/<y>/ و /en/calendar/<y>/ بارگذاری می‌شود.
   همهٔ رنگ‌ها/شعاع‌ها/سایه‌ها از توکن‌های موجود styles.css گرفته می‌شوند
   (هیچ سیستم رنگ تازه‌ای اختراع نشده). استایل صفحهٔ اصلی دست‌نخورده است. */

/* ===== توکن‌های معنایی تقویم (نگاشت به توکن‌های موجود سایت) ===== */
:root{
  --cal-surface:var(--card);
  --cal-surface-2:var(--ctl-bg);
  --cal-border:var(--line);
  --cal-ink:var(--ink);
  --cal-muted:var(--muted);
  --cal-accent:var(--brand-deep);
  --cal-accent-soft:var(--brand-soft);
  --cal-holiday:var(--danger-text);
  --cal-holiday-bg:#FDF0F2;
  --cal-holiday-bd:#F5C2CC;
  --cal-today:var(--ok);
  --cal-today-bg:#EFFDF3;
  --cal-occ:var(--amber-deep);
  --cal-occ-bg:#FEF3C7;
  --cal-occ-bd:#FDE047;
  --cal-radius:22px;
  --cal-radius-sm:16px;
  --cal-cell-min-h:64px;
}
html[data-theme="dark"]{
  --cal-holiday-bg:#2A1420;
  --cal-holiday-bd:#5B2233;
  --cal-today-bg:#0C2B1E;
  --cal-occ-bg:#3A2E10;
  --cal-occ-bd:#57500F;
}

/* ===== صفحه (ستون اصلی) =====
   main.cal-page یک ستون است؛ صفحهٔ دو ستونی داخل .cal-layout ساخته می‌شود
   تا پنل بتواند درون همان باکسِ تقویم بچسبد و روی بخش‌های بعدی نیفتد. */
main.cal-page{
  width:100%;max-width:1280px;margin:0 auto;padding:0 18px 18px;
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:16px;align-items:start;
}
main.cal-page > .cal-top,
main.cal-page > .cal-hero,
main.cal-page > .cal-layout,
main.cal-page > .cal-seo{grid-column:1/-1}
.cal-top{margin-bottom:-4px}
@media(min-width:1400px){main.cal-page{max-width:1360px}}

/* ===== چیدمان تقویم: نقشهٔ سال + پنل جزئیات =====
   .cal-panel-col تمام ارتفاع سطر را می‌گیرد (align-self:stretch)؛ پنل داخل آن
   sticky است، پس با پایان باکس .cal-panel-col آزاد می‌شود و هرگز روی
   کارت‌های سئو/جدول/FAQ نمی‌افتد. */
.cal-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:16px;align-items:stretch;min-width:0}
.cal-panel-col{min-width:0;position:relative}

/* ===== هیرو (پایه: کلاس hero صفحهٔ اصلی — همان گرادیان/شعاع/سایه/پدینگ) ===== */
.cal-hero{isolation:isolate}
.cal-hero::after{content:none}
.cal-hero-glyph{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:230px;height:230px;opacity:.07;pointer-events:none;z-index:0;object-fit:contain;
}
.cal-hero-main{position:relative;z-index:1;min-width:0;flex:1 1 320px}
.cal-hero-label{margin:0;font-size:12px;font-weight:800;letter-spacing:.3px;opacity:.75}
.cal-hero-year{margin:2px 0 0;font-size:56px;font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}
.cal-hero-range{margin:6px 0 0;font-size:15px;font-weight:700;line-height:1.7;opacity:.92}
.cal-hero-greg{margin:2px 0 0;font-size:12.5px;line-height:1.7;opacity:.78}
.cal-hero-today{margin:12px 0 0}
.cal-hero-chip{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 14px;border-radius:999px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:12.5px;font-weight:800;text-decoration:none;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  transition:background .2s ease,transform .15s ease;
}
.cal-hero-chip:hover{background:rgba(255,255,255,.26);transform:translateY(-1px)}
.cal-hero-chip-ico{font-size:14px;line-height:1}
.cal-hero-chip-ico img.emoji{width:1em;height:1em}
.cal-hero-stats{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;margin-inline-start:auto;flex:0 0 auto}
.cal-stat{
  margin:0;display:flex;flex-direction:column;gap:1px;min-width:148px;
  padding:7px 14px;border-radius:14px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
}
.cal-stat b{font-size:16px;font-weight:900;line-height:1.35}
.cal-stat span{font-size:10.5px;font-weight:700;opacity:.82;line-height:1.5}

/* ===== پوستهٔ تقویم (کارت اصلی نقشهٔ سال) ===== */
.cal-shell{
  background:var(--cal-surface);border:1px solid var(--cal-border);
  border-radius:var(--cal-radius);padding:20px;box-shadow:var(--shadow-md);
  min-width:0;overflow:hidden;
}
.cal-shell-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cal-shell-head h2{font-size:19px;font-weight:900;margin:0}
.cal-shell-sub{margin:3px 0 0;font-size:12px;color:var(--cal-muted);line-height:1.7}
.cal-today-btn{width:auto;min-width:150px;flex:0 0 auto;padding:9px 16px}

/* ===== نقشهٔ سال: ۱۲ تقویم کوچک =====
   تعداد ستون طوری تنظیم شده که عرض خانهٔ روز در همهٔ عرض‌ها خوانا بماند (≈۳۳–۵۰px):
   ≤۶۴۰ کاروسل افقی (یک ماه در هر صفحه) · ۶۴۱–۱۲۷۹ دو ماه در هر سطر · ≥۱۲۸۰ سه ماه در هر سطر */
.cal-yearmap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:1280px){.cal-yearmap{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cal-mm{
  background:var(--cal-surface-2);border:1px solid var(--cal-border);
  border-radius:var(--cal-radius-sm);padding:9px 8px 8px;min-width:0;
  display:flex;flex-direction:column;gap:6px;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
@media(hover:hover){.cal-mm:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-md)}}
.cal-mm:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--cal-accent-soft)}
.cal-mm.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--cal-accent-soft)}
.cal-mm.is-current{border-color:var(--cal-occ-bd)}

.cal-mini{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.cal-mini caption{
  caption-side:top;text-align:start;padding:0 2px 6px;
  font-size:13px;font-weight:900;line-height:1.4;
}
.cal-mm-link{color:var(--cal-ink);text-decoration:none;border-radius:6px;transition:color .18s ease}
.cal-mm-link:hover{color:var(--cal-accent)}
.cal-mm-link--plain{color:var(--cal-ink)}
.cal-mini thead th{
  padding:0 0 4px;font-size:9.5px;font-weight:800;color:var(--cal-muted);
  text-align:center;line-height:1.2;
}
.cal-mini thead th:last-child{color:var(--cal-holiday)}
.cal-c{
  padding:1px 0;font-size:11px;font-weight:800;line-height:1.5;
  text-align:center;color:var(--cal-ink);height:20px;vertical-align:middle;
}
.cal-c.is-fri{color:var(--cal-holiday)}
.cal-c.is-hol{color:var(--cal-holiday);background:var(--cal-holiday-bg);border-radius:5px}
.cal-c.is-occ{color:var(--cal-occ)}
.cal-c.is-today{color:var(--cal-today);box-shadow:inset 0 0 0 2px var(--cal-today);border-radius:5px}
.cal-c.is-void{background:none!important;box-shadow:none!important}
.cal-dot{
  display:block;width:4px;height:4px;border-radius:50%;
  margin:1px auto 0;background:var(--cal-occ);
}
.cal-c.is-hol .cal-dot{background:var(--cal-holiday)}
.cal-c.is-mourn .cal-dot{background:var(--cal-muted)}

.cal-mm-hols{display:flex;flex-wrap:wrap;gap:4px;min-height:0}
.cal-mm-hols--empty{display:none}
.cal-hol-pill{
  display:inline-flex;align-items:center;gap:4px;max-width:100%;
  padding:1px 7px;border-radius:999px;
  background:var(--cal-holiday-bg);border:1px solid var(--cal-holiday-bd);
  color:var(--cal-holiday);font-size:9.5px;font-weight:800;line-height:1.7;
}
.cal-hol-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11em}
.cal-mm-details{
  align-self:flex-start;margin-top:auto;padding:4px 10px;font-size:10.5px;font-weight:800;
  border-radius:999px;background:transparent;border:1px solid var(--cal-border);
  color:var(--cal-muted);cursor:pointer;transition:.18s ease;font-family:inherit;
}
.cal-mm-details:hover{border-color:var(--brand);color:var(--cal-accent)}
.cal-mm-details:active{transform:scale(.96)}
.cal-mm-details[hidden]{display:none}
/* حالت «انتخاب‌شده» روی کنترل جزئیات — تا نتیجهٔ کلیک کاملاً واضح باشد */
.cal-mm-details.is-on{
  background:var(--grad-brand);color:#fff;border-color:transparent;
  box-shadow:0 6px 16px rgba(14,124,107,.35);
}
.cal-mm-details.is-on:hover{color:#fff;filter:brightness(1.06)}

/* نشانگر ماه جاری */
.cal-mm-badge{
  display:inline-block;margin-inline-start:6px;padding:1px 7px;border-radius:999px;
  background:var(--cal-occ-bg);border:1px solid var(--cal-occ-bd);
  color:var(--cal-occ);font-size:9px;font-weight:800;line-height:1.7;vertical-align:1px;
}

/* نقطه‌های ناوبری (فقط موبایل) */
.cal-dots{display:none;justify-content:center;gap:6px;margin-top:12px;flex-wrap:wrap}
.cal-dot-nav{width:6px;height:6px;border-radius:50%;background:var(--cal-border)}
.cal-dot-nav.is-on{background:var(--brand)}

/* ===== پنل جزئیات ماه =====
   پنل یک آیتم معمولیِ گرید است (نه fixed/floating). روی دسکتاپ داخل
   .cal-panel-col می‌چسبد: با max-height همیشه داخل نمایگر می‌ماند و
   فهرست‌های بلند (مناسبت/تعطیل) به‌جای بریده‌شدن، داخل خودش اسکرول می‌شوند. */
.cal-panel{
  background:var(--cal-surface);border:1px solid var(--cal-border);
  border-radius:var(--cal-radius);padding:20px;box-shadow:var(--shadow-md);
  min-width:0;position:static;
}
@media(min-width:1024px){
  .cal-panel{
    position:sticky;top:96px;
    max-height:calc(100dvh - 116px);
    overflow-y:auto;overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .cal-panel::-webkit-scrollbar{height:8px;width:8px}
}
.cal-panel.is-updated{animation:calPanelFlash .5s ease}
@keyframes calPanelFlash{
  0%{box-shadow:0 0 0 0 var(--brand),var(--shadow-md)}
  35%{box-shadow:0 0 0 3px var(--brand),var(--shadow-lg)}
  100%{box-shadow:0 0 0 0 transparent,var(--shadow-md)}
}
.cal-panel-eyebrow{margin:0;font-size:11px;font-weight:800;color:var(--cal-muted);letter-spacing:.2px}
.cal-panel-title{margin:2px 0 0;font-size:20px;font-weight:900}
.cal-panel-range{margin:3px 0 0;font-size:12px;color:var(--cal-muted)}
.cal-panel-stats{
  list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;margin:12px 0 4px;padding:0;
}
.cal-panel-stats li{
  background:var(--cal-surface-2);border:1px solid var(--cal-border);
  border-radius:12px;padding:8px 6px;text-align:center;min-width:0;
}
.cal-panel-stats b{display:block;font-size:15px;font-weight:900;color:var(--cal-accent);line-height:1.4}
html[data-theme="dark"] .cal-panel-stats b{color:var(--brand)}
.cal-panel-stats span{display:block;font-size:10px;color:var(--cal-muted);margin-top:1px}
.cal-panel-block{margin-top:14px}
.cal-panel-block h3{
  margin:0 0 6px;font-size:12px;font-weight:900;color:var(--cal-muted);
  padding-inline-start:8px;border-inline-start:3px solid var(--brand);
}
.cal-panel-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
.cal-panel-list li{
  display:flex;align-items:center;gap:8px;background:var(--cal-surface-2);
  border:1px solid var(--cal-border);border-radius:12px;padding:7px 10px;font-size:12px;
}
.cal-panel-list li span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.cal-panel-empty{margin:0;font-size:12px;color:var(--cal-muted)}
.cal-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.cal-panel-primary{
  background:var(--grad-brand);color:#fff;border-color:transparent;
  box-shadow:0 8px 20px rgba(14,124,107,.4);
}
.cal-panel-primary:hover{color:#fff;filter:brightness(1.06);transform:translateY(-1px)}

/* ===== لایهٔ سئو (محتوای موجود) ===== */
.cal-seo{display:grid;gap:16px;min-width:0}
.cal-seo .card{grid-column:auto}

/* ===== شیت جزئیات موبایل (فقط با JS) ===== */
.cal-sheetwrap{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center}
.cal-sheetwrap[hidden]{display:none}
.cal-scrim{position:absolute;inset:0;background:rgba(10,20,17,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.cal-sheet{
  position:relative;z-index:1;width:min(100%,520px);max-height:78dvh;overflow:auto;
  overscroll-behavior:contain;
  background:var(--cal-surface);border:1px solid var(--cal-border);
  border-radius:24px 24px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));
  box-shadow:var(--shadow-lg);
  animation:calSheetIn .28s cubic-bezier(.2,.9,.3,1.15);
}
@keyframes calSheetIn{from{transform:translateY(26px);opacity:.4}to{transform:none;opacity:1}}
.cal-sheet-handle{width:38px;height:4px;border-radius:999px;background:var(--cal-border);margin:0 auto 10px}
.cal-sheet-close{
  position:absolute;inset-inline-end:10px;top:8px;width:32px;height:32px;border-radius:50%;
  background:var(--cal-surface-2);border:1px solid var(--cal-border);color:var(--cal-muted);
  font-size:15px;font-weight:700;cursor:pointer;line-height:1;display:grid;place-items:center;
  transition:.18s ease;
}
.cal-sheet-close:hover{background:var(--cal-holiday-bg);color:var(--cal-holiday)}
.cal-sheet-body .cal-panel{border:none;box-shadow:none;padding:6px 0 0;background:transparent}

/* ===== ریسپانسیو ===== */
@media(max-width:1023px){
  .cal-layout{grid-template-columns:minmax(0,1fr)}
  .cal-panel{box-shadow:var(--shadow-sm)}
}
@media(max-width:640px){
  main.cal-page{padding:0 10px 12px;gap:12px}
  .cal-hero{padding:20px;border-radius:20px;gap:14px}
  .cal-hero-year{font-size:38px}
  .cal-hero-range{font-size:13px}
  .cal-hero-greg{font-size:12px}
  .cal-hero-glyph{width:150px;height:150px;opacity:.06}
  .cal-hero-stats{flex-direction:row;width:100%;margin-inline-start:0;gap:6px}
  .cal-stat{min-width:0;flex:1 1 0;padding:7px 8px;text-align:center}
  .cal-stat b{font-size:15px;line-height:1.4}
  .cal-stat span{font-size:9.5px}
  .cal-shell,.cal-panel{padding:14px;border-radius:18px}
  .cal-shell-head h2{font-size:16px}
  .cal-today-btn{width:100%;min-width:0;min-height:44px}
  /* نقشهٔ سال در موبایل: یک ماه در هر صفحه، اسکرول افقی داخلی */
  .cal-yearmap{
    grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;
    overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
    gap:12px;padding-bottom:6px;scroll-padding-inline-start:0;
    -webkit-overflow-scrolling:touch;
  }
  .cal-yearmap::-webkit-scrollbar{height:6px}
  .cal-yearmap::-webkit-scrollbar-thumb{background:#C9C2AE;border-radius:999px}
  .cal-mm{scroll-snap-align:start;scroll-snap-stop:always}
  .cal-mini thead th{font-size:11px}
  .cal-c{font-size:13px;height:34px}
  .cal-c.cal-void{height:14px}
  .cal-dot{width:5px;height:5px;margin-top:2px}
  .cal-hol-pill{font-size:10.5px}
  .cal-hol-txt{max-width:11em}
  .cal-dots{display:flex}
  .cal-js .cal-panel{display:none}
}

/* ===== هدف لمسی (دستگاه‌های لمسی) — حداقل ۴۴px برای کنترل‌های تقویم ===== */
@media(hover:none) and (pointer:coarse){
  .cal-mm-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
  .cal-hero-chip{min-height:44px;padding:11px 16px}
}

/* ===== حالت کم‌مصرف و کاهش حرکت ===== */
html.lowpower .cal-hero-chip{backdrop-filter:none;-webkit-backdrop-filter:none}
html.lowpower .cal-scrim{backdrop-filter:none;-webkit-backdrop-filter:none}
html.lowpower .cal-sheet{animation:none}
@media(prefers-reduced-motion:reduce){
  .cal-mm,.cal-hero-chip,.cal-mm-details,.cal-sheet,.cal-panel{transition:none!important;animation:none!important}
  .cal-mm:hover{transform:none}
}

/* ============================================================================
   ۷) لایهٔ صفحهٔ ماه (FA + EN) — همان زبان بصری تقویم سالانه، فقط «عمق روز» بیشتر.
   هیچ رنگ تازه‌ای اختراع نشده: همه از توکن‌های --cal-* و styles.css می‌آید.
   ========================================================================= */

/* توکن‌های خانهٔ روز (روز=شانه) — ارتفاع/فاصله/شعاع با عرض صفحه تنظیم می‌شود */
:root{
  --cal-day-h:84px;
  --cal-day-radius:14px;
  --cal-day-gap:6px;
  --cal-day-pad:20px;
  --cal-day-num:20px;
  --cal-day-sub:10.5px;
  --cal-mchip-cols:6;
}
@media(max-width:1099px){:root{--cal-day-h:80px}}
@media(max-width:640px){
  :root{--cal-day-h:62px;--cal-day-gap:4px;--cal-day-pad:14px;--cal-day-num:16px;--cal-day-sub:9.5px;--cal-mchip-cols:4}
}
@media(max-width:480px){:root{--cal-day-h:58px;--cal-day-gap:3px;--cal-day-pad:10px;--cal-day-num:15px}}
@media(max-width:374px){:root{--cal-day-h:54px;--cal-day-gap:2px;--cal-day-pad:6px;--cal-day-num:14px}}

/* ---- هیرو ماه: همان هیروی تقویم سالانه با دادهٔ ماه ---- */
.cal-hero--month .cal-hero-month{font-size:44px;font-weight:900;line-height:1.08;margin:0;letter-spacing:-.3px}
.cal-hero--month .cal-hero-year{font-size:22px;font-weight:800;line-height:1.3;margin:2px 0 0;opacity:.92}
@media(max-width:640px){
  .cal-hero--month .cal-hero-month{font-size:30px}
  .cal-hero--month .cal-hero-year{font-size:17px}
}

/* ---- نوار ابزار ماه: امروز + قبل/بعد + ۱۲ چیپ + لینک سال ---- */
.cal-mtoolbar{
  display:grid;gap:12px;min-width:0;
  background:var(--cal-surface);border:1px solid var(--cal-border);
  border-radius:var(--cal-radius);padding:14px 16px;box-shadow:var(--shadow-sm);
}
.cal-mtoolbar-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cal-mtoolbar-nav .cal-today-btn{width:auto;min-width:150px;flex:0 0 auto;padding:9px 16px}
.cal-mnav-year{margin-inline-start:auto}
.cal-mchips{
  display:grid;grid-template-columns:repeat(var(--cal-mchip-cols),minmax(0,1fr));
  gap:6px;margin:0;
}
.cal-mchips a{text-align:center}
.cal-mchips a.is-cur{
  background:var(--grad-brand);color:#fff;border-color:transparent;
  box-shadow:0 8px 20px rgba(14,124,107,.4);
}

/* ---- چیدمان: تقویم + پنل (پنل داخل ستون خودش می‌چسبد؛ روی سئو نمی‌افتد) ---- */
.cal-mlayout{
  display:grid;grid-template-columns:minmax(0,1fr);gap:16px;
  align-items:stretch;min-width:0;
}
@media(min-width:1100px){.cal-mlayout{grid-template-columns:minmax(0,1fr) minmax(300px,340px)}}
@media(min-width:1280px){.cal-mlayout{grid-template-columns:minmax(0,1fr) minmax(340px,380px)}}
@media(min-width:1400px){.cal-mlayout{grid-template-columns:minmax(0,1fr) minmax(360px,400px)}}
.cal-mlayout .cal-shell{padding:var(--cal-day-pad)}
/* ۱۰۲۴–۱۰۹۹: تک‌ستونی؛ پنل زیر تقویم می‌ماند و sticky نیست */
@media(min-width:1024px) and (max-width:1099px){
  .cal-mlayout .cal-panel{position:static;max-height:none;overflow-y:visible}
}
@media(min-width:1100px){
  .cal-mlayout .cal-panel{
    position:sticky;top:96px;
    max-height:calc(100dvh - 116px);
    overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
  }
  .cal-mlayout .cal-panel::-webkit-scrollbar{height:8px;width:8px}
}
/* زیر ۱۱۰۰ با JS فعال: پنل درون‌خطی پنهان و شیت موبایل جایگزین آن می‌شود */
@media(max-width:1099px){html.cal-js .cal-mlayout .cal-panel{display:none}}

/* ---- جدول بومی ماه (بدون aria-hidden روی کل جدول) ---- */
.cal-month{
  width:100%;margin:0;table-layout:fixed;
  border-collapse:separate;border-spacing:var(--cal-day-gap);
  font-variant-numeric:tabular-nums;
}
.cal-month caption{
  caption-side:top;text-align:start;padding:0 0 6px;
  font-size:12.5px;font-weight:800;color:var(--cal-muted);line-height:1.6;
}
.cal-month thead th{
  padding:0 0 6px;font-size:10.5px;font-weight:800;color:var(--cal-muted);
  text-align:center;line-height:1.2;white-space:nowrap;
}
.cal-month thead th.is-fri{color:var(--cal-holiday);border-bottom:2px solid var(--cal-holiday)}
.cal-daycell{padding:0;vertical-align:top}
.cal-daycell.is-void{background:none}

/* ---- خانهٔ روز: دکمهٔ واقعی با سلسله‌مراتب روشن ---- */
.cal-day{
  position:relative;width:100%;min-height:var(--cal-day-h);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  margin:0;padding:6px 2px;
  border-radius:var(--cal-day-radius);
  background:var(--cal-surface-2);border:1px solid var(--cal-border);
  color:var(--cal-ink);font-family:inherit;font-size:inherit;
  cursor:pointer;appearance:none;-webkit-appearance:none;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .15s ease,box-shadow .2s ease;
}
.cal-day-num{
  display:block;font-size:var(--cal-day-num);font-weight:900;line-height:1.15;
  font-variant-numeric:tabular-nums;color:var(--cal-ink);
}
.cal-day-sub{
  display:block;font-size:var(--cal-day-sub);font-weight:700;line-height:1.25;
  color:var(--cal-muted);font-variant-numeric:tabular-nums;
}
.cal-day-marks{display:flex;gap:3px;align-items:center;justify-content:center;min-height:7px;margin-top:2px}
.cal-day-mark{display:inline-block;flex:0 0 auto}

/* نشان‌ها: شکل + رنگ (هرگز فقط رنگ) */
.cal-day-mark.is-hol{width:6px;height:6px;border-radius:50%;background:var(--cal-holiday)}
.cal-day-mark.is-occ{width:5px;height:5px;border-radius:1px;background:var(--cal-occ)}
.cal-day-mark.is-mourn{width:6px;height:6px;border-radius:50%;border:1.5px solid var(--cal-muted);background:transparent}
.cal-day-mark.is-today{width:6px;height:6px;border-radius:1px;background:var(--cal-today);transform:rotate(45deg)}
.cal-day-mark.is-fri{width:9px;height:2px;border-radius:2px;background:var(--cal-holiday)}

/* سلسله‌مراتب حالت: انتخاب‌شده > امروز > تعطیل > مناسبت > جمعه > عادی */
@media(hover:hover){.cal-day:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}}
.cal-day:active{transform:scale(.97)}
.cal-day.is-fri .cal-day-num{color:var(--cal-holiday)}
.cal-day.is-hol{background:var(--cal-holiday-bg);border-color:var(--cal-holiday-bd)}
.cal-day.is-hol .cal-day-num{color:var(--cal-holiday)}
.cal-day.is-today{
  background:var(--cal-today-bg);border-color:var(--cal-today);
  box-shadow:inset 0 0 0 1px var(--cal-today);
}
.cal-day.is-today .cal-day-num{color:var(--cal-today)}
.cal-day.is-selected{
  background:var(--grad-brand);border-color:transparent;color:#fff;
  box-shadow:0 10px 24px rgba(14,124,107,.4);
}
.cal-day.is-selected .cal-day-num{color:#fff}
.cal-day.is-selected .cal-day-sub{color:rgba(255,255,255,.88)}
.cal-day.is-selected .cal-day-mark.is-hol{background:#fff;border-color:#fff}
.cal-day.is-selected .cal-day-mark.is-occ{background:#fff}
.cal-day.is-selected .cal-day-mark.is-mourn{border-color:#fff}
.cal-day.is-selected .cal-day-mark.is-today{background:#fff}

/* ---- راهنمای نشان‌ها ---- */
.cal-legend{
  display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;
  font-size:11px;color:var(--cal-muted);line-height:1.8;
}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}

/* ---- پنل جزئیات روز ---- */
.cal-panel-dates{list-style:none;display:flex;flex-direction:column;gap:6px;margin:12px 0 0;padding:0}
.cal-panel-dates li{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--cal-surface-2);border:1px solid var(--cal-border);
  border-radius:12px;padding:7px 10px;font-size:12px;
}
.cal-panel-dates li span{color:var(--cal-muted);font-weight:700;white-space:nowrap}
.cal-panel-dates li b{font-weight:900;text-align:end;min-width:0;overflow-wrap:anywhere}
.cal-panel-flags{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0}
.cal-flag{
  display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;
  font-size:10.5px;font-weight:800;line-height:1.7;border:1px solid transparent;
}
.cal-flag.is-hol,.cal-flag.is-fri{background:var(--cal-holiday-bg);border-color:var(--cal-holiday-bd);color:var(--cal-holiday)}
.cal-flag.is-occ{background:var(--cal-occ-bg);border-color:var(--cal-occ-bd);color:var(--cal-occ)}
.cal-flag.is-mourn{background:var(--cal-surface-2);border-color:var(--cal-border);color:var(--cal-muted)}
.cal-flag.is-today{background:var(--cal-today-bg);border-color:var(--cal-today);color:var(--cal-today)}
.cal-copy-btn.is-ok{border-color:var(--cal-today);color:var(--cal-today)}
.cal-copy-btn.is-err{border-color:var(--cal-holiday);color:var(--cal-holiday)}

/* ---- هدف لمسی: دکمهٔ روز کل سلول را پر می‌کند ⇒ هدف ≥ ۴۴px ---- */
@media(hover:none) and (pointer:coarse){
  .cal-day{min-height:max(var(--cal-day-h),44px)}
  .cal-mtoolbar-nav .mini-btn,.cal-mchips a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
}

/* ---- اصلاح پیش‌رفتگی موجود (پیش از فاز ۳): ارتفاع ثابت بدن ----
   در نمایشگرهای ≥۱۱۰۰×۸۲۰ بدنه ارتفاع ۱۰۰dvh می‌گیرد و اسکرول داخلی دارد
   (معماری «app-shell» صفحهٔ اصلی: .layout خودش اسکرول می‌کند).
   صفحه‌های تقویم اسکرول‌کنندهٔ داخلی ندارند ⇒ محتوای سئو/FAQ/فوتر زیر ۱۰۰dvh
   بریده و غیرقابل‌دسترس می‌شد (هم روی صفحهٔ سال و هم صفحهٔ ماه).
   اینجا فقط صفحه‌های تقویم به اسکرول عادی سند برمی‌گردند (دقیقاً مثل رفتار زیر ۱۱۰۰px).
   صفحهٔ اصلی و بقیهٔ صفحات دست‌نخورده می‌مانند. */
@media(min-width:1100px) and (min-height:820px){
  body:has(> main.cal-page){height:auto;overflow:visible;display:block}
}

/* ---- کاهش حرکت / حالت کم‌مصرف (شامل لایهٔ ماه) ---- */
html.lowpower .cal-day{transition:none}
@media(prefers-reduced-motion:reduce){
  .cal-mm,.cal-hero-chip,.cal-mm-details,.cal-sheet,.cal-panel,
  .cal-day,.cal-day-marks,.cal-copy-btn{transition:none!important;animation:none!important}
  .cal-mm:hover,.cal-day:hover{transform:none}
}
