/*
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
-------------------------------------------------------------- */

html, body {
    margin: 0;
    height: 100%;
}

body {
	overflow-x: hidden;
}

body.elementor-page,
body.page-template-default {
    background-color: #eee !important;
}

.burguer-menu .elementor-button .elementor-button-content-wrapper {
display: flex;
align-items: center;
}


.burguer-menu .elementor-button .elementor-button-icon {
font-size: 20px;
}

@media (max-width: 766px) {
	.burguer-menu .elementor-button .elementor-button-text {
		display: none;
	}
}

.align-center {
	display: flex;
	align-items: center;
}
.align-center .elementor-icon-wrapper {
	display: flex;
	align-items: center;
}

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

/* Si un heading sigue a otro heading, sin margen */
.post-content :is(h2,h3,h4,h5,h6) + :is(h2,h3,h4,h5,h6) {
  margin-top: 0;
}

/* 1) Si el heading es el primer elemento dentro de .post-content → sin margen */
.post-content > :is(h2,h3,h4,h5,h6):first-child {
  margin-top: 0;
}


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

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

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




.post-content table td, .post-content table th {
    padding: 6px 6px;
	font-size: 10px;
	line-height: 1.2;
}

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





ul.menu-shortcode {
	list-style: none;
	margin: 0;
	padding: 0;
}




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




#megamenu {
	
	position: absolute;
	top: 120px;
	left: 0;
	right: 0;
	
	z-index: 90;
	height: 0;
	overflow: hidden;
	opacity: 1;
	visibility: hidden;
	transform: translateY(0); /* Inicialmente desplazado hacia arriba */
	transition: all 0.25s ease-in-out, transform 0.25s ease-in-out;
}


.postid-63 #megamenu,
#megamenu.show {
	height: auto;
	opacity: 1;
	visibility: visible;
	transform: translateY(0); /* Mostrar desplazándose hacia abajo */
}

@keyframes expandMenu {
	from {
		transform: translateY(-180px);
	}
	to {
		transform: translateY(0);
	}
}

@keyframes collapsedMenu {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-180px);
	}
}


.toggle-menu {
	display: flex;
}
.toggle-menu  a {
       padding: 0;
    border-radius: 0;
    outline: 0;
    min-height: 40px;
    position: relative;
	    display: flex;
    align-items: center;
    margin-left: 0;
}

.toggle-menu > a span {
  display: table-cell;
  vertical-align: middle;
}

.toggle-menu > a span em {
  /* this is the menu icon */
  display: block;
  position: relative;
  height: 2px;
  width: 32px;
  background-color: transparent;
  backface-visibility: hidden;
  /* this is the menu central line */
  margin: auto;
  transition: background-color 0.2s;
  background-color: var(--e-global-color-primary);
}

.toggle-menu > a span em::before,
.toggle-menu > a span em::after {
  /* this is the menu icon */
  display: block;
  height: 2px;
  width: 32px;
  background-color: var(--e-global-color-primary);
  backface-visibility: hidden;
  position: absolute;
  content: "";
  left: 0;
  transition: transform 0.2s;
}

/* Top line */
.toggle-menu > a span em::before {
  top: -10px;
  transform: rotate(0);
}

/* Bottom line */
.toggle-menu > a span em::after {
  top: 10px;
  transform: rotate(0);
}

/* Middle line */
.toggle-menu > a span em {
  display: block;
  position: relative;
  height: 2px;
  width: 32px;
  background-color: var(--e-global-color-primary);
  backface-visibility: hidden;
  transition: background-color 0.2s;
}





.toggle-menu.c-white > a span em {

  background-color: #fff;
}

.toggle-menu.c-white > a span em::before,
.toggle-menu.c-white > a span em::after {
 
  background-color: #fff;

}



/* Hover state */


.toggle-menu > a.open span em {
  background-color: transparent;
}

.toggle-menu > a.open span em::before {
  transform: translateY(10px) rotate(45deg);
}

.toggle-menu > a.open span em::after {
  width: 30px;
  transform: translateY(-10px) rotate(-45deg);
}

.toggle-menu > a.open, .navbar-toggler:focus {
  box-shadow: none;
  
}










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

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


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


.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;
}










/* botones */
.custom-button {
	color: #ffffff;
	text-transform: uppercase;
	-webkit-user-select: none;
	background-color: transparent;
	cursor: pointer;
	user-select: none;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	text-decoration: none;
	display: grid;
	padding: 0;
	width: 100%;
	border: 0;
	text-align: left;

	--elastic-ease-out: linear(
		0,
		0.5737 7.6%,
		0.8382 11.87%,
		0.9463 14.19%,
		1.0292 16.54%,
		1.0886 18.97%,
		1.1258 21.53%,
		1.137 22.97%,
		1.1424 24.48%,
		1.1423 26.1%,
		1.1366 27.86%,
		1.1165 31.01%,
		1.0507 38.62%,
		1.0219 42.57%,
		0.9995 46.99%,
		0.9872 51.63%,
		0.9842 58.77%,
		1.0011 81.26%,
		1
	);

	transition: transform 0.5s var(--elastic-ease-out);
	-webkit-tap-highlight-color: transparent;
}

.custom-button--white {
	color: #090909;
}



