/**
 * Calendar Multi-Day Selection Styles
 * 
 * Styles for highlighting consecutive day selections in the calendar
 * 
 * @package ATB Day Sheet
 */

/* Multi-day selection highlighting */
.ui-datepicker-calendar td.multi-day-start a,
.ui-datepicker-calendar td.multi-day-middle a,
.ui-datepicker-calendar td.multi-day-end a {
    background: #2ecc71 !important;
    color: #fff !important;
    font-weight: bold;
}

/* Start day - darker left border */
.ui-datepicker-calendar td.multi-day-start a {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    background: #2ecc71 !important;
}

/* Middle days - no border radius */
.ui-datepicker-calendar td.multi-day-middle a {
    border-radius: 0;
    background: #2ecc71 !important;
}

/* End day - darker right border */
.ui-datepicker-calendar td.multi-day-end a {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    background: #2ecc71 !important;
}

/* Hover states for multi-day selection */
.ui-datepicker-calendar td.multi-day-start a:hover,
.ui-datepicker-calendar td.multi-day-middle a:hover,
.ui-datepicker-calendar td.multi-day-end a:hover {
    background: #009be1 !important;
}

/* Error message styling */
.atb-calendar-error {
    display: none;
    margin-top: 10px;
    padding: 12px 15px;
    background-color: #ffebee;
    border: 1px solid #ef5350;
    border-radius: 4px;
    color: #c62828;
    font-size: 14px;
    line-height: 1.5;
}

.atb-calendar-error i {
    margin-right: 8px;
    color: #ef5350;
}

/* Multi-day calendar input - show date range */
.atb-calendar-container .atb-calendar-input {
    min-width: 200px;
}

/* Visual indicator for multi-day products */
.atb-calendar-container[data-multi-day="true"] .atb-calendar-label::after {
    content: " (Multi-day)";
    font-size: 0.85em;
    color: #666;
    font-weight: normal;
}

/* Connecting line between selected days */
.ui-datepicker-calendar td.multi-day-start,
.ui-datepicker-calendar td.multi-day-middle,
.ui-datepicker-calendar td.multi-day-end {
    position: relative;
}

.ui-datepicker-calendar td.multi-day-start::after,
.ui-datepicker-calendar td.multi-day-middle::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 100%;
    height: 2px;
    background: #2ecc71;
    transform: translateY(-50%);
    z-index: 0;
}

/* Hover state for all available days (blue) */
.ui-datepicker-calendar td.available-days a:hover,
.ui-datepicker-calendar td.partially-booked a:hover {
    background: #009be1 !important;
    color: #fff !important;
}

/* Single-day selected state (green) */
.ui-datepicker-calendar td.ui-datepicker-current-day a,
.ui-datepicker-calendar td.ui-state-active a {
    background: #2ecc71 !important;
    color: #fff !important;
}

.ui-datepicker-calendar td.multi-day-start a,
.ui-datepicker-calendar td.multi-day-middle a,
.ui-datepicker-calendar td.multi-day-end a {
    position: relative;
    z-index: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .atb-calendar-error {
        font-size: 13px;
        padding: 10px 12px;
    }
    
    .atb-calendar-container .atb-calendar-input {
        min-width: 180px;
        font-size: 14px;
    }
}
