/*
Theme Name: Divi - Child theme
Theme URI: 
Version: 5.2
Description: Divi - Child 
Author: Cato
Author URI: https://gatto-perso.gr/
Template: Divi
*/
/*@import url(../Divi/style.css);*/
/* =Theme customization starts here

------------------------------------------------------- */

:root {
	--main: #c88a8b;
	--bg: #e5e1d8;
}

body, .et_pb_section {
	background-color: var(--bg);
}

/* ===== HEADER ===== */
.fixed-menu.et_pb_section {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 99;
	visibility: hidden;
	max-width: 700px;
	transform: translatex(-100%);
	transition: all 0.7s ease;
	padding: 5%;
	overflow: auto;
	z-index: 99999;
    border-right: 1px solid black;
}

.fixed-menu.et_pb_section.open {
	transform: translatex(0%);
	visibility: visible;
}

header .logo img {
	transition: all .7s ease;
}

header .et_pb_sticky--top .logo img {
	max-width: 76px;
}

/* 1. The container (the track) */
.fixed-menu::-webkit-scrollbar {
  width: 10px;               /* Width of the vertical scrollbar */
  height: 10px;              /* Height of the horizontal scrollbar */
}

/* 2. The background of the scrollbar */
.fixed-menu::-webkit-scrollbar-track {
  background: #f1f1f1;       /* Light grey track */
  border-radius: 10px;
}

/* 3. The draggable handle */
.fixed-menu::-webkit-scrollbar-thumb {
  background: #c88a8b;       /* Your primary color */
  border-radius: 10px;       /* Round edges for elegance */
  border: 2px solid #f1f1f1; /* Creates a "floating" effect against the track */
}

/* 4. Handle on hover */
.fixed-menu::-webkit-scrollbar-thumb:hover {
  background: #b37677;       /* A slightly darker shade for interaction */
}

/* Firefox Support */
* {
  scrollbar-width: thin;
  scrollbar-color: #c88a8b #f1f1f1;
}

.search-fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 50vh;
    z-index: 99;
    transition: all 0.7s ease;
    padding: 5% !important;
    overflow: auto;
    transform: translatey(-100%);
    z-index: 99999;
    visibility: hidden;
    border-bottom: 1px solid black;
}

.search-fixed.open {
	transform: translatey(0%);
	visibility: visible;	
}

.close-search, .open-search {
	cursor: pointer;
}

.close-search {
    position: fixed;
    right: 5%;
    top: 6%;
}

.open-menu {
	cursor: pointer;
}

.close-menu {
	position: fixed;
	top: 21%;
	right: 12px;
	cursor: pointer;
}

.fixed-menu .menu ul.sub-menu {
	visibility: visible;
	max-height: 1000px;
	opacity: 1;
	transition: all 1s ease;
}

.fixed-menu .menu ul.sub-menu.hidden {
	visibility: hidden;
	max-height: 0;
	opacity: 0;
}

.fixed-menu ul.menu > li > a {
	font-size: 30px;
	line-height: 1;
	transition: all .7s;
}

.fixed-menu ul.menu > li > a:hover {
	color: #594f4f;
}

.fixed-menu ul.menu > li > ul li a {
	font-size: 25px;
}

.fixed-menu ul.menu li.menu-item-has-children > a {
	position: relative;
    padding-right: 25px;
}

.fixed-menu ul.menu li.menu-item-has-children > a:before {
    content: '3';
    font-family: 'ETmodules';
    letter-spacing: -0.6px;
    font-size: 19px;
    font-weight: bold;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: fit-content;
    color: currentColor;
}

.fixed-menu .submenu-toggle {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}



/* ===== HOMEPAGE ===== */
.hm-carousel .et_pb_group {
	height: 100%;
}

.hm-carousel .woocommerce ul.products, .hm-carousel .woocommerce ul.products li.product {
	margin: 0;
}

/* ===== PRODUCT LOOP ===== */
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price {
	color: #272424 !important;
	text-align: center;
}

ul.products li.product .et_overlay {
	display: none;
}

/* 1. Base positioning */
.woocommerce ul.products li.product {
	position: relative;
}

/* 2. Hide icons by default */
.woocommerce ul.products li.product .mini-cart-icon,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product a.woosq-btn {
	opacity: 0;
	pointer-events: none;
	transform: translateX(10px);
	transition: all .25s ease;
}

/* 3. Show icons on product hover */
.woocommerce ul.products li.product:hover .mini-cart-icon,
.woocommerce ul.products li.product:hover .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product:hover a.woosq-btn {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(0);
}

/* 4. Common icon style (white circle) */
.woocommerce ul.products li.product .mini-cart-icon,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product a.woosq-btn {
	position: absolute;
	right: 14px;
	width: 42px;
	height: 42px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(0,0,0,.15);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	text-decoration: none;
}

