/* * * * * * * * * * * * * * * * * * * *
*                                     *
*               Summary               *
*                                     *
*    0. Header                        *
*    1. Footer                        *
*    2. 404                           *
*                                     *
* * * * * * * * * * * * * * * * * * * */

/***************************************/

/***************************************
*                                     *
*    0. Header                        *
*                                     *
***************************************/

body:has(#wpadminbar) #page-header {
	margin-top: 32px;
}

/***** Contenedor principal *****/

#page-header {
	width: 100%;
	height: auto;
	display: flex;
	margin: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}

/***** Menú Desktop  *****/

.desktop-header {
	width: inherit;
	height: auto;
	display: flex;
	flex-direction: column;
}

.desktop-header__wrapper {
	width: auto;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--s-xs);
	background-color: var(--c-white);
}

.desktop-header__section {
	width: auto;
	height: auto;
	display: flex;
	position: relative;
}

.desktop-header__section--searchbar {
	width: 30%;
}

/* Top */

.desktop-header__wrapper--top {
	height: 70px;
	justify-content: center;
	padding: var(--s-xxs) var(--s-xxl);
	background-color: var(--c-blue-2);
}

.desktop-header__wrapper--top .site-logo a {
	width: 260px;
	height: 70px;
	display: flex;
	justify-content: center;
	position: relative;
	overflow: visible;
}

.desktop-header__wrapper--top .site-logo__img {
	width: auto;
	max-width: unset;
	height: 105px;
	object-fit: contain;
	position: absolute;
	top: 0;
}

/* Bottom */

.desktop-header__wrapper--bottom {
	height: 45px;
	padding: var(--s-xs) var(--s-m);
	background-color: var(--c-blue-3);
}

.menu {
	width: 103vw;
	max-width: unset !important;
	height: calc(100vh - var(--d-header-spacing));
	display: none;
	position: absolute;
	top: 150%;
	left: -5%;
	background-color: var(--c-blue-1);
}

.menu--active {
	display: flex;
}

.menu__list {
	width: 20vw;
	height: auto;
	display: flex;
	flex-direction: column;
	padding: var(--s-m) 0;
	gap: var(--s-xs);
	position: relative;
}

.menu__list > .menu-item.current-menu-item > a {
	font-weight: 600;
}

.menu__list > .menu-item {
	display: flex;
	flex-direction: column;
}

.menu__list > .menu-item > a {
	padding: var(--s-xs) var(--s-xl);
	white-space: pre;
	font-weight: 400;
	color: var(--c-white);
	border: 1px solid var(--c-white);
	border-radius: 0 var(--d-border-radius) var(--d-border-radius) 0;
}

.menu__list > .menu-item:hover > .sub-menu {
	display: grid;
}

.menu__list > .menu-item > .sub-menu {
	width: 80vw;
	max-width: unset;
	height: auto;
	display: none;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--s-xxl) var(--s-xs);
	position: absolute;
	top: 0;
	left: 100%;
	padding: var(--s-m);
	background-color: var(--c-white);
	padding-left: var(--s-xl);
	border-left: var(--s-m) solid var(--c-blue-1);
}

.menu__list > .menu-item > .sub-menu > .menu-item {
	width: 100%;
	height: auto;
	display: flex;
	flex-direction: column;
	gap: var(--s-xs);
	align-items: center;
	padding: 0 var(--s-m);
}

.menu__list > .menu-item > .sub-menu > .menu-item > a {
	align-self: normal;
	padding: var(--s-xs) var(--s-xl);
	border-radius: var(--d-border-radius);
	border: var(--d-border-width) solid var(--c-blue-1);
	background-color: transparent;
	color: var(--c-blue-1);
	transition: 0.3s;
	text-align: center;
}

.menu__list > .menu-item > .sub-menu > .menu-item > a:hover {
	background-color: var(--c-blue-1);
	color: var(--c-white);
}

.menu__list > .menu-item > .sub-menu > .menu-item > .sub-menu {
	display: flex;
	flex-direction: column;
	gap: var(--s-s);
}

.menu__list > .menu-item > .sub-menu > .menu-item > .sub-menu > .menu-item a {
	color: var(--c-blue-1);
	font-size: var(--f-s);
}

.menu__list
> .menu-item
> .sub-menu
> .menu-item
> .sub-menu
> .menu-item
a:hover {
	text-decoration: underline;
}

/* Searchbar */

.dgwt-wcas-sf-wrapp {
	position: relative !important;
	padding: unset !important;
}

.dgwt-wcas-search-wrapp {
	border-radius: var(--d-border-radius) !important;
	overflow: hidden !important;
	border: var(--d-border-width) solid transparent !important;
}

.dgwt-wcas-search-wrapp:has(input:focus) {
	border: var(--d-border-width) solid var(--c-yellow-1) !important;
}

