/*
Theme Name: Alice Bloom
Author: DonPig
Author URI: https://donpig.com/
Description: Plantilla de wordpress a la medida para Alice Bloom
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: DonPigTemplate
*/
:root{
	--wine:#891D3E;
	--header:#EBEFDA;
	--lgray:#F2F1E9;
	--dwine:#38091A;
}
document,body,html{
	overflow-x: hidden !important;
	max-width: 100%;
	overflow-y: auto;
}
body{
	font-family: Poppins, Montserrat, Helvetica, sans-serif;
	text-align: left;
	margin:0 0 0 0;
	cursor:default;
	font-size: max(1vw,12px);
	font-weight: 300;
}
input[type="button"],button{
	border:none;
	background:none;
	font-size:1em;
	cursor:pointer;
}
img{
	border:none;
}
a{
	color: inherit;
	text-decoration: none;
}
*[onclick],*[href]{
	cursor: pointer;
}
textarea{
	resize:none;
}
.clr{
	clear:both;
}
.columnas2{
	-webkit-column-count:2;
	-moz-column-count:2;
	column-count:2;
}
.columnas3{
	-webkit-column-count:3;
	-moz-column-count:3;
	column-count:3;
}
.columnas4{
	-webkit-column-count:4;
	-moz-column-count:4;
	column-count:4;
}
.columnas5{
	-webkit-column-count:5;
	-moz-column-count:5;
	column-count:5;
}
.grid2{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 0;
}
.grid3{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 0;
}
.grid4{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 0;
}
.grid5{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 0;
}
.flex{
	display: flex;
	flex-flow: row wrap;
	align-content: space-between;
	justify-content: space-between;
}
.flex>*{
	flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    text-align: center;
}

.site_error>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #C44;
	border:#C44 solid 1px;
	background: #EDD;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_error{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

.site_success>div{
	margin: 0 auto;
	padding: 0.5em;
	color: #494;
	border:#494 solid 1px;
	background: #DED;
	text-align: center;
	width: 50%;
	min-width: 280px;
	border-radius: 0.15em;
	font-weight:600;
}
.site_success{
	position: fixed;
	top:-20em;
	opacity: 0;
	z-index: 10;
	width: 100%;
	
	-webkit-animation: siteError 5s 1;
	-moz-animation: siteError 5s 1;
	animation: siteError 5s 1;
}

@keyframes siteError{
	0%{opacity:1;top:5em;}
	90%{opacity:1}
	99%{opacity:0;top:5em;}
	100%{opacity:0;top:-20em;}
}

.hide_me{
	height: 0;
	width: 0;
	overflow: hidden;
	opacity: 0;
	font-size: 1px;
}

a,input,button,*[onclick],*[href]{
	transition: all .25s ease-in-out !important;
	cursor: pointer;
}
h1,h2{
	font-family: 'Playfair Display SC',Georgia,serif;
	font-weight: normal;
}
h2{
	text-wrap: balance;
	text-transform: uppercase;
}
h3,h4,header{
	font-family: 'Red Hat Display',Montserrat,sans-serif;
}
#content h4{
	margin: 0;
}
#wpadminbar{ opacity: 0; }
#wpadminbar:hover{ opacity: 1; }

.blurbg{
	backdrop-filter: blur(5px);
}

/* GENERALES */

body>header{
	position: fixed;
	top:0;
	left:0;
	right: 0;
	z-index: 10;
	background: linear-gradient(0deg,rgba(0,0,0,0),rgba(0,0,0,0.5));
	color: white;
	text-transform: uppercase;
}
body>header.scrolled{
	background: var(--header);
	color: var(--wine);
}
body>header #logo img:nth-child(1){ display: block; }
body>header #logo img:nth-child(2){ display: none; }

body>header.scrolled #logo img:nth-child(1){ display: none; }
body>header.scrolled #logo img:nth-child(2){ display: block; }

header marquee{
	background: var(--dwine);
	color: white;
	padding: 0.5em 0;
	font-size: 0.8em;
}
header marquee span{
	width: 50%;
	display: inline-block;
}
nav{
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	align-items: center;
	padding: 0.5em 5%;
	box-sizing: border-box;
}
nav>div{
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	align-items: center;
	gap:2.5vw;
}
#logo img{
	height: 2em;
}
.woocommerce-MyAccount-navigation a{
	display: block;
	line-height: 2em;
	background: var(--lgray);
	border-radius: 0.25em;
	margin-bottom: 3px;
	padding:0 0.5em;
}

.woocommerce-info{
	border-color: var(--wine) !important;
}
.woocommerce-info::before{
	color: var(--wine) !important;
}

