/* ==========================================================================
   Duration Presets - Fixed for Timeline Preset Classes
   ========================================================================== */

.wsscd-preset-section {
    margin-bottom: var(--wsscd-spacing-xxl);
}

.wsscd-preset-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: var(--wsscd-gap-comfortable);
}

/* Timeline preset styles - refined to match overall aesthetic */
.wsscd-timeline-preset {
    position: relative;
    text-align: center;
}

.wsscd-timeline-preset__button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--wsscd-gap-tight);
    width: 100%;
    min-height: 100px;
    padding: var(--wsscd-padding-large) var(--wsscd-padding-medium);
    background: var(--wsscd-color-white);
    border: var(--wsscd-border-width) solid var(--wsscd-color-border-light);
    border-radius: var(--wsscd-radius-md);
    box-shadow: var(--wsscd-shadow-sm);
    cursor: pointer;
    transition: border-color var(--wsscd-transition-fast) ease, box-shadow var(--wsscd-transition-fast) ease, background var(--wsscd-transition-fast) ease;
    font-family: inherit;
}

.wsscd-timeline-preset__button:hover {
    border-color: var(--wsscd-color-border-dark);
    background: linear-gradient(to bottom, var(--wsscd-color-white), var(--wsscd-color-surface-light));
    box-shadow: var(--wsscd-shadow-sm);
}

.wsscd-timeline-preset__button:focus {
    outline: 2px solid var(--wsscd-color-primary);
    outline-offset: 2px;
    box-shadow: var(--wsscd-shadow-primary-sm);
}

.wsscd-timeline-preset--active .wsscd-timeline-preset__button {
    border-color: var(--wsscd-color-primary);
    border-width: 2px;
    background: var(--wsscd-color-primary);
    color: var(--wsscd-color-white);
    box-shadow: var(--wsscd-ring-primary), var(--wsscd-shadow-primary-md);
}

.wsscd-timeline-preset__icon {
    font-size: var(--wsscd-icon-xl);
    width: var(--wsscd-icon-xl);
    height: var(--wsscd-icon-xl);
    color: var(--wsscd-color-primary);
    transition: transform var(--wsscd-transition-fast) ease;
}

.wsscd-timeline-preset__button:hover .wsscd-timeline-preset__icon {
    transform: scale(1.05);
}

.wsscd-timeline-preset--active .wsscd-timeline-preset__icon {
    color: var(--wsscd-color-white);
    transform: scale(1);
}

.wsscd-timeline-preset__duration {
    font-size: var(--wsscd-font-size-large);
    font-weight: var(--wsscd-font-weight-semibold);
    color: var(--wsscd-color-text);
    letter-spacing: -0.01em;
}

.wsscd-timeline-preset--active .wsscd-timeline-preset__duration {
    color: var(--wsscd-color-white);
}

.wsscd-timeline-preset__name {
    font-size: var(--wsscd-font-size-small);
    color: var(--wsscd-color-text-muted);
    letter-spacing: 0.01em;
}

.wsscd-timeline-preset--active .wsscd-timeline-preset__name {
    color: var(--wsscd-overlay-white-heavy);
}

/* The preset's hover hint now uses the shared portal tooltip system
   (data-tooltip + .wsscd-tooltip-trigger on the button, rendered into
   #wpcontent) so it can't be clipped by the card's `overflow: hidden`.
   The old in-card `.wsscd-timeline-preset__tooltip` span was removed. */

/* Loading State */
.wsscd-preset-loading {
    grid-column: 1 / -1;
    padding: var(--wsscd-spacing-xxxl);
    text-align: center;
    color: var(--wsscd-color-text-muted);
}

/* Responsive design - Mobile first approach */
@media (max-width: 767px) {
    .wsscd-date-picker-wrapper {
        max-width: 100%;
    }
}

/* Date picker wrapper - Minimalist Design */
.wsscd-date-picker-wrapper {
    display: inline-flex;
    align-items: center;
    position: relative;
    flex: 1;
    min-width: 200px;
    max-width: 280px;
}