.dgwt-wcas-search-wrapp .dgwt-wcas-search-input {
	font-size: var(--f-s) !important;
	padding: var(--s-xxs) var(--s-xxl) var(--s-xxs) var(--s-l) !important;
	border-radius: unset !important;
	outline: unset !important;
	border: unset !important;
}

.dgwt-wcas-search-wrapp .dgwt-wcas-preloader {
	right: var(--s-s) !important;
}

.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit {
	width: 40px !important;
	height: 100% !important;
	top: 0 !important;
	right: 0 !important;
	left: unset !important;
	border-radius: unset !important;
	background-color: unset !important;
	pointer-events: auto !important;
	cursor: default !important;
}

.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit path {
	fill: var(--c-blue-2) !important;
}

/***** Menú Mobile  *****/

body:has(.mobile-header__wrapper--active) {
	height: 100vh;
	overflow: hidden;
}

.mobile-header {
	display: none; /* Oculto por defecto */
	width: 100%;
	height: auto;
	flex-direction: column;
	padding: var(--s-xs);
	background: var(--c-blue-2);
	filter: drop-shadow(5px 0 10px rgb(0, 0, 0, 0.25));
}

.mobile-header__wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.mobile-header__section {
	width: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.mobile-header__section--right {
	justify-content: flex-end;
}

.mobile-header__section--left {
	justify-content: flex-start;
}

.mobile-header__section .site-logo a{
	width: min(50vw, 250px);
	height: 50px;
	display: block;
	position: relative;
}

.mobile-header__section .site-logo a img{
	width: 100%;
	position: absolute;
	top: 0;
}

/*** Bottom ***/

.mobile-header__wrapper--bottom {
	width: 100%;
	height: auto;
	position: absolute;
	top: 0;
	right: -100%;
	display: flex;
	background-color: var(--c-blue-2);
	flex-direction: column;
	justify-content: flex-start;
	gap: var(--s-m);
	padding-top: var(--s-m);
	transition: 0.3s;
	overflow: hidden auto;
}

.mobile-header__wrapper--active {
	right: 0;
}

.mobile-header__wrapper--bottom .mobile-header__section {
	width: 100%;
}

.mobile-header__wrapper--bottom .mobile-header__section:not(:last-child) {
	padding: 0 var(--s-l);
}

/*** Buttons ***/

.mobile-header__wrapper--bottom .mobile-header__section .closeButton {
	position: relative;
	top: unset;
	right: unset;
}
.mobile-header__wrapper--bottom .mobile-header__section .backButton {
	display: none;
}

.mobile-header__wrapper--bottom:has(.filter--active)
.mobile-header__section
.closeButton {
	display: none;
}

.mobile-header__wrapper--bottom:has(.filter--active)
.mobile-header__section
.backButton {
	display: flex;
}

/*** Searchbar ***/

.mobile-header__section
.dgwt-wcas-style-pirx
.dgwt-wcas-sf-wrapp
button.dgwt-wcas-search-submit {
	background-color: var(--c-grey-4) !important;
}

/*** Menu ***/

.mobile-header .icon-wrapper--vertical:hover .icon-wrapper__text {
	color: var(--c-white);
}

.mobile-header__section .menu {
	width: 100%;
	display: flex;
	position: relative;
	top: unset;
	left: unset;
}

.mobile-header__section .menu__list {
	width: 100%;
	background-color: unset;
	gap: var(--s-s);
    padding: var(--s-m);
}

.mobile-header__section .menu__list .menu-item{
	padding: 0 !important;
}

.mobile-header__section .menu__list .menu-item a{
	width: 100%;
	display: flex;
    padding: var(--s-xs) var(--s-xl) !important;
    white-space: pre;
    font-weight: 400;
    color: var(--c-white);
    border: 1px solid var(--c-white);
	border-radius: 5px !important;
	text-align: start !important;
}

.mobile-header__section .menu__list .menu-item .sub-menu {
	width: 100%;
	height: 100%;
    display: flex;
	flex-direction: column;
    position: absolute;
    top: 0;
    right: -100%;
    left: unset;
    transition: 0.3s;
	gap: var(--s-s);
    border: unset;
    padding: var(--s-m);
}

.mobile-header__section .menu__list .menu-item .sub-menu:after {
	content: unset;
}

.mobile-header__section .menu__list .menu-item > .sub-menu {
	z-index: 2;
}

.mobile-header__section .menu__list .menu-item.filter--active > .sub-menu {
	right: 0;
}

.mobile-header__section .menu__list .menu-item .dropdownIcon {
	width: 35px;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: var(--s-m);
	cursor: pointer;
	transition: 0.3s;
}

.mobile-header__section .menu__list > .menu-item > .dropdownIcon {
	filter: brightness(3);
}

.mobile-header__section .menu__list .menu-item .dropdownIcon img {
	width: 15px;
	aspect-ratio: 1;
	object-fit: contain;
	margin: auto;
}

.mobile-header__section .menu__list .menu-item .sub-menu .menu-item > .sub-menu {
	z-index: 3;
	background-color: var(--c-blue-1);
}

.mobile-header__section .menu__list .menu-item .sub-menu .menu-item > .sub-menu a{
	color: var(--c-white);
}

/***************************************
*                                     *
*    1. Footer                        *
*                                     *
***************************************/

/***** Contenedor principal  *****/

#page-footer {
	width: 100%;
}