nav div>ul{
	display: flex;
	justify-content: space-between;
	align-content: space-between;
	align-items: center;
	gap:2em;
}
nav div>ul>li{
	line-height: 2em;
}
nav div>ul>li:has(ul){
	background: url(images/menu_dropdown.svg) center 80% no-repeat;
	background-size:auto 0.35em;
}
nav div>ul>li:has(ul):hover{
	background: url(images/menu_dropdown.svg) center 80% no-repeat;
	background-size:auto 0.35em;
}
nav div>ul>li>ul{
	display: none;
	flex-direction: column;
	background: rgba(0,0,0,0.8);
	padding: 1em;
	gap:0.5em;
	position: absolute;
	border-radius: 1em;
	border-top-left-radius: 0;
	text-align: left;
}
nav a:hover{
	color: var(--wine);
}
header :is(menu,ul,li){
	padding: 0; margin: 0;
}
nav div>ul>li:hover>ul{
	display: flex;
}
nav div>ul>li>ul>li{
	line-height: 2em;
	color: white !important;
}
nav li{
	display: block;
	list-style: none;
}
#carrito_count{
	display: inline-block;
	padding: 0 2em;
	border-radius: 2em;
	background: var(--wine);
	color: white;
}

#content{
	min-height: 90vh;
}

footer{
	padding: 2.5% 5%;
	color: white;
	background: var(--wine);
	font-weight: 300;
}
footer :is(ul,li){
	margin: 0;
	padding: 0;
	list-style: none;
}
footer h4{
	font-weight: 600;
	text-transform: uppercase;
	margin-top: 0;
}
footer img{
	width: 60%;
	margin-bottom: 15vw;
}
#social ul{
	display: flex;
	gap:1em;
	font-size: 1.5em;
}

.summary .product_meta{
	display: none;
}


#content h1,#content h2,#content h3,#content h4,#content h5{
	position: relative;
	top: -1em;
	opacity: 0;
	transition: all 0.5s ease-in-out !important;
}
#content p,#content a,#content li{
	position: relative;
	top: 2em;
	opacity: 0;
	transition: all 0.5s ease-in-out !important;
}

#testimonios .elementor-image-box-content{
	padding: 1em;
	font-size: 0.85em;
}
.sidegraph{
	font-size: 0.8em;
}

#content>.woocommerce,#content>.alignwide{
	padding: 5% 10% !important;
	box-sizing: border-box !important;
}

#single_header{
	padding: 5%;
}
#single_header img{
	width: 100%;
	display: block;
	border-radius: 3em;
	position: relative;
	top:50%;
	translate: 0 -50%;
}
#single_header>div{
	aspect-ratio: 15 / 5;
	overflow: hidden;
	border-radius: 3em;
}
#single_header h1{
	font-size: 3em;
	color: #38091A;
	text-align: center;
	margin-bottom: 0;
}
#single_content{
	padding: 0 20% 5% 20%;
	text-align: justify;
	font-size: 1.25em;
}
#single_content :is(p,li){
	line-height: 1.8em;
}

button.button{
	background: var(--wine) !important;
	border-radius:2em !important;
	color: white !important;
}
button.button:hover{
	background: var(--dwine) !important;
}
.price{
	color:#095 !important;
}
.quantity{
	float: none !important;
	margin: 1em 0 !important;
}
.quantity input{
	padding: 0.25em 1em !important;
	border-radius: 2em !important;
	font-size: 1.25em !important;
	border:#CCC solid 1px !important;
}
.product-title-custom{
	font-size: max(3vw,24px);
	text-transform: uppercase;
	color: var(--wine);
	text-align: right;
	border-bottom: var(--wine) solid 1px;
	letter-spacing: -0.05em;
}
.tabs.wc-tabs,.woocommerce-Tabs-panel>h2{
	display: none !important;
}

#subfooter{
	background: var(--dwine);
	color: white;
	letter-spacing: 0.1em;
	font-size: 0.7em;
	padding: 0.5em 1em;
	text-align: center;
}
#subfooter a{
	border-bottom: white dotted 1px;
}


