/*
Theme Name: ONLINE VALLES
Template: hello-elementor

*/


/* Theme admin customization starts here
-------------------------------------------------------------- */
.sbi_notice,
.trp-notice.error,
.sbi_notice.sbi_review_notice_step,
.trp-notice.trp-narrow.notice.notice-info,
.trp-notice.trp-narrow {
	display: none;
}

.grecaptcha-badge { 
    visibility: hidden !important;
}



/* Theme customization starts here
-------------------------------------------------------------- */

@font-face {
    font-display: swap;
}


body {
	
	overflow-x: hidden;
}


/* Grayscale puro sin dependencias */
.grayscale-simple {
  filter: grayscale(100%);
}

/* Shadow 2XL estándar de Tailwind */
.shadow-simple .imagen-avanzada {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.shadow-simple .imagen-avanzada {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}



.two-lines .elementor-heading-title {
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.two-lines a {
	display: block;
}



.product-loop-image img {
 object-fit: cover;
  aspect-ratio: 900 / 900; 
  width: 100%;
  height: auto;
  display: block;
}

.product-loop .img-featured {
	width: 100%;
	opacity: 0;
	transition: opacity 200ms ease;
	
}
.product-loop:hover .img-featured {
	width: 100%;
	opacity: 1;
	
}





.post-content h2, 
.post-content h3, 
.post-content h4, 
.post-content h5, 
.post-content h6 {
    margin-top: 2em; /* Margen por defecto */
    margin-bottom: 0.5em;
}




.post-content ul,
.post-content ol {
	margin-bottom: 2em; 
}

.post-content .wp-block-image,
.post-content .wp-block-embed,
.post-content .wp-block-table {
	margin: 2em auto;
}

.post-content a {
	text-decoration: underline !important;
}


.post-content table td, .post-content table th {
    padding: 6px 6px;
	line-height: 1.2;
	text-align: left;
}

@media (min-width: 1024px) {
	.post-content table td, .post-content table th {
		padding: 8px 16px;
	}
}





.encima {
	position: relative;
	z-index: 10;
}

.overflow-x-h,
.econ.overflow-x-h {
	overflow-x: hidden !important;
}

.relative {
	position: relative;
}

b, strong {
	font-weight: 600 !important;
}

.align-top {
	margin-bottom: auto !important;
}
.align-right {
	margin-left: auto !important;
}
.align-bottom {
	margin-top: auto !important;
}
.align-left {
	margin-right: auto !important;
}





.imagen-avanzada {
    width: 100%;
    overflow: hidden;
}

/* Proporciones aplicadas directamente a la imagen */
.imagen-avanzada.land43  img { aspect-ratio: 4 / 3; }
.imagen-avanzada.land32  img { aspect-ratio: 3 / 2; }
.imagen-avanzada.land169 img { aspect-ratio: 16 / 9; }
.imagen-avanzada.land21  img { aspect-ratio: 2 / 1; }
.imagen-avanzada.land31  img { aspect-ratio: 3 / 1; }
.imagen-avanzada.land41  img { aspect-ratio: 4 / 1; }
.imagen-avanzada.port34  img { aspect-ratio: 3 / 4; }
.imagen-avanzada.port23  img { aspect-ratio: 2 / 3; }
.imagen-avanzada.square  img { aspect-ratio: 1 / 1; }

.imagen-avanzada img {
    width: 100%;
    height: auto;            /* importante */
    object-fit: cover;
    display: block;
    transition: transform 300ms ease-in-out;
}




.imagen-mismo-altura img {
    width: auto;
    height: 100%;            /* importante */
    display: block;
    transition: transform 300ms ease-in-out;
}









.cta-block {
position: relative;
}

.elementor-editor-active .cta-cover {
	display: none;
}
.cta-cover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
	transition: all 0.3s ease;
}
.cta-hide {
    /* Forzamos que la altura base sea 0 */
    max-height: 0 !important;
    overflow: hidden !important;
    
    /* La transición debe estar aquí para que afecte tanto al entrar como al salir */
    transition: max-height 0.3s ease-in-out !important;
}

.cta-block:hover .cta-hide {
    /* IMPORTANTE: No cambies el height a auto aquí, 
       deja que el max-height se expanda */
    max-height: 400px !important; 
}

.cta-block:hover .cta-cover {
	background-color: rgba(0,0,0,0.7);
}


.hero-grid {
	background-image: linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
    background-size: 40px 40px;
}
.hero-grid-b {
	background-image: linear-gradient(rgba(0, 0, 0, .025) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, .025) 1px, transparent 1px);
    background-size: 40px 40px;
}
.hero-bg {
	position: absolute !important;
    inset: 0;
    background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(26, 86, 219, .22) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 10% 80%, rgba(10, 191, 173, .12) 0%, transparent 60%);

}







/* elementor */
.boton-100 .elementor-button-link {
	width: 100%;
}

.boton-100 .elementor-button-content-wrapper {
	width: 100%;
	display: flex;
	justify-content: space-between;
}





/* formulari */

.drets {
	text-align: center;
	font-size: 12px;
	line-height: 1.1;
	margin: 16px 0 !important;
}
.formulari-footer .drets {
	color: #fff;
}
.formulari-footer .drets a{
	color: #fff !important;
	text-decoration: underline !important;
}

.drets label {
	line-height: 1.1;
	display: flex;
	align-items: center;
	gap: 10px;
}

.drets .wpcf7-list-item {
	margin: 0;
	width: 100%;
}

.drets .wpcf7-list-item-label {
	width: calc(100% - 30px);
	text-align: left;
}






.wpcf7-acceptance [type=checkbox] {
	appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #1e1e1c;
    background: transparent;
    border-radius: 0;
    position: relative;
    cursor: pointer;

}