.footer__wrapper {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}

/***** Center  *****/

.footer__wrapper--center {
	justify-content: flex-start;
	align-items: start;
	padding: var(--s-l) var(--s-xl);
	gap: var(--s-xxl);
	background-color: var(--c-blue-2);
}

.footer__col {
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: center;
	padding: var(--s-s);
}

.widget--nav,
.widget--info {
	width: 100%;
}

.widget--nav li,
.widget--info li {
	margin-bottom: var(--s-xxs);
	color: var(--c-white);
}

.widget--nav li a,
.widget--info li a {
	color: var(--c-white);
}

/***************************************
*                                     *
*    2. Contenedor principal          *
*                                     *
***************************************/

#main-container,
#main {
	width: 100%;
	margin-top: var(--d-header-spacing);
	overflow-x: hidden;
}

#main-container:not(:has(#custom-woo-sidebar)),
#main:not(:has(#custom-woo-sidebar)) {
	min-height: calc(100vh - var(--d-header-spacing));
}

/***** Contenedor principal  *****/

/**************************************
*                                     *
*    -. 404                           *
*                                     *
***************************************/

/**************************************
*                                     *
*    -. Tienda                        *
*                                     *
***************************************/

/* General */

.woocommerce-Button,
.button {
	background-color: var(--c-blue-2) !important;
	color: var(--c-white) !important;
	font-weight: 600 !important;
	border-radius: 5px !important;
}

.woocommerce-message {
	border-top-color: var(--c-blue-2);
	margin: unset !important;
}

/***** Estructura  *****/

#primary {
	position: relative;
}

.woocommerce-info {
	width: 100%;
	margin-bottom: var(--s-s);
}

.woocommerce-products-header {
	display: none !important;
}

#main {
	display: flex;
	flex-wrap: wrap;
}

.woocommerce-breadcrumb {
	width: 30%;
	font-size: var(--s-xs);
	margin-bottom: var(--s-s);
	color: var(--c-blue-3) !important;
	font-weight: 600;
}

.woocommerce-breadcrumb a {
	font-weight: 400;
	color: var(--c-grey-2);
	text-decoration: underline;
}

.woocommerce-breadcrumb a:first-child {
	padding-left: var(--s-l) !important;
}

.custom-sidebar-title {
	width: 30%;
	text-align: center;
	color: var(--c-blue-2);
}

.custom-sidebar-button {
	width: 100%;
	height: auto;
	display: none;
	justify-content: center;
	align-items: center;
	gap: var(--s-xs);
	margin-bottom: var(--s-l);
	padding: var(--s-xxs) var(--s-s);
	border: 2px solid var(--c-grey-1);
	border-radius: 5px;
	color: var(--c-blue-2);
	font-weight: 600;
}

.custom-sidebar-button img {
	width: 15px;
	aspect-ratio: 1;
	object-fit: contain;
}

.woocommerce-result-count {
	width: 35%;
	margin: unset !important;
	float: unset !important;
	text-align: start;
}

.woocommerce-ordering {
	width: 35%;
	display: flex;
	justify-content: flex-end;
	margin: unset !important;
	float: unset !important;
	padding-right: var(--s-l);
}

.custom-separator {
	width: 100%;
	height: 3px;
	background-color: var(--c-grey-2);
	margin: var(--s-xs) 0 var(--s-m);
	border-radius: 50px;
}

#custom-woo-sidebar {
	width: 25%;
}

.archive .products {
	width: 75%;
	padding: var(--s-xs) var(--s-l) !important;
}

.woocommerce-no-products-found {
	width: 50%;
	height: auto;
	align-self: self-start;
	margin: 0 auto;
	margin: var(--s-xxl) auto 0;
}

/*** Parte superior ***/

.Shop {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: var(--s-m) var(--s-l);
}

.Shop__section {
	width: inherit;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: auto;
}

.Shop__section--top {
	flex-direction: column;
	gap: var(--s-xs);
}

.Shop__section--top img {
	width: 100%;
}

.Shop__section--bottom {
	width: 100%;
}

.Shop__section--bottom .Shop__wrapper {
	width: 100%;
	gap: unset;
	padding-top: var(--s-s);
}

.Shop__wrapper {
	display: flex;
	gap: var(--s-xxl);
	justify-content: center;
}

.Shop__wrapper--overflowing {
	justify-content: flex-start;
}

/* Categoría */

.Shop__thumb {
	position: relative;
}

.Shop__icon {
	width: 85px;
	aspect-ratio: 1;
	object-fit: contain;
}

