/* /public/cal.css — the booking calendar's look. Shared by the landing-page modal and /booking.
   Logical properties throughout (inset-inline-*, margin-inline-*) so the same file is correct in
   Arabic RTL and the three LTR languages without a single direction override. */
.fcal{--fg:#111826;--mut:#7b8794;--line:#e6ebef;--green:#0e9e60;--green-d:#0a8a52;--soft:#f3f7f5;
  color:var(--fg);font-size:15px}
.fcal-status{min-height:22px;font-size:13.5px;color:var(--mut);margin-bottom:12px;text-align:center}
.fcal-status.err{color:#d1544a;font-weight:600;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.fcal-status.empty{color:var(--mut);font-weight:600;padding:30px 0}
.fcal-retry{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 14px;font:inherit;
  font-size:13.5px;font-weight:600;color:var(--fg);cursor:pointer}
.fcal-retry:hover{border-color:var(--green);color:var(--green-d)}

.fcal-cols{display:grid;grid-template-columns:1fr 236px;gap:26px;align-items:start}

/* ---------- month ---------- */
.fcal-mh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.fcal-mlab{font-size:16.5px;font-weight:700;text-transform:capitalize}
.fcal-nav{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:10px;
  font-size:19px;line-height:1;color:var(--fg);cursor:pointer;flex:0 0 34px;transition:.15s}
.fcal-nav:hover:not(:disabled){border-color:var(--green);color:var(--green-d)}
.fcal-nav:disabled{opacity:.3;cursor:not-allowed}
.fcal-nav:first-child{transform:scaleX(1)}
[dir="rtl"] .fcal-nav{transform:scaleX(-1)}

.fcal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}
.fcal-dow span{text-align:center;font-size:11.5px;font-weight:700;color:var(--mut);
  text-transform:uppercase;letter-spacing:.03em;padding:4px 0}
.fcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.fcal-pad{display:block}
.fcal-day{aspect-ratio:1;min-height:40px;border:0;background:transparent;border-radius:50%;
  font:inherit;font-size:15px;font-weight:500;color:#c2cad3;cursor:default;position:relative;
  display:flex;align-items:center;justify-content:center;padding:0;transition:.14s}
.fcal-day.open{background:var(--soft);color:var(--green-d);font-weight:700;cursor:pointer}
.fcal-day.open:hover{background:#e2f2ea}
.fcal-day.open::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--green);opacity:.55}
.fcal-day.sel{background:var(--green);color:#fff}
.fcal-day.sel::after{background:#fff;opacity:.9}
.fcal-day:disabled{cursor:default}

/* ---------- timezone ---------- */
.fcal-tzbox{position:relative;margin-top:18px}
.fcal-tzbtn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--line);
  background:#fff;border-radius:11px;font:inherit;font-size:13.5px;color:var(--fg);cursor:pointer;text-align:start}
.fcal-tzbtn:hover{border-color:#cdd6dd}
.fcal-globe{flex:0 0 auto;font-size:14px}
.fcal-tzname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.fcal-tzoff{color:var(--mut);font-size:12.5px;white-space:nowrap;direction:ltr}
.fcal-tzbtn i{font-style:normal;color:var(--mut);font-size:11px}
.fcal-tzdrop{position:absolute;inset-inline-start:0;inset-inline-end:0;bottom:calc(100% + 6px);background:#fff;
  border:1px solid var(--line);border-radius:13px;box-shadow:0 14px 40px rgba(17,24,38,.16);z-index:30;padding:8px}
.fcal-tzsearch{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:13.5px;margin-bottom:6px}
.fcal-tzsearch:focus{outline:none;border-color:var(--green)}
.fcal-tzlist{list-style:none;margin:0;padding:0;max-height:230px;overflow:auto}
.fcal-tzlist li{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13.5px}
.fcal-tzlist li:hover{background:var(--soft)}
.fcal-tzlist li.on{background:var(--soft);font-weight:700;color:var(--green-d)}
.fcal-tzlist .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcal-tzlist .off{color:var(--mut);font-size:12px;direction:ltr}

/* ---------- times ---------- */
.fcal-right{border-inline-start:1px solid var(--line);padding-inline-start:22px;min-height:340px;
  display:flex;flex-direction:column}
.fcal-rhead{font-size:15px;font-weight:700;margin-bottom:12px;min-height:22px}
.fcal-times{overflow-y:auto;max-height:392px;padding-inline-end:6px;display:flex;flex-direction:column;gap:9px}
.fcal-none{color:var(--mut);font-size:14px;margin:0}
.fcal-row{display:flex;gap:8px}
.fcal-time{flex:1;padding:12px 10px;border:1px solid #cfe6da;background:#fff;border-radius:10px;
  font:inherit;font-size:15px;font-weight:700;color:var(--green-d);cursor:pointer;transition:.14s;direction:ltr}
.fcal-time:hover{border-color:var(--green);background:var(--soft)}
.fcal-confirm{display:none;flex:1;padding:12px 10px;border:0;background:var(--green);color:#fff;
  border-radius:10px;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.fcal-confirm:hover{background:var(--green-d)}
.fcal-confirm:disabled{opacity:.6;cursor:wait}
.fcal-row.picked .fcal-time{background:#5a6472;border-color:#5a6472;color:#fff}
.fcal-row.picked .fcal-confirm{display:block}

@media(max-width:760px){
  .fcal-cols{grid-template-columns:1fr;gap:20px}
  .fcal-right{border-inline-start:0;border-top:1px solid var(--line);padding-inline-start:0;
    padding-top:18px;min-height:0}
  .fcal-times{max-height:none;overflow:visible}
  .fcal-day{min-height:38px;font-size:14.5px}
}
