/*
 Theme Name:   Esisthebrand
 Theme URI:    https://athemes.com/theme/botiga/
 Description:  A sleek child theme for Botiga
 Author:       kp
 Template:     botiga
 Version:      1.0.0
 Text Domain:  botiga-child
 Domain Path:  /languages
*/

/* Your custom CSS starts below this line */

.container {
    padding-right: 0;
    padding-left: 0;
}
.content-wrapper {
    margin-top: 40px;
}
.row {
    margin-right: 0;
    margin-left: 0;
}

p {
    margin-bottom: 0;
    margin-top: 0;
}

.site-main.no-sidebar, .no-sidebar .site-main {
  /*  padding-left: 30px !important;
    padding-right: 30px !important; */
}
.botiga-page-builder-mode .site-main {
    padding: 0 !important;
}
.botiga-dropdown .dropdown-symbol {
    cursor: pointer;
}
#primary-menu
{
	margin-top: 40px;
}
#site-navigation-mobile-credits {
	position: absolute;
    bottom: 50px;
	width: calc(100% - 60px);
}
.bhfb.bhfb-mobile_offcanvas .main-navigation .sub-menu.botiga-dropdown-ul a.botiga-dropdown-link {
    text-transform: uppercase;
}
.search-submit .ws-svg-icon svg:not(.stroke-based) {
    fill: #212121;
}
/* .bhfb-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
	height: 90px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(91, 91, 91, 0.4)), to(rgba(0, 0, 0, 0)));
	background: -o-linear-gradient(top,rgba(91,91,91,0.4) 0,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(91, 91, 91, 0.4) 0, rgba(0, 0, 0, 0) 100%);
	background: linear-gradient(to bottom, rgb(91 91 91 / 29%) 0, rgba(0, 0, 0, 0) 100%);
} */


.home .site-branding .custom-logo-link {
	position: relative;
	display: inline-block;
}

.home .bhfb-header.bhfb-mobile:not(.is-scrolled) .custom-logo:not(.alt-home-logo) {
	opacity: 0 !important;
	visibility: hidden;
	transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
	display: none;
}

.home .bhfb-header.bhfb-mobile:not(.is-scrolled) .alt-home-logo {
	display: inline-block !important;
	opacity: 1 !important;
	visibility: visible;
	transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.home .bhfb-header.bhfb-mobile:not(.is-scrolled) .bhfb-component-mobile_hamburger .menu-toggle svg,
.home .bhfb-header.bhfb-mobile:not(.is-scrolled) .bhfb-component-search .header-search svg,
.home .bhfb-header.bhfb-mobile:not(.is-scrolled) .bhfb-component-woo_icons .header-item svg:not(.stroke-based){
	fill: #ffffff;
}
.home .bhfb-header.bhfb-mobile:not(.is-scrolled) .bhfb-component-woo_icons #site-header-cart svg{
	stroke: #ffffff;
	fill: none;
}

.home .bhfb-header.bhfb-mobile.is-scrolled .custom-logo:not(.alt-home-logo) {
	opacity: 1 !important;
	visibility: visible;
	transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.home .bhfb-header.bhfb-mobile.is-scrolled .alt-home-logo {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0 !important;
	visibility: hidden;
	transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.home .wc-block-product-template__responsive {
    grid-gap: 0;
}

.home .entry-content a {
    text-decoration: none;
}

#wpconsent-consent-floating {
	border-radius: 0 !important;
}


@media (max-width: 781px) {
    .home .wp-block-columns.four-swimsuits:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: calc(50% - 15px) !important;
		max-width: calc(50% - 15px) !important;
    }
}
.home .legacy-block-2 {
	min-height: 250px !important;
}
@media (min-width: 768px) {
	.home .legacy-block-2 {
		min-height: 510px !important;
	}
}
@media (min-width: 992px) {
	.home .legacy-block-2 {
		min-height: 150vh !important;
	}
}
.home .legacy-block .wp-block-cover__inner-container,
.home .legacy-block-2 .wp-block-cover__inner-container {
	position: absolute;
    bottom: 50px;
}

.home .legacy-block .wp-block-cover__inner-container a,
.home .legacy-block-2 .wp-block-cover__inner-container a {
	text-decoration: underline;
}

@media (min-width: 992px) {
	.home .about-esis-img {
		padding: var(--wp--preset--spacing--60);
	}
}

.home .about-esis-text {
	margin: auto;
}

.disabled {
    cursor: not-allowed;
}


/* ---------------------------------------------------------
   SHOP FILTERS
------------------------------------------------------------ */

.category-filter-bar {
    /* border-bottom: 1px solid #eee; */
	animation: fadeIn 0.4s ease-in-out;
}

.category-filter-bar li {
    padding-bottom: 0;
}

.subcat-filter-list {
    list-style: none;
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
	justify-content: center;
    white-space: nowrap;
    padding: 0;
	margin: 0;
    -webkit-overflow-scrolling: touch;
}

.subcat-filter-list::-webkit-scrollbar {
    display: none;
}

