/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ---------------------------------------------------------- */
/* ####################### CUSTOM CSS ####################### */
/* ---------------------------------------------------------- */

/* Remove fade transition TP Product Image Flipper */
.tp-image-wrapper .tp-image,
.tp-image-wrapper .tp-image-hover {
    transition: none !important;
}

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

/* Disable product image click link */
.woocommerce-product-gallery__image a {
    pointer-events: none;
}

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

/* Remove brown focus background ONLY from Elementor CTA buttons */
.elementor-cta__button:focus,
.elementor-cta__button:focus-visible {
    background-color: transparent !important;
}
/* Remove brown focus background from Menu Cart link */
.elementor-menu-cart__toggle a:focus,
.elementor-menu-cart__toggle a:focus-visible {
    background-color: transparent !important;
}

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

/* Turn native search clear (X) black */
.elementor-search-form__input[type="search"]::-webkit-search-cancel-button {
    filter: brightness(0);
}

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

/* Style for SKU, Categories, Tags shortcodes */
.product_shortcodes {
    font-family: 'Montserrat', sans-serif;
	font-weight: 500;
    font-size: 13px;
    color: #333;
}
/* Prefix */
.product_shortcodes .prefix {
	font-weight: 600;
}
/* Links */
.product_shortcodes a {
    font-family: 'Montserrat', sans-serif;
	font-weight: 500;
    font-size: 13px;
    color: #333;
    text-decoration: none;
}
/* Hover */
.product_shortcodes a:hover {
    color: #333;
	text-decoration: underline;
}

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

/* My account fixes */
.e-wc-info-notice .woocommerce-info {
    background-color: #FFFCF8;
    border: 0 solid #000;
    border-radius: 0;
    border-top: 3px solid #A18D6A;
    color: #333333;
}
.e-wc-info-notice .woocommerce-info:before {
    color: #A18D6A;
}
.e-wc-info-notice .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .woocommerce-info .woocommerce-Button {
    color: #333333;
}
.e-wc-info-notice .woocommerce-info .button {
    border-color: black;
}
.e-wc-info-notice .woocommerce-info .button:hover {
    border-color: #A18D6A;
}

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

/* Hide WooCommerce Brand line only, keep Category visible */
.posted_in:has(> a[href*="/brand/"]) {
    display: none !important;
}

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

/* Save item single product button */
.save-item-button i {
    color: #f91c1c9e !important;
}
.save-item-button {
    font-weight: 400 !important;
}
/* Saved items page - add to cart button */
.add_to_cart_button {
    background-color: #A18D6A !important;
}
.add_to_cart_button:hover {
    background-color: #AF976C !important;
}

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

/* Single post style Links */
.post-style h2 {
	margin-top: 40px;
	margin-bottom: 14px;
	font-weight: 600;
}
.post-style img {
	margin-top: 24px;
	margin-bottom: 6px;
}
.post-style a {
	border-bottom: solid 1px #303030;
	color: #303030;
	text-decoration: none;
}
.post-style a:hover {
	border-bottom: solid 2px #1956AF;
	color: #303030;
	text-decoration: none;
}

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

/* Cookie Widget */
.cky-btn {
    font-size: 14px !important;
    font-weight: 400 !important;
    padding: 8px 36px 8px 36px !important;
}
/* Style "Do Not Sell or Share My Personal Information" link */
.breaks {
  cursor: pointer;
}
.breaks:hover {
  text-decoration: underline !important;
}

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

/* Stock labels single product */
.single-product .stock.in-stock, .single-product .stock.on-backorder, .single-product .stock.available-on-backorder, .single-product .stock.out-of-stock {
	text-transform: uppercase;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: black !important;
	text-align: left;
	font-family: 'Montserrat', sans-serif;
}

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

/* Add green dot before in-stock label */
.single-product .stock.in-stock::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #31A73B;
  margin-right: 6px;
  position: relative;
  top: -1px; /* adjust as needed for perfect vertical alignment */
  vertical-align: middle;
}

/* Add yellow dot before backorder label */
.single-product .stock.on-backorder::before, .single-product .stock.available-on-backorder::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #E6B800;
  margin-right: 6px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

/* Add red dot before out of stock label */
.single-product .sold-out-black::before,
.single-product .stock.out-of-stock::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #B51C1C;
  margin-right: 6px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