/* 5. Cart icon position */
.woocommerce ul.products li.product .mini-cart-icon {
	top: 20px;
}

/* 6. Wishlist icon position (below cart) */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button {
	top: 70px;
	margin: 0;
}
.woocommerce ul.products li.product a.woosq-btn {
	top: 120px;
}

/* 7. Divi cart icon */
.woocommerce ul.products li.product .mini-cart-icon::before {
	font-family: 'ETmodules';
	content: "\e013"; /* Divi cart icon */
	font-size: 18px;
}

.woocommerce ul.products li.product .mini-cart-icon::before, .woocommerce ul.products li.product a.woosq-btn, .woocommerce ul.products li.product .tinvwl_add_to_wishlist_button::before {
	color: black;
}

/* 8. Divi heart icon */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button::before {
	font-family: 'ETmodules' !important;
	content: "\e089"; /* Divi heart icon */
	font-size: 18px;
}

/* 9. Remove default wishlist heart styling */
.tinvwl_add_to_wishlist_button {
	background-image: none !important;
}

/* 10. Hover feedback */
.woocommerce ul.products li.product .mini-cart-icon:hover,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:hover,
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button:hover {
	transform: scale(1.08);
}



/* ===== SINGLE PRODUCT LAYOUT ===== */
.single-product form.cart {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
}

/* Stack quantity above button */
.single-product form.cart {
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: stretch;
}

/* Quantity row */
.single-product .quantity {
	display: inline-flex;
	align-items: center;
	width: max-content;
}

/* Qty input */
.single-product .quantity input.qty {
	width: 48px !important;
	height: 40px !important;
	border: none !important;
	text-align: center !important;
	font-size: 15px !important;
	padding: 0 !important;
}

/* Remove browser arrows */
.single-product input.qty::-webkit-outer-spin-button,
.single-product input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.single-product input.qty {
	appearance: textfield;
	-moz-appearance: textfield;
}

/* +/- buttons */
.single-product .quantity .qty-btn {
	width: 40px;
	height: 40px;
	border: none;
	background: #fff;
	font-size: 18px;
	cursor: pointer;
	line-height: 1;
}

.single-product .quantity .qty-btn:not(:last-child) {
	border-right: 1px solid #ddd;
}

.single-product button.single_add_to_cart_button {
	width: 100% !important;
	height: 56px;
	background: #000 !important;
	color: #fff !important;
	border-radius: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	border: none !important;
}

.woocommerce.single-product.woocommerce-page button.button.single_add_to_cart_button:hover {
	background: var(--main) !important;
	color: white !important;
}


.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty {
	background: white;
	color: black;
}

.product-info .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before {
    color: var(--main);
    font-size: 36px;	
}

#billing_address_2_field {
	display: none !important;
}

/* ===== CHECKOUT ===== */

.woocommerce-privacy-policy-text {
    line-height: 1.2em;
    margin-top: 10px;
}

@media (min-width: 981px) {
    /* 1. The Main Layout */
    form.woocommerce-checkout {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 60px !important;
        align-items: flex-start !important;
    }

    /* 2. Left Column (Billing) */
    #customer_details {
        flex: 1 !important;
        min-width: 0 !important; /* Prevents flex overflow */
    }

    /* 3. Right Column (The White Box) */
    #order_review {
        flex: 0 0 400px !important;
        background: #ffffff !important;
        padding: 40px 30px 30px 30px !important;
        border-radius: 16px !important;
        box-shadow: 0 10px 40px rgba(0,0,0,0.06) !important;
        position: sticky !important;
        top: 120px !important;
        margin-top: 0 !important;
    }

    /* 4. Hide the ugly floating "Your Order" heading */
    #order_review_heading {
        display: none !important;
    }

    /* 5. Create a new Modern Title INSIDE the box */
    #order_review::before {
        content: "Order Summary"; /* Or "Your Order" */
        display: block;
        font-size: 22px;
        font-weight: 600;
        margin-bottom: 20px;
        color: #000;
        border-bottom: 1px solid #f0f0f0;
        padding-bottom: 15px;
    }

    /* 6. Clean up the Table */
    #order_review table.shop_table {
        border: none !important;
        background: transparent !important;
    }



    #order_review table.shop_table th, 
    #order_review table.shop_table td {
        border: none !important;
        padding: 10px 0 !important;
        background: transparent !important;

    }

    /* Make total row stand out */
    #order_review table.shop_table tr.order-total th,
    #order_review table.shop_table tr.order-total td {
        border-top: 2px solid #f0f0f0 !important;
        padding-top: 20px !important;
    }

}

/* Fix for input field styling to match your clean look */
.woocommerce-checkout .form-row input.input-text, 
.woocommerce-checkout .form-row textarea {
    background-color: #f6f6f6 !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 15px !important;
}