/* Date picker - inherits base input styling from _forms.css */
.wsscd-date-picker {
    width: 100%;
    height: var(--wsscd-picker-height);
    padding-right: var(--wsscd-picker-height); /* Extra padding for calendar icon */
}

/* Calendar icon button - Minimalist Design */
.wsscd-calendar-icon {
    position: absolute;
    right: var(--wsscd-border-width);
    top: var(--wsscd-border-width);
    bottom: var(--wsscd-border-width);
    width: var(--wsscd-calendar-icon-width);
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-left: var(--wsscd-border-width) solid var(--wsscd-color-border);
    cursor: pointer;
    transition: background-color var(--wsscd-transition-fast) ease;
}

.wsscd-calendar-icon:hover {
    background: var(--wsscd-color-surface);
}

.wsscd-calendar-icon .wsscd-icon {
    font-size: var(--wsscd-picker-icon-size);
    color: var(--wsscd-color-text-muted);
}

/* ==========================================================================
   Status Messages and Indicators
   ========================================================================== */

.wsscd-duration-display {
    background: linear-gradient(135deg, var(--wsscd-schedule-highlight) 0%, var(--wsscd-color-primary-bg) 100%);
    border: var(--wsscd-border-width) solid var(--wsscd-color-primary);
    border-left-width: var(--wsscd-border-width-accent);
    border-radius: var(--wsscd-radius-md);
    padding: var(--wsscd-padding-section) var(--wsscd-padding-spacious);
    margin: var(--wsscd-spacing-xxl) 0;
    box-shadow: var(--wsscd-shadow-sm);
}

.wsscd-duration-hint {
    margin-top: var(--wsscd-spacing-md);
    padding-top: var(--wsscd-spacing-md);
    border-top: var(--wsscd-border-width) solid var(--wsscd-color-primary-alpha-20);
    display: flex;
    align-items: center;
    gap: var(--wsscd-gap-sm-medium);
}

.wsscd-hint-text {
    font-size: var(--wsscd-font-size-base);
    color: var(--wsscd-color-text-muted);
}

.wsscd-timezone-value {
    font-size: var(--wsscd-font-size-medium);
    font-weight: var(--wsscd-font-weight-semibold);
    color: var(--wsscd-color-text);
}

/* ==========================================================================
   Validation Messages
   ========================================================================== */


/* Note: @keyframes wsscd-shake defined in shared/_utilities.css */

.wsscd-error-message {
    display: flex;
    align-items: center;
    gap: var(--wsscd-gap-tight);
    padding: var(--wsscd-padding-sm-large) var(--wsscd-padding-medium);
    background: var(--wsscd-color-danger-light);
    border: var(--wsscd-border-width) solid var(--wsscd-color-danger-border);
    border-left-width: var(--wsscd-border-width-accent);
    border-left-color: var(--wsscd-color-danger);
    border-radius: var(--wsscd-radius-sm);
    font-size: var(--wsscd-font-size-base);
    color: var(--wsscd-color-danger);
}

.wsscd-error-message .wsscd-icon {
    font-size: var(--wsscd-icon-small);
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 782px) {
    .wsscd-preset-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .wsscd-timeline-preset__button {
        min-height: 80px;
        padding: 12px;
    }
    
    .wsscd-timeline-preset__icon {
        font-size: var(--wsscd-font-size-xxxl);
    }
    
    .wsscd-rules-table th {
        width: auto;
        display: block;
        padding: 8px 0;
    }
    
    .wsscd-rules-table td {
        display: block;
        padding: 8px 0;
    }

}

@media (max-width: 600px) {
    .wsscd-preset-grid {
        grid-template-columns: 1fr;
    }
    
    .wsscd-timeline-preset__button {
        min-height: 80px;
        padding: 12px;
    }
    
    .wsscd-timeline-preset__icon {
        font-size: var(--wsscd-font-size-xxxl);
    }
    
    .wsscd-card__content {
        padding: 20px;
    }
    
    .wsscd-card__content h4 {
        font-size: var(--wsscd-font-size-medium);
    }
    
    .wsscd-card__content p {
        font-size: var(--wsscd-font-size-base);
    }
}

