/* ── calendar.css — custom date picker, shared structure + gold/cyan themes ── */

.cal-wrap{position:relative;width:100%;}

/* Trigger button — matches form-input sizing */
.cal-trigger{
  width:100%;display:flex;align-items:center;gap:9px;
  padding:10px 14px;border-radius:8px;cursor:pointer;
  font-family:'Space Grotesk',sans-serif;font-size:14px;text-align:left;
  transition:border-color .2s,box-shadow .2s;
  background:transparent;
}
.cal-icon{display:flex;align-items:center;flex-shrink:0;opacity:0.7;}
.cal-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-trigger.cal-empty .cal-label{opacity:0.55;}

/* Popover */
.cal-popover{
  position:absolute;top:calc(100% + 6px);left:0;z-index:400;
  width:280px;border-radius:12px;overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,0.7);display:none;
  font-family:'Space Grotesk',inherit;
}

/* Nav row */
.cal-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;}
.cal-nav-btn{
  background:none;border:none;cursor:pointer;font-size:22px;line-height:1;
  font-family:'Space Grotesk',sans-serif;
  padding:2px 8px;border-radius:6px;transition:background .15s,opacity .15s;
}
.cal-nav-btn:disabled{opacity:0.25;cursor:default;}
.cal-month-lbl{font-size:13px;font-weight:700;letter-spacing:0.01em;}

/* Weekday headers */
.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 10px 4px;}
.cal-wkday{text-align:center;font-size:10px;font-weight:600;letter-spacing:0.06em;padding:4px 0;opacity:0.5;}

/* Day grid */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:0 10px 12px;}
.cal-day{
  aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:12.5px;border-radius:6px;cursor:pointer;
  transition:background .12s,color .12s;
  outline:none;
}
.cal-day.cal-empty{cursor:default;background:none !important;}
.cal-day.cal-disabled{
  opacity:0.5;cursor:not-allowed;pointer-events:none;
  color:rgba(255,255,255,0.18);background:rgba(0,0,0,0.45);
  position:relative;
}
.cal-day.cal-disabled::after{
  content:'';position:absolute;left:18%;right:18%;top:50%;height:1px;
  background:rgba(255,255,255,0.25);transform:rotate(-12deg);pointer-events:none;
}
.cal-day:focus-visible{outline:2px solid currentColor;outline-offset:1px;}

