/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

/*GENERAL*/
.title-nuvia {
	pointer-events: none;
}

/*HEADER*/
.img-header img {
	position: relative;
	z-index: 9999;
}

.section-hero .l-section-h.i-cf {
    padding-top: 0 !important;
}

/*menú*/
.menu-header li {
    border-bottom: 2px solid #221d1e;
}

.menu-header li.w-nav-close {
	border-bottom: none;
}

.menu-header .w-nav-list {
  counter-reset: item;
}

.menu-header .w-nav-list > li:not(.w-nav-close) {
  counter-increment: item;
}

.menu-header .w-nav-list > li:not(.w-nav-close) .w-nav-title::before {
	content: counter(item, decimal-leading-zero) ". ";
    margin-right: 6px;
    font-family: 'Megumi';
    font-weight: normal;
    font-style: italic;
    font-size: 2rem;
    margin-right: 1.5rem;
}

/*iconos menu*/
.header_hor .l-subheader-cell.at_right>* {
    margin-left: 0;
}

.l-subheader-cell.at_right {
    gap: 0.5rem;
}
.menu-header a.w-nav-control {
    border: 1px solid;
    padding: 0rem;
    width: 45px;
    height: 45px !important;
    min-height: 45px;
    border-radius: 100%;
	justify-content: center;
	align-items: center;
}

.heart-header span.w-favs-counter-icon,
.heart-header span.w-cart-icon {
    border: 1px solid;
    width: 45px;
    height: 45px !important;
    min-height: 45px;
    border-radius: 100%;
    justify-content: center;
    align-items: center;
    display: flex;
}

.heart-header .fa-heart:before {
    font-size: 25px;
}

.user-header {
    border: 1px solid;
    width: 45px;
    height: 45px !important;
    min-height: 45px;
    border-radius: 100%;
    justify-content: center;
    align-items: center;
    display: flex;
}

/*buscar menu*/
.w-search.layout_fullwidth.active .w-search-form {
    z-index: 10000;
	border-radius: 20px;
}

/*HOME*/
.filtros-home .w-filter-item-title,
.filtros-home .w-filter-item-reset {
    display: none !important;
}
/*GRID PRODUCTOS COLORES*/
/*boton favoritos*/
.favs .w-btn.us_add_to_favs.default {
    border-radius: 9em;
    background: rgba(0, 0, 0, .08);
    border-color: white;
    border: 1px solid #ffffff;
    color: #ffffff;
}

.favs .w-btn.us_add_to_favs.us-btn-style_0.text_none.icon_atleft {
    color: white;
    border-color: white;
    border: 1px solid;
}

/* Ocultar textos, selects y botones */
.us-product-swatches .label,
.us-product-swatches select,
.us-product-swatches .reset_variations,
.us-product-swatches .single_variation,
.us-product-swatches .woocommerce-variation-add-to-cart,
.woocommerce ul.products li.product .button.product_type_variable {
    display: none !important;
}

/* Wrapper */
.us-product-swatches {
    height: 20px;
}

/* Contenedor swatches */
.us-product-swatches .variable-items-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

/* Bolitas */
.us-product-swatches .variable-item {
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    overflow: hidden;
    margin: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: all .2s ease;
}

/* Hover */
.us-product-swatches .variable-item:hover {
    transform: scale(1.08);
}

.us-product-swatches td.value {
    padding: 0;
    border: none !important;
}

/*BLOQUE HOME NUVIA*/
.img-deco-left {
	position: absolute;
	left: -1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 250px;
}

.img-deco-left2 {
	position: absolute;
	left: 30%;
	top: 50%;
	transform: translateY(-50%);
	width: 250px;
}

.img-deco-right {
	position: absolute;
	right: -1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 250px;
}

.img-deco-right2 {
	position: absolute;
	right: 23%;
	top: 50%;
	transform: translateY(-50%);
	width: 250px;
}