@media print {
    .wsscd-preset-grid {
        display: block;
    }
}

/* ==========================================================================
   Status Panel - Modern Design
   ========================================================================== */

.wsscd-status-panel {
    border-radius: var(--wsscd-radius-md);
    padding: 16px 20px;
    margin: 24px 0;
    display: flex;
    align-items: center;
    gap: 12px;
	animation: wsscd-slide-in-left var(--wsscd-transition-slow) ease;
}

/* Note: @keyframes wsscd-slide-in-left defined in shared/_utilities.css */

.wsscd-status-panel--success {
    background: var(--wsscd-color-success-light);
    border: 1px solid var(--wsscd-color-success-border);
    color: var(--wsscd-color-success-text);
}

.wsscd-status-panel--error {
    background: var(--wsscd-color-danger-light);
    border: 1px solid var(--wsscd-color-danger-border);
    color: var(--wsscd-color-danger-text);
}

.wsscd-status-panel--warning {
    background: var(--wsscd-color-warning-light);
    border: 1px solid var(--wsscd-color-warning-border);
    color: var(--wsscd-color-warning-text);
}

.wsscd-status-panel--info {
    background: var(--wsscd-color-info-light);
    border: 1px solid var(--wsscd-color-info-border);
    color: var(--wsscd-color-info-text);
}

.wsscd-status-icon {
    font-size: var(--wsscd-font-size-xxl);
}

.wsscd-status-message {
    flex: 1;
    font-size: var(--wsscd-font-size-medium);
}

/* ==========================================================================
   Loading States
   ========================================================================== */

/* Loading states handled by shared _components.css and wizard-steps.css */

/* Save indicator */
.wsscd-save-status {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: var(--wsscd-color-white);
    border: 1px solid var(--wsscd-color-border);
    border-radius: var(--wsscd-radius-sm);
    padding: 12px 20px;
    box-shadow: var(--wsscd-shadow-md);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: var(--wsscd-z-modal);
}

.wsscd-save-status.is-active .wsscd-icon {
    animation: wsscd-spin 1s linear infinite;
}

.wsscd-save-text {
    font-size: var(--wsscd-font-size-medium);
    color: var(--wsscd-color-text);
}

/* ==========================================================================
   jQuery UI Datepicker - Custom Styling
   ========================================================================== */

/* Datepicker container - Matches plugin card styling */
#ui-datepicker-div.ui-datepicker {
    display: none;
    position: absolute;
    background: var(--wsscd-color-white);
    border: var(--wsscd-border-width) solid var(--wsscd-color-border-light);
    border-radius: var(--wsscd-radius-md);
    box-shadow: var(--wsscd-shadow-md);
    padding: 0;
    font-family: var(--wsscd-font-family);
    font-size: var(--wsscd-font-size-medium);
    width: 300px;
    z-index: var(--wsscd-z-notification);
}

/* Datepicker header - Matches plugin card headers */
.ui-datepicker .ui-datepicker-header {
    background: var(--wsscd-color-surface);
    border: none;
    border-bottom: var(--wsscd-border-width) solid var(--wsscd-color-border-light);
    padding: var(--wsscd-spacing-base);
    position: relative;
}

.ui-datepicker .ui-datepicker-title {
    color: var(--wsscd-color-text);
    font-weight: var(--wsscd-font-weight-semibold);
    font-size: var(--wsscd-font-size-medium-large);
    text-align: center;
    line-height: var(--wsscd-line-height-tight);
    margin: 0;
}

/* Navigation buttons - WordPress button style */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    background: var(--wsscd-color-white);
    border: var(--wsscd-border-width) solid var(--wsscd-color-border);
    border-radius: var(--wsscd-radius-md);
    cursor: pointer;
    transition: border-color var(--wsscd-transition-fast) ease;
}

.ui-datepicker .ui-datepicker-prev {
    left: var(--wsscd-spacing-sm);
}

