/**
 * Jalali date picker — global styles (popup portals to document.body).
 *
 * @package ParangGlobalAcc
 */

.pga-dp-input-wrap{position:relative;}
.pga-dp-input{cursor:pointer;}

.pga-dp-popup{
  background:#fff;
  border:1px solid var(--pga-color-border,#e5e7eb);
  border-radius:14px;
  padding:14px;
  box-shadow:0 12px 32px -8px rgba(0,0,0,.18);
  box-sizing:border-box;
  font-family:inherit;
  color:var(--pga-color-text,#1a1a2e);
}

.pga-dp-popup--portal{
  max-width:calc(100vw - 32px);
}

.pga-dp-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
  gap:8px;
  direction:rtl;
}

.pga-dp-nav{
  background:var(--pga-color-light,#fff8f5);
  border:1px solid var(--pga-color-border,#e5e7eb);
  width:30px;
  height:30px;
  border-radius:8px;
  cursor:pointer;
  font-size:16px;
  color:var(--pga-color-text,#1a1a2e);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:inherit;
  flex-shrink:0;
  direction:ltr;
  unicode-bidi:isolate;
}

.pga-dp-nav:hover{
  background:var(--pga-color-accent-soft,#fff0e8);
  border-color:var(--pga-color-primary,#ff6633);
}

.pga-dp-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;}

.pga-dp-title-btn{
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:14px;
  font-weight:700;
  color:var(--pga-color-text,#1a1a2e);
  font-family:inherit;
  padding:4px 8px;
  border-radius:8px;
}

.pga-dp-title-btn:hover{background:var(--pga-color-accent-soft,#fff0e8);}

.pga-dp-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:2px;
  margin-bottom:4px;
}

.pga-dp-weekday{
  text-align:center;
  font-size:11px;
  font-weight:600;
  color:var(--pga-color-muted,#64748b);
  padding:4px 0;
}

.pga-dp-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:2px;
}

.pga-dp-day{
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  cursor:pointer;
  border-radius:8px;
  color:var(--pga-color-text,#1a1a2e);
  background:transparent;
  border:1px solid transparent;
  user-select:none;
}

.pga-dp-day:hover{background:var(--pga-color-accent-soft,#fff0e8);}
.pga-dp-day.is-other-month{color:#ccc;cursor:default;}
.pga-dp-day.is-other-month:hover{background:transparent;}
.pga-dp-day.is-selected{background:var(--pga-color-primary,#ff6633);color:#fff;font-weight:600;}
.pga-dp-day.is-today{border-color:var(--pga-color-primary,#ff6633);}

.pga-dp-grid-months,
.pga-dp-grid-years{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}

.pga-dp-grid-years{max-height:220px;overflow-y:auto;}

.pga-dp-cell-month,
.pga-dp-cell-year{
  padding:10px 8px;
  text-align:center;
  cursor:pointer;
  border-radius:8px;
  font-size:13px;
  color:var(--pga-color-text,#1a1a2e);
  border:1px solid transparent;
  background:transparent;
  font-family:inherit;
}

.pga-dp-cell-month:hover,
.pga-dp-cell-year:hover{background:var(--pga-color-accent-soft,#fff0e8);}

.pga-dp-cell-month.is-selected,
.pga-dp-cell-year.is-selected{
  background:var(--pga-color-primary,#ff6633);
  color:#fff;
}

.pga-dp-footer{
  display:flex;
  gap:6px;
  margin-top:12px;
  border-top:1px solid var(--pga-color-border,#e5e7eb);
  padding-top:10px;
}

.pga-dp-footer-btn{
  flex:1;
  background:transparent;
  border:1px solid var(--pga-color-border,#e5e7eb);
  padding:6px 10px;
  border-radius:8px;
  font-size:12px;
  cursor:pointer;
  color:var(--pga-color-text,#1a1a2e);
  font-family:inherit;
}

.pga-dp-footer-btn:hover{
  background:var(--pga-color-accent-soft,#fff0e8);
  border-color:var(--pga-color-primary,#ff6633);
}

/* Birthdate wheel picker */
.pga-wp-backdrop{
  position:fixed;
  inset:0;
  z-index:99999;
  background:transparent;
}

.pga-wp-popup{
  --pga-wp-item:36px;
  padding:12px 12px 10px;
  max-height:min(420px,calc(100vh - 24px));
  overflow:hidden;
}

.pga-wp-preview{
  text-align:center;
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--pga-color-text,#1a1a2e);
  margin:0 0 .4rem;
  font-variant-numeric:tabular-nums;
}

.pga-wp-labels{
  display:grid;
  grid-template-columns:1fr 1.35fr 1fr;
  gap:6px;
  margin-bottom:.2rem;
  font-size:.68rem;
  font-weight:700;
  color:var(--pga-color-muted,#64748b);
  text-align:center;
}

.pga-wp-frame{position:relative;}

.pga-wp-cols{
  display:grid;
  grid-template-columns:1fr 1.35fr 1fr;
  gap:6px;
  position:relative;
}

.pga-wp-col-wrap{min-width:0;}

.pga-wp-col-frame{position:relative;}

.pga-wp-highlight{
  position:absolute;
  inset-inline:4px;
  top:50%;
  height:var(--pga-wp-item,36px);
  margin-top:calc(var(--pga-wp-item,36px) / -2);
  border-radius:10px;
  background:rgba(255,102,51,.08);
  border:1px solid rgba(255,102,51,.22);
  pointer-events:none;
  z-index:1;
}

.pga-wp-col{
  height:calc(var(--pga-wp-item,36px) * 5);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:y mandatory;
  scrollbar-width:none;
  text-align:center;
  position:relative;
  z-index:2;
  mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 84%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 84%,transparent 100%);
}

.pga-wp-col:focus{outline:none;}
.pga-wp-col:focus-visible{
  box-shadow:inset 0 0 0 2px rgba(255,102,51,.35);
  border-radius:10px;
}
.pga-wp-col::-webkit-scrollbar{display:none;}

.pga-wp-pad{
  height:calc(var(--pga-wp-item,36px) * 2);
  pointer-events:none;
}

.pga-wp-item{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:var(--pga-wp-item,36px);
  margin:0;
  padding:0 .25rem;
  border:0;
  background:transparent;
  scroll-snap-align:center;
  font:inherit;
  font-size:.86rem;
  font-weight:600;
  color:var(--pga-color-muted,#64748b);
  cursor:pointer;
  user-select:none;
  border-radius:8px;
}

.pga-wp-item.is-active{
  color:var(--pga-color-text,#0f172a);
  font-weight:800;
}

.pga-wp-step{
  display:none;
  position:absolute;
  inset-inline:6px;
  z-index:3;
  align-items:center;
  justify-content:center;
  height:22px;
  margin:0;
  padding:0;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.92);
  color:#64748b;
  font-size:9px;
  line-height:1;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 1px 4px rgba(15,23,42,.08);
}

.pga-wp-step--up{top:4px;}
.pga-wp-step--down{bottom:4px;}

.pga-wp-step:hover:not(:disabled){
  background:#fff7f3;
  color:var(--pga-color-primary-dark,#e55a2b);
}

.pga-wp-step:disabled{
  opacity:.28;
  cursor:default;
}

.pga-wp-footer{margin-top:8px;gap:6px;}

.pga-wp-confirm{
  background:var(--pga-color-primary,#ff6633);
  border-color:var(--pga-color-primary,#ff6633);
  color:#fff;
  font-weight:800;
}

.pga-wp-confirm:hover{
  background:var(--pga-color-primary-dark,#e55a2b);
  border-color:var(--pga-color-primary-dark,#e55a2b);
  color:#fff;
}

@media (hover:hover) and (pointer:fine){
  .pga-wp-item:hover:not(.is-active){
    color:var(--pga-color-text,#0f172a);
    background:rgba(255,102,51,.08);
  }
}

@media (min-width:640px){
  .pga-wp-popup{padding:12px;}
  .pga-wp-preview{
    margin-bottom:.45rem;
    padding:.28rem .5rem;
    border-radius:10px;
    background:#fff7f3;
    border:1px solid #fed7aa;
    color:#9a3412;
    font-size:.95rem;
  }
  .pga-wp-labels{margin-bottom:.15rem;}
  .pga-wp-step{display:flex;}
  .pga-wp-col{
    mask-image:none;
    -webkit-mask-image:none;
    border:1px solid #eef2f7;
    border-radius:10px;
    background:#fafafa;
  }
  .pga-wp-highlight{
    background:rgba(255,102,51,.12);
    border-color:rgba(255,102,51,.38);
  }
  .pga-wp-item.is-active{color:var(--pga-color-primary-dark,#e55a2b);}
  .pga-wp-footer .pga-dp-footer-btn{
    padding:6px 10px;
    font-size:.8rem;
    min-height:34px;
  }
}

@media (max-width:639px){
  .pga-wp-backdrop{background:rgba(15,23,42,.45);}
  .pga-wp-popup{
    top:auto !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    max-width:none !important;
    border-radius:18px 18px 0 0;
    padding:.9rem .9rem max(12px,env(safe-area-inset-bottom));
    box-shadow:0 -18px 40px -20px rgba(15,23,42,.35);
  }
  .pga-wp-preview{font-size:1.05rem;}
  .pga-wp-item{font-size:.95rem;}
}
