/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/

/* ============================================ OPEN: VARIABLES ============================================ */



:root {
  /* PRIMARIOS */
  --background-ligh: #ffffff;
  --on-background-ligh: #1f1d1d;

  --background-dark: #1f1d1d;
  --on-background-dark: #ffffff;

  /* INTERACCION */
  --link: #eb0008;
  --link-hover: #cc0007;


  /* FEEDBACK */
  --error:#CC3300;
  --alert:#CC6600;
  --success:#2E8B57;



  /* TIPOGRAFIAS */
  --typo-primary: "Prata", serif;
  --typo-secondary: "Courier Prime", monospace;
  --typo-tertiary: "Inter", sans-serif;
}



/* ============================================ CLOSE: VARIABLES ============================================ */

/* ··················· selección de texto ··········· */
::-moz-selection {
  /* Code for Firefox */
  color: var(--on-background-dark);
  background: var(--background-dark);
}

::selection {
  color: var(--on-background-dark);
  background: var(--background-dark);
}

/* ··················· fin selección de texto ··········· */

body.home #page-container {
  padding-top: 0 !important;
}

.et_fixed_nav.et_show_nav #page-container {
  padding-top: 72px;
}

@media (max-width: 980px) {
  .et_header_style_left #logo {
    max-width: 204px;
  }
}

/*OPEN: ESTILOS HOME*/

/* HOME---------------------------------------- OPEN: Primer Section */

body.preloader-active {
  overflow: hidden;
  height: 100vh;
}

.primer-section {
  height: 100vh;
  opacity: 0; /* Oculto al inicio */
  transition: opacity 1s ease;
  pointer-events: none; /* Para evitar interacción mientras está oculto */
}

.primer-section.visible {
  opacity: 1;
  pointer-events: auto;
}

.primer-section .et_pb_row,
.primer-section .et_pb_row .et_pb_column {
  height: 100%;
}

/*texto h1: todo ancho*/
.scaling-container {
  margin: 120px 0 0 0;
  width: 90vw;
  text-align: left;
}

.scaling-container h1#scaling-text {
  margin: 0;
  line-height: 1;
  display: inline-block;
  white-space: nowrap;
}

/*texto h1: todo ancho*/

/*texto h2: la raiz*/
.raiz-home {
  position: absolute;
  bottom: 0px;
  right: 0px;
}

.raiz-home h2 {
  font-family: var(--typo-tertiary);
}

@media screen and (max-width: 767px) {
  .raiz-home {
    bottom: 48px;
  }

  .raiz-home h2 {
    font-size: 18px;
  }
}

/*texto h2: la raiz*/

/*WINE LIST*/
h5.titulo-seres-vinos-text {
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 1; /* Limita a 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden; /* Oculta el resto sin "..." */
  text-overflow: clip; /* No muestra puntos suspensivos */
  white-space: normal;
  font-size: clamp(20px, 5vw, 40px); /* Ajusta según tu diseño */
  line-height: 1.2;
  margin: 0;
  max-height: calc(1.2em * 1); /* altura exacta de 2 líneas */
  overflow: hidden;
  background: var(--background-dark);
  color: var(--on-background-dark);
}


.wine-list-text {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: start;
  padding: 24px 0;
}

.wine-item-text {
  position: relative;
  cursor: pointer;
  width: 100%;
  padding: 24px 8px;
  font-family: var(--typo-primary);
  font-size: 40px;
  text-align: left;
  z-index: 1;
  border-bottom: 1px solid var(--on-background-ligh);
  color: var(--on-background-ligh);

  transition: padding 0.3s ease, letter-spacing 0.6s ease-in-out;

  display: flex; /* ALINEAMOS NOMBRE Y CTA */
  justify-content: space-between;
  align-items: center;
  text-decoration: none; /* QUITAMOS SUBRAYADO SI ES <a> */
}

.wine-item-text:hover {
  padding: 32px 24px;
}

.wine-name {
  flex: 1;
  font-size: 46px;
  line-height: 100%;
  letter-spacing: 0.02em; /* base */
  transition: letter-spacing 0.6s ease-in-out;
}

