/**
 * Styling for the popup calendar in assets/datepicker.js - kept as its
 * own small stylesheet (rather than folded into registration-style.css
 * or admin.css) since it's the one asset genuinely shared, unmodified,
 * between the frontend registration form/dashboard tab AND the wp-admin
 * Submissions editor - see PTRF_Registration::maybe_enqueue_frontend_
 * script() and PTRF_Admin::admin_assets() for where each enqueues it.
 *
 * Appended to <body> (not inline in the form) so it isn't clipped by
 * any ancestor's overflow:hidden - positioned via inline top/left set
 * in JS from the input's own bounding rect, this file only styles its
 * appearance.
 */
.ptrf-datepicker-popup {
    position: absolute;
    z-index: 100000;
    width: 280px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(16, 24, 40, 0.08), 0 16px 40px rgba(16, 24, 40, 0.14);
    padding: 16px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    box-sizing: border-box;
}

.ptrf-datepicker-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.ptrf-datepicker-title {
    font-size: 15px;
    font-weight: 600;
    color: #1a1d23;
    text-transform: capitalize;
}

.ptrf-datepicker-nav {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    color: #4b5563;
    padding: 4px 8px;
    border-radius: 6px;
}

.ptrf-datepicker-nav:hover {
    background: #f3f4f6;
}

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

.ptrf-datepicker-weekdays span {
    text-align: center;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #9ca3af;
}

.ptrf-datepicker-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    row-gap: 4px;
}

.ptrf-datepicker-day {
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    width: 34px;
    height: 34px;
    line-height: 34px;
    margin: 0 auto;
    border-radius: 50%;
    font-size: 14px;
    color: #1a1d23;
    text-align: center;
}

.ptrf-datepicker-day.is-blank {
    cursor: default;
}

.ptrf-datepicker-day:not(.is-blank):hover {
    background: #f3f4f6;
}

.ptrf-datepicker-day.is-today {
    font-weight: 600;
    box-shadow: inset 0 0 0 1px #1a1d23;
}

.ptrf-datepicker-day.is-selected {
    background: #1a1d23;
    color: #fff;
    /* Wins over .is-today's outline when today is also the selected day. */
    box-shadow: none;
}

/**
 * Time popup (data-ptrf-timepicker, assets/datepicker.js) - reuses
 * .ptrf-datepicker-popup for the outer card, this only styles the
 * scrollable list of times inside it.
 */
.ptrf-timepicker-popup {
    padding: 8px;
}

.ptrf-timepicker-list {
    max-height: 240px;
    overflow-y: auto;
}

.ptrf-timepicker-time {
    display: block;
    width: 100%;
    appearance: none;
    background: none;
    border: none;
    cursor: pointer;
    text-align: center;
    font-size: 14px;
    color: #1a1d23;
    padding: 8px;
    border-radius: 8px;
}

.ptrf-timepicker-time:hover {
    background: #f3f4f6;
}

.ptrf-timepicker-time.is-selected {
    background: #1a1d23;
    color: #fff;
}
