/* ==========================================================================
   City Selection Checkout Containers (Classic Mode)
   ========================================================================== */
.cws-checkout-field {
    margin-bottom: 15px;
    width: 100%;
}

.cws-checkout-field label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
    color: #334155;
    font-size: 14px;
}

.cws-checkout-field select,
.cws-checkout-field input[type="text"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 14px;
    background: #ffffff;
    transition: all 0.2s ease;
}

.cws-checkout-field select:focus,
.cws-checkout-field input[type="text"]:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
    outline: none;
}

/* Zone Radio Card Group */
.cws-zone-selector-group {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    width: 100%;
}

.cws-zone-card {
    flex: 1;
    position: relative;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 12px 16px;
    cursor: pointer;
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.25s ease;
    user-select: none;
}

.cws-zone-card:hover {
    border-color: #9ca3af;
    background: #f9fafb;
}

.cws-zone-card.selected {
    border-color: #4f46e5;
    background: rgba(79, 70, 229, 0.04);
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.05);
}

.cws-zone-card input[type="radio"] {
    margin: 0;
    width: 16px;
    height: 16px;
    accent-color: #4f46e5;
    cursor: pointer;
}

.cws-zone-card-label {
    display: flex;
    flex-direction: column;
}

.cws-zone-card-title {
    font-weight: 600;
    font-size: 13px;
    color: #1f2937;
}

.cws-zone-card-desc {
    font-size: 11px;
    color: #6b7280;
}

/* ==========================================================================
   One-Page Simplified Checkout Layout (Precise Styles)
   ========================================================================== */

/* Force checkout & cart background to soft gray, expand main content area, hide sidebars and coupon banners */
body.woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-checkout #primary,
body.woocommerce-cart #primary,
body.woocommerce-checkout #content,
body.woocommerce-cart #content,
body.woocommerce-checkout .site-content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout main,
body.woocommerce-cart main,
body.woocommerce-checkout .content-area,
body.woocommerce-cart .content-area,
body.woocommerce-checkout .col-md-9,
body.woocommerce-cart .col-md-9,
body.woocommerce-checkout .col-lg-9,
body.woocommerce-cart .col-lg-9 {
    background-color: #f1f5f9 !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    float: none !important;
    flex: 0 0 100% !important;
}

/* Hide theme sidebars on checkout & cart page completely */
body.woocommerce-checkout aside,
body.woocommerce-cart aside,
body.woocommerce-checkout .sidebar,
body.woocommerce-cart .sidebar,
body.woocommerce-checkout #sidebar,
body.woocommerce-cart #sidebar,
body.woocommerce-checkout .widget-area,
body.woocommerce-cart .widget-area,
body.woocommerce-checkout #secondary,
body.woocommerce-cart #secondary,
body.woocommerce-checkout .checkout-sidebar,
body.woocommerce-cart .checkout-sidebar,
body.woocommerce-checkout .col-md-3,
body.woocommerce-cart .col-md-3,
body.woocommerce-checkout .col-lg-3,
body.woocommerce-cart .col-lg-3,
body.woocommerce-checkout .sidebar-container,
body.woocommerce-cart .sidebar-container {
    display: none !important;
    width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Hide WooCommerce default top coupon alerts and info bars */
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-info:has(a.showcoupon),
body.woocommerce-checkout .showcoupon {
    display: none !important;
}

/* Reset default WooCommerce grid floats */
.cws-one-page-checkout-form #customer_details,
.cws-one-page-checkout-form #order_review {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.cws-one-page-checkout-form #order_review_heading {
    display: none !important;
}

/* Two column grid container */
.cws-checkout-grid {
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 30px !important;
    align-items: start !important;
    padding: 20px 0 !important;
    background: #f1f5f9 !important;
}

/* White card wrappers */
.cws-checkout-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 30px !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
}

.cws-card-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    border: none !important;
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    text-align: left !important;
}

/* Bulletproof hiding of WooCommerce default checkout fields */
#billing_city_field,
#billing_last_name_field,
#billing_company_field,
#billing_address_2_field,
#billing_postcode_field,
#billing_state_field,
#billing_country_field,
#billing_email_field,
#shipping_fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.cws-one-page-checkout-form .woocommerce-billing-fields > h3,
.cws-one-page-checkout-form h3,
.cws-one-page-checkout-form #order_review_heading {
    display: none !important;
}

/* Hide number spinners from qty inputs */
.cws-qty-input::-webkit-outer-spin-button,
.cws-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
.cws-qty-input {
    -moz-appearance: textfield !important;
}

/* Form field formatting override */
.cws-one-page-checkout-form p.form-row {
    margin-bottom: 20px !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
    display: block !important;
}

.cws-one-page-checkout-form p.form-row label {
    display: block !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}

.cws-one-page-checkout-form p.form-row input.input-text,
.cws-one-page-checkout-form p.form-row select {
    width: 100% !important;
    height: 48px !important;
    padding: 10px 16px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    background-color: #ffffff !important;
    color: #0f172a !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.cws-one-page-checkout-form p.form-row input.input-text::placeholder {
    color: #94a3b8 !important;
}

.cws-one-page-checkout-form p.form-row input.input-text:focus,
.cws-one-page-checkout-form p.form-row select:focus {
    border-color: #000000 !important;
    box-shadow: 0 0 0 1px #000000 !important;
}

/* Product list inside right panel */
.cws-review-header {
    display: flex !important;
    justify-content: space-between !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding-bottom: 10px !important;
    margin-bottom: 15px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: #0f172a !important;
}

.cws-review-products {
    margin-bottom: 20px !important;
}

.cws-review-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding: 15px 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
}

.cws-review-item:first-child {
    padding-top: 0 !important;
}

