/*
 Theme Name:   Golftio Child
 Description:  A child theme for my website
 Author:       Admin
 Template:     golftio
 Version:      1.0.0
*/

/* woo comerce short code checkout*/
/* ================================================================
   1. GLOBAL FIELD STYLING (The "Modern Block" Look)
   ================================================================ */
.woocommerce-checkout .form-row input.input-text, 
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container [role="combobox"] {
    background-color: #f7f7f7 !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 8px !important;
    padding: 12px 15px !important; /* Fixed typo here */
    height: 50px !important;
    font-size: 16px !important;
    color: #333 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .form-row label {
    font-weight: 600 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    display: block !important;
    color: #444 !important;
}

/* 1.1 CENTER DROPDOWN TEXT (Select2) */
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 50px !important;
    text-align: center !important;
    padding-left: 0 !important;
    color: #333 !important;
}

.select2-container--default .select2-selection--single {
    height: 50px !important;
    background-color: #f7f7f7 !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.select2-selection__arrow {
    height: 50px !important;
}

/* ================================================================
   2. SIDE-BY-SIDE FIELDS (City/State & Postcode/Phone)
   ================================================================ */
@media (min-width: 768px) {
    #billing_city_field, 
    #billing_state_field,
    #billing_postcode_field,
    #billing_phone_field {
        width: 48% !important;
        float: left !important;
        clear: none !important;
        margin-bottom: 20px !important;
    }

    #billing_city_field,
    #billing_postcode_field {
        margin-right: 4% !important;
    }

    .woocommerce-billing-fields__field-wrapper::after {
        clear: both !important;
        display: table !important;
        content: "" !important;
    }
}

/* ================================================================
   3. TWO-COLUMN LAYOUT & FORM PROTECTION (Desktop)
   ================================================================ */
@media (min-width: 992px) {
    form.checkout.woocommerce-checkout {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 40px !important;
        max-width: 1200px;
        margin: 0 auto;
    }

    #customer_details {
        flex: 0 0 58% !important;
        display: block !important;
    }

    .col-1, .col-2 {
        width: 100% !important;
        float: none !important;
        margin-bottom: 30px !important;
    }

    #order_review {
        flex: 0 0 38% !important;
        position: sticky;
        top: 20px;
        background: #ffffff !important;
        border: 1px solid #e5e5e5 !important;
        padding: 30px !important;
        border-radius: 12px !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
    }
    
    #order_review_heading {
        display: none; 
    }
}

/* ================================================================
   4. ORDER SUMMARY: BLOCK-STYLE WITH IMAGES
   ================================================================ */
.woocommerce-checkout-review-order-table thead {
    display: none;
}

.shop_table.woocommerce-checkout-review-order-table {
    border: none !important;
    width: 100% !important;
}

tr.cart_item {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
}

tr.cart_item td {
    padding: 0 !important;
    border: none !important;
}

.checkout-item-block {
    display: flex;
    align-items: center;
    gap: 15px;
}

.checkout-item-image {
    position: relative;
    width: 60px;
    height: 60px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 4px;
}

.checkout-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.qty-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #666;
    color: #fff;
    font-size: 11px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    z-index: 2;
}

.product-name-text {
    font-weight: 600;
    font-size: 15px;
    color: #333;
}
/*////////////////////////*/
/* Fix for the custom Play Date line in Checkout */
.checkout-item-details {
    display: flex;
    flex-direction: column; /* Stacks name and date vertically */
    justify-content: center;
}

.product-play-date {
    font-size: 13px !important;
    color: #666 !important;
    font-weight: 500 !important;
    margin-top: 2px;
    white-space: nowrap; /* Prevents the date from breaking onto two lines */
}

/* Ensure the product name doesn't crowd the date */
.product-name-text {
    display: block;
    line-height: 1.2;
    margin-bottom: 2px;
}

/* ================================================================
   5. TOTALS SECTION & SHIPPING SPACING
   ================================================================ */
.shop_table tfoot tr {
    display: flex;
    justify-content: space-between;
    padding: 12px 0 !important;
}

.shop_table tfoot th, 
.shop_table tfoot td {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Fix for Shipping Radio Buttons and Labels */
#shipping_method {
    margin: 0 !important;
    padding: 10px 0 0 15px !important; /* Adds space to the left */
    list-style: none !important;
}

#shipping_method li {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    gap: 12px !important; /* Space between radio and label */
    text-align: left !important;
}

#shipping_method input[type="radio"] {
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
}

#shipping_method label {
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #444 !important;
    cursor: pointer;
    line-height: 1.4 !important;
}

.order-total {
    border-top: 2px solid #000 !important;
    margin-top: 15px;
    padding-top: 20px !important;
}

.order-total th, 
.order-total td {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #000 !important;
}

/* ================================================================
   6. HIDE COUPON SECTION (Completely Removed)
   ================================================================ */
.woocommerce-form-coupon-toggle, 
.checkout_coupon,
.woocommerce-checkout .checkout_coupon {
    display: none !important;
}

/* ================================================================
   7. PAYMENT & PLACE ORDER BUTTON
   ================================================================ */
#payment {
    background: transparent !important;
    border: none !important;
    margin-top: 20px;
}