.subcat-filter-list li a {
    display: inline-block;
    padding: 2px 8px;
	margin-bottom: 10px;
    /* background: #f9f9f9;
	background: #fff;
    border: 1px solid #ddd;
	border: 1px solid #333;
    border-radius: 30px;
	border-radius: 0; */
	text-transform: uppercase;
    font-size: 0.8rem;
	line-height: 3;
    color: #5c5c5c;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.3s ease;
}
@media (min-width: 782px) {
    .subcat-filter-list li a {
		padding: 0 10px;
	}
}
.subcat-filter-list li a:hover {
    /* background: #3a3a3a;
    color: #f9f9f9;
    border-color: #3a3a3a; */
	color: #323232;
}

.subcat-filter-list li.active a {
   /* background: #3a3a3a;
    color: #f9f9f9;
	font-weight: 500;
    border-color: #3a3a3a; */
	color: #323232;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* .category-filter-wrapper {
    margin-bottom: 40px;
}
 */
 
.sub-tier .subcat-filter-list li a {

}


/* ---------------------------------------------------------
   PRODUCT IMAGE SWIPER - LOOPS
------------------------------------------------------------ */

.botiga-shop-swiper {
    position: relative;
    overflow: hidden !important;
    width: 100% !important;
    display: block !important;
}

.botiga-shop-swiper .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    height: 100%;
    width: 100%;
}

.botiga-shop-swiper .swiper-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
}

.botiga-shop-swiper .swiper-slide img {
    width: 100%;
    display: block;
    object-fit: cover;
	opacity: 1 !important;
	/* aspect-ratio: 3 / 4; /* Adjust to 1/1 for square or 4/5 depending on your photos */
}

/* --- Navigation Arrows --- */
.botiga-shop-swiper .swiper-button-next,
.botiga-shop-swiper .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 40px;
    margin-top: -15px;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    background: rgba(255,255,255,0.8);
    border-radius: 0;
	opacity: 0;
    transition: opacity 0.3s ease;
}

.botiga-shop-swiper .swiper-button-prev { left: 0; }
.botiga-shop-swiper .swiper-button-next { right: 0; }

.botiga-shop-swiper .swiper-button-prev::after { content: '←'; font-size: 13px; font-weight: bold; }
.botiga-shop-swiper .swiper-button-next::after { content: '→'; font-size: 13px; font-weight: bold; }

/* --- Custom Dash Pagination --- */
.botiga-shop-swiper .swiper-pagination {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 6px;
    z-index: 10;
}

.botiga-shop-swiper .swiper-pagination-bullet {
    width: 18px;
    height: 2px;
    background: #000;
    opacity: 0.2;
    cursor: pointer;
    transition: all 0.3s ease;
}

.botiga-shop-swiper .swiper-pagination-bullet-active {
    opacity: 1;
    width: 26px;
    background: #000;
}

.botiga-shop-swiper .swiper-button-lock,
.botiga-shop-swiper .swiper-pagination-lock {
    display: none !important;
}

.botiga-shop-swiper .swiper-pagination:has(.swiper-pagination-bullet:only-child) {
    display: none !important;
}

.hand-picked-swiper {
    overflow: hidden;
    position: relative;
    padding-bottom: 40px;
}

.hand-picked-swiper .wc-block-grid__products {
    display: flex !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hand-picked-swiper .wc-block-grid__product {
    width: auto !important;
    margin-bottom: 0 !important;
    float: none !important;
}

.hand-picked-swiper .swiper-button-next,
.hand-picked-swiper .swiper-button-prev {
    color: #000;
    transform: scale(0.7);
}

/* ---------------------------------------------------------
   PRODUCT IMAGE SWIPER - Gutenberg blocks
------------------------------------------------------------ */

.swiper.block-gallery-slider {
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
	padding: 0px !important;
}

.swiper.block-gallery-slider .swiper-wrapper {
    display: flex !important;
}

.swiper.block-gallery-slider .swiper-slide {
    flex-shrink: 0 !important;
    width: 100% !important;
}

.swiper.block-gallery-slider .swiper-slide img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
}

/* --- Navigation Arrows --- */
.swiper.block-gallery-slider .swiper-button-next,
.swiper.block-gallery-slider .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 40px;
    margin-top: -15px;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    background: rgba(255,255,255,0.8);
    border-radius: 0%;
	opacity: 0;
    transition: opacity 0.3s ease;
}

.swiper.block-gallery-slider .swiper-button-prev { left: 0; }
.swiper.block-gallery-slider .swiper-button-next { right: 0; }

.swiper.block-gallery-slider .swiper-button-prev::after { content: '←'; font-size: 13px; font-weight: bold; }
.swiper.block-gallery-slider .swiper-button-next::after { content: '→'; font-size: 13px; font-weight: bold; }

.swiper.block-gallery-slider .swiper-button-prev:hover,
.swiper.block-gallery-slider .swiper-button-next:hover { 
	opacity: 1;
}

.swiper.block-gallery-slider .swiper-pagination {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 6px;
    z-index: 10;
}