/* Mobile center all labels */
@media only screen and (max-width: 768px) {
.single-product .stock.in-stock, .single-product .stock.on-backorder, .single-product .stock.available-on-backorder, .single-product .stock.out-of-stock {
	text-align: center;
}
}

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

/* Custom product price shortcode */
.custom-price {
	margin-top: 10px;
	margin-bottom: 10px;
    font-family: 'Proxima Nova', sans-serif;
    font-size: 26px;
    font-weight: 500;
    color: #000000;
    line-height: 1.1em;
}
/* "wire price" text */
.cash-wire-price {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #000000;
}

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

/* Custom additional info shortcode */
.custom-additional-info {
    font-family: 'Montserrat', sans-serif;
    margin-top: 20px;
}

.custom-info-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 10px;
}

.custom-info-section {
    display: flex;
    flex-direction: column;
}

.custom-info-section h3 {
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 2px solid #000;
    padding-bottom: 5px;
    margin-bottom: 10px;
}

.custom-info-item {
    display: flex;
    flex-direction: column;
    margin-bottom: 8px;
}

.custom-info-label {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 2px;
}

.custom-info-value {
    font-size: 14px;
}

/* Mobile responsiveness */
@media screen and (max-width: 768px) {
    .custom-info-wrapper {
        grid-template-columns: 1fr; /* One column layout on mobile */
        gap: 15px; /* Reduce gap for better spacing */
    }
}

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

/* Capitalize attribute term values */
.woocommerce-product-attributes-item__value {
    text-transform: capitalize;
}
/* Make case size attribute lowercase */
.woocommerce-product-attributes-item.woocommerce-product-attributes-item--attribute_pa_pvl_case_size > td > p {
	text-transform: lowercase !important;
}

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

/* Hide view cart after adding an item to cart */
.woocommerce a.added_to_cart {
    display: none !important;
}
/* Do no adjust add to cart button width after adding an item */
.single_add_to_cart_button.button.alt.added {
	max-width: 316px;
}

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

/* Additional information tab */
#tab-additional_information > table > tbody {
	border: 1px solid #B9B9B9;
}
.woocommerce table.shop_attributes td {
    font-style: normal;
    padding-left: 10px;
	padding-right: 10px;
	background: #FFFFFF;
	border: none;
}
.woocommerce table.shop_attributes th {
	padding-left: 10px;
	padding-right: 10px;
	width: 180px;
	background: #FFFFFF;
	border: none;
}
.woocommerce table.shop_attributes tr:nth-child(even) th, .woocommerce table.shop_attributes tr:nth-child(even) td {
	background: #FFFFFF;
}
.woocommerce-product-attributes-item__label {
	text-align: left;
	background: #FFFFFF;
}
/* Standalone widget */
.woocommerce table.shop_attributes {
    border-top: none;
	border-bottom: none;
	margin-left: -20px;
}

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

/* New arrival badge */
.new-item {
    background: #F1F1F1;
    color: #000;
    font-size: 11px;
    font-weight: 500;
    padding: 4px 8px;
    position: absolute;
	top: 8px;
    right: 8px;
}

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

/* Single Product Gallery - Vertical Scrolling Thumbnails */
@media (min-width: 420px) {
    .woocommerce-page div.product div.images {
        display: flex;
        align-items: flex-start; /* Align thumbnails and main image at the top */
        justify-content: flex-start; /* Ensures proper horizontal alignment */
    }
    .woocommerce div.product div.images .flex-control-thumbs {
        order: -1; /* Thumbnails before main image */
        display: flex;
        flex-direction: column;
        flex: 0 0 120px; /* Fixed width for thumbnails */
        max-height: 575px; /* Ensure container height for scrolling */
        overflow-y: auto; /* Enable vertical scrolling */
        margin-right: -14px !important; /* Add spacing between thumbnails and main image */
        align-items: flex-start; /* Aligns thumbnails to the top */
    }
    .woocommerce div.product div.images {
        gap: 20px; /* Adds a gap between thumbnails and main image as a fallback */
    }
    .woocommerce div.product div.images .flex-control-thumbs li {
        width: auto; /* Prevents distorted thumbnails */
        padding: 0 0 10px; /* Adds consistent spacing between thumbnails */
        display: block; /* Ensures proper block-level alignment */
    }
    .woocommerce div.product div.images img {
        width: auto; /* Prevents main image from scaling incorrectly */
        max-width: 100%; /* Constrains image to container size */
        height: auto; /* Maintains aspect ratio */
        object-fit: contain; /* Avoids zooming or cropping */
    }
    .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar {
        width: 2px; /* Thinner scrollbar width for Chrome */
    }
    .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-thumb {
        background-color: #888; /* Scrollbar color */
        border-radius: 0; /* Removes rounded corners */
    }
    .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-thumb:hover {
        background-color: #555; /* Darker color when hovered */
    }
    .woocommerce div.product div.images .flex-control-thumbs::-webkit-scrollbar-track {
        background-color: #f1f1f1; /* Scrollbar track color */
    }
}

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

