/* IOF Date Picker — <iof-date-picker>. Brand book v3: flat, orange + black + rail gray, circular nodes.
   No glow, no gradients. Colours come from the site tokens (styles.css), so the picker follows light
   pages and the black surfaces; theme="dark" forces dark, theme="auto" follows the OS. */
iof-date-picker{display:block;position:relative;min-width:0}
iof-date-picker.iofdp-host--popup{display:flex;align-items:stretch;gap:4px}
iof-date-picker.iofdp-host--popup>input{flex:1;width:100%;min-width:0}
.iofdp-toggle{flex:none;width:36px;min-height:34px;border-radius:10px;border:1px solid var(--line-2,#D6D3CB);background:var(--surface,#fff);color:var(--text,#0B0B0B);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s}
.iofdp-toggle:hover,.iofdp-toggle[aria-expanded="true"]{border-color:var(--orange,#FF5A00);color:var(--orange,#FF5A00)}
.iofdp-toggle:focus-visible{outline:2px solid var(--orange,#FF5A00);outline-offset:1px}

.iofdp{
  --dp-bg:var(--surface,#FFFFFF); --dp-text:var(--text,#0B0B0B); --dp-muted:var(--muted,#6B6B6B); --dp-dim:var(--dim,#8C8C88);
  --dp-line:var(--line,#E6E4DE); --dp-line-2:var(--line-2,#D6D3CB); --dp-sink:var(--sink,#F3F2EE); --dp-wash:var(--wash,rgba(11,11,11,.035));
  --dp-orange:var(--orange,#FF5A00); --dp-orange-press:var(--orange-press,#E65100); --dp-rail:var(--rail,#B8B8B8);
  --dp-node:var(--black,#0B0B0B); --dp-node-text:#FFFFFF; --dp-in:rgba(255,90,0,.10); --dp-ok:var(--st-ok,#15803D);
  box-sizing:border-box;width:308px;max-width:calc(100vw - 16px);background:var(--dp-bg);color:var(--dp-text);
  border:1px solid var(--dp-line-2);border-radius:var(--r-card,14px);padding:10px 10px 8px;font:inherit;font-size:14px;line-height:1.5;text-align:start;
  font-family:Vazirmatn,Tahoma,system-ui,sans-serif
}
.iofdp *,.iofdp *::before,.iofdp *::after{box-sizing:border-box}
/* dark palette: forced, OS-following, or on the site's black surfaces */
.iofdp.iofdp--dark,.section--deep .iofdp:not(.iofdp--light),.footer .iofdp:not(.iofdp--light),.band .iofdp:not(.iofdp--light),.drawer .iofdp:not(.iofdp--light){
  --dp-bg:#151515; --dp-text:#FFFFFF; --dp-muted:#A6A6A2; --dp-dim:#76766F; --dp-line:rgba(255,255,255,.10); --dp-line-2:rgba(255,255,255,.22);
  --dp-sink:rgba(255,255,255,.045); --dp-wash:rgba(255,255,255,.06); --dp-rail:#5A5A5A; --dp-node:#FFFFFF; --dp-node-text:#0B0B0B; --dp-in:rgba(255,90,0,.18); --dp-ok:#4ADE80
}
@media (prefers-color-scheme:dark){
  .iofdp.iofdp--auto{
    --dp-bg:#151515; --dp-text:#FFFFFF; --dp-muted:#A6A6A2; --dp-dim:#76766F; --dp-line:rgba(255,255,255,.10); --dp-line-2:rgba(255,255,255,.22);
    --dp-sink:rgba(255,255,255,.045); --dp-wash:rgba(255,255,255,.06); --dp-rail:#5A5A5A; --dp-node:#FFFFFF; --dp-node-text:#0B0B0B; --dp-in:rgba(255,90,0,.18); --dp-ok:#4ADE80
  }
}
.iofdp.iofdp--light{
  --dp-bg:#FFFFFF; --dp-text:#0B0B0B; --dp-muted:#6B6B6B; --dp-dim:#8C8C88; --dp-line:#E6E4DE; --dp-line-2:#D6D3CB; --dp-sink:#F3F2EE;
  --dp-wash:rgba(11,11,11,.035); --dp-rail:#B8B8B8; --dp-node:#0B0B0B; --dp-node-text:#FFFFFF; --dp-in:rgba(255,90,0,.10); --dp-ok:#15803D
}
/* popup: top layer (popover) or fixed; placed by script next to the input */
.iofdp--popup{position:fixed;z-index:60;margin:0;inset:auto;box-shadow:0 18px 40px -24px rgba(11,11,11,.45)}
.iofdp--popup[hidden]{display:none}
.iofdp--popup:popover-open{inset:auto}

.iofdp__head{display:flex;align-items:center;gap:2px;margin-bottom:6px}
.iofdp__title{flex:1;text-align:center;font-weight:800;font-size:15px;white-space:nowrap}
.iofdp__nav{width:32px;height:32px;flex:none;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--dp-text);display:grid;place-items:center;cursor:pointer;padding:0;transition:border-color .15s,background .15s}
.iofdp__nav:hover{border-color:var(--dp-line-2);background:var(--dp-wash)}
.iofdp__nav[data-nav="-12"],.iofdp__nav[data-nav="12"]{color:var(--dp-muted)}

.iofdp__grid{display:grid;gap:2px}
.iofdp__row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.iofdp__wk span{text-align:center;font-size:12px;font-weight:700;color:var(--dp-muted);padding:2px 0 4px}
.iofdp__wk span.is-off{color:var(--dp-orange)}
.iofdp__d{position:relative;display:grid;place-items:center;height:38px;border-radius:10px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.iofdp__d.is-empty{cursor:default}
.iofdp__d b{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14.5px;line-height:1;border:1.5px solid transparent;transition:background .12s,border-color .12s,color .12s}
.iofdp__d:not(.is-empty):not(.is-disabled):hover b{border-color:var(--dp-text)}
.iofdp__d.is-weekend{background:var(--dp-sink)}
.iofdp__d.is-weekend b{color:var(--dp-muted)}
.iofdp__d.is-hol b,.iofdp__d.is-pred b{color:var(--dp-orange)}
/* holiday nodes: solid = official, dashed hollow = predicted (lunar, ±1 day) */
.iofdp__node{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--dp-orange)}
.iofdp__d.is-pred .iofdp__node{width:8px;height:8px;bottom:1px;background:transparent;border:1.5px dashed var(--dp-orange)}
.iofdp__d.is-today b{background:var(--dp-node);color:var(--dp-node-text);border-color:var(--dp-node)}
.iofdp__d.is-in{background:var(--dp-in);border-radius:0}
/* RTL: later days sit to the left, so the band leaves the start cell leftwards and enters the end cell from the right */
.iofdp__d.is-start::before,.iofdp__d.is-end::before{content:"";position:absolute;top:0;bottom:0;background:var(--dp-in);z-index:0}
.iofdp__d.is-start::before{left:0;right:50%}
.iofdp__d.is-end::before{right:0;left:50%}
.iofdp__d.is-start.is-end::before{display:none}
.iofdp__d b{position:relative;z-index:1}
.iofdp__d.is-sel b{background:var(--dp-orange);border-color:var(--dp-orange);color:#FFFFFF;font-weight:800}
.iofdp__d.is-sel .iofdp__node{background:var(--dp-node)}
.iofdp__d.is-sel.is-pred .iofdp__node{background:transparent;border-color:var(--dp-node)}
.iofdp__d.is-disabled{cursor:not-allowed}
.iofdp__d.is-disabled b{color:var(--dp-dim);text-decoration:line-through;text-decoration-thickness:1px;opacity:.7}
.iofdp__d.is-disabled.is-sel b{background:transparent;color:var(--dp-dim);border-color:var(--dp-line-2)}
.iofdp__d:focus{outline:none}
.iofdp__d:focus-visible b{outline:2px solid var(--dp-orange);outline-offset:2px}

.iofdp__foot{margin-top:8px;padding:8px 4px 2px;border-top:1px solid var(--dp-line);display:grid;gap:3px;font-size:12.5px;min-height:62px}
.iofdp__f1{display:flex;align-items:center;gap:8px;justify-content:space-between}
.iofdp__f1 b{font-size:13.5px;font-weight:800}
.iofdp__f2{color:var(--dp-muted)}
.iofdp__chip{flex:none;font-size:11px;font-weight:800;border-radius:99px;padding:0 8px;border:1.5px solid currentColor;white-space:nowrap}
.iofdp__chip.c-ok{color:var(--dp-ok)}.iofdp__chip.c-hol{color:var(--dp-orange)}.iofdp__chip.c-pred{color:var(--dp-orange);border-style:dashed}.iofdp__chip.c-off{color:var(--dp-muted)}
.iofdp__hols{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.iofdp__hols li{display:flex;gap:6px;align-items:flex-start}
.iofdp__hols i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--dp-orange);margin-top:6px}
.iofdp__hols li.is-pred i{background:transparent;border:1.5px dashed var(--dp-orange)}
.iofdp__hols em,.iofdp__settle em{display:block;font-style:normal;font-size:11.5px;color:var(--dp-muted)}
.iofdp__settle{color:var(--dp-text)}
.iofdp__settle b{font-weight:800}
.iofdp__rng{color:var(--dp-muted)}
.iofdp__acts{display:flex;justify-content:space-between;gap:6px;margin-top:6px}
.iofdp__act{border:1px solid var(--dp-line-2);background:transparent;color:var(--dp-text);border-radius:99px;padding:2px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.iofdp__act:hover{border-color:var(--dp-orange)}
.iofdp__nav:focus-visible,.iofdp__act:focus-visible{outline:2px solid var(--dp-orange);outline-offset:1px}

@media (max-width:420px){
  .iofdp{width:calc(100vw - 16px);padding:10px 8px 8px}
  .iofdp__d{height:42px}
  .iofdp__d b{width:34px;height:34px}
}
@media (prefers-reduced-motion:reduce){.iofdp *{transition:none!important}}