.swiper.block-gallery-slider .swiper-pagination-bullet {
    width: 18px;
    height: 2px;
    background: #000;
    opacity: 0.2;
    cursor: pointer;
    transition: all 0.3s ease;
}

.swiper.block-gallery-slider .swiper-pagination-bullet-active {
    opacity: 1;
    width: 26px;
    background: #000;
}

/* ---------------------------------------------------------
   PRODUCT VARIATIONS SWATCHES
------------------------------------------------------------ */

.botiga-custom-swatches {
    display: flex;
    gap: 12px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.swatch-item {
    cursor: pointer;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.2s ease;
}

.swatch-inner {
    width: 44px;
    height: 44px;
    border-radius: 0;
    border: 1px solid #e0e0e0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #f5f5f5;
    display: block;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.swatch-item:hover .swatch-inner {
    border-color: #000;
}

.swatch-item.selected .swatch-inner {
    border: 2px solid #000;
    transform: scale(1.05);
}

.swatch-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.linked-color-swatches {
    margin-bottom: 20px;
}

.swatch-title {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.swatch-grid {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.swatch-item {
    width: 50px;
    height: 50px;
    border: 1px solid #ddd;
    border-radius: 0;
    overflow: hidden;
    transition: all 0.2s ease;
}

.swatch-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swatch-item.active {
    border: 2px solid #000;
}

.swatch-item:hover {
    border-color: #000;
}

.botiga-custom-swatches, .botiga-size-swatches {
    display: flex;
    gap: 12px;
    margin: 10px 0 10px;
    flex-wrap: wrap;
	align-items: center;
}

.botiga-size-swatches .size-item.out-of-stock {
    position: relative;
    background-color: #f5f5f5 !important;
    color: #b2b2b2 !important;            
    border-color: #e0e0e0 !important;
    cursor: not-allowed !important;      
    opacity: 0.6;
    pointer-events: none;                
}

.botiga-size-swatches .size-item.out-of-stock::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, 
    transparent calc(50% - 0.6px), 
    #b2b2b2 calc(50% - 0.6px), 
    #b2b2b2 calc(50% + 0.6px), 
    transparent calc(50% + 0.6px)
);
}

.swatch-item { cursor: pointer; text-align: center; }
.swatch-inner {
    width: 40px; height: 40px;
    display: block;
    border: 1px solid #ddd;
    border-radius: 0;
    background-size: cover;
    background-position: center;
    transition: all 0.2s;
}
.swatch-item.selected .swatch-inner { border: 2px solid #000; transform: scale(1.05); }
.swatch-label { font-size: 10px; text-transform: uppercase; margin-top: 4px; display: block; }

.size-item {
    min-width: 45px; height: 35px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #ddd;
    border-radius: 0;
    font-size: 13px; font-weight: 500;
    cursor: pointer;
	padding: 0 10px;
    transition: all 0.2s;
}
.size-item:hover { border-color: #000; }
.size-item.selected { background: #000; color: #fff; border-color: #000; }


.swatch-clear-link {
    font-size: 12px;
    text-decoration: underline;
    color: #666;
    align-self: center;
    margin-left: 10px;
    cursor: pointer;
}

.swatch-clear-link:hover {
    color: #000;
}

.swatch-item.disabled, 
.size-item.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    position: relative;
    pointer-events: none;
}

.size-item.disabled::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #000;
    transform: rotate(-45deg);
}

.swatch-item.disabled .swatch-inner::after {
    content: "✕";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 18px;
    text-shadow: 0 0 2px #000;
}

/* Out of Stock State */
.size-item.disabled, 
.swatch-item.disabled {
    opacity: 0.2 !important;
    pointer-events: none !important; 
    cursor: default !important;
    background-color: #eee !important;
}

.size-item.disabled::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(255,0,0,0.3);
    transform: rotate(-25deg);
    z-index: 10;
}

#swatch-color-name {
    color: #666;
    font-weight: 400;
    margin-left: 5px;
    transition: opacity 0.2s ease;
}

.linked-color-swatches .swatch-item.active {
    pointer-events: none;
    cursor: default;
}

/* ---------------------------------------------------------
   WOOCOMMERCE
------------------------------------------------------------ */

.product-gallery-summary form.cart {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 20px;
}
.product-gallery-summary .botiga-single-addtocart-wrapper {
    gap: 20px;
    flex-direction: column;
}

.woocommerce-breadcrumb .bc-separator {
    color: #a9a9a9;
    font-size: 0.8em;
    vertical-align: middle;
    margin: 0 4px;
}

.woocommerce-breadcrumb .bc-separator:last-of-type {
    display: none !important;
}

.woocommerce-sorting-wrapper {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.cart-totals-custom-image-wrapper {
    margin-top: 25px;
}

.woocommerce-terms-and-conditions {
    display: none !important;
}
.woocommerce-terms-and-conditions-link:focus {
    outline: none !important;
}

.woocommerce-account.logged-in .entry-content>.woocommerce .button {
    color: #212121;
}

.variations_form.cart .variations .label {
	width: 60px;
    text-transform: uppercase;
    font-size: 0.9rem;
}

ul.products li.product .botiga-wc-loop-product__title, ul.wc-block-grid__products li.wc-block-grid__product .wc-block-grid__product-title, ul.wc-block-grid__products li.wc-block-grid__product .woocommerce-loop-product__title, ul.wc-block-grid__products li.product .wc-block-grid__product-title, ul.wc-block-grid__products li.product .woocommerce-loop-product__title, ul.products li.wc-block-grid__product .wc-block-grid__product-title, ul.products li.wc-block-grid__product .woocommerce-loop-product__title, ul.products li.product .wc-block-grid__product-title, ul.products li.product .woocommerce-loop-product__title, ul.products li.product .woocommerce-loop-category__title, .woocommerce-loop-product__title .botiga-wc-loop-product__title {
    font-weight: 500;
}

.price {
    font-weight: 300;
	color: #6c6c6c;
}

/* Swiper */
.woocommerce-product-gallery.swiper {
    overflow: hidden !important;
    position: relative !important;
    display: block !important;
	width: 100% !important;
	padding: 0;
}

.woocommerce-product-gallery__wrapper.swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    height: 100%;
    width: 100%;
	gap: 0 !important;
	z-index: 1 !important;
}

.woocommerce-product-gallery .swiper-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
}