.Shop__title {
	color: var(--c-grey-4);
	font-size: var(--s-m);
	font-weight: 600;
}

/* Subcategorias */

.Shop__item {
	width: 115px;
	min-width: 115px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	gap: var(--s-xs);
}

.Shop__item--card {
	width: auto;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 var(--s-xs);
}

.Shop__item--card:first-child {
	padding-left: unset;
}

.Shop__item--card:last-child {
	padding-right: unset;
}

.Shop__item--card:hover .Shop__img--card {
	transform: translateY(-5px);
}

.Shop__link--card {
	width: 100%;
}

.Shop__img--card {
	width: 100%;
	height: auto;
	object-fit: contain;
	transition: 0.3s;
}

.Shop__img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: center;
	border-radius: 100%;
	overflow: hidden;
}

.Shop__subtitle {
	text-align: center;
	color: var(--c-black);
	font-size: var(--f-s);
}

/* Productos destacados */

.Shop__section .woocommerce {
	width: 100%;
}

.Shop__section .products {
	width: 75%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: auto !important;
	overflow: hidden;
}

.Shop__section .product {
	min-width: 100% !important;
	max-width: unset !important;
	height: 250px;
	flex-direction: row;
	align-items: center;
	border-radius: 15px;
	border-color: var(--c-grey-2);
	border-width: 2px;
}

/* Top */

.Shop__section .product .woocommerce-loop-product__link {
	height: 100%;
	width: 50%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
}

.Shop__section .product .woocommerce-loop-product__title {
	width: 50%;
}

.Shop__section .product .attachment-woocommerce_thumbnail {
	width: auto !important;
	height: 100% !important;
}

/* Bottom */

.Shop__section .product .cart {
	height: 35px;
	width: 190px;
}

/***** Filtros  *****/

#custom-woo-sidebar {
	padding-top: var(--s-xs);
}

#custom-woo-sidebar .widget:has(ul.filter--displayed) .widget-title i {
	transform: rotate(180deg);
}

#custom-woo-sidebar .widget-title {
	display: flex;
	justify-content: space-between;
	padding: var(--s-s) var(--s-l);
	color: var(--c-white);
	background-color: var(--c-blue-2);
	border-radius: 0 7.5px 7.5px 0;
	transition: 0.3s;
	cursor: pointer;
	font-size: var(--f-s);
	margin-bottom: var(--s-xxs);
	user-select: none;
}

#custom-woo-sidebar .widget-title i {
	font-family: "FontAwesome" !important;
}

#custom-woo-sidebar .widget-title:hover {
	background-color: var(--c-yellow-1);
}

#custom-woo-sidebar .menu {
	width: 100%;
	height: auto;
	display: none;
	flex-direction: column;
	position: relative;
	top: unset;
	left: unset;
	background-color: unset;
	margin-bottom: var(--s-xs);
}

.filter--displayed {
	display: flex !important;
}

#custom-woo-sidebar .menu li {
	position: relative;
}

#custom-woo-sidebar .menu li.item--selected > .Icon {
	transform: rotate(180deg);
}

#custom-woo-sidebar .menu li .Icon {
	font-family: "FontAwesome" !important;
	position: absolute;
	right: 15px;
	top: 13px;
	font-size: var(--f-s);
	cursor: pointer;
}

#custom-woo-sidebar .menu li > a {
	width: 100%;
	display: flex;
	padding: var(--s-s) !important;
	padding-left: var(--s-s) !important;
	border-bottom: 1px solid var(--c-grey-1);
	color: var(--c-black);
}

#custom-woo-sidebar .menu li .sub-menu {
	display: none;
}

#custom-woo-sidebar .menu li.item--selected > .sub-menu {
	display: block;
}

#custom-woo-sidebar .menu li > .sub-menu > li a {
	padding-left: var(--s-l) !important;
}

#custom-woo-sidebar .menu li > .sub-menu > li > .sub-menu > li a {
	padding-left: var(--s-xxl) !important;
}

.bapf_sfilter {
	user-select: none;
	margin-bottom: var(--s-xxs);
}

.bapf_head {
	padding: var(--s-s) var(--s-l);
	color: var(--c-white);
	background-color: var(--c-blue-2);
	border-radius: 0 7.5px 7.5px 0;
	transition: 0.3s;
	cursor: pointer;
}

.bapf_head .bapf_hascolarr {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--f-s);
}

.bapf_head .bapf_hascolarr .bapf_colaps_smb,
.bapf_body ul li .bapf_cchild,
.bapf_body ul li .bapf_ochild {
	font-family: "FontAwesome" !important;
}

.bapf_head:hover {
	background-color: var(--c-yellow-1);
}

.bapf_body ul {
	width: 100%;
	margin: unset !important;
	overflow: hidden;
}

