/*
Theme Name: Hello Elementor Child
Description: Child theme for Hello Elementor
Author: Haroon Yamin
Author URI: http://linkedin.com/in/haroon.webdev
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* Add your custom styles below */
.hy-product-loop {
	height: 100% !important;
}
.custom-wc-results-count {
    font-size: 24px;
    color: #1E1E1E;
    line-height: 1.2em;
}
.woocommerce .woocommerce-ordering {
    margin: 0;
}
.woocommerce .woocommerce-ordering select {
    background-color: #fff;
    color: #1E1E1E;
    border: 1px solid rgba(0, 0, 0, 0.4);
    border-radius: 0;
	font-size: 20px;
}
.woocommerce .price {
    color: var( --e-global-color-primary ) !important;
}

.woocommerce.single input.qty::-webkit-outer-spin-button,
.woocommerce.single input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.woocommerce-cart input.qty {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Single Page */
.product-img-wrapper .flex-control-nav {
    margin-top: 10px !important;
    display: flex;
    flex-direction: row ;
    gap: 8px;
}
.woocommerce.single .cart {
	display: flex;
	flex-direction: column;
}
.product-quantity-label {
	color: #1E1E1E;
	margin: 0 0 10px 0;
}
.custom-qty-wrap {
	display: flex;
	width: fit-content;
}
.custom-qty-wrap .qty-btn {
	color: #1E1E1E;
	margin: 0 !important;
	background-color: transparent !important;
	border: 1px solid #00000029 !important;
}
.custom-qty-wrap .input-text {
	border-radius: 0 !important;
}
.custom-qty-wrap .input-text:focus {
	outline: 0 !important;
}
.product-note {
	color: #1E1E1E;
	font-size: 20px;
}
.woocommerce.single .single_add_to_cart_button {
	margin: 0 !important;
	width: fit-content !important;
    padding: 16px 68px !important;
}

@media screen and (min-width: 1024px) {
    .product-img-wrapper .woocommerce-product-gallery {
        display: flex;
        flex-direction: row-reverse;
        gap: 20px;
    }
    .product-img-wrapper .flex-control-nav {
        margin-top: 0 !important;
        flex-direction: column;
        gap: 14px;
        width: calc( 25% - 10px );
    }
    .product-img-wrapper .flex-control-nav li {
        width: 100% !important;
    }
    .product-img-wrapper .flex-viewport {
        width: calc( 75% - 10px );
    }
}
@media screen and (max-width: 576px) {
    .hy-related-products .swiper {
        overflow: visible !important;
    }
}

/* Cart Page */
:root {
    --hy-heading-bg: rgba(0, 0, 0, 0.15);
    --hy-heading-color: #1E1E1E;
	--hy-text-color: #1E1E1E;
	--hy-field-bg: rgba(0,0,0,0.05);
}
.woocommerce-cart .woocommerce {
	display: flex;
	flex-wrap: wrap;
	column-gap: 120px;
}
.woocommerce-cart .woocommerce .woocommerce-notices-wrapper {
	width: 100%;
}
/* Cart Columns */
.woocommerce-cart .woocommerce .woocommerce-cart-form {
	width: calc( 65% - 60px );
}
.woocommerce-cart .woocommerce .cart-collaterals {
	width: calc( 35% - 60px );
}

/* Cart Reset CSS */
.woocommerce-cart table.shop_table,
.woocommerce-cart .woocommerce table.shop_table th,
.woocommerce-cart table.shop_table td {
    border: none;
    background-color: transparent;
    padding: 0;
}
.woocommerce .cart-collaterals .cart_totals, 
.woocommerce-page .cart-collaterals .cart_totals {
    width: 100%;
}

/* Cart Shop Row */
.woocommerce-cart table.shop_table tr {
    display: block;
}
.woocommerce-cart table.shop_table td {
    padding: 15px 20px;
}
.woocommerce-cart table.shop_table thead {
    background-color: var(--hy-heading-bg);
    color: var(--hy-heading-color);
}
.woocommerce-cart .woocommerce table.woocommerce-cart-form__contents th {
    font-size: 24px;
    font-weight: 500;
    padding: 20px;
}

/* Cart Remove item */
.woocommerce-cart table.shop_table thead th:first-child,
.woocommerce-cart table.shop_table tbody td.product-remove {
    width: 60px;
}
.woocommerce-cart table.shop_table tbody td.product-remove a {
    font-size: 40px;
    margin: 0 auto;
    font-weight: 400;
    color: var(--hy-heading-color) !important; 
}
.woocommerce-cart table.shop_table tbody td.product-remove a:hover {
    background-color: transparent;
    opacity: 0.7;
}

/* Cart Item Thumbnail */
.woocommerce-cart table.shop_table thead th:nth-child(2),
.woocommerce-cart tbody .product-thumbnail {
    width: 15%;
}
.woocommerce-cart tbody .product-thumbnail a {
    display: grid;
}
.woocommerce-cart table.cart tbody img {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Cart Item Title */
.woocommerce-cart table.shop_table thead th:nth-child(3),
.woocommerce-cart tbody .product-name {
    width: 40%;
}
.woocommerce-cart tbody .product-name a {
    color: var(--hy-text-color);
    font-size: 24px;
}

/* Cart Item Price */
.woocommerce-cart table.shop_table thead th:nth-child(4),
.woocommerce-cart table.shop_table thead th:nth-child(6){
    width: 10%;
}
.woocommerce-cart tbody .product-subtotal,
.woocommerce-cart tbody .product-price {
    width: 10%;
    font-size: 18px;
    color: var(--hy-text-color);
}

/* Cart Quantity */
.woocommerce-cart-form .custom-qty-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px;
    padding: 4px;
    background: transparent;
}
.woocommerce-cart-form .custom-qty-wrap .quantity {
    margin: 0;
    border: none;
}
.woocommerce-cart-form .custom-qty-wrap input.qty {
    width: 60px;
    text-align: center;
    border: none;
    padding: 8px 4px;
    font-size: 16px;
    -moz-appearance: textfield;
    background-color: transparent;
    color: var(--hy-text-color);
}
.woocommerce-cart-form .custom-qty-wrap input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .custom-qty-wrap input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.woocommerce-cart-form .qty-btn {
    background: #01c0e9;
    border: none !important;
    color: #fff;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s ease;
    padding: 0;
}
.woocommerce-cart-form .qty-btn:hover {
    background: #0099bd;
    transform: scale(1.05);
}
.woocommerce-cart-form .qty-btn svg {
    pointer-events: none;
}
.woocommerce-cart button[name="update_cart"] {
    display: none !important;
}

/* Cart Coupon */
.woocommerce-cart .coupon {
	display: flex;
	gap: 10px;
	align-items: center;
}
.woocommerce-cart table.cart td.actions .coupon .input-text {
	width: 100%;
	background-color: transparent;
	color: #fff;
	border-radius: 0;
	padding: 15px 28px;
	font-size: 18px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart table.cart td.actions .coupon button {
	background-color: var( --e-global-color-primary );
    color: #fff;
    padding: 20px 60px;
    font-size: 20px;
    font-weight: 500;
	border-radius: 0;
	transition: all 0.3s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart table.cart td.actions .coupon button:hover {
	background-color: var(--e-global-color-accent);
}

/* Cart Totals Column */
.woocommerce-page .cart-collaterals .cart_totals {
	background-color: var(--hy-heading-bg);
    color: var(--hy-heading-color);
	padding: 24px 30px;
}
.woocommerce-page .cart-collaterals .cart_totals tr {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.woocommerce-page .cart-collaterals .cart_totals th {
	font-size: 26px;
	font-weight: 500;
}
.woocommerce-page .cart-collaterals .cart_totals td {
	border: none !important;
	font-size: 22px;
	font-weight: 500 !important;
}

@media screen and (max-width: 1400px) {
	.woocommerce-cart .woocommerce {
		column-gap: 60px;
		row-gap: 24px;
	}
	.woocommerce-cart table.shop_table td {
		padding: 10px;
		display: block !important;
	}
	.woocommerce-cart tbody .product-name a {
		font-size: 20px;
	}
}
@media screen and (max-width: 1024px) {
	.woocommerce-cart .woocommerce {
		flex-direction: column;
	}
	.woocommerce-cart .woocommerce .woocommerce-cart-form,
	.woocommerce-cart .woocommerce .cart-collaterals {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.woocommerce-cart .woocommerce-notices-wrapper * {
		margin: 0;
	}
	.woocommerce-page .cart-collaterals .cart_totals td,
	.woocommerce-cart table.woocommerce-cart-form__contents tr {
		position: relative;
		padding: 10px 0;
	}
	.woocommerce-cart table.woocommerce-cart-form__contents tr .product-remove {
		position: absolute;
		top: 20px;
		right: 10px;
		z-index: 1;
	}
	.woocommerce-cart table.woocommerce-cart-form__contents tr .product-remove a {
		margin: 0;
	}
	.woocommerce-cart table.woocommerce-cart-form__contents tr td {
		text-align: left !important;
		width: 100%;
		padding: 10px 0;
	}
	.woocommerce-cart table.woocommerce-cart-form__contents tr td::before {
		content: none ;
	}
	.woocommerce-page .cart-collaterals .cart_totals {
		padding: 10px 16px;
	}
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		padding: 20px;
	}
	.woocommerce-page .cart-collaterals .cart_totals tr td {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}
}
@media screen and (max-width: 576px) {
	.woocommerce-cart table.cart td.actions .coupon .input-text {
		padding: 8px;
	}
	.woocommerce-cart table.cart td.actions .coupon button {
		padding: 12px 16px;
	}
}

/* WooCommerce Checkout */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.wc_payment_methods.payment_methods.methods .woocommerce-info,
.woocommerce-checkout .woocommerce-info:has(.showcoupon) {
    border-color: var( --e-global-color-primary );
    background-color: var(--hy-field-bg);
    color: var(--hy-text-color);
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:before,
.wc_payment_methods.payment_methods.methods .woocommerce-info:before,
.woocommerce-checkout .woocommerce-info:has(.showcoupon):before {
    color: var(--e-global-color-primary);
}
.woocommerce-checkout .woocommerce-info .showcoupon {
    color: var( --e-global-color-primary );
}
.woocommerce-checkout form.checkout_coupon {
    padding-top: 0;
    margin: 0;
    background-color: var(--hy-field-bg);
    border: none;
    border-radius: 0;
    display: flex;
    gap: 10px;
}
.woocommerce-account:has(.woocommerce-ResetPassword) form .form-row .input-text,
.woocommerce-account:has(.woocommerce-form-login) form .form-row .input-text,
.woocommerce-account .woocommerce-MyAccount-content form .form-row .woocommerce-Input,
.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field,
.woocommerce-checkout .select2-container.select2-container--open .select2-dropdown--below,
.woocommerce-checkout form .form-row .select2-selection,
.woocommerce-checkout form .form-row .input-text {
    background-color: #f2f2f2;
    color: var(--hy-text-color);
    border-radius: 0;
    border-color: rgba(0, 0, 0, 0.3);
}
.woocommerce-account:has(.woocommerce-ResetPassword) form .form-row .input-text:focus,
.woocommerce-account:has(.woocommerce-form-login) form .form-row .input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content form .form-row .woocommerce-Input:focus,
.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field:focus,
.woocommerce-checkout form .form-row .input-text:focus {
    border-color: var(--e-global-color-primary) !important;
    outline: none;
}
.woocommerce-checkout form .form-row button {
    font-weight: 500;
    font-size: 18px;
    border-radius: 0;
    background: var(--e-global-color-primary);
    color: #fff;
}
.woocommerce-checkout form .form-row button:hover {
    background: var(--e-global-color-accent);
}
.checkout.woocommerce-checkout {
    margin-top: 24px;
    display: flex;
	flex-wrap: wrap;
    gap: 48px;
}
.checkout.woocommerce-checkout #customer_details {
    display: flex;
    flex-direction: column;
    gap: 20px;
	width: calc( 60% - 24px );
}
.woocommerce-checkout #order_review {
	color: var(--hy-text-color);
	width: calc( 40% - 24px );
}
.checkout.woocommerce-checkout #customer_details > * {
    width: 100%;
}
.checkout.woocommerce-checkout h3 {
    color: var(--hy-text-color);
}
.checkout.woocommerce-checkout #order_review_heading {
    display: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content form .form-row label,
.checkout.woocommerce-checkout label {
    color: var(--hy-text-color);
}
.woocommerce-checkout form .form-row .select2-selection__arrow b {
    filter: invert(1);
}
.woocommerce-checkout form .form-row .select2-selection__rendered {
    color: var(--hy-text-color);
}
.woocommerce-checkout #order_review:before {
	content: "Cart Summary";
	display: block;
	font-size: 1.75rem;
	font-weight: 500;
	margin-top: 1.6rem;
    margin-bottom: 1rem;
}
.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table th {
	font-size: 24px;
	font-weight: 500;
}
.woocommerce-checkout .shop_table.woocommerce-checkout-review-order-table td {
	font-size: 20px;
	font-weight: 500;
	color: var(--hy-text-color);
}
.woocommerce-checkout #payment {
	background-color: var(--hy-field-bg);
	border-radius: 0;
}
.woocommerce-no-available-payment-methods-message.e-description {
	line-height: 1.2em;
    display: inline-flex;
    font-size: 18px;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a {
	color: var(--e-global-color-primary);
}
.woocommerce-checkout .woocommerce-privacy-policy-text a:hover {
	color: var(--e-global-color-accent);
	text-decoration: underline;
}
.woocommerce-checkout #place_order {
	background-color: var(--e-global-color-primary);
	color: #fff;
	font-size: 24px;
	width: 100%;
	text-align: center;
	border-radius: 0;
}
.woocommerce-checkout #place_order:hover {
	background-color: var(--e-global-color-accent);
}
.woocommerce-checkout .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
	width: 100%;
}
.woocommerce-checkout .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout .woocommerce-error {
	background-color: var(--hy-field-bg);
    color: var(--hy-text-color);
    margin: 0;
}
.woocommerce-checkout .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout .alert {
	margin: 0;
}
.woocommerce-checkout .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout .woocommerce-error ul,
.woocommerce-checkout .woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout .woocommerce-error strong {
	font-weight: 500;
}
.woocommerce-checkout .checkout-inline-error-message {
	margin-top: 6px;
}
.woocommerce-account .woocommerce-message,
.woocommerce.single .woocommerce-notices-wrapper .woocommerce-message {
	background-color: (0,0,0,0.15);
    color: #1E1E1E;
	margin: 12px 0;
	font-size: 24px;
    padding: 12px 28px 12px 66px;
	border-color: #159C6C;
}
.woocommerce-account .woocommerce-message:before,
.woocommerce.single .woocommerce-notices-wrapper .woocommerce-message:before {
	top: 12px;
    left: 28px;
	color: #159C6C;
}
.woocommerce-account:has(.woocommerce-ResetPassword) .button,
.woocommerce-account:has(.woocommerce-form-login) .button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce.single .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward {
	background-color: var(--e-global-color-primary);
	color: #fff;
	border-radius: 0;
	font-size: 18px;
	font-weight: 500;
}
.woocommerce-account:has(.woocommerce-ResetPassword) .button:hover,
.woocommerce-account:has(.woocommerce-form-login) .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce.single .woocommerce-notices-wrapper .woocommerce-message .button.wc-forward:hover {
	background-color: var(--e-global-color-accent);
	color: #fff !important;
}
.woocommerce-account .woocommerce-MyAccount-content .button {
	margin-top: 20px;
}
@media screen and (max-width: 1024px) {
	.checkout.woocommerce-checkout {
		gap: 12px;
	}
	.checkout.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review {
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-content {
		margin-top: 48px;
	}
}

/* WooCommerce Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background-color: var(--hy-field-bg);
	padding: 20px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
	list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul a {
	padding: 18px 24px;
	color: var(--hy-text-color);
	display: block;
	background-color: var(--hy-field-bg);
	font-size: 22px;
	line-height: 1.2em;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul a:hover {
	background-color: var(--e-global-color-accent);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul .is-active a{
	background-color: var(--e-global-color-primary);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content *:not(a) {
	color: var(--hy-text-color);
}
.woocommerce-account .woocommerce-MyAccount-content p {
	font-size: 20px;
}
.woocommerce-account:has(.woocommerce-form-login) p a,
.woocommerce-account .woocommerce-MyAccount-content .edit,
.woocommerce-account .woocommerce-MyAccount-content p a {
	color: var(--e-global-color-primary);
}
.woocommerce-account:has(.woocommerce-form-login) p a:hover,
.woocommerce-account .woocommerce-MyAccount-content .edit:hover,
.woocommerce-account .woocommerce-MyAccount-content p a:hover {
	text-decoration: underline;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 {
	margin: 0;
	font-size: 24px;
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title:before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title:after {
	content: none;
}

/* Cart Account Login */
.woocommerce-account:has(.woocommerce-ResetPassword),
.woocommerce-account:has(.woocommerce-form-login) {
	color: var(--hy-text-color);
}
.woocommerce-account:has(.woocommerce-ResetPassword) p,
.woocommerce-account:has(.woocommerce-form-login) p {
	color: var(--hy-text-color);
}
.woocommerce-account:has(.woocommerce-ResetPassword) label,
.woocommerce-account:has(.woocommerce-form-login) label {
	color: var(--hy-text-color);
}
.woocommerce-account:has(.woocommerce-form-login) form.checkout_coupon, 
.woocommerce-account:has(.woocommerce-form-login) form.login, 
.woocommerce-account:has(.woocommerce-form-login) form.register {
	border-radius: 0;
	border-color: rgba(0, 0, 0, 0.15);
}