/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

 #recommended-replacement-price .woocommerce-Price-amount.amount::after {
    content: " (Incl. VAT)";
    font-size: 0.5em;
    color: #0061A6;
}


/* Style for the prices before tax */
.price-excl-vat {
    font-size: 0.85em;
    color: #666; 
}

/* When Product categories are displayed, this gets rid of excess padding underneath */
li.product-category.product {
    padding-bottom: 0px !important;
}

/* Add padding to the top of product Logo when displaing all products */
.ct-product-brands .ct-media-container {
	padding-top: 15px;
}


/* Makes the Category cards on the equipment overview page all the same height. */
.elementor-10512 .qodef-qi-info-cards {
	height: 100% !important;
}

/* Adjust the padding on the Container that displays an individial product */
.ct-container-full {
	padding-top: 0px;
	padding-bottom: 50px
}

/* Make product image smaller */
li.product .ct-media-container img {
    max-width: 80%; 
    margin: 0 auto;
    display: block;
}

/* Hide the woo card extra buttons (wishlist, compare, quick view) */
li.product .ct-woo-card-extra {
    display: none !important;
}

/* Center no. items in the cart */
.eael-woo-cart-td.product-quantity {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Hide the Update cart button as it update automatically */
.eael-cart-update-btn .button {
    display: none !important;
}


/* Hide default radio */
input[type="radio"].shipping_method {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #555;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  background: #fff;
  vertical-align: middle;
}

/* Show solid dot when selected */
input[type="radio"].shipping_method:checked::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 18px;
  height: 18px;
  background: rgb(64, 168, 221);
  border-radius: 50%;
}

.woocommerce, 
.woocommerce-checkout, 
.ct-woocommerce-checkout {
    max-width: 100% !important;
}

.woocommerce-form__label-for-checkbox {
  padding-bottom: 20px;
}

/* Ensure child containers also expand */
.col2-set, 
#customer_details, 
.col-1, 
.col-2 {
    width: 100% !important;
    max-width: none !important;
}
/* WooCommerce Info Banner */
.woocommerce-info {
	background-color: #40A8DD !important;
	color: white !important;
}
/* Change color of 'Place Order' Button on checkout */
button[name="woocommerce_checkout_place_order"] {
	color: white !important;
}

/* Makes the 'Add to cart' Button smaller on the cart page for extras or suggested products */
.ct-woo-card-actions .add_to_cart_button {
    font-size: 0.9em !important;
    padding: 0.3em 0.3em !important;
    line-height: 1.2 !important;
    border-radius: 4px !important;
}

/* Removes the vat text from basket icon */
.ct-amount {
	display: none;
}

/* Background set for Search modal */
#search-modal {
  background-color: rgba(0, 0, 0, 0.7) !important; /* black with 50% transparency */
}

/* Account settings MFA Button Effects */
.wordfence-2fa-btn:hover {
    background-color: #5BC0ED !important;
    color: white !important;
    border-color: inherit !important;
    box-shadow: none !important; /* optional, removes any shadow on hover */
}

/* Attachments/Documents Tab under Single Product **/
.woocommerce-Tabs-panel--wcpoa_product_tab .wcpoa_attachment {
  padding-left: 20px !important;
  color: black;
  display: absolute !important;
}

/* /woocommerce/orders/orders-notification.php */ 
.woocommerce-MyAccount-navigation a .order-badge {
    background: #ff4b4b;
    color: #ffffff;
    padding: 2px 7px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    font-size: 11px;
    font-weight: bold;
    line-height: 1;
    margin-left: 6px;
}

/* ---------- Container Styling ---------- */
#order_review {
    background: #ffffff;
    padding: 35px;
    border-radius: 12px;
    box-shadow: 0 4px 22px rgba(0,0,0,0.06);
    max-width: 1200px;
    margin: 0 auto;
    font-size: 16px;
}

/* ---------- Table Styling ---------- */
#order_review table.shop_table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 30px;
}

#order_review table.shop_table th {
    background: #f4f5f7;
    padding: 12px;
    text-align: left;
    font-weight: 600;
    font-size: 15px;
}

#order_review table.shop_table td {
    padding: 15px 12px;
    border-bottom: 1px solid #e8e8e8;
}

#order_review tfoot th {
    font-weight: 600;
    background: #fafafa;
}

#order_review tfoot td {
    font-weight: 600;
}

/* Highlight grand total */
#order_review tfoot tr:last-child td {
    font-size: 18px;
    color: #111;
}

/* ---------- Payment Box ---------- */
#payment {
    background: #f8f9fb;
    padding: 25px 30px;
    border-radius: 10px;
    border: 1px solid #e3e7ee;
}

#payment label {
    font-weight: 600;
    margin-bottom: 5px;
}

.payment_box {
    background: #fff !important;
    padding: 20px !important;
    border-radius: 10px;
    border: 1px solid #e2e6ec;
}