.woocommerce-product-gallery .swiper-slide img {
    width: 100%;
    display: block;
    object-fit: cover;
	aspect-ratio: 3 / 4;
}

.woocommerce-product-gallery .swiper-pagination {
    position: absolute !important;
    bottom: 20px !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 10 !important;
    line-height: 1 !important;
}

.woocommerce-product-gallery .swiper-button-next, 
.woocommerce-product-gallery .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 40px;
    margin-top: -15px;
    z-index: 99 !important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    background: rgba(255,255,255,0.8);
    border-radius: 0;
}

.woocommerce-product-gallery .swiper-button-prev { left: 0; }
.woocommerce-product-gallery .swiper-button-next { right: 0; }

.woocommerce-product-gallery .swiper-button-prev::after { content: '←'; font-size: 13px; font-weight: bold; }
.woocommerce-product-gallery .swiper-button-next::after { content: '→'; font-size: 13px; font-weight: bold; }

.woocommerce-product-gallery .swiper-pagination {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 6px;
    z-index: 99 !important;
}

.woocommerce-product-gallery .swiper-pagination-bullet {
    width: 18px;
    height: 2px;
    background: #000;
    opacity: 0.2;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce-product-gallery .swiper-pagination-bullet-active {
    opacity: 1;
    width: 26px;
    background: #000;
}

.woocommerce-product-gallery .swiper-button-lock,
.woocommerce-product-gallery .swiper-pagination-lock {
    display: none !important;
}

.woocommerce-product-gallery .swiper-pagination:has(.swiper-pagination-bullet:only-child) {
    display: none !important;
}

.woocommerce-page-header {
	background-color: transparent;
    padding-top: 60px;
    padding-bottom: 60px;
}

.woocommerce-privacy-policy-text {
    margin-bottom: 1rem;
}

.woocommerce-cart .cart_totals h2 {
    font-weight: 400;
	font-size: 1.4rem;
}
.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount {
    font-size: 1.1rem;
}

.products .swiper-horizontal {
    padding: 0px;
}

ul.wc-block-grid__products li.wc-block-grid__product, .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link,
ul.wc-block-grid__products li.product, ul.products li.wc-block-grid__product, ul.products li.product, ul.products li.product .wp-block-button__link {
    margin-bottom: 1rem;
}

.single-product .woocommerce-variation.single_variation:has(.in-stock) {
    display: none !important;
}

.single-product .woocommerce-variation.single_variation:has(.out-of-stock) {
    display: block !important;
}

.product-type-simple .stock.in-stock {
    display: none !important;
}

.product-type-simple .cart {
	margin-top: 50px !important;
}

.single-product .site-main>.product>section.products:nth-child(even):after {
    background-color: transparent;
}

.product-gallery-summary .botiga-single-addtocart-wrapper .button,
.single-product .woocommerce-notices-wrapper .wc-forward,
.widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout,
.widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout:hover,
.woocommerce-cart .cart_totals .checkout-button,
.checkout-wrapper .button,
.wpcf7 input[type=submit]:not(.wc-forward):not(.has-text-color),
.woocommerce-cart .button.wc-backward,
.widget_shopping_cart_content .button.wc-backward {
    background-color: #000;
    color: #fff !important;
	opacity: 1;
}
.product-gallery-summary .botiga-single-addtocart-wrapper .button:hover,
.single-product .woocommerce-notices-wrapper .wc-forward:hover,
.woocommerce-cart .cart_totals .checkout-button:hover,
.checkout-wrapper .button:hover,
.wpcf7 input[type=submit]:not(.wc-forward):not(.has-text-color):hover,
.woocommerce-cart .button.wc-backward:hover,
.widget_shopping_cart_content .button.wc-backward:hover {
	background-color: #fff;
    color: #000 !important;
}

.product-gallery-summary .botiga-single-addtocart-wrapper .button.added,
.product-gallery-summary .botiga-single-addtocart-wrapper .button.added:hover {
    background-color: #fff;
    color: #000 !important;
}

.checkout #order_review .shop_table .ts-product-image {
    width: 52px;
    height: 45px;
    display: inline-block;
    padding-right: 7px;
    vertical-align: middle;
    position: relative;
    float: left;
    text-align: center;
}
.checkout #order_review .shop_table img {
    border: 1px solid #d9d9d9;
    max-height: 45px;
    max-width: 52px;
    width: auto;
}
.checkout #order_review .shop_table .product-quantity-b {
	display: none;
    position: absolute;
    top: -10px;
    right: 0;
    width: 20px;
    height: 20px;
    line-height: 23px;
    color: #fff;
    background: #000;
    font-size: 11px;
    font-weight: 300;
    text-align: center;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}