.cws-item-left {
    display: flex !important;
    gap: 15px !important;
    align-items: flex-start !important;
}

.cws-item-thumb img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    border: 1px solid #e2e8f0 !important;
    display: block !important;
}

.cws-item-details {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}

.cws-item-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    text-align: left !important;
    line-height: 1.4 !important;
}

.cws-item-meta {
    font-size: 12px !important;
    color: #64748b !important;
    text-align: left !important;
}

.cws-item-meta p {
    margin: 0 !important;
    padding: 0 !important;
}

/* Quantity capsule adjuster */
.cws-qty-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 20px !important;
    padding: 2px 6px !important;
    width: fit-content !important;
    background: #ffffff !important;
    margin-top: 8px !important;
}

.cws-qty-btn {
    background: none !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    cursor: pointer !important;
    padding: 0 8px !important;
    margin: 0 !important;
    line-height: 1 !important;
    outline: none !important;
}

.cws-qty-btn:hover {
    color: #0f172a !important;
}

.cws-qty-input {
    width: 24px !important;
    border: none !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    pointer-events: none !important;
}

.cws-item-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 12px !important;
}

.cws-item-price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}

.cws-item-remove {
    background: none !important;
    border: none !important;
    color: #ef4444 !important;
    font-size: 18px !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-weight: bold !important;
}

.cws-item-remove:hover {
    color: #b91c1c !important;
}

/* Totals Summary Row formatting */
.cws-review-totals {
    border-top: 1px solid #cbd5e1 !important;
    padding-top: 15px !important;
    margin-bottom: 20px !important;
}

.cws-totals-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 0 !important;
    font-size: 14px !important;
}

.cws-totals-row .cws-label {
    color: #475569 !important;
    font-weight: 500 !important;
    text-align: left !important;
}

.cws-totals-row .cws-value {
    font-weight: 600 !important;
    color: #0f172a !important;
    text-align: right !important;
}

/* Delivery charge label and methods list formatting */
.cws-totals-row.shipping-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
}

.cws-totals-row.shipping-row .cws-value {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
}

.cws-totals-row.shipping-row ul#shipping_method {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.cws-totals-row.shipping-row ul#shipping_method li {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

.cws-totals-row.shipping-row ul#shipping_method li input[type="radio"] {
    margin: 0 !important;
    width: 14px !important;
    height: 14px !important;
    accent-color: #000000 !important;
}

.cws-totals-row.shipping-row ul#shipping_method li label {
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline !important;
    margin: 0 !important;
    font-size: 14px !important;
    color: #0f172a !important;
}

.cws-shipping-desc {
    display: block !important;
    font-size: 12px !important;
    color: #64748b !important;
    font-weight: normal !important;
    margin-top: 3px !important;
}

/* Grand Total Row */
.cws-totals-row.grand-total-row {
    border-top: 1px solid #cbd5e1 !important;
    padding-top: 12px !important;
    margin-top: 8px !important;
    font-size: 16px !important;
}

.cws-totals-row.grand-total-row .cws-label {
    font-weight: 700 !important;
    color: #0f172a !important;
}

.cws-totals-row.grand-total-row .cws-value {
    font-weight: 800 !important;
    color: #2563eb !important;
    font-size: 18px !important;
}

/* Inline Promo Code form */
.cws-checkout-coupon-box {
    display: flex !important;
    gap: 10px !important;
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid #e2e8f0 !important;
}

.cws-checkout-coupon-box input {
    flex: 1 !important;
    padding: 10px 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    background: #ffffff !important;
    height: 40px !important;
    box-sizing: border-box !important;
}

.cws-checkout-coupon-box button {
    height: 40px !important;
    padding: 0 20px !important;
    background: #1e293b !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.cws-checkout-coupon-box button:hover {
    background: #0f172a !important;
}

/* Delivery warning/notice banner */
.cws-delivery-notice-box {
    display: flex !important;
    gap: 8px !important;
    align-items: center !important;
    background: #fef3c7 !important;
    border: 1px solid #fde68a !important;
    border-radius: 6px !important;
    padding: 12px 15px !important;
    margin-top: 15px !important;
    color: #92400e !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

.cws-delivery-notice-box .dashicons {
    font-size: 18px !important;
    width: 18px !important;
    height: 18px !important;
    color: #d97706 !important;
    flex-shrink: 0 !important;
}

.cws-delivery-notice-box p {
    margin: 0 !important;
}

/* Payment selection box layout */
.cws-payment-section {
    background: #f8fafc !important;
    border-radius: 8px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    border: 1px solid #e2e8f0 !important;
    box-sizing: border-box !important;
}

.cws-payment-section h3 {
    display: none !important;
}

.cws-payment-section ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: none !important;
}

.cws-payment-section ul.payment_methods li {
    padding: 5px 0 !important;
    margin: 0 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #0f172a !important;
    text-align: left !important;
}

.cws-payment-section ul.payment_methods li input[type="radio"] {
    margin: 0 !important;
    width: 16px !important;
    height: 16px !important;
    accent-color: #000000 !important;
}

.cws-payment-section .woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text {
    display: none !important;
}

.cws-payment-section #place_order {
    display: none !important;
}

/* Custom bottom submit button */
.cws-submit-order-wrapper {
    margin-top: 20px !important;
}

.cws-checkout-submit-btn {
    width: 100% !important;
    padding: 16px !important;
    background: #000000 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    text-align: center !important;
    display: block !important;
    transition: background 0.2s !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    text-transform: none !important;
}

.cws-checkout-submit-btn:hover {
    background: #1e293b !important;
}

/* Responsive columns */
@media (max-width: 991px) {
    .cws-checkout-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}