.wine-item-text:hover .wine-name {
  letter-spacing: 5.4px;
}

.wine-link {
  font-size: 18px;
  font-family: var(--typo-secondary); /* cámbialo por la fuente que tú uses */
  color: var(--link);
  transition: color 0.3s ease;
}

.wine-item-text:hover .wine-link {
  color: var(--on-background-ligh);
  color: var(--link-hover);
}

.hover-image {
  position: absolute;
  width: 200px;
  pointer-events: none;
  opacity: 0;
  z-index: 9999;
  transform: scale(0.95);
  transition: opacity 0.3s ease, transform 0.3s ease;
  border-radius: 8px;
}

.hover-image.visible {
  opacity: 1;
  transform: scale(1);
}

@media screen and (max-width: 980px) {
  .wine-name {
    font-size: 24px;
  }
}

@media screen and (max-width: 1023px) {

  h5.titulo-seres-vinos-text {
  font-size: 18px;


}
  .wine-item-text {
    flex-direction: column;
    align-items: flex-start;
  }
  .wine-item-text:hover .wine-name {
    letter-spacing: 0.02em; /* base */
  }

  .wine-link {
    display: block;
  width: 100%;
  text-align: right;
    margin: 8px 0 0 0;
  }
}



/*WINE LIST*/

/* HOME---------------------------------------- CLOSE: Primer Section */

/* HOME---------------------------------------- OPEN: Segundo Section: Trabajo y Compromiso */

/*texto h3: Trabajo Compromiso*/
.et_pb_module.block-trabajo-compromiso {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 64px !important;
}

.et_pb_module.block-trabajo-compromiso h3 {
  margin: 0 auto;
  padding: 0;
  text-align: center;
  max-width: 780px;
  letter-spacing: -2px;
  line-height: 120%;
}



.et_pb_module.block-trabajo-compromiso h3.sino-memoria strong {
  font-weight: 400;
}

.et_pb_module.block-trabajo-compromiso h3.sino-memoria strong img{
  position: absolute;
  width: 280px;
}


@media screen and (max-width: 980px) {
.et_pb_module.block-trabajo-compromiso h3.sino-memoria strong img{

  width: 170px;
}
}


@media screen and (max-width: 767px) {
  .et_pb_module.block-trabajo-compromiso h3.sino-memoria strong img{

  width: 100px;
}
}


/*texto h3: Trabajo Compromiso*/

/* HOME---------------------------------------- CLOSE: Segundo Section: Trabajo y Compromiso */

/* HOME---------------------------------------- OPEN: Tercer Section: Anima Exterior */



.tercer-section .et_pb_column .home-anima a {
  font-weight: 700;
}

.tercer-section .et_pb_column .home-anima a:hover {
  text-decoration: underline;
}


h4.anima-exterior,
h4.anima-exterior strong,
h4.latido-interior,
h4.latido-interior strong {
  font-weight: 400;
}



h4.anima-exterior strong img {
  position: absolute;
  width: 280px;
  bottom: 0;
}




h4.latido-interior strong img {
  position: absolute;
  width: 280px;
}





@media screen and (max-width: 980px) {
  h4.anima-exterior strong img,
h4.latido-interior strong img  {
  width: 170px;
}
}

@media screen and (max-width: 767px) {
  h4.anima-exterior strong img,
h4.latido-interior strong img  {
  width: 100px;
}
}



/* HOME---------------------------------------- CLOSE: Tercer Section: Anima Exterior */

/*CLOSE: ESTILOS HOME*/



/*OPEN: LATIDO INTERIOR*/

h3.la-voluntad strong{
font-weight: 400;
}

h3.la-voluntad strong img {
  position: absolute;
  width:180px;
}

h3.la-voluntad strong.caminas img {
  position: absolute;
  width:280px;
  bottom: 0;
}


@media screen and (max-width: 980px) {
h3.la-voluntad strong img {
  width:150px;
}
h3.la-voluntad strong.caminas img {
  width: 200px;
}
}