/* ── CYAN theme (homepage) ─────────────────────────────────────────── */
.cal-trigger.cal-theme-cyan{
  background:#111827;border:1px solid #1e2d47;color:#f1f5f9;
}
.cal-trigger.cal-theme-cyan:hover{border-color:#60a5fa;}
.cal-trigger.cal-theme-cyan .cal-icon{color:#60a5fa;}

.cal-popover.cal-theme-cyan{
  background:#0d1526;border:1px solid #1e2d47;
}
.cal-theme-cyan .cal-nav-btn{color:#94a3b8;}
.cal-theme-cyan .cal-nav-btn:not(:disabled):hover{background:rgba(96,165,250,0.12);color:#60a5fa;}
.cal-theme-cyan .cal-month-lbl{color:#f1f5f9;}
.cal-theme-cyan .cal-wkday{color:#94a3b8;}
.cal-theme-cyan .cal-day{color:#e2e8f0;font-weight:500;}
.cal-theme-cyan .cal-day:not(.cal-disabled):not(.cal-empty):hover{background:rgba(96,165,250,0.15);color:#f1f5f9;}
.cal-theme-cyan .cal-day.cal-today{border:1px solid rgba(96,165,250,0.4);color:#60a5fa;}
.cal-theme-cyan .cal-day.cal-selected{background:#60a5fa;color:#0a0e1a;font-weight:700;}
.cal-theme-cyan .cal-day.cal-selected:hover{background:#3b82f6;}

/* ── GOLD theme (premium page) ─────────────────────────────────────── */
.cal-trigger.cal-theme-gold{
  background:rgba(8,7,15,0.55);border:1px solid rgba(245,197,99,0.2);color:#f1f5f9;
}
.cal-trigger.cal-theme-gold:hover{border-color:rgba(245,197,99,0.45);}
.cal-trigger.cal-theme-gold .cal-icon{color:#f5c563;}

.cal-popover.cal-theme-gold{
  background:#11101f;border:1px solid rgba(245,197,99,0.3);
}
.cal-theme-gold .cal-nav-btn{color:rgba(241,245,249,0.6);}
.cal-theme-gold .cal-nav-btn:not(:disabled):hover{background:rgba(245,197,99,0.1);color:#f5c563;}
.cal-theme-gold .cal-month-lbl{color:#f1f5f9;}
.cal-theme-gold .cal-wkday{color:rgba(241,245,249,0.45);}
.cal-theme-gold .cal-day{color:rgba(241,245,249,0.9);font-weight:500;}
.cal-theme-gold .cal-day:not(.cal-disabled):not(.cal-empty):hover{background:rgba(245,197,99,0.12);color:#f1f5f9;}
.cal-theme-gold .cal-day.cal-today{border:1px solid rgba(245,197,99,0.4);color:#f5c563;}
.cal-theme-gold .cal-day.cal-selected{background:#f5c563;color:#08070f;font-weight:700;}
.cal-theme-gold .cal-day.cal-selected:hover{background:#f0a868;}

/* ── Past-date range prompt modal ─────────────────────────────────── */
.past-modal-overlay{
  position:fixed;inset:0;z-index:900;
  background:rgba(0,0,0,0.72);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.past-modal{
  max-width:420px;width:100%;border-radius:18px;padding:38px 32px 30px;
  box-shadow:0 24px 64px rgba(0,0,0,0.8);
  font-family:'Space Grotesk',sans-serif;text-align:center;
}
.past-modal-icon{display:flex;justify-content:center;margin-bottom:16px;}
.past-modal-title{font-size:17px;font-weight:700;margin-bottom:10px;line-height:1.3;}
.past-modal-title-cyan{color:#22d3ee;}
.past-modal-title-gold{color:#f5c563;}
.past-modal-body{font-size:13.5px;line-height:1.65;margin-bottom:16px;}
.scanline{
  font-size:13px;font-weight:700;padding:10px 18px;border-radius:8px;
  margin:0 auto 22px;display:inline-block;
}
.scanline-cyan{background:rgba(34,211,238,0.1);color:#22d3ee;border:1px solid rgba(34,211,238,0.25);}
.scanline-gold{background:rgba(245,197,99,0.1);color:#f5c563;border:1px solid rgba(245,197,99,0.3);}
.past-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.past-modal-btn{
  flex:1;padding:11px 16px;border-radius:8px;font-size:13px;font-weight:600;
  cursor:pointer;border:none;font-family:'Space Grotesk',sans-serif;
  transition:opacity .15s;white-space:nowrap;min-width:120px;
}
.past-modal-btn:hover{opacity:0.88;}
/* Cyan (homepage) */
.past-modal.past-modal-cyan{background:#0d1526;border:1px solid #1e2d47;color:#f1f5f9;}
.past-modal.past-modal-cyan .past-modal-body{color:#94a3b8;}
.past-modal.past-modal-cyan .past-modal-btn-back{background:rgba(255,255,255,0.07);color:#94a3b8;}
.past-modal.past-modal-cyan .past-modal-btn-continue{background:#60a5fa;color:#0a0e1a;}
/* Gold (premium) */
.past-modal.past-modal-gold{background:#11101f;border:1px solid rgba(245,197,99,0.3);color:#f1f5f9;}
.past-modal.past-modal-gold .past-modal-body{color:rgba(241,245,249,0.72);}
.past-modal.past-modal-gold .past-modal-btn-back{background:rgba(255,255,255,0.07);color:rgba(241,245,249,0.7);}
.past-modal.past-modal-gold .past-modal-btn-continue{background:#f5c563;color:#08070f;}