.bapf_body ul li {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.bapf_body ul li:has(ul) {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.bapf_body ul li.checked > label {
	display: flex !important;
	gap: var(--s-xs);
	align-items: center;
	border-color: var(--c-blue-2);
	border-width: 2px;
	color: var(--c-blue-2);
	font-weight: 600;
}

.bapf_body ul li.checked > label:before {
	content: "";
	width: 10px;
	aspect-ratio: 1;
	display: block;
	border-radius: 100px;
	background-color: var(--c-blue-2);
}

.bapf_body ul li input {
	display: none;
}

.bapf_body ul li label {
	width: 100%;
	padding: var(--s-s) !important;
	padding-left: var(--s-s) !important;
	border-bottom: 1px solid var(--c-grey-1);
}

.bapf_body ul li i {
	position: absolute;
	right: 20px;
	top: 15px;
}

.bapf_body ul li > ul > li > label {
	padding-left: var(--s-m) !important;
}

.bapf_body ul li > ul > li > ul > li label {
	padding-left: var(--s-xl) !important;
}

/***** Productos  *****/

.products {
	height: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--s-l);
	padding: var(--s-xs) !important;
}

.products:before {
	display: none !important;
}

.product {
	width: 300px !important;
	min-width: 300px !important;
	max-height: 400px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(7, 1fr);
	padding: var(--s-s) !important;
	margin: 0 auto !important;
	border: 1px solid var(--c-blue-3);
	border-radius: 10px;
}

/* Top */

.product .onsale {
	display: none;
}

.product:has(.onsale):before,
.product.featured:before {
	content: "";
	width: 50px;
	aspect-ratio: 1;
	position: absolute;
	right: 0;
	top: 5px;
	background-position: center;
	background-size: contain;
}

.product:has(.onsale):before {
	background-image: url("https://prueba-simona.marcacreativos.com/wp-content/uploads/2023/06/Discount.png");
}

.product.featured:before {
	width: 40px;
	right: 5px;
	background-image: url("https://prueba-simona.marcacreativos.com/wp-content/uploads/2023/06/Featured.png");
}

.product .woocommerce-loop-product__link {
	grid-area: 1 / 1 / 5 / 4;
}

.product .attachment-woocommerce_thumbnail {
	width: 75% !important;
	margin: auto !important;
}

.product .woocommerce-loop-product__title {
	grid-area: 5 / 1 / 6 / 3;
	color: var(--c-blue-2);
	font-size: var(--f-s) !important;
}

.product .woocommerce-loop-product__meta {
	grid-area: 6 / 1 / 7 / 3;
	display: flex;
	flex-direction: column;
	color: var(--c-grey-1);
}

.product .price {
	display: flex !important;
	justify-content: space-between;
	margin-bottom: unset !important;
	grid-area: 7 / 1 / 8 / 3;
	font-size: var(--f-m) !important;
}

.product .price * {
	color: var(--c-blue-3) !important;
	font-weight: 600 !important;
}

.product .price del {
	text-decoration: line-through;
}

/* Bottom */

.product .cart {
	grid-area: 5 / 3 / 8 / 4;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: var(--s-xs);
}

.product .cart .quantity {
	width: 100%;
	height: 35px;
}

.product .cart .quantity input {
	display: none;
}

.qty-button {
	height: inherit;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	place-items: center;
	border: 1px solid var(--c-blue-3);
	border-radius: 7.5px;
}

.qty-button__section {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--c-blue-3);
}

.qty-button__section:not(.qty-button__section--display) {
	cursor: pointer;
	user-select: none;
}

.qty-button__section:not(.qty-button__section--display):hover {
	background-color: var(--c-grey-1);
}

.qty-button__section:not(.qty-button__section--display):active {
	background-color: var(--c-grey-2);
}

.qty-button__section--add {
	border-left: 1px solid var(--c-blue-2);
}

.qty-button__section--remove {
	border-left: 1px solid var(--c-blue-2);
}

.product .cart .button {
	all: unset;
	width: 100%;
	display: flex !important;
	justify-content: center;
	align-items: center;
	background-color: var(--c-blue-2) !important;
	color: var(--c-white) !important;
	padding: var(--s-xs) 0;
	margin: unset !important;
	cursor: pointer;
	border: var(--d-border-width) solid transparent;
	border-radius: 7.5px !important;
	font-size: var(--s-s);
	font-weight: 400 !important;
}

.product .cart .button.loading {
	padding: var(--s-xs) 0 !important;
}

.product .cart .button:focus,
.product .cart .button:hover {
	border: var(--d-border-width) solid var(--c-yellow-1);
}

.product .cart .added_to_cart {
	grid-column: 1 / 3;
	padding: unset;
	color: var(--c-blue-2);
	font-weight: 600;
	text-decoration: underline;
}

/* Producto individual */

:has(.single-product) .woocommerce-breadcrumb {
	width: min(100%, 1200px) !important;
	margin: auto;
}

