/* Delivery Date/Shipping/TimeSlot Modal - Modern UI */

/* Modal content card */
#deliverydatepicker {
    border-radius: 20px !important;
    overflow: hidden;
    border: none !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
    padding: 24px 20px 20px !important;
    max-width: 420px;
    margin: 0 auto;
}
#datec .modal-dialog {
    max-width: 460px !important;
}

/* Step badge */
.dlv-step-badge {
    display: inline-block;
    background: #e8f9ee;
    color: #22a652;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 8px;
    letter-spacing: 0.3px;
}

/* Modal headers - override old styles */
#deliverydatepicker .modal-header {
    border-bottom: none !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 16px;
    position: relative;
}
#deliverydatepicker .modal-header h2 {
    text-align: center;
    font-weight: 800 !important;
    font-size: 20px !important;
    color: #1a1a1a !important;
    margin: 0 !important;
    font-family: inherit !important;
    font-style: normal !important;
}
#deliverydatepicker .modal-header .dlv-subtitle {
    font-size: 13px;
    color: #888;
    margin-top: 2px;
}

/* Close button */
#deliverydatepicker .modal-header .close,
#deliverydatepicker .dlv-close-btn {
    position: absolute !important;
    top: 0;
    right: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f5f5f5 !important;
    border: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 18px !important;
    color: #666 !important;
    opacity: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    cursor: pointer;
    transition: background 0.2s;
}
#deliverydatepicker .modal-header .close:hover,
#deliverydatepicker .dlv-close-btn:hover {
    background: #eee !important;
}

/* Back arrow button */
#deliverydatepicker .back-arraow,
#deliverydatepicker .dlv-back-btn {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f5f5f5 !important;
    border: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 18px !important;
    color: #666 !important;
    opacity: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    cursor: pointer;
    text-shadow: none !important;
    transition: background 0.2s;
}
#deliverydatepicker .back-arraow:hover,
#deliverydatepicker .dlv-back-btn:hover {
    background: #eee !important;
}

/* Calendar overrides */
#deliverydatepicker .ui-datepicker {
    width: 100% !important;
    max-width: 100% !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: 'Open Sans', -apple-system, sans-serif !important;
}
#deliverydatepicker .ui-datepicker-header {
    background: transparent !important;
    border: none !important;
    padding: 10px 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
#deliverydatepicker .ui-datepicker-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}
#deliverydatepicker .ui-datepicker .ui-datepicker-prev,
#deliverydatepicker .ui-datepicker .ui-datepicker-next {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f5f5f5 !important;
    border: none !important;
    top: 50% !important;
    transform: translateY(-50%);
    display: flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer !important;
    transition: background 0.2s;
}
#deliverydatepicker .ui-datepicker .ui-datepicker-prev:hover,
#deliverydatepicker .ui-datepicker .ui-datepicker-next:hover {
    background: #eee !important;
}
#deliverydatepicker .ui-datepicker .ui-datepicker-prev {
    left: 0 !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
}
#deliverydatepicker .ui-datepicker .ui-datepicker-next {
    right: 0 !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
}

/* Day headers */
#deliverydatepicker thead * {
    font: 600 13px 'Open Sans', sans-serif !important;
    color: #999 !important;
    text-transform: uppercase;
    background: transparent !important;
}
#deliverydatepicker .ui-datepicker th {
    padding: 10px 0 !important;
    font-size: 12px !important;
}

/* Day cells */
#deliverydatepicker table tr td {
    padding: 4px !important;
    text-align: center !important;
}
#deliverydatepicker .ui-datepicker-calendar .ui-state-default {
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    border-radius: 50% !important;
    text-align: center !important;
    margin: 0 auto !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    background: transparent !important;
    border: none !important;
    transition: all 0.15s;
}
#deliverydatepicker .ui-datepicker-calendar .ui-state-default:hover {
    background: #f0f0f0 !important;
}
#deliverydatepicker .ui-datepicker .ui-state-hover,
#deliverydatepicker .ui-datepicker .ui-state-active {
    background: #22a652 !important;
    color: #fff !important;
    border-radius: 50% !important;
}
#deliverydatepicker .ui-datepicker-calendar a {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
}
#deliverydatepicker .ui-datepicker .ui-state-active {
    color: #fff !important;
}
#deliverydatepicker .ui-state-disabled .ui-state-default {
    color: #ccc !important;
    opacity: 0.5 !important;
}

/* Toast messages */
#deliverydatepicker .delivery-on-calender {
    text-align: center;
    font-size: 13px;
    color: #e25950;
    padding: 6px 0;
}

/* Shipping method list */
#deliverydatepicker .delivery-shipping-method ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-y: auto;
    max-height: 360px;
}
#deliverydatepicker .delivery-shipping-method ul li {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    margin-bottom: 12px !important;
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    line-height: 1.4 !important;
    background: #fff;
}
#deliverydatepicker .delivery-shipping-method ul li:hover {
    border-color: #22a652 !important;
    box-shadow: 0 2px 8px rgba(34, 166, 82, 0.08);
}
#deliverydatepicker .delivery-shipping-method ul li label {
    display: flex !important;
    align-items: center;
    width: 100%;
    margin: 0 !important;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}