@media screen and (max-width: 767px) {
h3.la-voluntad strong img {
  width:90px;
} 
h3.la-voluntad strong.caminas img {
  width: 130px;
}
}
/*CLOSE: LATIDO INTERIOR*/






/*OPEN: ESTILOS FICHA VINO*/

.detalle-vino {
  height: 100vh;
}

.detalle-vino .et_pb_row,
.detalle-vino .et_pb_row .et_pb_column {
  height: 100%;
}

.detalle-vino .et_pb_row .et_pb_column.col-1 {
  width: 60%;
}

.detalle-vino .et_pb_row .et_pb_column.col-2 {
  width: 40%;
}

@media screen and (max-width: 980px) {
  .detalle-vino .et_pb_row .et_pb_column.col-1,
  .detalle-vino .et_pb_row .et_pb_column.col-2 {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .detalle-vino .et_pb_row .et_pb_column.col-1,
  .detalle-vino .et_pb_row .et_pb_column.col-2 {
    width: 100%;
  }
}

.detalle-vino .imagen-botella,
.detalle-vino .imagen-botella span {
  height: 100%;
}

.detalle-vino .imagen-botella img {
  width: auto;
  height: 100%;
}

.detalle-vino .et_pb_row .et_pb_column.col-2 {
  display: flex;
  align-items: end;
}

.row-tecnica-vino {
  display: flex;
  gap: 40px;
}

#datos-ficha-vino {
  max-width: 400px;
  margin-bottom: 180px;
}

#datos-ficha-vino h1 {
  font-family: var(--typo-secondary);
  font-size: 18px;
  text-transform: uppercase;
}

#datos-ficha-vino h2 {
  font-family: var(--typo-primary);
  font-size: 64px;
}

#datos-ficha-vino h3 {
  font-family: var(--typo-primary);
  font-size: 24px;
  font-weight: 300;
  font-style: italic;
}

#datos-ficha-vino h4 {
  margin: 24px 0 0 0;

  font-family: var(--typo-secondary);
  font-size: 16px;
  line-height: 130%;
}

.receta-vino h5,
.tecnica-vino p {
  max-width: 520px;
  font-family: var(--typo-secondary);
  font-size: 16px;
  line-height: 140%;
}

.tecnica-vino p {
  margin-top: 80px;
}

.tecnica-vino p span.eva-tecnica {
  font-size: 12px;
  font-weight: 700;
}

.masonry-column {
  display: block !important;
  column-count: 2;
  column-gap: 16px;
}

.masonry-column .et_pb_image {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: 16px !important;
  display: inline-block !important;
  width: 100% !important;
}

@media screen and (max-width: 767px) {
  #datos-ficha-vino {
    margin-bottom: 56px;
  }

  .row-tecnica-vino {
    flex-wrap: wrap;
  }
}

/*CLOSE: ESTILOS FICHA VINO*/

/*OPEN: CTA PRIMARY*/
.cta {
  display: inline-flex;
  align-items: center;
  border: none;
  background: none;
  cursor: pointer;
  margin-top: 16px;
  text-decoration: none; /* elimina subrayado default de enlaces */
}

.cta span {
  padding-bottom: 0px;
  letter-spacing: 4px;
  font-size: 14px;
  padding-right: 15px;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 110%;
  color: var(--link); /* color también aquí para que sea texto del link */
}

.cta svg {
  transform: translateX(-8px);
  transition: all 0.3s ease;
  fill: var(--link);
}

.cta:hover svg {
  transform: translateX(0);
}

.cta:active svg {
  transform: scale(0.9);
}

.hover-underline-animation {
  position: relative;
  padding-bottom: 20px;
  color: var(--link); /* color aquí también para el texto */
}

.hover-underline-animation:after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: var(--link);
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.cta:hover .hover-underline-animation:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/*CLOSE: CTA PRIMARY*/

/*OPEN: WINE LIST*/