:has(#custom-woo-sidebar) .woocommerce-notices-wrapper {
	width: 90%;
}

.woocommerce-notices-wrapper,
.woocommerce-info {
	width: min(100%, 1200px);
	margin: var(--s-l) auto !important;
}

.single-product #main > .product {
	width: 90% !important;
	max-width: unset !important;
	max-height: unset !important;
	display: flex !important;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: auto !important;
	border: unset;
}

.single-product .product .woocommerce-product-gallery {
	width: 40% !important;
	max-width: 500px;
}

.single-product .product .woocommerce-product-gallery figure {
	width: 90%;
	margin: auto;
	background-color: var(--c-grey-1);
	border-radius: 25px;
}

.single-product .product .summary {
	width: 60% !important;
	display: flex;
	flex-direction: column;
	gap: var(--s-m);
	padding-left: var(--s-l);
	float: unset !important;
}

.single-product .product .price {
	justify-content: flex-start;
	gap: var(--s-m);
}

.single-product .product .price ins * {
	color: var(--c-blue-2) !important;
}

.single-product .product .cart {
	margin: unset !important;
	max-width: 250px;
}

.single-product .product .cart:before,
.single-product .product .cart:after {
	content: unset !important;
}

.single-product .product .related {
	display: flex;
	flex-direction: column;
}

.single-product .product .related .products {
	display: flex !important;
	overflow: auto;
}

/**************************************
*                                     *
*    -. Cuenta                        *
*                                     *
***************************************/

/*** Password ***/

.woocommerce-ResetPassword{
	width: min(90%, 950px);
	margin: auto;
}

.woocommerce-ResetPassword p{
	margin-bottom: var(--s-xs) !important;
}

/*** Contenedor ***/

.woocommerce .login{
	margin: auto !important;
}

.woocommerce:has(.login) > h2 {
	width: 100% !important;
	text-align: center;
}

.woocommerce:has(.woocommerce-MyAccount-navigation) {
	width: 90%;
	height: auto;
	display: flex;
	justify-content: center;
	flex-direction: row;
	align-items: flex-start;
	gap: var(--s-l);
	padding: var(--s-xs);
	margin: var(--s-l) auto;
}

/* Navegación */

.woocommerce-MyAccount-navigation {
	min-width: 20%;
	padding: var(--s-m);
	border: 2px solid var(--c-blue-2);
	border-radius: 5px;
	float: unset;
}

.woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: var(--s-xs);
}

.woocommerce-MyAccount-navigation-link {
	--c-text: var(--c-grey-4);
	--c-border: var(--c-grey-2);
	padding: var(--s-xs);
	border-bottom: 2px solid var(--c-border);
}

.woocommerce-MyAccount-navigation-link a {
	color: var(--c-text);
}

.woocommerce-MyAccount-navigation-link.is-active {
	--c-text: var(--c-blue-2);
	--c-border: var(--c-blue-2);
}

/* Editar cuenta */

.woocommerce-EditAccountForm input {
	padding: var(--s-xs) var(--s-s);
	border: 1px solid var(--c-grey-1);
	border-radius: 5px;
}

.woocommerce-EditAccountForm fieldset {
	margin-top: var(--s-m);
	padding: var(--s-xs);
}

.woocommerce-EditAccountForm .show-password-input {
	top: auto !important;
	right: var(--s-s) !important;
	bottom: auto;
}

.woocommerce-EditAccountForm .woocommerce-Button {
	display: flex !important;
	margin: var(--s-s) auto !important;
}

/**************************************
*                                     *
*    -. Carrito                       *
*                                     *
***************************************/

.woocommerce:has(.woocommerce-cart-form),
.woocommerce:has(.return-to-shop),
.woocommerce:has(.login),
.woocommerce:has(.woocommerce-ResetPassword){
	width: 90%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--s-l);
	padding: var(--s-xs);
	margin: var(--s-l) auto;
}

.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout{
	grid-area: 6 / 1 / 4 / 5;
}

.woocommerce:has(.woocommerce-cart-form) .woocommerce-notices-wrapper {
	width: 100%;
}

.woocommerce-cart-form {
	width: 65%;
}

.cart-collaterals {
	width: 30% !important;
}

.cart-collaterals .cart_totals {
	width: 100% !important;
	float: unset !important;
}

.cart-collaterals .cart_totals .button {
	font-size: var(--s-m) !important;
}

/**************************************
*                                     *
*    -. Inicio                        *
*                                     *
***************************************/

.featured-products {
	overflow: auto;
}

.featured-products .products {
	display: flex !important;
	padding: unset !important;
	scroll-snap-type: x mandatory;
}

.featured-products .products li {
	scroll-snap-align: start;
}

div:has(.banner) {
	margin: unset !important;
	gap: unset;
}

.banner figure {
	padding: var(--s-s);
	margin: unset !important;
}

.banner figure img {
	width: 100%;
}

.banner_img--responsive{ display: none; }