.title-home {
    position: relative;
}
.title-home::before {
    content: "";
    position: absolute;
    top: -1.35rem;
    left: -1rem;
    width: 330px;
    height: 90px;
    background-image: url(https://nuviadays.com/wp-content/uploads/2026/05/Recurso-3@4x.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}

.title-home::after {
    content: "";
    background-image: url(https://nuviadays.com/wp-content/uploads/2026/05/Recurso-4@4x.png);
    position: absolute;
    bottom: 3.35rem;
    right: -11rem;
    width: 214px;
    height: 125px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}

/*categoria imagenes*/
.wrapper-category {
	border-radius: 25px;
	overflow: hidden;
	position: relative;
}

.wrapper-category .text-category {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3 !important;
}
.wrapper-category .background-deco {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    width: 135px;
}

/*Carrusel*/
.section-carousel .l-section-h {
    overflow: hidden;
}
.section-carousel {
	padding-left: 0;
	padding-right: 0;
}

/*FOOTER*/
.menu-footer ul {
	display: flex;
	gap: 2rem;
}
.menu-footer {
	font-size: 0.9rem;
	display: flex;
	justify-content: end;
	align-items: center;
	font-weight: 700;
}

.title-footer {
	pointer-events: none !important;
}

/*FORMS*/
.cf-container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-right: -5px;
	margin-left: -5px;
}
.cf-col-1, .cf-col-2, .cf-col-3, .cf-col-4, .cf-col-5, .cf-col-6, .cf-col-7, .cf-col-8, .cf-col-9, .cf-col-10, .cf-col-11, .cf-col-12 {
	position: relative;
	width: 100%;
	min-height: 1px;
	padding-right: 5px;
	padding-left: 5px;
}
@media ( min-width: 576px ) {
	.cf-col-1 {
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.cf-push-1 { margin-left: 8.333333%; }
	.cf-col-2 {
		-ms-flex: 0 0 16.66667%;
		flex: 0 0 16.66667%;
		max-width: 16.66667%;
	}
	.cf-push-2 { margin-left: 16.66667%; }
	.cf-col-3 {
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.cf-push-3 { margin-left: 25%; }
	.cf-col-4 {
		-ms-flex: 0 0 33.33333%;
		flex: 0 0 33.33333%;
		max-width: 33.33333%;
	}
	.cf-push-4 { margin-left: 33.33333%; }
	.cf-col-5 {
		-ms-flex: 0 0 41.66667%;
		flex: 0 0 41.66667%;
		max-width: 41.66667%;
	}
	.cf-push-5 { margin-left: 41.66667%; }
	.cf-col-6 {
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	.cf-push-6 { margin-left: 50%; }
	.cf-col-7 {
		-ms-flex: 0 0 58.33333%;
		flex: 0 0 58.33333%;
		max-width: 58.33333%;
	}
	.cf-push-7 { margin-left: 58.33333%; }
	.cf-col-8 {
		-ms-flex: 0 0 66.66667%;
		flex: 0 0 66.66667%;
		max-width: 66.66667%;
	}
	.cf-push-8 { margin-left: 66.66667%; }
	.cf-col-9 {
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.cf-push-9 { margin-left: 75%; }
	.cf-col-10 {
		-ms-flex: 0 0 83.33333%;
		flex: 0 0 83.33333%;
		max-width: 83.33333%;
	}
	.cf-push-10 { margin-left: 83.33333%; }
	.cf-col-11 {
		-ms-flex: 0 0 91.66667%;
		flex: 0 0 91.66667%;
		max-width: 91.66667%;
	}
	.cf-push-11 { margin-left: 91.66667%; }
	.cf-col-12 {
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}

.cf-container.newsletter input[type=email] {
    font-size: 2rem;
}

.cf-container.newsletter .wpcf7-form-control-wrap {
	margin-top: 0 !important;
}

.cf-container.newsletter input.wpcf7-form-control.wpcf7-submit.has-spinner {
    width: 100%;
    height: 100% !important;
    min-height: 70px !important;
}

/*PLANTILLA DE PRODUCTOS*/
.woocommerce-product-gallery__image.flex-active-slide {
    border-radius: 25px;
}

.gallery-product img.flex-active {
    border-radius: 10px;
	opacity: 1 !important;
}


.gallery-product .woocommerce-product-gallery ol>li img {
    aspect-ratio: var(--gallery-thumb-ratio, auto);
    object-fit: cover;
    opacity: 0.6;
    border-radius: 10px;
}

/*PLANTILLA GRACIAS POR LA COMPRA*/
.woocommerce-thankyou-order-details {
    color: white;
}

.woocommerce-table--order-details,
td.woocommerce-table__product-name.product-name a {
    color: white !important;
}

/*PLANTILLA CATEGORIAS DE PRODUCTO*/
.filter-category .ui-slider.ui-corner-all.ui-slider-horizontal.ui-widget.ui-widget-content::before {
	width: 100%;
}

.filter-category .ui-widget-content {
    border: none !important;
    background: transparent !important;
}

.filter-category span.w-filter-item-value-label {
    font-size: 0.8rem;
}

.filter-category .w-filter-item {
    border-bottom: 1px solid rgba(34, 29, 30, 0.3);
    padding-bottom: 0.5rem;
}

/*CARRITO*/
.wc-block-cart__submit-container,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained {
    background: black;
    border-radius: 2rem;
	transition: all .3s ease-in-out;
}

.wc-block-cart__submit-container:hover,
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover {
	background: var(--color-content-primary);
}

.wc-block-cart__submit-container:hover .wc-block-components-button__text{
    color: black;
}


.wc-block-components-button__text {
    color: white;
}

/****************************************************************
 Pantallas mas pequeñas de 1695px
****************************************************************/
@media (max-width: 1695px) {
	p.title-nuvia {
		font-size: 24rem !important;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 1590px
****************************************************************/
@media (max-width: 1590px) {
	.img-hero .w-image-h {
		aspect-ratio: 4 / 3;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 1520px
****************************************************************/
@media (max-width: 1520px) {
	p.title-nuvia {
		font-size: 20rem !important;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 1320px
****************************************************************/
@media (max-width: 1320px) {
	.img-deco-left2,
	.img-deco-right2 {
		display: none;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 1280px
****************************************************************/
@media (max-width: 1280px) {
	.img-hero .w-image-h {
		aspect-ratio: 3 / 4;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 1198px
****************************************************************/
@media (max-width: 1198px) {
	p.title-nuvia {
		font-size: 16rem !important;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 1100px
****************************************************************/
@media (max-width: 1100px) {
	.img-deco-left {
		left: -2rem;
	}
	.img-deco-right {
		position: absolute;
		right: -2rem;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 992px
****************************************************************/
@media (max-width: 992px) {
	p.title-nuvia {
		text-align: left !important;
	}
	.img-hero .w-image-h {
		aspect-ratio: 16 / 9;
	}
	p.title-home {
		font-size: 10rem !important;
		width: 475px !important;
	}
	.title-home::before {
		top: -1.7rem;
        left: 1rem;
        width: 275px;
        height: 73px;
	}
	.title-home::after {
		bottom: 3.35rem;
		right: -8.5rem;
		width: 170px;
		height: 100px;
	}
	.img-deco-left {
		left: -3rem;
		width: 225px;
	}
	.img-deco-right {
		right: -3rem;
		width: 220px;
	}
	.menu-footer {
		justify-content: start;
		align-items: center;
	}

}
/****************************************************************
 Pantallas mas pequeñas de 950px
****************************************************************/
@media (max-width: 950px) {
	p.title-nuvia {
		margin-top: 3rem;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 900px
****************************************************************/
@media (max-width: 900px) {
	p.title-nuvia {
		font-size: 13rem !important;
	}
 	.cf-container.newsletter input[type=email] {
		font-size: 1.5rem;
	}
	.cf-container.newsletter input.wpcf7-form-control.wpcf7-submit.has-spinner {
		min-height: 55px !important;
	}
}
	
/****************************************************************
 Pantallas mas pequeñas de 770px
****************************************************************/
@media (max-width: 770px) {
	p.title-home {
		font-size: 8rem !important;
        width: 345px !important;
    }
	.title-home::before {
        top: -1.7rem;
        left: -1rem;
        width: 250px;
        height: 65px;
    }
	.title-home::after {
        bottom: 3.35rem;
        right: -9rem;
        width: 170px;
        height: 80px;
    }
	.img-deco-left {
		width: 25%;
	}
	.img-deco-right {
		width: 25%;
	}

}

/****************************************************************
 Pantallas mas pequeñas de 700px
****************************************************************/
@media (max-width: 700px) {
	.menu-footer ul {
		display: block;
		gap: 2rem;
	}
	.menu-footer {
		font-size: 0.9rem;
		display: block;
		justify-content: end;
		align-items: center;
		font-weight: 700;
	}
}
/****************************************************************
 Pantallas mas pequeñas de 685px
****************************************************************/
@media (max-width: 685px) {
	p.title-nuvia {
		font-size: 12rem !important;
	}
}


/****************************************************************
 Pantallas mas pequeñas de 615px
****************************************************************/
@media (max-width: 615px) {
	p.title-nuvia {
		font-size: 11rem !important;
	}
}

/****************************************************************
 Pantallas mas pequeñas de 580px
****************************************************************/
@media (max-width: 580px) {
	p.title-home {
        font-size: 7rem !important;
        width: 285px !important;
    }
	.title-home::before {
        top: -1.5rem;
        left: -0.5rem;
        width: 200px;
        height: 55px;
    }
	 .title-home::after {
        bottom: 3.65rem;
        right: -7rem;
        width: 120px;
        height: 65px;
    }
}

/****************************************************************
 Pantallas mas pequeñas de 535px
****************************************************************/
@media (max-width: 535px) {
	p.title-nuvia {
		margin-top: 4rem;
	}
}
/****************************************************************
 Pantallas mas pequeñas de 520px
****************************************************************/
@media (max-width: 520px) {
	p.title-nuvia {
        font-size: 9rem !important;
    }
}

/****************************************************************
 Pantallas mas pequeñas de 495px
****************************************************************/
@media (max-width: 495px) {
	p.title-home {
		font-size: 6rem !important;
		width: 245px !important;
	}
	.title-home::before {
        top: -1.5rem;
        left: -0.5rem;
        width: 165px;
        height: 55px;
    }
	.title-home::after {
        bottom: 3.65rem;
        right: -5.75rem;
        width: 95px;
        height: 55px;
    }
}

/****************************************************************
 Pantallas mas pequeñas de 440px
****************************************************************/
@media (max-width: 440px) {
    p.title-nuvia {
        font-size: 8rem !important;
    }
}

/****************************************************************
 Pantallas mas pequeñas de 435px
****************************************************************/
@media (max-width: 435px) {
	 p.title-home {
        font-size: 5rem !important;
        width: 205px !important;
    }
	 .title-home::before {
        top: -1.25rem;
        left: -0.5rem;
        width: 142px;
        height: 45px;
    }
	    .title-home::after {
        bottom: 3.65rem;
        right: -4.75rem;
        width: 80px;
        height: 45px;
    }
}

/****************************************************************
 Pantallas mas pequeñas de 400px
****************************************************************/
@media (max-width: 400px) {
	p.title-nuvia {
        font-size: 7.5rem !important;
    }
	p.title-yellow {
		font-size: 3.5rem !important;
	}
	p.title-italic {
		font-size: 3rem !important;
	}
}