.quiz label{
	display: flex;
	gap:1em;
	align-items: center;
	margin: 0 0 0.5em 0;
	font-size: 1.2em;
}
.quiz .switch{
	width: 2em;
	height: 1em;
	padding: 2px;
	box-sizing: content-box;
	background: #EEE;
	border:#CCC solid 1px;
	border-radius: 2em;
	transition: all 0.25s ease-in-out !important;
}
.quiz .switch>div{
	width:1em;
	height: 1em;
	background: white;
	box-shadow: rgba(0,0,0,0.25) 0 0 3px;
	border-radius: 2em;
	transition: all 0.25s ease-in-out !important;
}
.quiz label:has(input:checked) .switch{
	background: var(--wine);
	border: var(--dwine) solid 1px;
}
.quiz label:has(input:checked) .switch>div{
	margin-left: 1em;
}
.quiz label :is([type="radio"],[type="checkbox"]){
	position: absolute;
	opacity: 0 !important;
	z-index: -1;
	pointer-events: none;
	touch-action: none;
}
.quiz .question{
	display: none;
	background: #F8F8F8;
	border-radius:2em;
	padding: 2em;
}
.quiz .question.active{
	display: block;
}
.quiz_navigation{
	display: flex;
	gap:1em;
	margin-top: 1em;
}
.quiz_navigation button{
	flex:1;
	background: var(--wine);
	font-size: 1.25em;
	text-transform: uppercase;
	padding: 0.5em 1em;
	color:white;
	border-radius: 2em;
	transition: all 0.25s ease-in-out !important;
}
.quiz_navigation button[disabled]{
	opacity: 0.25 !important;
	filter: grayscale(1);
	pointer-events: none;
	touch-action: none;
}

.quiz_response{
	text-align: center;
}
.quiz_response i.fa{
	font-size: 6em;
	color: var(--wine);
}
.quiz_response h2{
	opacity: 1 !important;
	top:0 !important;
}

.quiz h2{
	font-size: 2.5em;
	color: var(--wine);
	line-height: 1.5em;
	border-bottom: var(--wine) solid 1px;
}
.quiz p{
	width: max(70%,300px);
	padding: 1em;
	border-radius: 6px;
	text-align: justify;
	border-left: var(--wine) solid 6px;
}


#mc_embed_signup :is(label,input,button){
	box-sizing: border-box;
	display: block;
	font:inherit;
}
#mc_embed_signup label{
	font-weight: bold;
	font-size: 0.7em;
	color: white;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
#mc_embed_signup input:is([type="text"],[type="email"]){
	width: 95%;
	padding: 0.5em;
	margin-bottom: 1em;
	border:#999 solid 1px;
	border-radius: 0.5em;
}

#mc_embed_signup input[type="submit"]{
	border:none;
	border-radius: 2em;
	padding: 0.5em 2em;
	background: var(--wine);
	color: white;
	text-transform: uppercase;
}
#mc_embed_signup input[type="submit"]:hover{
	background: var(--dwine);
}

.refferal_badge{
	display: none !important;
}



/* MODAL */

#modal{
	background:rgba(0,0,0,0.8);
	position:fixed;
	display:none;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:10;
	text-align:center;
}


#custom_sidebar{
	background: white;
	box-shadow: rgba(0,0,0,0.5) 0 0 10em;
	padding: 1em 0 0 1em;
	box-sizing: border-box;
	width: max(33%,320px);
	position: fixed;
	top:0;
	right: 0;
	bottom: 0;
	max-height: 100vh;
	overflow: auto;
	z-index: 200;
	display: none;
	animation:csidebar 0.5s 1;
	border-left:#C9A solid 1em;
}
@keyframes csidebar{
	from{ right:-100vw; }
	to{ right:0vw; }
}
#custom_sidebar>i.fa{
	float: right;
	top:0.25em;
	right:0.25em;
	font-size: 2em;
	color: #999;
	position: absolute;
}
#custom_sidebar iframe{
	border:none;
	height: 95vh;
	width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
}

nav.woocommerce-MyAccount-navigation ul li:is(:nth-child(1),:nth-child(3),:nth-child(5)){
	display: none;
}
fieldset{
	border: #CCC solid 1px;
	border-radius: 1em;
}

.woocommerce form :is(input,select,textarea),.alignwide form :is(input,select,textarea){
	border:#999 solid 1px !important;
	border-radius: 1em !important;
	margin-bottom: 1em !important;
	padding: 0.5em !important;
	box-sizing: border-box !important;
}
.woocommerce form .wc-blocks-components-select__expand,.woocommerce form .show-password-input,.alignwide form .wc-blocks-components-select__expand,.alignwide form .show-password-input{
	translate: 0 1.25em !important;
}
#carrito_checkout{
	padding-bottom: 10em;
	padding: 5%;
}

.summary :is(p,li){
	font-size: 0.85em;
}
.summary :is(b,strong){
	font-weight: 700;
}

#quiz_results{
	display: none;
}
#quiz_results article{
	display: none;
}
#quiz_results article.active{
	display: block;
}