/* Disable the mini cart popup in Elementor Menu Cart widget */
.elementor-menu-cart__container {
    display: none !important;
}

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

/* Mega menu - drop content links */
#e-n-menu-title-2321 > div > span:hover, #e-n-menu-title-2322 > div > span:hover, #e-n-menu-title-2323 > div > span:hover {
    text-decoration: none;
	text-underline-offset: 6px;
}
/* Mega menu - normal links */
.e-focus:hover {
    text-decoration: none;
	text-underline-offset: 6px;
}
/* Click menu hand pointer - drop content links*/
.e-n-menu-title-text {
    cursor: pointer!important;
}

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

/* Hide lightbox captions */
.pswp__caption {
	display: none !important;
}

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

/* Disable all link outlines */
a {
	outline: none !important;
}
a img {
	outline: none !important;
}

/* Disable popup outlines */
.dialog-close-button.dialog-lightbox-close-button {
    outline: none !important;
}

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

/* Sold out badge */
.sold-out {
    background: #c5c5c5;
	font-family: 'Montserrat', sans-serif;
    color: #fff;
    font-size: 14px;
	line-height: 26px;
    font-weight: 400;
    padding: 6px 12px;
    position: inherit;
    right: 0;
    top: 0;
}

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

/* Sale Badge Icon with Combined Rules */
.onsale, 
.woocommerce-page ul.products li.product span.onsale, 
.woocommerce ul.products li.product span.onsale {
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: white;
    background-color: #3e3e3e !important;
    position: absolute; /* Position it relative to the container */
    top: 12px; /* Adjust vertical position */
    left: 6px; /* Adjust horizontal position */
    padding: 5px 10px; /* Add padding for better appearance */
    border-radius: 40px; /* Optional: rounded corners */
    z-index: 10; /* Ensure it appears above other elements */
    display: inline-block; /* Prevents stretching across */
    width: fit-content; /* Keeps badge size tight */
    max-width: none; /* Ensures no theme-imposed width */
    box-sizing: border-box; /* Ensures padding doesn't affect dimensions */
    text-align: center;
}

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

/* Remove product price underline when discounted */
ins {
	text-decoration: none;
	font-weight: 400 !important;
}

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

/*** Begin Single product ***/
/* Add to cart button */
.single_add_to_cart_button {
    outline: none !important;
	margin-left: auto !important;
    margin-right: auto !important;
}
.single_add_to_cart_button.button.alt.disabled.wc-variation-selection-needed, .woocommerce-variation.single_variation {
	margin-left: auto !important;
    margin-right: auto !important;
	text-align: center !important;
}

/* Variation price */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #1158a1;
    font-size: 1.25em;
	font-family: 'Montserrat', sans-serif;
}
/*** End Single product ***/

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

/* Header bottom border */
.elementor-51 .elementor-element.elementor-element-fcb0b88, .elementor-5440 .elementor-element.elementor-element-fcb0b88 {
	border-bottom: 1px solid #DBDBDB;
}

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

/* Underline Links - All */
.underline-all a {
	text-decoration: underline;
}
.underline-all a:hover {
	text-decoration: underline;
}
/* Underline Links */
.underline-b a {
	text-decoration: none;
}
.underline-b a:hover {
	text-decoration: underline;
}
/* Underline Links - White */
.underline a {
	color: white;
}
.underline a:hover {
	color: white;
	text-decoration: underline;
}