.wpcf7-acceptance input[type="checkbox"]:checked {
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='20' viewBox='0 0 24 24' width='20' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px;
}

.text-white .wpcf7-acceptance [type=checkbox] {
	border: 1px solid #fff;
}

.text-white .wpcf7-acceptance input[type="checkbox"]:checked {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='20' viewBox='0 0 24 24' width='20' fill='white'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z'/%3E%3C/svg%3E");
    
}

.formulari .wpcf7-not-valid-tip {
    display: none !important;
}

.formulari input:focus {
	outline: none;
}




.subscriute  {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}


.subscriute .col-mail {
	width: 100%;
}
.subscriute .col-btn {
	width: 100%;
}



@media (min-width: 767px) {
	.subscriute  {
		flex-direction: row;
	}
	.subscriute .col-mail {
		width: 66.666%;
	}
	.subscriute .col-btn {
		width: 33.333%;
	}
}





.subscriute  p {
	margin: 0;
}

.subscriute .label {
	visibility: hidden;
	height: 0;
overflow: hidden;
position: absolute;
left: -9999px;
}
.subscriute .col-mail label {
	width: 100%;
}

.subscriute input[type=email] {
	border-radius: 0;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border: 1px solid var(--e-global-color-secondary);
	background-color: #fff;
	line-height: 1;
	padding: 8px 10px;
	font-size: 15px;
	width: 100%;
}

.subscriute input[type=email].wpcf7-not-valid{
	border: 1px solid red;
}

.subscriute [type=submit] {
	border-radius: 0;
	border-color: var(--e-global-color-secondary);
	color: #fff;
	background-color: var(--e-global-color-secondary);
	text-transform: none;
	padding: 8px 24px;
	font-size: 15px;
	width: 100%;
}
.subscriute [type=submit]:hover, .subscriute [type=submit]:focus {
	border-color: #111;
	color: #fff;
	background-color: #111;
}



.subscriute .wpcf7-spinner {
	display: none;
}






.text-white {
	color: #fff;
}
.text-white a {
	color: #fff !important;
	text-decoration: underline !important;
}
.subscriute-footer  {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
}


.subscriute-footer .col-mail {
	width: calc(100% - 40px);
}
.subscriute-footer .col-btn {
	width: 40px;
}




.subscriute-footer  p {
	margin: 0;
}

.subscriute-footer .label {
	visibility: hidden;
	height: 0;
overflow: hidden;
position: absolute;
left: -9999px;
}
.subscriute-footer .col-mail label {
	width: 100%;
}

.subscriute-footer input[type=email] {
	border-radius: 0;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border: 1px solid var(--e-global-color-secondary);
	background-color: #fff;
	line-height: 1;
	padding: 8px 10px;
	font-size: 15px;
	width: 100%;
}


.subscriute-footer input[type=email]::placeholder {
	color: #fff;
}



.subscriute-footer [type=submit] {
	border-radius: 0;
	border-color: #fff;
	color: #fff;
	background-color: var(--e-global-color-primary);
	text-transform: none;
	padding: 8px 24px;
	font-size: 15px;
	width: 100%;
}
.subscriute-footer [type=submit]:hover, .subscriute-footer [type=submit]:focus {
	border-color: #111;
	color: #fff;
	background-color: #111;
}



.subscriute-footer input[type=submit] {
	font-size: 0; /* oculta texto */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M2 21l21-9L2 3v7l15 2-15 2z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
	min-height: 40px;
	padding: 8px;
}
.subscriute-footer input[type=email] {
	min-height: 40px;
	padding: 4px 0;
	border: 0;
	border-bottom: 1px solid #fff;
	background-color: transparent;
	color: #fff;
}


.subscriute-footer .wpcf7-spinner {
	display: none;
}








.formulari a {
	color: #000;
}

.formulari a:hover {
	color: #222;
}

.formulari .form-group {
	display: flex;
	align-items: center;
}

.formulari .form-group .label {
	display: block;
	white-space: nowrap;
	margin-right: 8px;
	font-size: 16px;

}

.formulari p {
	margin: 0;
}

.formulari .form-group .wpcf7-form-control {
	border-radius: 0;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border: 1px solid #bababa;
	background-color: #fff;
	padding: 4px 8px;
	font-size: 14px;
}

.formulari .form-textarea {
	width: 100%;
}

.formulari .form-textarea .wpcf7-form-control-wrap {
	display: block;
	margin-top: 10px;
}

.formulari.contacte .label {
	font-size: 16px;
	padding: 4px 8px;
	display: none;
}


.formulari .wpcf7-textarea {
	border-radius: 0;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border: 1px solid #bababa;
	background-color: #fff;
	font-size: 14px;
}

.formulari .wpcf7-form-control-wrap {
	width: 100%;
}

.formulari .enviar {
	text-align: center;
}

.formulari .enviar .wpcf7-submit {
	border-radius: 50px;
	background-color: var(--e-global-color-primary);
	color: #fff;
	padding: 8px 32px;
	text-transform: none;
	border: 0;
	font-weight: 500;
	margin-top: 20px;
}

.formulari .enviar .wpcf7-submit:hover,
.formulari .enviar .wpcf7-submit:focus {
	
	background-color: #000;
	color: #fff;
	
}



.formulari .enviar .wpcf7-spinner {
	display: none;
}




.formulari-row {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	column-gap: 10px;
	row-gap: 10px;
}



@media (min-width: 766px) {
	.formulari-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.formulari-col-2 {
		grid-column: span 2;
	}

}


.hide-text .elementor-button-text {
	display: none;
}

.elementor-kit-6 a.skip-link {
	color: #000;
}



