/* Frontend styles for WooCommerce Pickup & Delivery */

/* Match default WooCommerce checkout styling */
.aicoso-pickup-delivery-form-wrapper {
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
}

/* Selector wrapper - no extra styling */
.aicoso-pickup-delivery-selector-wrapper {
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
}

.aicoso-pickup-delivery-selector {
    margin: 0;
}

/* Let form rows inherit WooCommerce default styles */
.aicoso-pickup-delivery-selector .form-row {
    /* Uses default WooCommerce form-row styles */
}

/* Clear floats after form rows */
.aicoso-pickup-delivery-delivery-options-inner:after,
.aicoso-pickup-delivery-pickup-options-inner:after {
    content: "";
    display: table;
    clear: both;
}

/* Options wrapper - clean layout */
.aicoso-pickup-delivery-options-wrapper {
    margin: 0;
    padding: 0;
}

.aicoso-pickup-delivery-delivery-options,
.aicoso-pickup-delivery-pickup-options {
    padding: 0;
    background-color: transparent;
    border: none;
    margin: 0;
}

.aicoso-pickup-delivery-delivery-options-inner,
.aicoso-pickup-delivery-pickup-options-inner {
    padding: 0;
    background-color: transparent;
    border: none;
}

.aicoso-pickup-delivery-delivery-options-inner h4,
.aicoso-pickup-delivery-pickup-options-inner h4 {
    display: none; /* Hide sub-headers for cleaner look */
}

/* Form fields - inherit WooCommerce defaults */
.aicoso-pickup-delivery-date-picker,
.aicoso-pickup-delivery-time-select,
.aicoso-pickup-delivery-location-select {
    margin: 0;
}

.aicoso-pickup-delivery-date-picker .form-row,
.aicoso-pickup-delivery-time-select .form-row,
.aicoso-pickup-delivery-location-select .form-row {
    /* Uses default WooCommerce form-row styles */
}

/* Match select field padding to WooCommerce defaults */
.aicoso-pickup-delivery-select,
.aicoso-pickup-delivery-time-select select,
.aicoso-pickup-delivery-location-select select,
#aicoso-pickup-delivery-type-select,
#aicoso-pickup-delivery-delivery-time-slot,
#aicoso-pickup-delivery-pickup-location {
    padding: .6180469716em !important;
    height: auto !important;
}

/* Match input field padding */
.aicoso-pickup-delivery-date-picker input[type="text"] {
    padding: .6180469716em !important;
    padding-right: 35px !important;
    height: auto !important;
}

/* Date picker wrapper with calendar icon */
.aicoso-pickup-delivery-date-wrapper {
    position: relative;
    display: block;
}

.aicoso-pickup-delivery-date-wrapper input[type="text"] {
    width: 100%;
}

.aicoso-pickup-delivery-calendar-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    cursor: pointer;
    line-height: 1;
    pointer-events: auto;
}

/* Make date input cursor pointer since it's readonly */
.aicoso-pickup-delivery-date-wrapper input[type="text"] {
    cursor: pointer;
}

/* Description text */
.aicoso-pickup-delivery-date-picker .description {
    display: block;
    margin-top: 4px;
    font-size: 0.92em;
    color: #666;
}

/* Location details */
.aicoso-pickup-delivery-location-details {
    margin-top: 1em;
    margin-bottom: 1.5em;
    padding: 1em;
    background-color: #f7f7f7;
    border-radius: 3px;
}

.aicoso-pickup-delivery-location-details p {
    margin: 0 0 0.5em;
}

.aicoso-pickup-delivery-location-details p:last-child {
    margin: 0;
}

/* Datepicker styling */
.ui-datepicker {
    width: 300px;
    padding: 10px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    z-index: 9999 !important;
}

.ui-datepicker-header {
    position: relative;
    padding: 5px 0;
    margin-bottom: 5px;
    border-bottom: 1px solid #eee;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    position: absolute;
    top: 5px;
    width: 20px;
    height: 20px;
    text-align: center;
    cursor: pointer;
}

.ui-datepicker-prev {
    left: 5px;
}

.ui-datepicker-next {
    right: 5px;
}

.ui-datepicker-title {
    text-align: center;
    font-weight: bold;
}

.ui-datepicker-calendar {
    width: 100%;
    border-collapse: collapse;
}

.ui-datepicker-calendar th {
    padding: 5px;
    text-align: center;
    font-weight: normal;
    border: 0;
}