/* 1. Stack Billing and Additional Info vertically on the left */
#customer_details.col2-set {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}



/* 2. Ensure each section takes full width of that left column */
#customer_details .col-1, 
#customer_details .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-bottom: 40px !important; 

}

/* 3. Optional: Make the Order Notes textarea height smaller to keep it clean */
#order_comments {
    height: 100px !important;
    min-height: 100px !important;
}

/* 4. Visual Polish: Make the Billing Details header match the Summary style */
.woocommerce-billing-fields h3, 
.woocommerce-additional-fields h3 {
    font-size: 22px !important;
    font-weight: 600 !important;
    margin-bottom: 20px !important;
    text-transform: none !important;
}

/* 1. Typography and Headings */
.woocommerce-checkout h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 24px !important;
    color: #1a1a1a !important;
}

/* 2. Modern Inputs (Clean & Thin) */
.woocommerce-checkout .form-row input.input-text, 
.woocommerce-checkout .form-row textarea,
.select2-container--default .select2-selection--single {
    background-color: #fff !important;
    border: 1px solid #1a1a1a !important; /* Dark thin border as per image */
    border-radius: 4px !important;
    padding: 12px 15px !important;
    height: 48px !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
}

/* Textarea height adjustment */
.woocommerce-checkout .form-row textarea {
    height: 80px !important;
}

/* 3. The Order Summary Box (Sleek version) */
#order_review {
    background: #ffffff !important;
    padding: 25px !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 8px !important;
	box-shadow: none !important;
}

/* Order Summary Table styling */
#order_review table.shop_table td, 
#order_review table.shop_table th {
    font-size: 14px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f2f2f2 !important;
}

/* 4. Payment/Notice Box (The red box in your image) */
.woocommerce-checkout-payment {
    background: transparent !important;
}

/* 1. Base style for all notice boxes */
.woocommerce-error, 
.woocommerce-info, 
.woocommerce-message {
    border-radius: 4px !important;
    padding: 15px 20px !important;
    font-size: 14px !important;
    margin-bottom: 25px !important;
    list-style: none !important;
	line-height: 1.2em;
    border: 1px solid !important;
}

/* 2. Red: Errors (No payment methods, missing fields) */
.woocommerce-error {
    background-color: #fff5f5 !important;
    border-color: #e5a9a9 !important;
    color: #c02b2b !important;
}

/* 3. Gray/Blue: Info */
.woocommerce-info {
    background-color: #f8f8f8 !important;
    border-color: #d1d1d1 !important;
    color: #333 !important;
}


/* 4. Green: Success (Coupon applied successfully) */
.woocommerce-message {
    background-color: #f6fff5 !important;
    border-color: #aad4a7 !important;
    color: #2b7a2d !important;
}

/* 5. Fix for the "Click here" link in info boxes */
.woocommerce-info a {
    color: #000 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* 5. The "Place Order" Button */
#place_order {
	background-color: var(--gcid-e4x7edigal) !important;
    color: #fff !important;
    padding: 15px 30px !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    float: right !important;
    transition: all 0.3s ease !important;
    border: none;
    width: 100%;
    margin-top: 14px;
}

#place_order:hover {
    background-color: #000 !important;
}

/* 6. Return to Cart Link (Left side bottom) */
.woocommerce-checkout .showcoupon, 
.woocommerce-checkout .woocommerce-privacy-policy-text {
    font-size: 13px !important;
    color: #666 !important;
}

/* 1. Style the Coupon Box Container */
form.checkout_coupon.woocommerce-form-coupon {
    border: 1px solid #e2e2e2 !important;
    padding: 30px !important;
    border-radius: 8px !important;
    display: flex;
    align-items: center !important;
    gap: 15px !important; /* Space between input and button */
    background: #fff !important;
    margin-bottom: 30px !important;
}

/* 2. Fix the Coupon Input Field */
form.checkout_coupon .form-row-first {
    flex: 1 !important; /* Makes input take up remaining space */
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

form.checkout_coupon #coupon_code {
    width: 100% !important;
    height: 48px !important;
    border: 1px solid #1a1a1a !important; /* Matches your address fields */
    border-radius: 4px !important;
    padding: 0 15px !important;
}