#order_review .wc_payment_method p {
	font-size: 0.8rem;
}
.woocommerce-checkout .payment-title, .checkout-wrapper .woocommerce-shipping-totals>td:before {
	text-transform: uppercase;
}

#ship-to-different-address {
    font-size: 1.1rem;
}

.botiga-share-box, .botiga-related-posts, .upsells.products .botiga-upsell-products, .upsells.products>.products,
.botiga-recently-viewed-products, .related.products .botiga-related-products, .related.products>.products,
.post-navigation, .single-post-author, .comments-area {
    border-top: 0 none;
    padding-top: 10px;
}

.related.products {
    padding-top: 20px;
}

.related.products>h2, .upsells.products>h2, .recently-viewed-products>h2 {
    font-size: 1.5rem;
}

form.cart .quantity {
	max-width: 20%;
	display: none !important;
}
.quantity .botiga-quantity-plus, .quantity .botiga-quantity-minus {
	font-size: 1.5rem;
}

.cwginstock-subscribe-form {
	margin: 20px 0 30px;
}
.cwginstock-subscribe-form h4{
	text-align: left !important;
	font-size: 1rem;
    margin-bottom: 10px;
}
.cwginstock-subscribe-form .col-md-12{
	display: flex;
	gap: 10px;
	flex-direction: column;
	margin-top: 10px;
}
.cwginstock-subscribe-form div{
	padding: 0px;
}
.cwginstock-subscribe-form .cwgstock_button { 
	background-color: #000 !important;
    color: #fff !important;
	width: 100%;
}
.cwginstock-subscribe-form .cwgstock_button:hover {
	background-color: #fff !important;
    color: #000 !important;
}

.checkout-now-instant-btn {
    background-color: #000000;
    color: #ffffff !important;
    padding: 12px 24px;
    font-weight: bold;
	text-align: center;
    text-transform: uppercase;
    border-radius: 0px;
    vertical-align: middle;
    transition: background-color 0.2s ease;
}

.product-gallery-summary .botiga-single-addtocart-wrapper .button.checkout-now-instant-btn:hover {
    background-color: #000000;
    color: #ffffff !important;
}

.woocommerce-account .password-input {
    justify-content: center;
}

.woocommerce-lost-password .woocommerce-ResetPassword p {
	padding-bottom: 15px;
}

@media (min-width: 992px) {
    ul.wc-block-grid__products, ul.products {
        gap: 2px;
		margin: 0 -15px;
    }
	
	.single-product .woocommerce-notices-wrapper {
		margin-bottom: 0;
        z-index: 1;
        position: absolute;
        width: calc(50% - 75px);
        left: 70px;
        top: 130px;
	}
	.single-product .woocommerce-notices-wrapper .wc-forward {
		padding: 5px 15px;
	}
	
	.single-product .content-wrapper {
		/* margin-top: 0; */
	}
	.single-product div.product {
		/* margin-top: -70px; */
	}
	.product-gallery-summary {
		/* margin: 0 -15px; */
		margin: 0 0 0 25px;
	}
	.single-product div.product .woocommerce-product-gallery {
		
	}
	.woocommerce-breadcrumb {
		position: absolute;
		right: 0;
		top: 120px;
		width: 50%;
		padding-left: 70px;
		z-index: 1;
	}
	.product-gallery-summary .entry-summary {
		margin-top: 170px;
		margin-top: 60px;
		padding: 0 40px 0 55px;
	}
	.single-product .site-main>.product>section.products>ul.products {
		margin: 0 -15px;
	}
	
	.woocommerce-cart .cross-sells .botiga-carousel-wrapper {
		margin: 0 -15px;
	}
	.woocommerce-cart .cross-sells ul.products>div>* {
		margin-right: 0 !important;
	}
	.botiga-carousel .botiga-carousel-wrapper .botiga-carousel-nav-next, .cross-sells .botiga-carousel-wrapper .botiga-carousel-nav-next {
		right: 15px;
	}
	.botiga-carousel .botiga-carousel-wrapper .botiga-carousel-nav-prev, .cross-sells .botiga-carousel-wrapper .botiga-carousel-nav-prev {
		right: 45px;
	}
	
}