.et_pb_section.wine-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.et_pb_section .et_pb_row.wine-list-title {
  padding: 16px;
  border-radius: 8px;
  border: 1px solid var(--on-background-ligh);
}

.et_pb_section .et_pb_row.wine-list-title h3 {
  display: block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-family: var(--typo-secondary);
  font-size: 18px;
  font-weight: 700;
}

.et_pb_section .et_pb_row.wine-list-title p {
  display: block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-family: var(--typo-secondary);
  font-size: 16px;
}

.et_pb_section.wine-list .et_pb_row.wine-item {
  width: calc(100% / 4 - 12px);
  margin: 0;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid var(--on-background-ligh);
  outline: 4px solid transparent;
  transition: outline-offset 0.2s linear, outline-color 0.2s linear;
}

.et_pb_section.wine-list .et_pb_row.wine-item:hover,
.et_pb_section.wine-list .et_pb_row.wine-item:focus-visible {
  outline: 4px solid var(--on-background-ligh);
  outline-offset: 2px;
}

.et_pb_section.wine-list .et_pb_row.wine-item h4 {
  display: block;
  margin: 0;
  padding: 0;
  font-family: var(--typo-secondary);
  font-size: 16px;
  text-transform: uppercase;
}

.et_pb_section.wine-list .et_pb_row.wine-item h5 {
  display: block;
  margin: 0;
  padding: 0;
  font-family: var(--typo-secondary);
  font-size: 22px;
}

@media screen and (max-width: 991px) {
  .et_pb_section.wine-list .et_pb_row.wine-item {
    width: calc(100% / 2 - 8px);
    padding: 8px;
  }

  .et_pb_section.wine-list .et_pb_row.wine-item h4 {
    display: block;
    margin: 0;
    padding: 0;
    font-family: var(--typo-secondary);
    font-size: 14px;
    text-transform: uppercase;
  }

  .et_pb_section.wine-list .et_pb_row.wine-item h5 {
    display: block;
    margin: 0;
    padding: 0;
    font-family: var(--typo-secondary);
    font-size: 18px;
    font-weight: 700;
  }
}

/*CLOSE: WINE LIST*/






/*OPEN: SECCION DE CONTACTO*/



/*contacto form*/

.wpcf7-form legend {
  margin-bottom: 16px;
  font-weight: bold;
  font-size: 18px;
}

.wpcf7-form fieldset.opciones-consulta {
  margin-bottom: 40px;
}

.wpcf7-form fieldset.opciones-consulta label,
.wpcf7-form fieldset.opciones-consulta label.activo:focus {
  display: flex;
  align-items: flex-start;
  border: 1px solid;
  margin-bottom: 16px;
  padding: 8px;
  cursor: pointer;
  border-radius: 8px;
  border: 1px dashed var(--on-background-ligh);
  outline: 2px solid transparent;
  transition: outline-offset 0.2s linear, outline-color 0.2s linear;
}


.wpcf7-form fieldset.opciones-consulta label:hover {
  outline: 2px solid var(--on-background-ligh);
  outline-offset: 2px;
}


.wpcf7-form fieldset.opciones-consulta label.activo {
    border: 1px solid var(--on-background-ligh);
  outline: 2px solid var(--on-background-ligh);
  outline-offset: 2px;
}

.wpcf7-form fieldset.opciones-consulta label.activo:nth-of-type(1) {
  background: url("https://www.alegrevalganon.com/wp-content/uploads/2025/08/select-1.svg") no-repeat;
  background-position: 27px 6px;
}

.wpcf7-form fieldset.opciones-consulta label.activo:nth-of-type(2) {
  background: url("https://www.alegrevalganon.com/wp-content/uploads/2025/08/select-2.svg") no-repeat;
  background-position: 27px 6px;
}

.wpcf7-form fieldset.opciones-consulta label.activo:nth-of-type(3) {
  background: url("https://www.alegrevalganon.com/wp-content/uploads/2025/08/select-3.svg") no-repeat;
  background-position: 27px 6px;
}