.ui-datepicker .ui-datepicker-next {
    right: var(--wsscd-spacing-sm);
}

.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
    border-color: var(--wsscd-color-border-dark);
}

/* Override jQuery UI default span hiding */
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 0 !important;
    position: relative;
    text-indent: 0 !important;
    overflow: visible !important;
}

/* CSS Triangle Arrow Icons - Gray on white */
.ui-datepicker .ui-datepicker-prev span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 6px solid var(--wsscd-color-text-muted);
}

.ui-datepicker .ui-datepicker-next span::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 6px solid var(--wsscd-color-text-muted);
}

.ui-datepicker .ui-datepicker-prev:hover span::before {
    border-right-color: var(--wsscd-color-text);
}

.ui-datepicker .ui-datepicker-next:hover span::before {
    border-left-color: var(--wsscd-color-text);
}

/* Fallback text arrows for older browsers */
@supports not (filter: drop-shadow(0 0 0 transparent)) {
    .ui-datepicker .ui-datepicker-prev span::before {
        content: '‹';
        border: none;
        width: auto;
        height: auto;
        font-size: var(--wsscd-font-size-xxxl);
        font-weight: bold;
        color: var(--wsscd-color-white);
        text-shadow: var(--wsscd-text-shadow-subtle);
        line-height: 1;
    }
    
    .ui-datepicker .ui-datepicker-next span::before {
        content: '›';
        border: none;
        width: auto;
        height: auto;
        font-size: var(--wsscd-font-size-xxxl);
        font-weight: bold;
        color: var(--wsscd-color-white);
        text-shadow: var(--wsscd-text-shadow-subtle);
        line-height: 1;
    }
}

/* Calendar table - WordPress standard spacing */
.ui-datepicker table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: var(--wsscd-spacing-xxs);
    padding: var(--wsscd-spacing-md);
}

.ui-datepicker th {
    background: var(--wsscd-color-primary-alpha-15);
    color: var(--wsscd-color-text-muted);
    font-weight: var(--wsscd-font-weight-semibold);
    font-size: var(--wsscd-font-size-small);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: var(--wsscd-spacing-sm) var(--wsscd-spacing-xs);
    text-align: center;
    border: none;
    border-radius: var(--wsscd-radius-md);
}

.ui-datepicker td {
    padding: 1px;
    border: none;
}

.ui-datepicker td a,
.ui-datepicker td span {
    display: block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    text-decoration: none;
    border-radius: var(--wsscd-radius-md);
    font-weight: var(--wsscd-font-weight-normal);
    font-size: var(--wsscd-font-size-medium);
    transition: none;
}

/* Default date cells - WordPress style with prominent visibility */
.ui-datepicker td a,
.ui-datepicker td a.ui-state-default {
    color: var(--wsscd-color-text);
    background: var(--wsscd-color-white);
    border: var(--wsscd-border-width) solid var(--wsscd-color-border-dark);
    font-weight: var(--wsscd-font-weight-semibold);
}

.ui-datepicker td a:hover,
.ui-datepicker td a.ui-state-default:hover {
    background: var(--wsscd-color-primary-alpha-10);
    border-color: var(--wsscd-color-primary);
    color: var(--wsscd-color-text);
}

/* Today's date - Matches badge alpha-15 pattern */
.ui-datepicker td.ui-datepicker-today a,
.ui-datepicker td a.ui-state-highlight {
    background: var(--wsscd-color-primary-alpha-15);
    border-color: var(--wsscd-color-primary);
    color: var(--wsscd-color-primary-dark);
    font-weight: var(--wsscd-font-weight-semibold);
}

.ui-datepicker td.ui-datepicker-today a:hover,
.ui-datepicker td a.ui-state-highlight:hover {
    background: var(--wsscd-color-primary-alpha-20);
    border-color: var(--wsscd-color-primary-dark);
    color: var(--wsscd-color-primary-dark);
}