.POS img{
	transition: .3s;
}

.POS img:hover{
	transform: translatey( -5px );
}

.POS p{
	font-size: var(--f-m);
	color: var(--c-blue-1);
}

/**************************************
*                                     *
*    -. Checkout                      *
*                                     *
***************************************/

.checkout {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: repeat(7, 1fr);
	gap: var(--s-xl);
	padding: var(--s-xl);
}

.checkout #customer_details {
	grid-area: 1 / 1 / 8 / 5;
	display: flex;
	flex-direction: column;
}

.checkout #customer_details > div {
	width: 100%;
}

.checkout #order_review_heading {
	display: none;
}

.checkout #order_review {
	grid-area: 1 / 5 / 8 / 7;
}

#customer_details input {
	padding: var(--s-xs) var(--s-s);
	border: 1px solid var(--c-grey-1);
	border-radius: 5px;
}

#customer_details .selection span[role="combobox"] {
	background-color: var(--c-grey-1);
	border: unset;
	border-radius: 5px;
}

#customer_details .col-2 {
	display: none !important;
}

.select2-dropdown {
	display: none !important;
}

#billing_country_field,
#billing_state_field,
#billing_town_field {
	display: none !important;
}

/* Horarios */

#billing_schelude_field .woocommerce-input-wrapper > div {
	display: flex;
	gap: var(--s-xs);
}

/**************************************
*                                     *
*    -. Confirmación de compra        *
*                                     *
***************************************/

.woocommerce-order {
	width: min(90%, 1200px);
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: var(--s-xs);
	padding: var(--s-xxl) var(--s-m);
}

.woocommerce-order .woocommerce-notice,
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
	font-size: var(--s-l);
	font-weight: 600;
	text-align: center;
	color: var(--c-blue-2);
	margin-bottom: var(--s-xl);
}

.woocommerce-order .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--s-l);
}

.woocommerce-order .woocommerce-order-overview::after,
.woocommerce-order .woocommerce-order-overview::before {
	display: none !important;
}

.woocommerce-order .woocommerce-order-overview li {
	width: auto;
	float: unset;
	margin: unset !important;
	text-transform: unset;
}

.woocommerce table.shop_table tbody th,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table th {
	font-weight: 600;
}

.woocommerce .woocommerce-customer-details address {
	padding: var(--s-xs);
	border: 2px solid var(--c-grey-1);
	display: flex;
	flex-direction: column;
	gap: var(--s-xs);
}

.woocommerce .woocommerce-customer-details address p {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--s-xs);
}

/**************************************
*                                     *
*    -. Responsive                    *
*                                     *
***************************************/

@media (max-width: 1200px) {
	/***** Productos  *****/

	.products {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--s-s);
	}
}

