
/* GCM Jalali Datepicker (compact, modal-safe) */
.gcm-jdp-wrap{position:relative;display:block}
.gcm-jdp-display,.gcm-jdp-visible{width:100%;box-sizing:border-box}
.gcm-jdp-btn{position:absolute;inset-inline-end:8px;inset-block-start:50%;transform:translateY(-50%);cursor:pointer;font-size:16px;opacity:.75;user-select:none}

/* popup */
.gcm-jdp-pop{
  position:fixed; /* JS will position it */
  z-index:2147483647;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  padding:8px;
  min-width:240px;
  max-width:280px;
  direction:rtl;
  font-family:inherit;
}

.gcm-jdp-pop button{font-family:inherit;box-sizing:border-box}
.gcm-jdp-pop .gcm-jdp-today,.gcm-jdp-pop .gcm-jdp-close{min-height:0!important;line-height:1!important;box-shadow:none!important;transform:none!important}

/* header */
.gcm-jdp-head{display:flex;gap:6px;align-items:center;justify-content:space-between;margin-bottom:6px}
.gcm-jdp-head select{
  flex:1;
  height:32px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.12);
  padding:4px 8px;
  font-size:13px;
  background:#fff;
}
.gcm-jdp-today{
  height:32px;
  padding:0 10px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.12);
  background:#f7f7f7;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}
.gcm-jdp-today:hover{background:#efefef}

/* weekday row */
.gcm-jdp-week{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:4px;
  margin-bottom:4px;
}
.gcm-jdp-week span{
  font-size:12px;
  text-align:center;
  opacity:.7;
  padding:4px 0;
}

/* days grid */
.gcm-jdp-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px}
.gcm-jdp-pop .gcm-jdp-day{
  inline-size:100%!important;
  width:100%!important;
  min-inline-size:0!important;
  min-width:0!important;
  block-size:32px!important;
  height:32px!important;
  min-block-size:32px!important;
  min-height:32px!important;
  max-inline-size:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  font-size:13px;
  text-align:center;
  border-radius:8px;
  border:1px solid transparent;
  background:transparent;
  cursor:pointer;
  line-height:1!important;
  user-select:none;
  font-family:inherit;
  appearance:none;
  -webkit-appearance:none;
}
.gcm-jdp-day:hover{background:rgba(0,0,0,.06)}
.gcm-jdp-blank{visibility:hidden}
.gcm-jdp-disabled{opacity:.35;cursor:not-allowed}
.gcm-jdp-disabled:hover{background:transparent}

/* today highlight (day cell) */
.gcm-jdp-day.gcm-jdp-day-today{
  border-color:rgba(0,0,0,.18);
  background:rgba(0,0,0,.04);
  font-weight:600;
}

/* footer */
.gcm-jdp-foot{display:flex;justify-content:flex-end;margin-top:6px}
.gcm-jdp-close{
  height:32px;
  padding:0 12px;
  border-radius:8px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  cursor:pointer;
  font-size:13px;
}
.gcm-jdp-close:hover{background:#f7f7f7}



/* Canonical Jalali field chrome — RTL native.
 * In RTL, inline-end is the physical left side. The clear action therefore
 * never overlaps the Persian date value rendered from the right.
 */
.gcm-jdp-wrap{
  --gcm-jdp-field-inline-size:10.75rem;
  position:relative!important;
  display:block!important;
  direction:rtl!important;
  inline-size:min(100%,var(--gcm-jdp-field-inline-size))!important;
  max-inline-size:var(--gcm-jdp-field-inline-size)!important;
  min-inline-size:0!important;
  box-sizing:border-box!important;
}
.gcm-jdp-wrap--date{
  --gcm-jdp-field-inline-size:10.75rem;
}
.gcm-jdp-wrap--datetime{
  --gcm-jdp-field-inline-size:13rem;
}
.gcm-jdp-wrap>.gcm-jdp-visible{
  display:block!important;
  inline-size:100%!important;
  min-inline-size:0!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
  padding-inline-start:10px!important;
  padding-inline-end:42px!important;
}
.gcm-jdp-wrap>.gcm-jdp-clear{
  position:absolute!important;
  inset-inline-end:4px!important;
  inset-inline-start:auto!important;
  inset-block-start:50%!important;
  transform:translateY(-50%)!important;
  inline-size:30px!important;
  block-size:30px!important;
  min-inline-size:30px!important;
  min-block-size:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--gim-text-muted,#64748b)!important;
  box-shadow:none!important;
  font-size:0!important;
  line-height:0!important;
  z-index:4!important;
  cursor:pointer!important;
}
.gcm-jdp-wrap>.gcm-jdp-clear svg{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  inline-size:18px!important;
  block-size:18px!important;
  flex:0 0 18px!important;
  color:currentColor!important;
  fill:none!important;
  stroke:currentColor!important;
  pointer-events:none!important;
}
.gcm-jdp-wrap>.gcm-jdp-clear svg path{
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  vector-effect:non-scaling-stroke;
}
.gcm-jdp-wrap>.gcm-jdp-clear>*:not(svg){display:none!important;}
.gcm-jdp-wrap>.gcm-jdp-clear:hover,
.gcm-jdp-wrap>.gcm-jdp-clear:focus-visible{
  color:var(--gim-accent,var(--gim-primary,#2563eb))!important;
  background:color-mix(in srgb,var(--gim-accent,var(--gim-primary,#2563eb)) 10%,transparent)!important;
  outline:none!important;
}
.gcm-jdp-wrap>.gcm-jdp-clear[hidden]{display:none!important;}

.gcm-jdp-time{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--gim-border,rgba(0,0,0,.12));
}
.gcm-jdp-time[hidden]{display:none!important;}
.gcm-jdp-time label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:6px;
  margin:0;
  font-size:12px;
}
.gcm-jdp-time input{
  width:100%;
  min-width:0;
  height:32px;
  padding:4px 6px;
  border:1px solid var(--gim-border,rgba(0,0,0,.12));
  border-radius:8px;
  background:var(--gim-surface,#fff);
  color:inherit;
  font:inherit;
  text-align:center;
  box-sizing:border-box;
}
@media (max-width:480px){
  .gcm-jdp-pop{max-height:calc(100dvh - 16px);overflow:auto;}
}


/* GIM Phase 11 — Jalali accessibility / RTL touch contract */
.gcm-jdp-visible:focus-visible,
.gcm-jdp-pop :where(button,select):focus-visible{
  outline:2px solid var(--gim-accent,#2563eb);
  outline-offset:2px;
}
@media (max-width:640px){
  .gcm-jdp-pop{
    inline-size:min(342px,calc(100vw - 16px));
    max-inline-size:calc(100vw - 16px);
    min-inline-size:0;
  }
  .gcm-jdp-week,
  .gcm-jdp-grid{
    gap:2px!important;
  }
  .gcm-jdp-pop .gcm-jdp-day{
    min-block-size:44px!important;
    block-size:44px!important;
    height:44px!important;
  }
  .gcm-jdp-head select,
  .gcm-jdp-today,
  .gcm-jdp-close,
  .gcm-jdp-clear{
    min-block-size:44px!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .gcm-jdp-pop,
  .gcm-jdp-pop *{
    transition:none!important;
    animation:none!important;
  }
}
