/* date-picker.css — Custom DOM date picker styles
   Scoped to .fp-datepicker to avoid collisions.
   Design system: --tech-blue #134160 / --tech-orange #FDA929 */

.fp-datepicker {
    position: absolute;
    z-index: 2147483647; /* always on top — must clear GHL iframe layers */
    width: 256px;
    background: #0d2e47;
    border: 1px solid rgba(58, 108, 147, 0.55);
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55), 0 2px 8px rgba(0, 0, 0, 0.35);
    padding: 12px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: 13px;
    color: #e5e7eb;
    user-select: none;
}

/* ── Header ─────────────────────────────────────────────────────────────── */

.fp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.fp-month-label {
    font-size: 13px;
    font-weight: 700;
    color: #f3f4f6;
    letter-spacing: 0.02em;
}

.fp-nav {
    background: none;
    border: 1px solid rgba(58, 108, 147, 0.4);
    color: #9ca3af;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
    padding: 0;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.fp-nav:hover {
    background: rgba(253, 169, 41, 0.12);
    border-color: rgba(253, 169, 41, 0.4);
    color: #FDA929;
}

.fp-nav:active {
    background: rgba(253, 169, 41, 0.22);
}

/* ── Weekday labels ──────────────────────────────────────────────────────── */

.fp-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 4px;
}

.fp-weekdays span {
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 2px 0;
}

/* ── Day grid ────────────────────────────────────────────────────────────── */

.fp-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}

.fp-day {
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #d1d5db;
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
    outline: none;
}

.fp-day:hover:not(.fp-empty):not(.fp-selected) {
    background: rgba(253, 169, 41, 0.14);
    color: #FDA929;
}

.fp-day:focus-visible:not(.fp-empty) {
    box-shadow: 0 0 0 2px rgba(253, 169, 41, 0.6);
}

.fp-day.fp-empty {
    cursor: default;
    pointer-events: none;
}

/* Today highlight */
.fp-day.fp-today:not(.fp-selected) {
    background: rgba(19, 65, 96, 0.8);
    border: 1px solid rgba(58, 108, 147, 0.7);
    color: #93c5fd;
    font-weight: 700;
}

/* Selected date */
.fp-day.fp-selected {
    background: #FDA929;
    color: #0d1f2d;
    font-weight: 700;
    border-radius: 6px;
}

.fp-day.fp-selected:hover {
    background: #fdb94a;
    color: #0d1f2d;
}

/* Today + selected */
.fp-day.fp-today.fp-selected {
    background: #FDA929;
    color: #0d1f2d;
    border: none;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */

.fp-footer {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid rgba(58, 108, 147, 0.25);
    gap: 6px;
}

.fp-footer button {
    flex: 1;
    background: none;
    border: 1px solid rgba(58, 108, 147, 0.4);
    color: #9ca3af;
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    padding: 5px 0;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.12s, color 0.12s, border-color 0.12s;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.fp-footer button:hover {
    background: rgba(253, 169, 41, 0.1);
    border-color: rgba(253, 169, 41, 0.4);
    color: #FDA929;
}

.fp-today-btn:hover {
    background: rgba(34, 197, 94, 0.1) !important;
    border-color: rgba(34, 197, 94, 0.4) !important;
    color: #4ade80 !important;
}