/* ---------------------------------------------------------
   OFF-CANVAS SEARCH FORM
------------------------------------------------------------ */

.menu-search-wrapper {
    padding: 15px 0;
    border-top: 1px solid rgba(0,0,0,0.05);
}

.search-input-group {
    position: relative;
    display: flex;
    align-items: center;
}

.search-input-group input[type="search"] {
    width: 100%;
    padding: 10px 40px 10px 15px;
    border: 1px solid #ddd;
    outline: none;
}

.search-input-group button {
    position: absolute;
    right: 5px;
	top: 0;
	height: 100%;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0 10px;
	display: flex;
    align-items: center;
    justify-content: center;
}

.search-input-group button span {
    font-size: 20px;
    color: #333;
	line-height: 1;
    display: inline-block;
}

/* ---------------------------------------------------------
   SIZE-GUIDE DRAWER
------------------------------------------------------------ */

.product table.variations {
    margin: 0;
}

.woocommerce div.product .right-link {
	text-align: end;
	margin: 10px 0;
}
.woocommerce div.product .left-link {
	display: flex;
    flex-direction: column;
	gap: 5px;
}
.woocommerce div.product .right-link a,
.woocommerce div.product .left-link a {
	font-size: 14px;
	font-weight: normal;
    text-decoration: underline;
    text-underline-offset: 5px;
    cursor: pointer;
    transition: opacity 0.2s;
}
.woocommerce div.product .right-link a {
	text-align: right;
}
.woocommerce div.product .right-link a:hover,
.woocommerce div.product .right-link a:visited,
.woocommerce div.product .left-link a:hover,
.woocommerce div.product .left-link a:visited {
	opacity: 0.7;
	color: #000;	
}

.woocommerce-variation-add-to-cart {
    padding-top: 10px;
}

#sizeguide-drawer { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 9999999;
    visibility: hidden; 
    transition: visibility 0.4s;
}

.drawer-overlay { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    background: rgba(0,0,0,0.5); 
    opacity: 0; 
    transition: opacity 0.4s; 
}

.drawer-content { 
    position: absolute; 
    top: 0; 
    left: 100%;
    width: 450px; 
    max-width: 90%; 
    height: 100%; 
    background: #fff; 
    padding: 60px 40px; 
    box-shadow: -5px 0 15px rgba(0,0,0,0.1); 
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); 
    overflow-y: auto; 
}

#sizeguide-drawer.is-active { 
    visibility: visible; 
}
#sizeguide-drawer.is-active .drawer-overlay { 
    opacity: 1; 
}

#sizeguide-drawer.is-active .drawer-content { 
    left: 100%;
    transform: translateX(-100%); 
}

#sizeguide-drawer.is-closing .drawer-content { 
    left: 0;
    transform: translateX(-100%); 
    transition: transform 0.4s ease-in, left 0s 0.4s; 
}

.close-btn { 
    position: absolute; 
    top: 20px; 
    left: 20px; 
    background: none; 
    border: none; 
    font-size: 35px; 
    cursor: pointer; 
    color: #000; 
    z-index: 10;
}

/* ---------------------------------------------------------
   MINI-CART DRAWER
------------------------------------------------------------ */

#site-header-cart .widget_shopping_cart,
#site-header-cart:hover .widget_shopping_cart {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
	left: 0 !important;
    width: 100% !important;
	min-width: unset;
    height: 100vh !important;
	height: 100dvh !important;
    background: #ffffff !important;
    z-index: 999999 !important;
    margin: 0 !important;
    -webkit-box-shadow: unset;
    box-shadow: unset;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateX(100%) !important;
    transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), 
                visibility 0.35s ease, 
                opacity 0.35s ease !important;
	pointer-events: none !important;

}
@media (min-width: 992px) {
	#site-header-cart .widget_shopping_cart,
	#site-header-cart:hover .widget_shopping_cart {
		width: 500px !important;
		left: unset !important;
	}
}

#site-header-cart.custom-side-open .widget_shopping_cart,
#site-header-cart.custom-side-open:hover .widget_shopping_cart {
    transform: translateX(0) !important;
    visibility: visible !important; 
    opacity: 1 !important;
    pointer-events: auto !important;

}

#site-header-cart .widget_shopping_cart_content {
    display: flex !important;
    flex-direction: column !important;
	flex-grow: 1 !important;
    height: calc(100vh - 68px) !important;
    height: calc(100dvh - 68px) !important;
    padding: 25px !important;
    box-sizing: border-box !important;
}
@media (max-width: 576px) {
    #site-header-cart .woocommerce-mini-cart__buttons {
        padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important; 
    }
}

#site-header-cart .woocommerce-mini-cart {
    flex-grow: 1 !important;
    overflow-y: auto !important;
    max-height: calc(100vh - 300px) !important;
	border-bottom: 1px solid #ddd;
}

#site-header-cart .botiga-woocommerce-mini-cart__cross-sell {
    margin-top: auto !important;
    border-top: 0px solid #eee;
    padding-top: 20px;
}