.ui-datepicker-calendar td {
    padding: 2px;
    text-align: center;
}

.ui-datepicker-calendar a {
    display: block;
    padding: 5px;
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
}

.ui-datepicker-calendar .ui-state-active {
    background-color: #7f54b3;
    color: #fff;
}

/* Date colors */
.date-available {
    background-color: #e8f5e9 !important;
}

.date-blackout {
    background-color: #ffebee !important;
    text-decoration: line-through;
}

/* My Account order details */
.woocommerce-table--delivery-details,
.woocommerce-table--pickup-details {
    margin-bottom: 2em;
}

.woocommerce-table--delivery-details th,
.woocommerce-table--pickup-details th {
    text-align: left;
    padding: 10px;
    width: 30%;
}

.woocommerce-table--delivery-details td,
.woocommerce-table--pickup-details td {
    text-align: left;
    padding: 10px;
}

/* ================================
   CHECKOUT TEMPLATE STYLES
   (Moved from inline styles in templates)
   ================================ */

/* Form wrapper styling (from form-pickup-delivery.php) */
.aicoso-pickup-delivery-form-wrapper {
    margin-bottom: 2em;
    padding: 1em;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    background-color: #f8f8f8;
}

/* Selector wrapper improvements */
.aicoso-pickup-delivery-selector-wrapper {
    margin-bottom: 1em;
}

/* Fields inherit WooCommerce default styles - no additional styling needed */
/* All form-row, label, and input/select elements will use WooCommerce defaults */

/* Form row display adjustments (from form-pickup-delivery.php) */
.aicoso-pickup-delivery-selector .form-row {
    display: flex;
    align-items: center;
}

.aicoso-pickup-delivery-selector input[type="radio"] {
    margin-right: 0.5em;
}

.aicoso-pickup-delivery-selector label {
    margin-right: 2em;
}

/* Options wrapper layout */
.aicoso-pickup-delivery-options-wrapper {
    padding: 0 0 1em;
}

/* Delivery and pickup options styling (from form-pickup-delivery.php) */
.aicoso-pickup-delivery-delivery-options-inner,
.aicoso-pickup-delivery-pickup-options-inner {
    padding: 1em;
    background-color: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
}

/* Hide sub-headers to keep clean look */
.aicoso-pickup-delivery-delivery-options-inner h4,
.aicoso-pickup-delivery-pickup-options-inner h4 {
    display: none;
}

/* Remove any custom margins to match default fields */
.aicoso-pickup-delivery-date-picker,
.aicoso-pickup-delivery-time-select,
.aicoso-pickup-delivery-location-select {
    margin-bottom: 1.5em;
}

.aicoso-pickup-delivery-date-picker .description {
    display: block;
    margin-top: 4px;
    font-size: 0.92em;
    color: #666;
}

/* Location details styling */
.aicoso-pickup-delivery-location-details {
    margin-top: 1em;
    margin-bottom: 1.5em;
    padding: 1em;
    background-color: #f7f7f7;
    border-radius: 3px;
}

.aicoso-pickup-delivery-location-details p {
    margin: 0 0 0.5em;
}

.aicoso-pickup-delivery-location-details p:last-child {
    margin: 0;
}

/* ================================
   DUPLICATE PREVENTION STYLES
   (Moved from delivery-pickup-selector.php)
   ================================ */

/* Hide duplicate selectors and keep only the main one */
.aicoso-pickup-delivery-selector-wrapper:not(#aicoso-pickup-delivery-main-selector) {
    display: none !important;
}

/* Hide the hidden type field from checkout form display */
.aicoso-pickup-delivery-type-hidden {
    display: none !important;
}

/* Ensure only one instance is visible */
#aicoso-pickup-delivery-main-selector ~ .aicoso-pickup-delivery-selector-wrapper {
    display: none !important;
}

/* Hide blocks-generated duplicate fields */
.wc-block-checkout__additional-fields-wrapper [id*="aicoso-pickup-delivery"] {
    display: none !important;
}

.wc-block-components-checkout-step__content [id*="pickup-delivery"] {
    display: none !important;
}

/* Hide WooCommerce blocks checkout duplicate fields by ID patterns */
[id^="checkbox-control-"][id*="type"],
[id^="text-input-"][id*="delivery"],
[id^="text-input-"][id*="pickup"],
[id^="select-"][id*="type"] {
    display: none !important;
}

/* Responsive adjustments */
@media screen and (max-width: 600px) {
    .ui-datepicker {
        width: 280px;
    }
}