/* The homepage calendar follows the existing gold/navy FLYMFJ palette. */
.flight-calendar-trigger { display:none; }
form.flight-guide-active .flight-calendar-field[data-calendar-enhanced="true"] .flight-calendar-native { display:none!important; }
form.flight-guide-active .flight-calendar-field[data-calendar-enhanced="true"] .flight-calendar-trigger { display:flex; }
.flight-calendar-label { display:block; min-height:2.5em; color:inherit; font:inherit; margin:0; text-transform:uppercase; }
.flight-calendar-trigger { align-items:center; justify-content:space-between; gap:3px; height:48px; min-height:48px; min-width:0; max-width:100%; width:100%; padding:10px 6px; border:1px solid var(--line,#d9e1e8); border-radius:10px; background:#fff; color:var(--navy-950,#07111f); text-align:start; font:inherit; font-size:.8rem; font-weight:750; letter-spacing:normal; cursor:pointer; }
.flight-calendar-trigger-value { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:.8rem; letter-spacing:normal; }
.flight-calendar-trigger:hover { border-color:var(--gold,#c9932d); background:#fffdf8; }
.flight-calendar-trigger-icon { flex-shrink:0; width:14px; font-size:14px; line-height:1; color:var(--gold-dark,#9d6b13); }
.flight-calendar-trigger:focus-visible,.flight-calendar-dialog button:focus-visible { outline:3px solid var(--gold,#c9932d); outline-offset:3px; }
body.flight-calendar-open { overflow:hidden; }
.flight-calendar-overlay { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(7,17,31,.58); backdrop-filter:blur(5px); }
.flight-calendar-overlay[hidden] { display:none!important; }
.flight-calendar-dialog { width:min(850px,100%); max-height:calc(100dvh - 48px); overflow:auto; border:1px solid rgba(201,147,45,.3); border-radius:26px; background:#fff; color:var(--navy-950,#07111f); box-shadow:0 30px 100px rgba(7,17,31,.3); }
.flight-calendar-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:26px 28px 18px; border-bottom:1px solid var(--line,#d9e1e8); }
.flight-calendar-title { margin:0 0 8px; color:var(--navy-950,#07111f); font-size:1.55rem; line-height:1.2; letter-spacing:-.02em; }
.flight-calendar-description { margin:0; color:var(--muted,#5f6d7d); font-size:.95rem; line-height:1.5; }
.flight-calendar-close,.flight-calendar-nav { display:grid; place-items:center; min-width:44px; min-height:44px; padding:0; border:1px solid var(--line,#d9e1e8); border-radius:50%; background:#fff; color:var(--navy-950,#07111f); font:inherit; cursor:pointer; }
.flight-calendar-close { flex-shrink:0; font-size:1.8rem; line-height:1; }
.flight-calendar-nav { font-size:1.3rem; }
.flight-calendar-close:hover,.flight-calendar-nav:hover:not(:disabled) { border-color:var(--gold,#c9932d); background:var(--gold-soft,#f6ecd8); }
.flight-calendar-nav:disabled { opacity:.28; cursor:default; }
.flight-calendar-body { padding:20px 26px 16px; }
.flight-calendar-summary { min-height:46px; display:flex; align-items:center; margin-bottom:18px; padding:12px 16px; border-radius:12px; background:var(--gold-soft,#f6ecd8); color:var(--navy-950,#07111f); font-size:.95rem; font-weight:750; }
.flight-calendar-navigation { display:flex; justify-content:space-between; margin-bottom:4px; }
.flight-calendar-months { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; }
.flight-calendar-month { min-width:0; }
.flight-calendar-month-title { margin:0 0 18px; text-align:center; font-size:1.1rem; line-height:1.4; color:var(--navy-950,#07111f); letter-spacing:0; }
.flight-calendar-grid { border-collapse:collapse; width:100%; table-layout:fixed; }
.flight-calendar-grid th { height:32px; padding:0 0 10px; color:var(--muted,#5f6d7d); font-size:.73rem; font-weight:700; text-align:center; }
.flight-calendar-grid td { padding:2px 0; text-align:center; }
.flight-calendar-day { display:inline-grid; place-items:center; width:44px; min-width:44px; height:44px; min-height:44px; padding:0; border:1px solid transparent; border-radius:50%; background:#fff; color:var(--navy-950,#07111f); font:inherit; font-size:.95rem; font-weight:650; cursor:pointer; }
.flight-calendar-day:hover:not(:disabled) { background:var(--gold-soft,#f6ecd8); border-color:var(--gold,#c9932d); }
.flight-calendar-day:disabled { background:transparent; color:#b2b9c2; cursor:default; font-weight:400; }
.flight-calendar-day.is-today:not(.is-selected) { border-color:var(--gold,#c9932d); }
.flight-calendar-grid td.is-in-range { background:#fcf5e7; }
.flight-calendar-day.is-range-end { background:var(--gold-soft,#f6ecd8); color:var(--navy-950,#07111f); }
.flight-calendar-day.is-selected { background:var(--gold,#c9932d); border-color:var(--gold,#c9932d); color:var(--navy-950,#07111f); font-weight:850; }
.flight-calendar-help { margin:0; padding:15px 26px 20px; border-top:1px solid var(--line,#d9e1e8); color:var(--muted,#5f6d7d); text-align:center; font-size:.78rem; line-height:1.5; }
@media(max-width:760px) {
  .flight-calendar-overlay { padding:8px; }
  .flight-calendar-dialog { max-width:440px; max-height:calc(100dvh - 16px); border-radius:20px; }
  .flight-calendar-header { padding:20px 18px 16px; }
  .flight-calendar-title { font-size:1.3rem; }
  .flight-calendar-description { font-size:.87rem; }
  .flight-calendar-body { padding:16px 12px 12px; }
  .flight-calendar-summary { font-size:.85rem; margin-bottom:16px; padding:11px 12px; }
  .flight-calendar-months { display:block; }
  .flight-calendar-month[data-calendar-month="1"] { display:none; }
  .flight-calendar-month-title { margin:0 0 14px; }
  .flight-calendar-help { padding:14px 18px 18px; font-size:.73rem; }
  .flight-calendar-trigger { min-height:48px; padding:10px 6px; }
}
@media(max-width:360px) {
  .flight-calendar-overlay { padding:4px; }
  .flight-calendar-dialog { border-radius:16px; }
  .flight-calendar-body { padding:12px 0; }
  .flight-calendar-navigation,.flight-calendar-summary { margin-inline:8px; }
}