/* #site-header-cart .woocommerce-mini-cart__buttons a {
    display: block !important;
    text-align: center !important;
    background: #000000 !important;
    color: #ffffff !important;
    border-radius: 0px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 500 !important;
    padding: 14px 20px !important;
    margin-bottom: 8px !important;
}
#site-header-cart .woocommerce-mini-cart__buttons a.checkout {
    background: #111111 !important;
}
*/
.site-header-cart .product_list_widget li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	grid-gap: 10px;
	padding: 20px 30px 20px 105px;
	min-height: 115px;
	background: rgba(0, 0, 0, 0);
	position: relative;
	max-width: 100%;
}
.site-header-cart .product_list_widget li a.remove {
	width: 18px;
	height: 18px;
	font-size: 16px;
	line-height: 16px;
	background-color: #212121;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	position: absolute;
	top: 15px;
	left: 22px;
	-webkit-transition: ease transform 300ms;
	transition: ease transform 300ms;
	z-index: 11;
}
.site-header-cart .product_list_widget li img {
	width: 62px;
	max-height: 75px;
	position: absolute;
	top: 20px;
	left: 30px;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}
.site-header-cart .product_list_widget li>span {
	display: block;
	width: 100%;
	font-size: 14px;
	font-size: .875rem;
}
.site-header-cart .product_list_widget li:after {
	content: "";
	position: absolute;
	width: calc(100% - 60px);
	height: 1px;
	bottom: 0;
	left: 30px;
	background-color: rgba(33, 33, 33, .1);
}
.site-header-cart .product_list_widget li>span, .widget_shopping_cart .woocommerce-mini-cart__total {
	font-weight: 500;
}
.widget_shopping_cart .woocommerce-mini-cart__total, .widget_shopping_cart .woocommerce-mini-cart__buttons {
    background-color: transparent !important;
    padding-left: 0 !important;
	padding-right: 0 !important;
}
.widget_shopping_cart .woocommerce-mini-cart__buttons {
    padding: 0 !important;
}

.cart-drawer-close {
    position: absolute !important;
    top: 22px !important;
    left: 25px !important;
    font-size: 32px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    color: #000000 !important;
    cursor: pointer !important;
    z-index: 1000000 !important;
    transition: transform 0.2s ease, opacity 0.2s ease !important;
}
.cart-drawer-close:hover {
    opacity: 0.5 !important;
    transform: rotate(90deg);
}

#site-header-cart .widgettitle {
    text-align: center !important;
    font-size: 1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    font-weight: 500 !important;
    margin: 0 !important;
    padding: 30px 30px;
    width: 100% !important;
}

.cart-drawer-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0,0,0,0.5); 
    
    /*
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;  */
    
    z-index: 998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
}
.home .cart-drawer-overlay {
    z-index: 11 !important;
}

.back-to-top {
    z-index: 11;
}


.cart-drawer-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
}

body.cart-drawer-lock {
  /*  overflow: hidden !important; */
    touch-action: none !important;
}

#site-header-cart .widget_shopping_cart {
    padding-top: 20px !important;
}

/* ---------------------------------------------------------
   MODAL
------------------------------------------------------------ */

.no-scroll {
    overflow: hidden;
    position: fixed;
    width: 100%;
}
.modal {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background-color: transparent;
	transition: all 300ms ease-out;
	opacity: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	display: flex;
	flex-flow: column nowrap;
	z-index: 10030;
	padding: 1rem
}

@media only screen and (min-width: 768px) {
	.modal {
		padding: 2rem
	}
}

.hide {
    display: none !important;
}

.is-modal-open .modal {
	background-color: rgba(247, 247, 247, 0.8);
	opacity: 1
}

.modal svg {
	margin: 0
}
.modal fieldset {
    border: none;
    padding: 0;
    margin: 25px 0;
}
.modal fieldset:first-of-type {
    margin-bottom: 50px;
}
.modal fieldset:last-of-type {
}
.modal fieldset h4 {
    font-weight: bold;
	font-size: 15px;
}
.modal__inner {
	background-color: #fff;
	padding: 6rem 2rem;
	position: relative;
	margin: auto
}
.width-alert {
    max-width: 100% !important;
    width: 35rem !important;
}
.modal__close {
	position: absolute;
	right: 0;
	top: 0
}

.modal__body p:last-child {
	margin-bottom: 0
}

.sizing-guide {
	max-width: 26.5rem;
	margin: auto
}

.sizing-guide__output>ul {
	margin: 0;
	padding: 0;
	list-style: none
}