.wpcf7-form fieldset.opciones-consulta label.activo  span.label,
.wpcf7-form fieldset.opciones-consulta label.activo  span.label_info{

}


.wpcf7-form fieldset.opciones-consulta label input{
margin-right: 16px;
}

.wpcf7-form .wpcf7-not-valid-tip {
  line-height: normal;
}

.wpcf7-form legend {
  margin-bottom: 20px;
  font-weight: bold;
}

.wpcf7-form label {
  display: flex;
  align-items: flex-start;
}

.wpcf7-form span {
  display: block;
}

.wpcf7-form span.label {
  font-weight: bold;
}

.wpcf7-form fieldset.campos-usuario {
  margin-bottom: 0;
}

.wpcf7-form fieldset.campos-usuario span.wpcf7-form-control-wrap {
  margin-bottom: 16px;
}

.wpcf7-form fieldset.campos-usuario span input,
.wpcf7-form fieldset.campos-usuario span textarea {
  width: 100%;
  padding: 16px 8px;
  border-radius: 8px;
  font-size: 18px;
  border: 1px solid var(--on-background-ligh);
  outline: 2px solid transparent;
  transition: outline-offset 0.2s linear, outline-color 0.2s linear;
}

.wpcf7-form fieldset.campos-usuario span input:focus,
.wpcf7-form fieldset.campos-usuario span textarea:focus {
  outline: 2px solid var(--on-background-ligh);
  outline-offset: 2px;
}

.wpcf7-form fieldset p.wpcf7-not-valid-tip,
.wpcf7-form fieldset span.wpcf7-form-control-wrap span.wpcf7-not-valid-tip {
margin: 8px 0 0 8px;
  font-style: italic;
  font-weight: 700;
  color:var(--error);
}


.wpcf7-form fieldset.campos-acepto {
  margin:16px 0 24px 0;
}

.wpcf7-form fieldset.campos-acepto .wpcf7-list-item{
margin: 0;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
  margin: 16px 0;
  border-radius: 8px;
  text-transform: uppercase;
  font-weight: 700;
}

.wpcf7 form.sent .wpcf7-response-output {
 border: 2px solid var(--success);
 background: var(--success);
 color: var(--background-ligh);
}

.wpcf7 form.spam .wpcf7-response-output {
 border: 2px solid var(--error);
 background: var(--error);
 color: var(--background-ligh);
}

.wpcf7 form.invalid .wpcf7-response-output {
 border: 2px solid var(--alert);
 background: var(--alert);
 color: var(--background-ligh);
}







.wpcf7-form input.wpcf7-form-control.wpcf7-submit {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 32px 16px;
  border-radius: 8px;
  text-align: center;
  border: 1px solid var(--on-background-ligh);
  font-size: 18px;
  font-weight: 700;
  background: none;
}



/*contacto form*/

/*OPEN: SECCION DE CONTACTO*/




/*OPEN: FOOTER*/

.datos-contacto-footer .et_pb_column {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.datos-contacto-footer .et_pb_column .et_pb_module.nombre-bodega h6 {
  font-family: var(--typo-tertiary);
  font-size: 32px;
  font-weight: 400;
}

.datos-contacto-footer .et_pb_column h6 {
  padding: 0 0 0 0;
  font-family: var(--typo-tertiary);
  font-size: 22px;
  line-height: 120%;
}

.datos-contacto-footer .et_pb_column h6 a span {
  font-size: 12px;
}


.et_pb_module.footer-contacto-telefono {
width: 100%;
}

.et_pb_module.footer-contacto-telefono h6 {
  padding: 4px 0;
}

.et_pb_module.footer-legal-links a{
color: var(--on-background-ligh);
}

.et_pb_module.footer-legal-links a:hover{
color: var(--on-background-ligh);
text-decoration: underline;
}



@media screen and (max-width: 991px) {
  .datos-contacto-footer .et_pb_column {
    flex-wrap: wrap;
  }
  .datos-contacto-footer .et_pb_column .et_pb_module {
    width: 100%;
  }
}

/*CLOSE: FOOTER*/