/* File upload input */
#wcpo-document-file {
    padding: 10px;
    border: 1px solid #d1d7e0;
    border-radius: 6px;
}

/* ---------- Privacy policy block ---------- */
.woocommerce-privacy-policy-text {
    margin: 10px 0 20px 0;
    background: #fff;
    padding: 15px;
    border-left: 4px solid #0073aa;
    border-radius: 6px;
}

/* ---------- Place Order Button ---------- */
button#place_order {
    width: 100%;
    padding: 16px;
    font-size: 17px;
    font-weight: 600;
    background: #0073aa;
    color: white;
    border-radius: 8px;
    transition: 0.25s ease;
}

button#place_order:hover {
    background: #005f8c;
}


/** 
* /woocommerce/myaccount/form-login.php 
*/
/* Container card */
.custom-login-container {
    max-width: 500px;
    margin: 60px auto;
    padding: 40px 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Logo */
.custom-login-container .login-logo {
    text-align: center;  
    margin: 0 auto 20px; 
}

/* Logo adjustments */
.custom-login-container .login-logo img {
    display: inline-block;   /* ensures the image is treated as inline for centering */
    max-width: 180px;
    height: auto;  
}

/* Guidance text */
.custom-login-container .login-instructions {
    background-color: #eef6fb;
    border-left: 4px solid #0073aa;
    color: #0d3b66;
    padding: 15px 18px;
    margin-bottom: 25px;
    border-radius: 6px;
    font-size: 14px;
}

/* Inputs */
.custom-login-container input.input-text {
    width: 100%;
    padding: 12px 15px;
    font-size: 15px;
    border: 1px solid #ccd0d5;
    border-radius: 6px;
    margin-top: 5px;
    box-sizing: border-box;
}

/* Password wrapper */
.password-wrapper {
    position: relative;
}

.toggle-password {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 16px;
}

/* Remember me */
.custom-login-container .remember-me-row {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}

/* Buttons */
.custom-login-container .woocommerce-button {
    width: 100%;
    background: #0073aa;
    color: #ffffff;
    padding: 14px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: all 0.25s ease;
}

.custom-login-container .woocommerce-button:hover {
    background: #005f8c;
}

/* Lost password link */
.custom-login-container .lost_password {
    text-align: center;
    margin-top: 15px;
}

.custom-login-container .lost_password a {
    color: #0073aa;
    text-decoration: underline;
}

.custom-login-container .lost_password a:hover {
    color: #005f8c;
}

#custom-dashboard .woocommerce > h2 {
    display: none !important;
}


/* -----------------------------
   MOBILE OPTIMIZATION
--------------------------------- */
@media screen and (max-width: 480px) {

    /* Container adjustments */
    .custom-login-container {
        max-width: 90%;
        padding: 30px 20px;
        margin: 40px auto;
    }

    /* Logo adjustments */
    .custom-login-container .login-logo img {
        display: inline-block;   /* ensures the image is treated as inline for centering */
        max-width: 180px;
        height: auto;  
    }

    /* Guidance text font */
    .custom-login-container .login-instructions {
        font-size: 13px;
        padding: 12px 15px;
    }

    /* Input font-size and padding */
    .custom-login-container input.input-text {
        font-size: 14px;
        padding: 10px 12px;
    }

    /* Button font-size and padding */
    .custom-login-container .woocommerce-button {
        font-size: 15px;
        padding: 12px;
    }

    /* Adjust spacing for remember me row */
    .custom-login-container .remember-me-row {
        flex-direction: column;
        align-items: flex-start;
        font-size: 14px;
    }

    .custom-login-container .remember-me-row input {
        margin-bottom: 8px;
    }
}

@media (max-width: 768px) {
  .woocommerce-cart-form,
  .woocommerce-cart-form table,
  .woocommerce-cart-form__cart-item,
  .woocommerce-cart-form__cart-item td {
		margin-top: 15px;
    box-sizing: border-box;
		display: flex; 
		flex-direction: column;
		align-items: center;      
    justify-content: center;  
		text-align: center !important;
  }
	
	.woocommerce-shipping-totals td {
	  width: 240%;
  }
	
	.woocommerce-cart-form thead {display: none;}

  .woocommerce-cart-form table {
    table-layout: fixed;
  }
	.woocommerce-cart-form__cart-item .product-name {
    font-size: 20px !important;
    line-height: 1.4;
  }

  .woocommerce {
    width: 100% !important;
		align-content: center;
  }
	.woocommerce-cart-form .product-remove {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
		margin-top: 0px !important;
	}
	.woocommerce-cart-form .product-thumbnail {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}
	.woocommerce-cart-form .product-quantity {
		padding-top: 0px !important;
	}
	.woocommerce-cart-form .cart-delivery-timeframe {
		padding-top: 20px;
	}
}