.woocommerce-Price-amount.amount bdi{
	color: #095 !important;
}
h1.eael-product-quick-view-title{
	font-weight: normal !important;
	text-transform: uppercase !important;
}
.eael-product-details-wrap form{
	margin: 1em auto !important;
	padding: 0;
	display: flex;
	gap:1em;
}
.eael-product-details-wrap form button{
	padding: 0.5em;
	line-height: 1em !important;
	text-transform: uppercase;
	box-sizing: border-box;
}
.eael-product-details-wrap .product_meta{
	display: none !important;
}


.summary form{
	display: flex;
	gap:1em;
	font-size: 1.5em;
	align-content: center;
	margin: 1em auto;
	justify-content: space-between;
	align-content: space-between;
}
.summary form button{
	height: 2.5em !important;
	padding: 0.5em 3em !important;
}
.summary .quantity{
	margin: 0 !important;
	padding: 0 !important;
}
.summary .quantity input{
	margin: 0 !important;
}
.summary div.product form.cart::after,.summary div.product form.cart::after{
	display: none !important;
}

li.product a.button{
	display: block !important;
	padding: 0.5em 0 !important;
	box-sizing: border-box !important;
	background: var(--wine) !important;
	color: white !important;
	font-weight: 600 !important;
	text-align: center !important;
	border-radius: 3em !important;
}
li.product a.button:hover{
	background: var(--dwine) !important;
}

.tabla_comparativa i.fa,.tabla_comparativa small{
	color: var(--wine);
}

/* -------------------------------------------------------------------------- */
/* PRODUCTOS                                                                  */
/* -------------------------------------------------------------------------- */

/*
 * Las imágenes de los productos funcionan como enlaces hacia la ficha
 * completa del producto.
 *
 * Se contemplan los distintos presets utilizados por Woo Product Grid.
 *
 * La navegación se controla desde:
 * /js/productos.js
 */
.eael-product-wrap .image-wrap > img,
.eael-product-wrap > img{
	cursor: pointer;
}

/* RESPONSIVO */

.mobile_only{
	display:none !important;
}

@media all and (max-width:960px){
	.mobile_only{
		display:block !important;
	}
	.desktop_only{
		display:none !important;
	}
	.columnas2,.columnas3{
		-webkit-column-count:1;
		-moz-column-count:1;
		column-count:1;
	}
	.columnas4{
		-webkit-column-count:2;
		-moz-column-count:2;
		column-count:2;
	}
	.columnas5{
		-webkit-column-count:3;
		-moz-column-count:3;
		column-count:3;
	}
	.grid2,.grid3,.grid4,.grid5,.flex{
		display: block;
	}
	.grid2mobile{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.grid3mobile{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	
	body>header{
		height:80px;
		background: var(--header);
		color: var(--wine);
	}
	body>header>nav{
		padding: 0 1em;
	}
	body>header #logo>img:nth-child(1){ display: none !important; }
	body>header #logo>img:nth-child(2){ display: block !important; }
	
	#menu_opener{
		float:left;
		margin: 5px;
		width:30px;
		height:50px;
		border-radius: 5px;
	}
	#menu_opener>div{
		height:2px;
		margin: 2px auto 0 auto;
		background: var(--wine);

		position: relative;
		opacity: 1;
		rotate: 0deg;
		left:0;
		top:0;
		transition: all 0.25s ease !important;
	}
	#menu_opener>div:first-child{
		margin-top: 14px;
	}

	#menu_opener.opened>div:nth-child(1){ top:6px; rotate:45deg; }
	#menu_opener.opened>div:nth-child(4){ top:-6px; rotate:-45deg; }
	#menu_opener.opened>div:nth-child(2){ left:50px; opacity: 0; }
	#menu_opener.opened>div:nth-child(3){ left:-50px; opacity: 0; }

	header menu{
		position: fixed;
		left: 0;
		right: 0;
		top:80px;
		background: var(--dwine);
		color: white;
		backdrop-filter: blur(5px);
		padding: 2em;
		text-align: left;
		display: none;
		z-index: 9;
		max-height: none;
		font-size: 1.25em;
	}

	
	header menu ul{
		display: block;
		line-height: 3em;
	}
	menu>div>ul>li{
		line-height: 3em;
	}

	header menu>div>div>ul{
		display: flex !important;
		margin: 1em auto;
		padding: 0 1em;
		font-size: 1.5em;
	}
	header menu>div>div>ul li{
		padding: 0;
	}
	menu svg{
		fill:white;
		height: 1em;
		width: 1em;
		translate:0 0.25em;
	}

	menu>div>ul>li:has(ul)>a:after{
		content:'\f078';
		font-family: FontAwesome;
		font-size: 0.65em;
		display: inline-block;
		margin-left: 0.5em;
		translate: 0 -0.25em;
		width: 4em;
		text-align: center;
		background: rgba(0,0,0,0.1);
		border-radius: 0.2em;
		float:right;
	}
	menu>div>ul>li>ul{
		display: none;
		padding: 0;
		height: 0;
		overflow: hidden;
		width: auto !important;
		background: rgba(0,0,0,0.25);
		position: static;
	}
	menu>div>ul>li.opened>ul{
		height: auto !important;
		display: block;
	}
	menu>div>ul>li.opened a:after{
		rotate: 180deg;
	}
	menu>div>ul>li>ul>li{
		margin-bottom: 0;
		width: auto;
		background: none;
		border: none !important;
	}
	menu>div>ul>li>ul>li a{
		background: none;
		padding-left: 5em;
		line-height: 3em !important;
		font-size: 0.8em;
		min-width: 18em;
	}



	header li{
		border-right: none;
	}


	footer{
		text-align: center;
	}
	.question{
		font-size: 1.25em;
	}
	header a i.fa{
		font-size: 1.5em;
		display: inline-block;
		line-height:2em;
	}
	#logo{
		margin-left: 18vw;
	}
	#mc_embed_signup input{
		width: 100% !important;
		border-radius: 2em !important;
	}
	#mc_embed_signup input[type="submit"]{
		padding:0.75em;
		margin-top: 2em;
	}
	#mc_embed_signup{
		font-size: 1.25em;
	}
	nav div>ul{
		gap:1em;
	}
	#carrito_count{
		padding: 0 1em;
	}
	nav.woocommerce-MyAccount-navigation{
		padding: 0 !important;
		margin: 0 0 1em 0 !important;
		width: 100% !important;
	}
	nav.woocommerce-MyAccount-navigation ul{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 0.5em;
		padding: 0 !important;
		margin: 0 !important;
		width: 100%;
	}
	header marquee span{
		min-width: 100%;
		display: inline-block;
		margin-right: 2em;
	}
	#single_header h1{
		font-size: 2em;
	}
	#single_content{
		padding: 5%;
		text-align: left;
		font-size: 1em;
	}
}