/* 3. Style the "Apply coupon" Button */
form.checkout_coupon .form-row-last {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

form.checkout_coupon button[name="apply_coupon"] {
    background-color: #33383c !important; /* Matches your Place Order button */
    color: #fff !important;
    height: 48px !important;
    padding: 0 30px !important;
    border-radius: 4px !important; /* Slightly rounded or 0 for sharp */
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
}

form.checkout_coupon button[name="apply_coupon"]:hover {
    background-color: #000 !important;
}

/* 4. Hide the annoying "::before" icons if Divi added any */
form.checkout_coupon::before, 
form.checkout_coupon::after {
    display: none !important;
}

form.checkout_coupon button[name="apply_coupon"]:after {
    font-size: 17px !important;
    top: 16px;
}

/* 1. Reset the wrapper */
.woocommerce-checkout .form-row {
    position: relative !important;
    display: block !important;
}

/* 2. Initial State: Label sits inside the box */
.woocommerce-checkout label {
    display: block !important;
    position: absolute !important;
    top: 20px !important; /* Center it vertically */
    left: 15px !important;
    font-size: 15px !important;
    color: #999 !important;
    transition: all 0.2s ease-out !important;
    pointer-events: none !important;
    z-index: 10 !important;
    margin: 0 !important;
}

/* 4. Input styling to ensure text starts lower down */
.woocommerce-checkout .form-row input.input-text, 
.woocommerce-checkout .form-row textarea {
    padding: 26px 15px 10px 15px !important; /* Pushes typed text below the float */
    height: 62px !important;
    line-height: 1 !important;
}

/* 5. Special fix for Country/State dropdowns (Select2) */
.woocommerce-checkout .form-row .select2-container--default {
    padding-top: 0 !important;
}

/* Force the Country label to stay floated since it's never 'empty' */
.woocommerce-checkout #billing_country_field label,
.woocommerce-checkout #billing_state_field label {
    top: 8px !important;
    font-size: 11px !important;
}

/* 1. Hide the placeholder text so it doesn't double up with the label */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
    color: transparent !important;
}

/* 2. Fix the initial position of the label to be perfectly centered */
.woocommerce-checkout label {
    display: block !important;
    position: absolute !important;
    top: 20px !important; 
    left: 15px !important;
    font-size: 14px !important;
    color: #999 !important;
    transition: all 0.2s ease !important;
    pointer-events: none !important;
    z-index: 10 !important;
    margin: 0 !important;
}

/* 4. Ensure the actual typed text sits below the floating label */
.woocommerce-checkout .form-row input.input-text, 
.woocommerce-checkout .form-row textarea {
    padding: 26px 15px 8px 15px !important;
    height: 60px !important;
}

/* 5. Fix for Select2 (Country/State) which doesn't use placeholders */
.woocommerce-checkout #billing_country_field label,
.woocommerce-checkout #billing_state_field label {
    top: 8px !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
}

/* 1. COMPLETELY WIPE OUT THE PLACEHOLDER TEXT */
/* This stops the 'double text' or ghosting effect */
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder,
.woocommerce-checkout input::-webkit-input-placeholder,
.woocommerce-checkout input:-moz-placeholder,
.woocommerce-checkout input::-moz-placeholder,
.woocommerce-checkout input:-ms-input-placeholder {
    color: transparent !important;
    opacity: 0 !important;
    display: none !important;
}

/* 2. Style the Label (The only text we want to see) */
.woocommerce-checkout .form-row label {
    display: block !important;
    position: absolute !important;
    top: 8px !important;
    left: 15px !important;
    font-size: 16px !important;
    color: #6c6c6c !important;
    transition: all 0.2s ease-in-out !important;
    pointer-events: none !important;
    z-index: 10 !important;
    margin: 0 !important;
}

/* 3. The Float: Move ONLY the label up when clicking or typing */
.woocommerce-checkout .form-row:focus-within label,
.woocommerce-checkout .form-row.woocommerce-validated label,
.woocommerce-checkout .form-row input:not(:placeholder-shown) + label,
.woocommerce-checkout .form-row textarea:not(:placeholder-shown) + label {
    top: 5px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: black !important;
    font-weight: 700 !important;
}

/* 4. Input Field Padding Fix */
.woocommerce-checkout .form-row input.input-text, 
.woocommerce-checkout .form-row textarea {
    padding: 28px 15px 10px 15px !important; /* Pushes typed text down */
    height: 62px !important;
    background-color: #fff !important;
    border: 1px solid #1a1a1a !important;
    line-height: 1.2 !important;
}

/* 5. Special fix for the Country & State fields which never have placeholders */
.woocommerce-checkout #billing_country_field label,
.woocommerce-checkout #billing_state_field label,
.woocommerce-checkout #shipping_country_field label,
.woocommerce-checkout #shipping_state_field label {
    top: 4px !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
}

/* 2. Style the Input wrappers and fields to feel "Block-like" */
.woocommerce-checkout .form-row {
    padding: 0 !important;
    margin-bottom: 15px !important;
}


/* ===== FOOTER ===== */
.footer-links .et_pb_text {
	border-right: 1px solid black !important;
	padding: 21px 20px;
}

.footer-links .et_pb_text.rights {
	flex: 2;
}

.footer-links .et_pb_text:not(.rights) {
	flex: 1;
	text-align:center;
}