@media (max-width: 768px) {
	/***** General *****/

	:root {
		--d-header-spacing: 100px;
	}

	#wpadminbar {
		position: fixed;
	}

	.icon-wrapper {
		margin: 5px;
	}

	.icon-wrapper__icon {
		width: 25px;
	}

	/***** Header  *****/

	body:has(#wpadminbar) #page-header {
		margin-top: 46px;
	}

	.desktop-header {
		display: none;
	}
	.mobile-header {
		display: flex;
	}

	/***** Footer  *****/

	#page-footer {
		width: 100%;
	}

	.footer__wrapper {
		width: 100%;
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	/* Top */

	.footer__wrapper--top {
		gap: var(--s-m);
		padding: var(--s-xs);
		background-color: var(--c-grey-4);
	}

	.footer__wrapper--top .icon-wrapper {
		flex-direction: column;
		justify-content: center;
		margin: unset;
	}

	.footer__wrapper--top .icon-wrapper .icon-wrapper__text {
		text-align: center;
	}

	/* Center */

	.footer__wrapper--center {
		flex-direction: column;
		align-items: center;
		gap: var(--s-xs);
	}

	.footer__col:not(:first-child) li {
		display: flex;
		justify-content: center;
	}

	.footer__col:not(:first-child) * {
		text-align: center;
	}

	.widget--info {
		margin-bottom: var(--s-l);
	}

	/***** Inicio *****/

	.Title {
		margin-top: var(--s-l);
	}

	.featured-products {
		margin-bottom: var(--s-l) !important;
	}

	.banner_img--default{ display: none; }
	.banner_img--responsive{ display: block; }


	/***** Tienda *****/

	/* General */

	.woocommerce-Button,
	.button {
		background-color: var(--c-blue-2) !important;
		color: var(--c-white) !important;
		font-weight: 600 !important;
		border-radius: 5px !important;
	}

	.woocommerce-message {
		border-top-color: var(--c-blue-2);
		margin: unset !important;
	}

	.woocommerce-breadcrumb{
		width: 100% !important;
	}

	.woocommerce-breadcrumb,
	.woocommerce-breadcrumb *{
		font-size: var(--f-s) !important;
	}

	.woocommerce-breadcrumb a:first-child{
		padding: unset !important;
	}

	/* Estructura */

	#primary {
		padding: 0 var(--s-m);
		position: relative;
	}

	.custom-sidebar-title {
		display: none;
	}
	.custom-sidebar-button {
		display: flex;
	}

	.woocommerce-ordering,
	.woocommerce-result-count,
	.custom-separator{
		display: none;
	}

	#custom-woo-sidebar {
		width: 100vw;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 20;
		background-color: var(--c-white);
		padding: var(--s-xs);
		transform: translatex(-100%);
		transition: .3s;
	}
	
	.menu--displayed{
		transform: translatex( 0 ) !important;
	}
	
	#custom-woo-sidebar .overlay{
		width: 100vw;
		max-width: unset !important;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		pointer-events: none;
	}
	
	#custom-woo-sidebar.menu--displayed .overlay{
		pointer-events: all;
	}

	.archive .products {
		width: 100%;
		margin-top: var(--s-s) !important;
	}

	/*** Parte superior ***/

	.Shop {
		padding: unset;
		margin-bottom: unset;
	}

	.Shop__section--bottom {
		padding-bottom: var(--s-s);
	}

	/* Productos destacados */

	.Shop__section .woocommerce {
		width: 100%;
	}

	.Shop__section .products {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: auto !important;
		overflow: hidden;
	}

	.Shop__section .product {
		min-width: 100% !important;
		max-width: unset !important;
		height: 250px;
		flex-direction: row;
		align-items: center;
		border-radius: 15px;
		border-color: var(--c-grey-2);
		border-width: 2px;
	}

	/* Top */

	.Shop__section .product .woocommerce-loop-product__link {
		height: 100%;
		width: 50%;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
	}

	.Shop__section .product .woocommerce-loop-product__title {
		width: 50%;
	}

	.Shop__section .product .attachment-woocommerce_thumbnail {
		width: auto !important;
		height: 100% !important;
	}

	/* Bottom */

	.Shop__section .product .cart {
		height: 35px;
		width: 190px;
	}

	/***** Producto individual *****/

	.single-product #main > .product {
		width: 100% !important;
		flex-direction: column;
	}

	.single-product .product .woocommerce-product-gallery {
		width: min(70%, 500px) !important;
	}

	.single-product .product .woocommerce-product-gallery figure {
		width: 100%;
		background-color: unset;
		border-radius: unset;
	}

	.single-product .product .summary {
		width: 100% !important;
	}

	.single-product .product .related > h2 {
		color: var(--c-blue-2);
		text-align: center;
		padding-bottom: var(--s-xs);
		border-bottom: 2px solid var(--c-grey-3);
	}

	/***** Carrito *****/

	.woocommerce:has(.woocommerce-cart-form) {
		width: 90%;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: var(--s-l);
		padding: var(--s-xs);
		margin: 0 auto;
	}

	.woocommerce-cart-form,
	.cart-collaterals {
		width: 100% !important;
	}

	.woocommerce-cart-form .cart_item {
		display: grid !important;
		grid-template-columns: repeat(8, 1fr);
		grid-template-rows: repeat(5, 1fr);
		border: 1px solid var(--c-grey-3) !important;
	}

	.woocommerce-cart-form .cart_item td {
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center;
		background-color: unset !important;
		border: unset !important;
	}

	.woocommerce-cart-form .cart_item .product-remove {
		grid-area: 1 / 1 / 6 / 2;
	}

	.woocommerce-cart-form .cart_item .product-thumbnail {
		grid-area: 1 / 2 / 6 / 5;
	}

	.woocommerce-cart-form .cart_item .product-thumbnail a {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.woocommerce-cart-form .cart_item .product-thumbnail a img {
		width: 100%;
	}

	.woocommerce-cart-form .cart_item .product-name {
		grid-area: 1 / 5 / 3 / 9;
		justify-content: flex-start !important;
	}

	.woocommerce-cart-form .cart_item .product-name a {
		text-align: start !important;
	}

	.woocommerce-cart-form .cart_item .product-price {
		grid-area: 3 / 5 / 4 / 9;
	}

	.woocommerce-cart-form .cart_item .product-subtotal {
		grid-area: 4 / 5 / 5 / 9;
	}

	.woocommerce-cart-form .cart_item .product-quantity {
		grid-area: 5 / 5 / 6 / 9;
		justify-content: center !important;
	}

	.woocommerce-cart-form .cart_item .product-quantity .quantity {
		/* display: flex !important; */
	}

	.woocommerce table.shop_table_responsive tr td::before,
	.woocommerce-page table.shop_table_responsive tr td::before {
		content: unset;
	}

	/***** Checkout *****/

	.checkout {
		display: flex !important;
		flex-direction: column;
	}
}

@media (max-width: 580px) {
	.products {
		grid-template-columns: 1fr;
	}
}