/* =========================================================
   NOTIFICACIÓN - PRODUCTO AGREGADO AL CARRITO
   ========================================================= */

.alicebloom-cart-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 999999;

    width: calc(100% - 48px);
    max-width: 440px;

    display: flex;
    align-items: center;
    gap: 14px;

    padding: 16px 18px;

    background: #ffffff;
    border: 1px solid rgba(153, 0, 68, 0.12);
    border-radius: 18px;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.14);

    opacity: 0;
    visibility: hidden;

    transform: translateY(20px);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0.25s ease;
}


/* Estado visible */

.alicebloom-cart-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


/* Ícono */

.alicebloom-cart-toast__icon {
    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #990044;
    color: #ffffff;

    font-size: 22px;
    font-weight: 700;
}


/* Texto */

.alicebloom-cart-toast__content {
    flex: 1;

    display: flex;
    flex-direction: column;

    min-width: 0;
}

.alicebloom-cart-toast__content strong {
    color: #2f2f2f;

    font-size: 14px;
    font-weight: 700;

    line-height: 1.3;
}

.alicebloom-cart-toast__content span {
    margin-top: 3px;

    color: #777777;

    font-size: 12px;
    line-height: 1.4;
}


/* Botón */

.alicebloom-cart-toast__button {
    flex: 0 0 auto;

    padding: 9px 13px;

    background: #990044;
    color: #ffffff !important;

    border-radius: 9px;

    text-decoration: none !important;

    font-size: 12px;
    font-weight: 600;

    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

.alicebloom-cart-toast__button:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}


/* Botón cerrar */

.alicebloom-cart-toast__close {
    flex: 0 0 auto;

    border: 0;
    background: transparent;

    padding: 0;

    color: #999999;

    font-size: 22px;
    line-height: 1;

    cursor: pointer;
}

.alicebloom-cart-toast__close:hover {
    color: #333333;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 600px) {

    .alicebloom-cart-toast {
        left: 14px;
        right: 14px;
        bottom: 14px;

        width: auto;
        max-width: none;

        flex-wrap: wrap;

        padding: 15px;
    }

    .alicebloom-cart-toast__content {
        padding-right: 20px;
    }

    .alicebloom-cart-toast__button {
        width: 100%;

        text-align: center;

        margin-top: 2px;
    }

    .alicebloom-cart-toast__close {
        position: absolute;

        top: 12px;
        right: 14px;
    }

}