#payment ul.payment_methods li {
    background: #f9f9f9;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 15px !important;
    margin-bottom: 10px !important;
    list-style: none !important;
}

#place_order {
    background-color: #000 !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 18px !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    width: 100% !important;
    border: none !important;
    margin-top: 15px !important;
}

/* ================================================================
   8. HIDE CHECKOUT ERROR NOTICES
   ================================================================ */
.woocommerce-NoticeGroup-checkout,
.woocommerce-error {
    display: none !important;
} 

/* ================================================================
   9. BOLD ALL AMOUNT / PRICE VALUES
   ================================================================ */
.woocommerce-checkout-review-order-table .amount,
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .tax-rate td,
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-Price-currencySymbol {
    font-weight: 700 !important;
    color: #000 !important;
}

.order-total .amount {
    font-size: 22px !important;
}

/* Utility: Hiding the Postcode (if needed elsewhere) */
.form-row.hidden {
    display: none !important;
}


/*/////////////////////////*/
 


 /* Hide the default WooCommerce checkout overlay and spinner */
.woocommerce-checkout-review-order-table {
    opacity: 1 !important;
}
.blockUI.blockOverlay {
    display: none !important;
}
.woocommerce .loader {
    display: none !important;
}


/*///////////////////////////*/





/*////////////////////////*/

/* hotel WP HOTEL BOOKING place order */

/* Hide the entire Payment Method section */
.hb-payment-form {
    display: none !important;
}

/* 1. Force the Country dropdown to fill its container so nothing can sit next to it */
.hb-form-field-input .nice-select {
    width: 100% !important;
    display: block !important;
}

/* 2. Ensure labels always start on their own line */
.hb-form-field-label {
    display: block !important;
    width: 100% !important;
    margin-bottom: 5px;
}

/* 3. Seaview Gold Button for Place Order */
.hb-btn.hb-btn-place-order {
    background-color: #c5a059 !important; /* Seaview Gold */
    color: #fff !important;
    border: none !important;
    padding: 15px 25px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    transition: background 0.3s ease !important;
}

.hb-btn.hb-btn-place-order:hover {
    background-color: #b08d48 !important; /* Darker gold */
}

/* 3. The Gold Button for Place Order */
button.hb-btn.hb-btn-place-order {
    background-color: #c5a059 !important;
    color: #fff !important;
    border: none !important;
    width: 100% !important;
    padding: 18px !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

button.hb-btn.hb-btn-place-order:hover {
    background-color: #b08d48 !important;
}

/*  / rooms total value and text */
/* Container styling */
.hb-total-price {
    display: flex;
    align-items: baseline;
    gap: 8px; /* Space between Total: and price */
    margin-top: 10px;
}

/* "Total:" label */
.hb-total-price-text {
    font-size: 18px;
    color: #000000; /* Solid Black */
    font-weight: 500;
}

/* "$27.5" price value */
.hb-total-price-value {
    font-size: 26px;    /* Larger size for emphasis */
    font-weight: 600;   /* Semi-bold */
    color: #000000;     /* Solid Black */
}

@media (max-width: 768px) {
    .hb-total-price-value {
        font-size: 20px;
    }
}

/*//////////////////////////*/
 /*My account order css for image
 /* Container for the Product Cell */
.sv-order-row {
    display: flex;
    align-items: center; /* Centers text vertically against the image */
    gap: 15px;
    padding: 10px 0;
}

/* Make image look sharp */
.sv-order-img img {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    width: 80px !important; /* Slightly adjusted for better table fit */
    height: auto;
    display: block;
}

/* Stack Name over Quantity */
.sv-order-details-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
}

.sv-item-name a {
    font-size: 1.1em;
    font-weight: 700;
    color: #05441a; /* Your Green */
    text-decoration: none;
    line-height: 1.2;
    margin-bottom: 4px;
}

.sv-product-quantity {
    font-size: 0.95em;
    font-weight: 600;
    color: #444;
}

/* Ensure the table cell doesn't squash content */
.woocommerce-table__product-name {
    vertical-align: middle !important;
}

/* Final Force-Fix for Order Again Button */
p.order-again a.button, 
.woocommerce p.order-again a.button,
.woocommerce-view-order p.order-again a.button {
    background-color: #0e7a31 !important;
    color: #ffffff !important;
    border: none !important;
    display: inline-block !important;
}

/* Hover State for Order Again */
p.order-again a.button:hover,
.woocommerce-view-order p.order-again a.button:hover {
    background-color: #d4af37 !important; /* Gold on hover */
    color: #ffffff !important;
}

/* Home Page images for golf ad other Require this class */
/* The Responsive Container Approach */
.custom-uniform-img img {
    width: 100%;            /* Fills the width of the Elementor column */
    height: auto;           /* Allows the height to be defined by ratio */
    aspect-ratio: 16 / 9;   /* Forces all images to the same shape */
    object-fit: cover;      /* Prevents stretching/squishing */
    object-position: center;
}

/* Optional: Adjust the 'shape' for mobile if 16:9 looks too small */
@media (max-width: 767px) {
    .custom-uniform-img img {
        aspect-ratio: 4 / 3; /* Makes them a bit taller on mobile */
    }
}