
/* === Modular Jalali DatePicker (scoped) === */
.pcal-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);z-index:999999;}
.pcal-panel{background:#0f172a;border:1px solid #ffffff1a;border-radius:1rem;padding:1rem;width:min(100%,28rem);box-shadow:0 20px 25px -5px rgba(0,0,0,.45);}
.pcal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;}
.pcal-title{font-weight:600;color:#f1f5f9;}
.pcal-titlebtn{font-weight:700;background:rgba(34,211,238,.15);color:#a5f3fc;border-radius:.6rem;padding:.4rem .8rem;}
.pcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;}
.pcal-cell{padding:.5rem 0;border-radius:.5rem;text-align:center;cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:center;min-height:2.25rem;}
.pcal-cell:hover{background:#ffffff1a;}
.pcal-cell.muted{color:#475569;}
.pcal-cell.today{border:1px solid #22d3ee99;}
.pcal-cell.active{background:#06b6d4;color:#0f172a;font-weight:600;}
.pcal-actions{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;}
.pcal-btn{padding:.25rem .75rem;border-radius:.5rem;background:#ffffff0d;border:1px solid #ffffff1a;color:#e2e8f0;display:inline-flex;align-items:center;gap:.25rem;}
.pcal-btn:hover{background:#ffffff1a;}
.pcal-range-ltr{direction:ltr; unicode-bidi:isolate; display:inline-block;}
@media (pointer: coarse){ .pcal-cell{min-height:2.75rem;} }


/* === Cursor polish: only clickable shows pointer === */
.pcal-container,
.pcal-panel,
.pcal-grid{ cursor: default; }

/* Clickable items keep pointer */
.pcal-cell{ cursor: pointer; }
.pcal-btn, .pcal-titlebtn{ cursor: pointer; }

/* Non-clickable cells (muted fillers, weekday headers) shouldn't show hand */
.pcal-cell.muted{ cursor: default; pointer-events: none; }
.pcal-grid .weekday{ cursor: default; pointer-events: none; }


/* ===== ULTRA theme for Jalali Calendar (scoped to .pcal-*) ===== */
.pcal-container{
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: pcal-fade .18s ease-out;
}
@keyframes pcal-fade{ from{opacity:.0} to{opacity:1} }

.pcal-panel{
  position: relative;
  background: linear-gradient(180deg, rgba(15,23,42,.78), rgba(15,23,42,.70)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 16px !important;
  box-shadow:
    0 18px 40px -10px rgba(0,0,0,.55),
    inset 0 1px 0 0 rgba(255,255,255,.05) !important;
  overflow: hidden;
}
.pcal-panel:before{
  content:'';
  position:absolute; inset:0;
  pointer-events:none;
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(56,189,248,.08), transparent 60%),
    radial-gradient(800px 400px at 110% 0%, rgba(94,234,212,.06), transparent 50%);
  mix-blend-mode: screen;
}

/* Header */
.pcal-header{
  padding: .5rem .75rem;
  margin-bottom: .5rem;
}
.pcal-title{
  color:#e6f6ff; letter-spacing:.2px; font-weight:700;
}
.pcal-titlebtn{
  background: rgba(56,189,248,.18);
  color:#cffafe;
  border:1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  padding:.35rem .7rem;
  transition: transform .12s ease, background-color .12s ease;
}
.pcal-titlebtn:hover{ transform: translateY(-1px); background: rgba(56,189,248,.24); }
.pcal-titlebtn:active{ transform: translateY(0); }

/* Nav buttons */
.pcal-btn{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  transition: transform .12s ease, background-color .12s ease, box-shadow .12s ease;
}
.pcal-btn:hover{ background: rgba(255,255,255,.10); box-shadow: 0 0 0 4px rgba(148,163,184,.12); }
.pcal-btn:active{ transform: translateY(1px); }

/* Grid */
.pcal-grid{ gap:.35rem; padding: .25rem .75rem .6rem; }
.pcal-cell{
  border:1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
  border-radius: 12px;
  transition: background-color .12s ease, border-color .12s ease, transform .06s ease;
  min-height: 2.35rem;
}
.pcal-cell:hover{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); }
.pcal-cell:active{ transform: scale(.98); }
.pcal-cell.today{ border-color: rgba(34,211,238,.55); background: rgba(34,211,238,.10); }
.pcal-cell.active{
  background: linear-gradient(180deg, #22d3ee, #06b6d4);
  color:#0f172a; border-color: transparent;
  box-shadow: 0 6px 20px -6px rgba(6,182,212,.65);
}

/* Footer buttons */
.pcal-actions{ padding: .4rem .75rem .75rem; }
.pcal-actions .pcal-btn{
  background: rgba(255,255,255,.06);
  border-radius: 12px;
  padding: .4rem .9rem;
}
.pcal-actions .pcal-btn:hover{ background: rgba(255,255,255,.10); }

/* Accessibility focus */
.pcal-titlebtn:focus-visible,
.pcal-btn:focus-visible,
.pcal-cell:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(34,211,238,.25);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .pcal-container{ animation: none; }
  .pcal-titlebtn, .pcal-btn, .pcal-cell{ transition: none; }
}


/* === Arrow glyph refinement: replace triangle with clean chevrons (only icon) === */
.pcal-header .pcal-btn svg{ display:none !important; }           /* hide built-in triangle */
.pcal-header{ position: relative; }                               /* ensure proper context */

/* generic chevron */
.pcal-header .pcal-btn{
  position: relative;
}
.pcal-header .pcal-btn::before{
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 9px; height: 9px;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-right: 2px solid #e2e8f0;
  border-bottom: 2px solid #e2e8f0;
  border-radius: 1px;
}

/* left button chevron */
.pcal-header .pcal-btn:first-child::before{
  transform: translate(-50%, -50%) rotate(135deg);
}

/* right button chevron */
.pcal-header .pcal-btn:last-child::before{
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* hover/active feedback for chevrons only (color) */
.pcal-header .pcal-btn:hover::before{
  border-color: #a5f3fc;
}
.pcal-header .pcal-btn:active::before{
  border-color: #67e8f9;
}


/* === Ensure no arrow/chevron inside the center title button === */
.pcal-titlebtn svg,
.pcal-titlebtn i{ display:none !important; }
.pcal-titlebtn::before,
.pcal-titlebtn::after{ content:none !important; display:none !important; }