/* Selected date - Alpha-15 pattern */
.ui-datepicker td.ui-datepicker-current-day a,
.ui-datepicker td a.ui-state-active {
    background: var(--wsscd-color-primary-alpha-15);
    border-color: var(--wsscd-color-primary);
    color: var(--wsscd-color-primary) !important;
    font-weight: var(--wsscd-font-weight-semibold);
    box-shadow: var(--wsscd-shadow-md);
}

/* Disabled/other month dates - Muted but visible */
.ui-datepicker td.ui-datepicker-other-month a {
    color: var(--wsscd-color-text-muted);
    background: var(--wsscd-color-surface);
    border-color: var(--wsscd-color-border-light);
    opacity: 0.6;
}

.ui-datepicker td.ui-datepicker-unselectable span {
    color: var(--wsscd-color-text-muted);
    background: var(--wsscd-color-surface);
    border-color: var(--wsscd-color-border-light);
    opacity: 0.6;
    cursor: not-allowed;
}

/* Weekend dates - No special styling for minimalist look */

/* Month/year dropdowns - WordPress select style */
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    background: var(--wsscd-color-white);
    border: var(--wsscd-border-width) solid var(--wsscd-color-border);
    border-radius: var(--wsscd-radius-md);
    color: var(--wsscd-color-text);
    font-size: var(--wsscd-font-size-base);
    font-weight: var(--wsscd-font-weight-normal);
    padding: var(--wsscd-spacing-xs) var(--wsscd-spacing-sm);
    margin: 0 var(--wsscd-spacing-xs);
}

.ui-datepicker select.ui-datepicker-month:focus,
.ui-datepicker select.ui-datepicker-year:focus {
    outline: 2px solid var(--wsscd-color-primary);
    outline-offset: 0;
    border-color: var(--wsscd-color-primary);
}

/* Clean datepicker appearance */
.ui-datepicker {
    /* Animations disabled in JavaScript configuration */
}

/* Button panel (if enabled) */
.ui-datepicker .ui-datepicker-buttonpane {
    background: var(--wsscd-color-surface);
    border-top: 1px solid var(--wsscd-color-border-light);
    padding: 12px;
    text-align: right;
    border-radius: 0 0 6px 6px;
}

.ui-datepicker .ui-datepicker-buttonpane button {
    background: var(--wsscd-color-primary);
    border: none;
    border-radius: var(--wsscd-radius-sm);
    color: var(--wsscd-color-white);
    cursor: pointer;
    font-size: var(--wsscd-font-size-base);
    font-weight: var(--wsscd-font-weight-medium);
    margin: 0 4px;
    padding: 6px 12px;
    transition: all var(--wsscd-transition-base) ease;
}

.ui-datepicker .ui-datepicker-buttonpane button:hover {
    background: var(--wsscd-color-primary-dark);
    /* transform: translateY(-1px); removed for instant state change */
}

/* Multi-month datepicker */
.ui-datepicker.ui-datepicker-multi {
    width: auto;
}

.ui-datepicker.ui-datepicker-multi .ui-datepicker-group {
    float: left;
}

.ui-datepicker.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 50%;
}

/* Responsive adjustments */
@media (max-width: 600px) {
    .ui-datepicker {
        width: 260px;
        font-size: var(--wsscd-font-size-base);
    }
    
    .ui-datepicker .ui-datepicker-header {
        padding: 12px;
    }
    
    .ui-datepicker .ui-datepicker-title {
        font-size: var(--wsscd-font-size-medium);
    }
    
    .ui-datepicker td a,
    .ui-datepicker td span {
        width: 28px;
        height: 28px;
        line-height: 28px;
        font-size: var(--wsscd-font-size-small);
    }
    
    .ui-datepicker th {
        padding: 6px 2px;
        font-size: var(--wsscd-font-size-small);
    }
}

/* WordPress Admin Color Scheme Adaptations - Simplified for minimalist design */

/*
 * No color scheme overrides needed!
 * The datepicker automatically adapts using --wp-admin-theme-color for:
 * - Today indicator dot
 * - Selected date background
 * - Focus states on dropdowns
 *
 * This keeps the code DRY and maintainable.
 */