#deliverydatepicker .delivery-shipping-method ul li input[type="radio"] {
    width: 20px;
    height: 20px;
    margin-right: 14px;
    flex-shrink: 0;
    accent-color: #22a652;
}
#deliverydatepicker .delivery-shipping-method ul li .productprice {
    margin-left: auto !important;
    float: none !important;
    background: #22a652 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 5px 14px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap;
    display: inline-flex !important;
    align-items: center;
}

/* Time slot list */
#deliverydatepicker .delivery-timeslot ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-y: auto;
    max-height: 360px;
}
#deliverydatepicker .delivery-timeslot ul li {
    display: flex !important;
    align-items: center;
    width: 100% !important;
    margin-bottom: 12px !important;
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    padding: 14px 16px !important;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    line-height: 1.4 !important;
    background: #fff;
    height: auto !important;
}
#deliverydatepicker .delivery-timeslot ul li:hover {
    border-color: #22a652 !important;
    box-shadow: 0 2px 8px rgba(34, 166, 82, 0.08);
}
#deliverydatepicker .delivery-timeslot ul li label {
    display: flex !important;
    align-items: center;
    width: 100%;
    margin: 0 !important;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}
#deliverydatepicker .delivery-timeslot ul li input[type="radio"] {
    width: 20px;
    height: 20px;
    margin-right: 14px;
    flex-shrink: 0;
    accent-color: #22a652;
}

/* ===== Product page form fields - modern rounded styling ===== */

/* City input (Google API text field) */
#product .ss_google_api {
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    padding: 12px 40px 12px 38px !important;
    font-size: 14px !important;
    background: #fafafa !important;
    height: auto !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#product .ss_google_api:focus {
    border-color: #22a652 !important;
    box-shadow: 0 0 0 3px rgba(34, 166, 82, 0.08) !important;
    background: #fff !important;
}

/* City dropdown select */
#product #input-delivery_city {
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    background: #fafafa !important;
    height: auto !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    appearance: none;
    -webkit-appearance: none;
}
#product #input-delivery_city:focus {
    border-color: #22a652 !important;
    box-shadow: 0 0 0 3px rgba(34, 166, 82, 0.08) !important;
    background: #fff !important;
}

/* Delivery Date clickable field */
#product .ss_delivery_date {
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    padding: 12px 40px 12px 38px !important;
    font-size: 14px !important;
    background: #fafafa !important;
    height: auto !important;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    line-height: 1.5 !important;
}
#product .ss_delivery_date:hover {
    border-color: #22a652 !important;
    box-shadow: 0 2px 8px rgba(34, 166, 82, 0.08);
}
#product .ss_delivery_date.mobile_delivery_date {
    border-color: #22a652 !important;
    background: #fff !important;
}

/* Writing on Cake input */
#product .message_on_cake {
    border: 2px solid #eee !important;
    border-radius: 12px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    background: #fafafa !important;
    height: auto !important;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#product .message_on_cake:focus {
    border-color: #22a652 !important;
    box-shadow: 0 0 0 3px rgba(34, 166, 82, 0.08) !important;
    background: #fff !important;
}
#product .message_on_cake:disabled {
    opacity: 0.5;
    background: #f5f5f5 !important;
}

/* Writing on Cake label */
#product .message_on_cake + span,
#product .required > label {
    font-size: 12px;
    color: #888;
    margin-top: 4px;
    display: inline-block;
}

/* Icon buttons (left side calendar/pin) */
#product .cross-input-left {
    top: 50% !important;
    transform: translateY(-50%);
    left: 12px !important;
    padding: 0 !important;
    color: #22a652 !important;
}
#product .cross-input-left .clear-pin,
#product .cross-input-left i {
    color: #22a652 !important;
    position: static !important;
    font-size: 15px;
}

/* Arrow/close button (right side) */
#product .ss_delivery_date ~ .cross-input,
#product .ss_google_api ~ .cross-input {
    top: 50% !important;
    transform: translateY(-50%);
    right: 10px !important;
    padding: 6px !important;
    background: #22a652 !important;
    border-radius: 50% !important;
    width: 28px;
    height: 28px;
    display: flex !important;
    align-items: center;
    justify-content: center;
}
#product .ss_delivery_date ~ .cross-input i,
#product .ss_google_api ~ .cross-input i {
    color: #fff !important;
    position: static !important;
    font-size: 12px;
}

/* Required wrapper needs relative positioning for absolute icons */
#product .form-group .required {
    position: relative;
}

/* Delivery note styling */
#product .delivery-note {
    background: #e8f9ee !important;
    border: 1px solid #c8ecd4 !important;
    color: #1a7a3a !important;
    border-radius: 10px !important;
    padding: 10px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* Remove pulsing animation on active fields */
#product .activeinput {
    animation: none !important;
    -webkit-animation: none !important;
}
#product .ss_delivery_date.activeinput {
    border-color: #22a652 !important;
    opacity: 1 !important;
}

/* Responsive */
@media (max-width: 576px) {
    #deliverydatepicker {
        padding: 20px 16px 16px !important;
        border-radius: 16px !important;
    }
    #datec .modal-dialog {
        margin: 16px !important;
        max-width: calc(100% - 32px) !important;
    }
    #deliverydatepicker .ui-datepicker-calendar .ui-state-default {
        width: 34px !important;
        height: 34px !important;
        line-height: 34px !important;
        font-size: 13px !important;
    }
}