.sizing-guide__output>ul>li,
.sizing-guide__output>ul>dd,
.sizing-guide__output>ul>dt,
.sizing-guide__output>ul>div>dd,
.sizing-guide__output>ul>div>dt {
	padding: 0
}
.sizing-guide__output h1 ,
.sizing-guide__output h5 {
	font-weight: bold;
}
.sizing-guide__output h1  {
	font-weight: bold;
}
.sizing-guide__output h5 {
	margin-bottom: 20px;
	margin-top: 0px;
	font-size: 15px;
}
.sizing-guide__data p:not(:empty) {
	margin: 0;
	font-weight: bold;
}
.btn--primary, .btn--transparent, .btn--secondary, .btn--tertiary, .btn--simple, .btn--wishlist, .btn {
    -moz-user-select: "none";
    -ms-user-select: "none";
    -webkit-user-select: "none";
    user-select: "none";
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border-radius: 0;
    border: 0;
    padding: 0;
    text-decoration: none;
    display: inline-block;
    width: auto;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    border: 0;
    -webkit-font-smoothing: subpixel-antialiased;
    text-rendering: optimizeLegibility;
    text-rendering: geometricPrecision;
    text-rendering: optimizeSpeed;
}
.btn:active,
.btn.active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn--close {
    width: 4.5rem;
    height: 4.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #979696;
}
@media only screen and (min-width: 768px) {
	.btn--close {
		width: 7rem;
		height: 7rem;
	}
}
.icon {
    color: #000;
    display: inline-block;
    width: 1.5rem;
    height: 1.5rem;
    vertical-align: middle;
}
.btn--close:not(.no-color) .icon {
    color: #979696;
}
.modal svg {
    margin: 0;
	overflow: hidden;
}
.visually-hidden {
    position: absolute !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}
.options-selector {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-flow: row wrap;
}
.options-selector>* {
	flex: 1
}
.options-selector {
    justify-content: center;
}
.options-selector>li {
    padding: 0 1.5rem;
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
}
.btn--full {
    display: block;
    width: 100%;
    min-width: 0;
    padding-right: 0;
    padding-left: 0;
}
.options-selector__label {
    padding: 0.5rem 0;
    text-align: center;
    color: #000;
    width: 100%;
	cursor: pointer;
	border-bottom: 1px solid transparent;
	text-transform: uppercase;
	font-weight: bold;
}
.options-selector__icon {
    height: 3rem;
    margin-bottom: 1rem;
    display: flex;
    flex-flow: column;
    justify-content: center;
}
.options-selector--icons .options-selector__input:not(:checked)+.options-selector__label {
    opacity: 0.25;
}
.options-selector--icons .options-selector__input:not(:checked)+.options-selector__label:hover {
	opacity: 1
}
.selected, .options-selector__label:hover {
	border-bottom: 1px solid #000
}
.marg-gutter-bottom {
    margin-bottom: 3rem !important;
}


@media (min-width: 992px) {
    .botiga-shop-swiper .swiper-button-next,
    .botiga-shop-swiper .swiper-button-prev,
    .botiga-shop-swiper .swiper-pagination {
        opacity: 0;
        transition: opacity 0.3s ease;
    }
    .botiga-shop-swiper:hover .swiper-button-next,
    .botiga-shop-swiper:hover .swiper-button-prev,
    .botiga-shop-swiper:hover .swiper-pagination {
        opacity: 1;
    }
	
	.woocommerce-product-gallery .swiper-button-next,
	.woocommerce-product-gallery .swiper-button-prev,
	.woocommerce-product-gallery .swiper-pagination {
		opacity: 0;
        transition: opacity 0.3s ease;
	}

	.woocommerce-product-gallery:hover .swiper-button-next,
	.woocommerce-product-gallery:hover .swiper-button-prev,
	.woocommerce-product-gallery:hover .swiper-pagination {
		opacity: 1;
	}

	.swiper.block-gallery-slider .swiper-pagination {
		opacity: 0;
        transition: opacity 0.3s ease;
	}

	.swiper.block-gallery-slider:hover .swiper-button-next,
	.swiper.block-gallery-slider:hover .swiper-button-prev,
	.swiper.block-gallery-slider:hover .swiper-pagination {
		opacity: 1;
	}

}


/* ---------------------------------------------------------
   CONTACT FORM
------------------------------------------------------------ */

.wpcf7 .form-row {
	display: flex;
	margin-bottom: 20px;
	flex-direction: column;
	gap: 0;
}

.wpcf7 .form-row label {

}
.wpcf7 .form-row input {
	margin-top: 5px;
}
.wpcf7 .form-col {
    flex: 1;
}
.wpcf7 .form-col input:not([type="checkbox"]), .form-col textarea, .form-col select {
    width: 100%;
}
.wpcf7-list-item {
    margin: 0;
}
.wpcf7 p {
	margin-bottom: 0;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    display: none;
}
.wpcf7-form.invalid .wpcf7-not-valid-tip {
    display: block;
}
.wpcf7-submit {
	width: 100%;
}
.wpcf7-spinner {
    margin: 15px auto 5px;
	float: none;
	display: block;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #dc3232;
}
/* @media (min-width: 782px) {
    .wpcf7 .form-row {
		flex-direction: row;
		gap: 20px;
	}
} */

/* ---------------------------------------------------------
   FOOTER
------------------------------------------------------------ */

.bhfb-footer {
    z-index: 1;
}
.bhfb-footer .bhfb-main_footer_row {
	width: 60%;
	margin: auto;
}

footer .widget_nav_menu a {
	font-size: 15px;
}
.footer-html {
	display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.footer-html .payments-footer {
	height: 35px; 
	filter: grayscale(100%);
}