.custom-button_bg {
	background-color: #090909;
	grid-area: 1 / 1;
	display: grid;
	height: 100%;
	transition:
		scale 0.15s cubic-bezier(0.59, 1, 0.88, 1.01),
		transform 0.15s cubic-bezier(0.59, 1, 0.88, 1.01);
}

.custom-button--white .custom-button_bg {
	background-color: #fff;
}

.custom-button_inner {
	grid-gap: 0.375rem;
	grid-area: 1 / 1;
	grid-template-columns: 1fr auto;
	align-items: center;
	padding: 14px 12px 14px 14px;
	display: grid;
	position: relative;
	overflow: hidden;
}

.custom-button--secondary .custom-button_inner {
	border: 2px solid;
	padding-block: 12px;
}

.custom-button_icon {
	transition: 0.4s cubic-bezier(0.32, 0.72, 0, 1);
	height: 20px;
	width: 20px;
	overflow: hidden;
	grid-area: 1 / 2 / 1 / 2;
	display: block;
}

.custom-button_icon svg {
	transition: 0.4s cubic-bezier(0.32, 0.72, 0, 1);
	height: 20px;
	width: 20px;
	display: block;
}

.custom-button:is(:hover, :focus-visible) .custom-button_icon svg {
	transform: translateY(-100%);
}

.custom-button_text {
	translate: 0 0 0;
	clip-path: inset(0% 0% 0% 0%);
	transition:
		translate 0.45s cubic-bezier(0.32, 0.72, 0, 1),
		clip-path 0.45s cubic-bezier(0.32, 0.72, 0, 1);

	grid-area: 1 / 1 / 1 / 1;
}

.custom-button_text-tertiary {
	border-bottom: 2px solid;
	padding-bottom: 2px;
}

.custom-button_inner::after {
	content: attr(data-text);
	display: block;
	grid-area: 1 / 1 / 1 / 1;
	translate: 0 125% 0;
	clip-path: inset(-100% 0% 100% 0%);
	transition:
		translate 0.45s cubic-bezier(0.32, 0.72, 0, 1),
		clip-path 0.45s cubic-bezier(0.32, 0.72, 0, 1);
}

.custom-button:is(:hover, :focus-visible) .custom-button_text {
	translate: 0 -125% 0;
	clip-path: inset(100% 0% -100% 0%);
}

.custom-button:is(:hover, :focus-visible) .custom-button_inner::after {
	translate: 0 0 0;
	clip-path: inset(0% 0% 0% 0%);
}





.service-list-link {
    display: grid;
    /*grid-template-columns: 75px 1fr minmax(220px,.45fr) 45px;*/
	grid-template-columns: 75px minmax(0, 1fr) minmax(0, 1fr) 45px;
    gap: 24px;
    align-items: center;
    min-height: 60px;
    border-bottom: 1px solid var(--lx-line);
    text-decoration: none;
	border-bottom: 1px solid #ccc;
}

@media (min-width: 1024px) {
	.service-list-link {
		min-height: 120px;
	}
}


 .service-list-link .n {

    font-size: .7rem;
    letter-spacing: .12em
}


.service-list-link .service-title {
    margin: 0;
    font-size: clamp(1.7rem,3vw,3rem);
    font-weight: 400;
    letter-spacing: -.035em
}


 .service-list-link p {
    margin: 0;
    font-size: .9rem
}

@media(max-width: 900px) {
  .service-list-link {
      grid-template-columns:48px 1fr 36px
  }

  .service-list-link p {
      display: none
  }

  .lx-project-grid {
      grid-template-columns: 1fr
  }

  .lx-project-stack {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto
  }
}

@media(max-width: 640px) {
  .lx-project-stack {
      grid-template-columns:1fr
  }

  .service-list-link {
      grid-template-columns: 34px 1fr 25px;
      gap: 12px;
      min-height: 105px
  }
}




/* formulari */

.drets {
	text-align: left;
	font-size: 12px;
	line-height: 1.1;
	margin: 16px 0;
}


.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;
}








.formulari a {
	color:#000 !important;
	text-decoration: underline !important;
}
.formulari a:hover {
	color:#222;
}
.formulari .form-group {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.formulari .formulari-row .label {
	display: block;
	white-space: nowrap;
	margin-right: auto;
	font-size: 12px;
	text-align: left;

}

.formulari .formulari-row .label span {
	color: red;

}

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

.formulari .form-textarea  {
	width: 100%;
	margin-top: 8px;
}

.formulari .form-textarea .wpcf7-form-control-wrap {
	display: block;
}


.formulari .wpcf7-textarea {
	border-radius: 4px;
	border-top: 0;
	border-left: 0;
	border-right: 0;
	border: 1px solid #ccc;
	background-color: #fff;
}

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

.formulari .enviar {
	text-align: center;
}
.formulari .enviar p {
	display: flex;
	flex-direction: column;
}

.formulari .enviar .wpcf7-submit {
    background-color: #111;
    font-size: 16px;
	line-height: 1;
    font-weight: 700;
    fill: #fff;
    color: #fff;
    border-style: none;
    border-radius: 10px;
    padding: 12px 32px;
margin-top: 20px;

}


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


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


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

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

}




