/*
 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
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */


/*OPEN: ------------------------------FOUNDATIONS----*/
:root {

    

  /* FONDO */
--bg:#FCFAF6;  /* fondo principal */
--bg-dark:#352D28;  /* fondo principal */


  /* TEXTOS */
--text:#352D28;   /* principal  */ 



  /* RESALTE */
  --link:#9E5F26;  /* texto enlace   */
  --link-hover:#7D4924;  /* enlace hover   */



  /* DECORACIONES */
  --border:#352D28;  /* texto enlace   */

    


  /* TIPOGRAFIAS */
  --font-paganini-open: "paganini-open", serif;
  --font-paganini-regular: "paganini", serif;
  --font-lexend-light: "Lexend", sans-serif;










  
    

   
    


   

      --gp-gap: 16px;
      --gp-h: 105px;
      --gp-h-sm: 72px;


}


/*CLOSE: ------------------------------FOUNDATIONS----*/








/*OPEN: ------------------------------ESTILOS GENERALES----*/
body {
  background-image: url('../../uploads/2026/07/body-bck.jpg') !important;
  background-size: auto !important;
  background-repeat: repeat !important;
  background-position: top left !important;
  background-attachment: scroll !important;
}

@media (max-width: 980px) {
  #page-container {
    padding-top: 0;
  }
}



h1 {
  font-family: var(--font-paganini-open), "Didot", "Bodoni MT", "Playfair Display", Georgia, serif;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
}

h2, h3 {
  font-family: var(--font-paganini-regular), "Didot", "Bodoni MT", "Playfair Display", Georgia, serif;
  font-weight: 400;
  font-style: normal;

}




/*CLOSE: ------------------------------ESTILOS GENERALES----*/







/*OPEN: ------------------------------ESTILOS HEADER + MENU----*/
body.admin-bar.et_fixed_nav #main-header {
    padding: 16px;
    box-shadow: none;

}

.et_fullwidth_nav #main-header .container {
border:1px solid var(--border);
}

#et-main-area #main-content{
  background-image: 
    url('../../uploads/2026/07/limitador.svg'),
    url('../../uploads/2026/07/limitador.svg'),
    url('../../uploads/2026/07/limitador.svg'),
    url('../../uploads/2026/07/limitador.svg');
  background-position: 
    top 16px left 16px,
    top 16px right 16px,
    bottom 16px left 16px,
    bottom 16px right 16px;
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: auto, auto, auto, auto;
  border:1px solid var(--border);
  margin: 16px;
  padding: 0 16px;
}



@media (max-width: 767px)  {
  #et-main-area #main-content {
    background-size: 8px;
  }
}






/*menu*/

    /* ============ WRAPPERS ============ */
    .gp-header-outer { display: contents; }

    .gp-header-sticky {
      position: sticky;
      top: 0;
      z-index: 100;
      padding: 16px 16px 0 16px;
      background: var(--bg, transparent);
    }

    /* ============ DECORACIÓN SUPERIOR ============ */
    .gp-header__top-deco {
      position: relative;
      height: 11px;
      border: 1px solid var(--text);
      margin-bottom: -1px;
      transition: opacity 200ms ease, visibility 200ms ease;
    }
    .gp-header__top-deco::before {
      content: "";
      position: absolute;
      top: 50%; left: 8px; right: 8px;
      height: 1px;
      background: var(--text);
      transform: translateY(-50%);
    }

    /* ============ HEADER ============ */
    .gp-header {
      position: relative;
      display: flex;
      align-items: stretch;
      width: 100%;
      min-height: var(--gp-h);
      border: 1px solid var(--text);
      color: var(--text);
      font-family: var(--font-lexend-light);
      transition: min-height 320ms cubic-bezier(0.22, 1, 0.36, 1),
                  border-color 200ms ease;
    }

    .gp-header__col {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 20px 28px;
      transition: padding 320ms cubic-bezier(0.22, 1, 0.36, 1),
                  visibility 200ms ease;
    }
    .gp-header__col + .gp-header__col { border-left: 1px solid var(--text); }

    .gp-header__col--logo   { flex: 0 0 258px; padding: 16px 28px; align-items: flex-start; order: 1; }
    .gp-header__col--spacer { flex: 1 1 auto; min-width: 0; padding: 0; order: 2; }
    .gp-header__col--menu   { flex: 0 1 auto; padding: 40px 24px 20px; order: 3; }
    .gp-header__col--lang   { flex: 0 0 160px; padding: 40px 16px 20px; align-items: center; order: 4;display: none;}

    .gp-header__col--menu::before,
    .gp-header__col--lang::before {
      position: absolute;
      top: 14px; left: 12px;
      transform: translateY(-50%);
      font-size: 10px;
      font-weight: 400;
      line-height: 1;
      color: var(--text);
      pointer-events: none;
      opacity: 1;
      transition: opacity 260ms ease, transform 260ms ease;
    }
    .gp-header__col--menu::before { content: "MENÚ"; }
    .gp-header__col--lang::before { content: "LANGUAGE ON"; }

    .gp-header__col--menu::after,
    .gp-header__col--lang::after {
      content: "";
      position: absolute;
      top: 28px; left: 0; right: 0;
      height: 1px;
      background: var(--text);
      pointer-events: none;
      opacity: 1;
      transform-origin: left center;
      transform: scaleX(1);
      transition: opacity 260ms ease, transform 320ms cubic-bezier(0.22, 1, 0.36, 1);
    }

    /* ============ STICKY REDUCIDO ============ */
    .is-scrolled .gp-header { min-height: var(--gp-h-sm); }
    .is-scrolled .gp-header__col--logo { padding: 10px 28px; }
    .is-scrolled .gp-header__col--menu,
    .is-scrolled .gp-header__col--lang { padding-top: 20px; padding-bottom: 20px; }
    .is-scrolled .gp-header__col--menu::before,
    .is-scrolled .gp-header__col--lang::before {
      opacity: 0;
      transform: translate(0, calc(-50% - 6px));
    }
    .is-scrolled .gp-header__col--menu::after,
    .is-scrolled .gp-header__col--lang::after { opacity: 0; transform: scaleX(0); }
    .is-scrolled .gp-header__logo-svg { max-width: 160px; }

    /* --- Logo header normal --- */
    .gp-header__logo { display: inline-flex; align-items: center; color: var(--text); text-decoration: none; line-height: 0; }
    .gp-header__logo-svg {
      display: block; width: 100%; max-width: 200px; height: auto;
      color: currentColor; fill: currentColor;
      transition: max-width 320ms cubic-bezier(0.22, 1, 0.36, 1);
    }
    .gp-header__logo-svg path { fill: currentColor; }

    /* --- Menú desktop --- */
    .gp-header__col--menu ul {
      display: flex;
      gap: 40px;
      list-style: none;
      margin: 0;
      padding: 0;
      white-space: nowrap;
    }
    .gp-header__col--menu li { position: relative; }

    .gp-header__col--menu a {
      position: relative;
      display: inline-block;
      font-size: 16px;
      font-weight: 500;
      letter-spacing: 0.16em;
      color: var(--text);
      text-decoration: none;
      padding-bottom: 6px;
      transition: color 200ms ease;
    }

    .gp-header__col--menu a:hover,
    .gp-header__col--menu a:focus,
    .gp-header__col--menu a[aria-current="page"],
    .gp-header__col--menu .current-menu-item > a,
    .gp-header__col--menu .current_page_item > a,
    .gp-header__col--menu .current-menu-ancestor > a,
    .gp-header__col--menu .current-menu-parent > a,
    .gp-header__col--menu a.is-active { color: var(--link) !important; }

    .gp-header__col--menu a::after {
      content: "";
      position: absolute;
      left: 0; bottom: 0;
      width: 27px; height: 2px;
      background: var(--link);
      opacity: 0;
      transform: scaleX(0);
      transform-origin: left center;
      transition: opacity 200ms ease, transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
    }
    .gp-header__col--menu a:hover::after,
    .gp-header__col--menu a:focus::after,
    .gp-header__col--menu a[aria-current="page"]::after,
    .gp-header__col--menu .current-menu-item > a::after,
    .gp-header__col--menu .current_page_item > a::after,
    .gp-header__col--menu .current-menu-ancestor > a::after,
    .gp-header__col--menu .current-menu-parent > a::after,
    .gp-header__col--menu a.is-active::after { opacity: 1; transform: scaleX(1); }

    /* --- Botón idioma --- */
    .gp-lang-btn {
      display: inline-flex; align-items: center; justify-content: center;
      padding: 8px 24px; font-size: 12px; font-weight: 400; letter-spacing: 0.16em;
      color: var(--text); text-transform: uppercase; text-decoration: none;
      border: 1px solid transparent; transition: border-color 200ms ease;
    }
    .gp-lang-btn:hover { border-color: var(--text); }
    .gp-lang-short { display: none; }

    /* --- Esquinas decorativas --- */
    .gp-header__corner {
      position: absolute; width: 17px; height: 17px;
      background-repeat: no-repeat; background-position: center; background-size: contain;
      pointer-events: none;
      transition: opacity 200ms ease, visibility 200ms ease;
    }
    .gp-header__corner--tl { top: 6px; left: 6px; background-image: url("../../uploads/2026/07/corner-left.svg"); }
    .gp-header__corner--br { bottom: 6px; right: 6px; background-image: url("../../uploads/2026/07/corner-right.svg"); }

    @media (max-width: 767px) {
      .gp-header__corner { width: 8px; height: 8px; }
      .gp-header__corner--tl { top: 3px; left: 3px; }
      .gp-header__corner--br { bottom: 3px; right: 3px; }
    }

    /* ============ DIVI — desactivar su selector móvil nativo ============ */
    #et_mobile_nav_menu { display: none !important; }

    /* ============ OVERLAY FRAME — estado por defecto (desktop) ============ */
    .gp-overlay-frame { display: contents; }
    .gp-overlay-row--close,
    .gp-overlay-row--brand,
    .gp-overlay-row--contact { display: none; }
    .gp-overlay-row--nav { display: contents; }
    .gp-overlay-logo { display: none; }

    /* ============ Burger ============ */
    .gp-header-mobile-burger {
      display: none;
      order: 5;
      flex: 0 0 auto;
      width: 72px;
      align-self: stretch;
      align-items: center;
      justify-content: center;
      background: transparent;
      border: none;
      border-left: 1px solid var(--text);
      cursor: pointer;
      padding: 0;
      transition: visibility 200ms ease;
    }
    .gp-header-mobile-burger span,
    .gp-header-mobile-burger span::before,
    .gp-header-mobile-burger span::after {
      content: "";
      display: block;
      width: 22px;
      height: 1px;
      background: var(--text);
      position: relative;
      transition: transform 260ms ease, top 260ms ease, opacity 200ms ease, background 200ms ease;
    }
    .gp-header-mobile-burger span::before { position: absolute; top: -7px; left: 0; }
    .gp-header-mobile-burger span::after  { position: absolute; top:  7px; left: 0; }
    .gp-header-mobile-burger.is-active span { background: transparent; }
    .gp-header-mobile-burger.is-active span::before { top: 0; transform: rotate(45deg); }
    .gp-header-mobile-burger.is-active span::after  { top: 0; transform: rotate(-45deg); }

    /* ============ Botón cerrar (X) — celda con border-left, como idioma/burger ============ */
    .gp-menu-close {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: transparent;
      border: none;
      cursor: pointer;
      padding: 0;
    }
    .gp-menu-close span { position: relative; width: 22px; height: 22px; display: block; }
    .gp-menu-close span::before,
    .gp-menu-close span::after {
      content: "";
      position: absolute;
      top: 50%; left: 0;
      width: 100%; height: 1px;
      background: var(--text);
    }
    .gp-menu-close span::before { transform: rotate(45deg); }
    .gp-menu-close span::after  { transform: rotate(-45deg); }

    /* ============ FIX: evita el header base duplicado detrás del overlay ============ */
    body.gp-menu-open .gp-header,
    body.gp-menu-open .gp-header__col {
      border: none !important;
    }
    body.gp-menu-open .gp-header__top-deco,
    body.gp-menu-open .gp-header__corner {
      opacity: 0;
      visibility: hidden;
    }
    body.gp-menu-open .gp-header__col--logo,
    body.gp-menu-open .gp-header__col--lang,
    body.gp-menu-open .gp-header-mobile-burger {
      visibility: hidden;
    }

    /* ============ RESPONSIVE — mantener aspecto hasta 981px ============ */
    @media (max-width: 1399px) {
      .gp-header__col--menu ul { gap: 32px; }
      .gp-header__col--menu { padding: 40px 20px 20px; }
      .gp-header__col--logo { flex-basis: 240px; }
    }

    @media (max-width: 1199px) {
      .gp-header__col--menu ul { gap: 24px; }
      .gp-header__col--menu a { font-size: 15px; letter-spacing: 0.14em; }
      .gp-header__col { padding: 20px 20px; }
      .gp-header__col--logo { flex-basis: 220px; padding: 14px 20px; }
      .gp-header__col--menu { padding: 40px 16px 20px; }
      .gp-header__col--lang { flex-basis: 148px; padding: 40px 12px 20px; }
      .gp-lang-btn { padding: 6px 16px; font-size: 11px; }
    }

    @media (max-width: 1049px) {
      .gp-header__col--menu ul { gap: 18px; }
      .gp-header__col--menu a { font-size: 14px; letter-spacing: 0.10em; }
      .gp-header__col--logo { flex-basis: 200px; }
      .gp-header__col--lang { flex-basis: 132px; }
      .gp-lang-btn { padding: 6px 12px; }
    }

    /* ============ <= 980 : OVERLAY A PANTALLA COMPLETA ============ */
    @media (max-width: 980px) {
      .gp-header { min-height: var(--gp-h-sm); flex-wrap: nowrap; }

      .gp-header__col--menu {
        display: flex;
        position: fixed;
        inset: 0;
        z-index: 9999;
        padding: 16px 16px 0 16px;
        border: none;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: scale(0.98);
        transition: opacity 380ms cubic-bezier(0.22, 1, 0.36, 1),
                    transform 380ms cubic-bezier(0.22, 1, 0.36, 1),
                    visibility 0s linear 380ms;
      }
      .gp-header__col--menu::before,
      .gp-header__col--menu::after { display: none !important; }

      body.gp-menu-open .gp-header__col--menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: scale(1);
        transition-delay: 0s;
      }
      body.gp-menu-open { overflow: hidden; }

      .gp-overlay-frame {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        border: 1px solid var(--text);
        background: var(--bg, #FAF7F0);
        overflow: hidden;
      }

      .gp-overlay-row {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        padding: 16px 8px;
        border-bottom: 1px solid var(--text);
      }

      /* Fila 1 — cerrar: sin padding propio, la celda del botón lleva su
         propio border-left + padding, igual que idioma/burger en el header */
      .gp-overlay-row--close {
        padding: 0;
        align-items: stretch;
        justify-content: flex-end;
      }
      .gp-overlay-row--close .gp-menu-close {
        align-self: stretch;
        border-left: 1px solid var(--text);
        padding: 16px 24px;
      }

      /* Fila 2 — logo, a la izquierda */
      .gp-overlay-row--brand { display: flex; justify-content: flex-start; }
      .gp-overlay-logo { display: inline-flex; align-items: center; }
      .gp-overlay-logo img { display: block; width: auto; height: 40px; }

      /* Fila 3 — navegación, ocupa el espacio restante */
      .gp-overlay-row--nav {
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        justify-content: flex-start;
        border-bottom: 1px solid var(--text);
      }
      .gp-header__col--menu .gp-overlay-row--nav #top-menu,
      .gp-header__col--menu .gp-overlay-row--nav .nav {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100%;
      }

      /* Entrada en cascada de cada ítem del menú */
      .gp-overlay-row--nav li {
        opacity: 0;
        transform: translateY(18px);
        transition: opacity 320ms ease, transform 320ms ease;
      }
      body.gp-menu-open .gp-overlay-row--nav li {
        opacity: 1;
        transform: translateY(0);
      }
      .gp-overlay-row--nav li:nth-child(1) { transition-delay: 90ms; }
      .gp-overlay-row--nav li:nth-child(2) { transition-delay: 160ms; }
      .gp-overlay-row--nav li:nth-child(3) { transition-delay: 230ms; }
      .gp-overlay-row--nav li:nth-child(4) { transition-delay: 300ms; }

      .gp-overlay-row--nav a {
        font-family: var(--font-paganini-open), "Playfair Display", Georgia, serif;
        font-size: clamp(32px, 8vw, 52px);
        font-weight: 400;
        letter-spacing: 0.06em;
        line-height: 1.15;
        text-transform: uppercase;
      }
      .gp-overlay-row--nav a::before { content: "- "; }
      .gp-overlay-row--nav a::after { display: none !important; }

      /* Fila 4 — contacto, pegada abajo, misma estructura que el footer */
      .gp-overlay-row--contact {
        flex-direction: column;
        align-items: flex-start;
        border-bottom: none;
        font-family: var(--font-lexend-light);
        letter-spacing: 0.06em;
      }

      /* Todos los párrafos de contacto (datos + enlaces): 12px, 120% de interlineado,
         separados solo por padding-bottom de 1em (sin margin) */
      .gp-overlay-contact p,
      .gp-overlay-contact__links p {
        margin: 0;
        padding-bottom: 1em;
        font-size: 12px;
        line-height: 120%;
      }
      .gp-overlay-contact strong { font-weight: 700; }

      /* Bloque de teléfono/email, separado del bloque de datos por 24px arriba */
      .gp-overlay-contact__links {
        margin-top: 24px;
      }
      .gp-overlay-contact__links a {
        color: var(--text);
        text-decoration: none;
      }
      .gp-overlay-contact__links a:hover {
        text-decoration: underline;
      }

      .gp-overlay-frame { display: flex; }
      .gp-overlay-row--close,
      .gp-overlay-row--brand,
      .gp-overlay-row--contact { display: flex; }
      .gp-overlay-row--nav { display: flex; }
      .gp-overlay-logo { display: inline-flex; }

      /* Header base compacto (visible solo cuando el overlay está cerrado) */
      .gp-header__col--logo {
        flex: 0 0 180px;
        min-width: 0;
        padding: 12px 20px;
        box-sizing: border-box;
      }
      .et_header_style_left #logo { max-width: inherit; }
      .gp-header__logo-svg { width: 100%; max-width: 140px; height: auto; }

      .gp-header__col--spacer { display: flex; flex: 1 1 auto; }

      .gp-header__col--lang {
        flex: 0 0 auto;
        padding: 0;
        min-width: 64px;
        justify-content: center;
        align-items: center;
        border-left: 1px solid var(--text);
      }
      .gp-header__col--lang::before,
      .gp-header__col--lang::after { display: none !important; }

      .gp-lang-btn {
        width: 100%; height: 100%;
        padding: 0 12px;
        font-size: 13px;
        letter-spacing: 0.18em;
        border: none;
      }
      .gp-lang-btn:hover { border-color: transparent; }
      .gp-lang-full  { display: none; }
      .gp-lang-short { display: inline; }

      .gp-header-mobile-burger { display: inline-flex; }

      .is-scrolled .gp-header__col--logo { padding: 8px 20px; flex-basis: 180px; }
      .is-scrolled .gp-header__logo-svg  { max-width: 140px; }
    }

    /* ============ <= 480 : compactar ============ */
    @media (max-width: 480px) {
      .gp-header-sticky { padding: 16px 16px 0 16px; }
      .gp-header__col--logo { flex: 0 0 150px; padding: 10px 20px; }
      .gp-header__logo-svg { max-width: 110px; }
      .gp-header__col--lang { min-width: 54px; }
      .gp-lang-btn { padding: 0 8px; font-size: 12px; letter-spacing: 0.14em; }
      .gp-header-mobile-burger { width: 56px; }
      .gp-header-mobile-burger span,
      .gp-header-mobile-burger span::before,
      .gp-header-mobile-burger span::after { width: 20px; }

      .gp-overlay-row--close .gp-menu-close { padding: 12px 16px; }

      .gp-overlay-row--nav #top-menu,
      .gp-overlay-row--nav .nav { gap: 32px !important; }
      .gp-overlay-row--nav a { font-size: clamp(28px, 10vw, 40px); }
    }

    /* ============ Contenido dummy ============ */
    .demo-content { padding: 80px 40px; max-width: 900px; margin: 0 auto; }
    .demo-content h1 { font-family: var(--font-lexend-light); font-weight: 300; font-size: 48px; letter-spacing: 0.02em; margin: 0 0 24px; }
    .demo-content p { font-size: 16px; line-height: 1.7; margin: 0 0 20px; max-width: 65ch; }
    .demo-content .block { margin-bottom: 120px; }
    .demo-content .marker { display: inline-block; font-size: 11px; letter-spacing: 0.2em; padding: 4px 12px; border: 1px solid var(--text); margin-bottom: 24px; }

/*menu*/


/*CLOSE: ------------------------------ESTILOS HEADER + MENU----*/
















/*OPEN: ------------------------------ESTILOS HOME----*/

.sello-lacre {
    position: absolute;
  top: 30%;
  right: 12%;
}

@media (max-width: 1199px) {
.sello-lacre {
  right: 0;
}
}



@media (max-width: 980px) {
.sello-lacre {
  top: 60%;
  right: 16%;
}

}

@media (max-width: 767px) {
.sello-lacre {
  top: 20%;
  right: 0%;
}
  
}











figure {
  margin: 0;
  width: 100%;
  height: 100%;
  display: block; /* o grid, según tu layout */
}

figure video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* recorta manteniendo proporción, sin deformar */
  display: block;
}


.dos-columnas{
display: flex;
justify-content: space-between;
}

.dos-columnas.pad-cero {
display: flex;
justify-content: space-between;
gap: 0;
}


.dos-columnas-separador {
display: flex;
justify-content: space-between;
}



.listado-vinos-home {
display: flex;
justify-content: space-between;
}

.listado-vinos-home > .et_pb_column {
    padding: 24px 16px;
}


.listado-vinos-home > .et_pb_column:nth-child(1),
.listado-vinos-home > .et_pb_column:nth-child(2) {
  border-right: 1px solid var(--border); /* ajusta el color */

}

@media (max-width: 767px) {
.listado-vinos-home > .et_pb_column:nth-child(1),
.listado-vinos-home > .et_pb_column:nth-child(2) {
  border-right: none; /* ajusta el color */

}

.dos-columnas{
display: block;
}

.dos-columnas.pad-cero {
display: block;
}

}


.texto-vertical {
    position: absolute;
    top: 16px;
    left: 16px;
  writing-mode: vertical-rl; /* alternativa: gira el flujo del texto sin usar transform */
  transform: rotate(180deg); /* si quieres que se lea de abajo a arriba en vez de arriba a abajo */
}

.enlace-vinos-home {
    display: flex;
    width: 100%;
    justify-content: end;
    line-height: 100%;
    font-size: 14px;
    padding: 8px 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}



@media (max-width: 767px) {
  .listado-vinos-home {
    display: block;
  }
}








.gp-wordmark {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 28px);
  width: 100%;
  color: var(--text);
  font-family: var(--font-lexend-light);
  font-weight: 400;
}

.gp-word {
  font-size: clamp(24px, 5vw, 88px);
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  flex: 0 0 auto;
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.gp-line {
  flex: 1 1 0;
  min-width: 20px;
  height: 2px;
  background: var(--bg-dark);
  transform-origin: center;
  transition: transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.gp-wordmark:hover .gp-word:first-child {
  transform: translateX(14px);
}

.gp-wordmark:hover .gp-word:last-child {
  transform: translateX(-14px);
}

.gp-wordmark:hover .gp-line {
  transform: scaleX(0.82);
}

@media (prefers-reduced-motion: reduce) {
  .gp-word,
  .gp-line {
    transition: none;
  }
}

.col-criterio-texto .et_pb_module:first-of-type {
  margin-top: 30% !important;
}

.col-criterio-imagen {
  display: flex;
  flex-flow: row;
  justify-content: start;
  align-items: end;
  gap: 16px !important;
}

.col-criterio-imagen .et_pb_module.et_pb_image{
margin: 0 !important;
}


@media (max-width: 980px) {
  .col-criterio-imagen {
    flex-flow: column;
  }
}


@media (max-width: 767px) {
.col-criterio-texto .et_pb_module:first-of-type {
  margin-top: 40px !important;
}
}


/*CLOSE: ------------------------------ESTILOS HOME----*/








/*OPEN: ------------------------------ESTILOS FILOSOFÍA Y ELABORACION----*/


/*CLOSE: ------------------------------ESTILOS FILOSOFÍA Y ELABORACION----*/








/*OPEN: ------------------------------ESTILOS CONTACTO----*/


/*CLOSE: ------------------------------ESTILOS CONTACTO----*/








/*OPEN: ------------------------------ESTILOS FOOTER----*/
#footer-bottom {
    padding: 0 !important;
}

.dos-columnas-footer {
  display: flex;
  justify-content: space-between;
}

.dos-columnas-footer .col-legales {
  display: flex;
  justify-content: end;
}

.menu-legales {
  display: flex;
  align-items: end;
}

.menu-legales ul#menu-menu-legales-es {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 0px;
  margin: 0;

}

.menu-legales ul#menu-menu-legales-es li{
  margin: 0;
  padding: 0;
  font-size: 12px;
  text-transform: uppercase;
  line-height: 120%;
  font-weight: 400;
  color: var(--text);
}

.menu-legales ul#menu-menu-legales-es li a{
  margin: 0;
  padding: 8px 0;
  color: var(--text);
}

.menu-legales ul#menu-menu-legales-es li a:hover{
  color: var(--link-hover);
  text-decoration: underline;
}

p.footer-links a {
  color: var(--text);
}

p.footer-links a:hover {
    color: var(--link-hover);
  text-decoration: underline;
}


@media (max-width: 980px) {

  .menu-legales .et_pb_menu_inner_container .et_mobile_nav_menu {
    display: none;
  }

  .menu-legales .et_pb_menu_inner_container .et_pb_menu__menu {
    display: inherit;
  }

.dos-columnas {
  gap: 16px;
}

}

@media (max-width: 767px) {


  .dos-columnas-footer {
    flex-flow: column;
  }

.menu-legales ul#menu-menu-legales-es {
    align-items: start;
  }

  .dos-columnas-footer .col-legales {
    padding-top: 24px !important;
    justify-content: start;
  }
}



/*CLOSE: ------------------------------ESTILOS FOOTER----*/




/*OPEN: ------------------------------PAGINA VINO SINGLE----*/



/* ============ Section vino: image + texto en 100vh ============ */

.primer-section-vino {
  height: calc(100vh - 180px);
  min-height: calc(100vh - 180px);
  padding: 0 !important;
  display: flex;
  flex-direction: column;              /* apila las 2 filas verticalmente */
  align-items: stretch;
  overflow: hidden;
position: relative;
}

/* ---------- ROW 0: IMAGEN — ocupa el alto restante ---------- */
.primer-section-vino .et_pb_row_0 {
  flex: 1 1 auto;
  min-height: 0;                       /* CLAVE: permite encoger dentro del flex */
  width: 100%;
  max-width: 100% !important;          /* mata el 1080px de Divi */
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.primer-section-vino .et_pb_row_0 .et_pb_column {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px !important;            /* aire alrededor de la imagen */
  margin: 0 !important;
}

.primer-section-vino .et_pb_row_0 .et_pb_image {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  height: 100%;
  width: 100%;
}

.primer-section-vino .et_pb_row_0 .et_pb_image_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  max-height: 100%;
  width: 100%;
}

.primer-section-vino .et_pb_row_0 .et_pb_image_wrap img {
  display: block;
  height: 100%;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;                 /* mantiene proporción, no recorta */
}

/* ---------- ROW 1: BLOQUE DE TEXTOS — centrado en pantalla, texto a la izquierda ---------- */
.primer-section-vino .et_pb_row_1 {
  flex: 0 0 auto;                      /* toma su alto natural */
  width: 100%;
  max-width: 640px !important;         /* AJUSTA: ancho máx del bloque de texto */
  margin: 0 auto !important;           /* centra horizontalmente en pantalla */
  padding: 0 0 !important;
}

.primer-section-vino .et_pb_row_1 .et_pb_column {
  padding: 0 !important;
  margin: 0 !important;
}

.primer-section-vino .et_pb_row_1 .et_pb_text {
  text-align: left;                    /* texto alineado a la izquierda dentro del bloque */
  margin: 0 0 0 0 !important;
}
.primer-section-vino .et_pb_row_1 .et_pb_text:last-child {
  margin-bottom: 0 !important;
}

.primer-section-vino .et_pb_row_1 h1,
.primer-section-vino .et_pb_row_1 h2,
.primer-section-vino .et_pb_row_1 p {
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

.primer-section-vino .et_pb_row_1 h1 {
  font-size: clamp(40px, 9vw, 96px);   /* min · fluido · máx */
  line-height: 0.95;                    /* pega las líneas si el título parte */
  letter-spacing: -0.01em;              /* opcional, aprieta un pelín en tamaños grandes */
  hyphens: none;
  overflow-wrap: break-word;
  padding: 8px 0;            /* seguridad para no desbordar el contenedor */
}

.primer-section-vino .et_pb_row_1 h2 {
  max-width: 80%;
}



/* ---------- Responsive: en pantallas bajas, si el 100vh comprime demasiado, deja crecer ---------- */
@media (max-height: 700px) {
  .primer-section-vino {
    height: auto;
    min-height: 100vh;
  }
}





















.primer-section-vino .wine-meta {
  position: absolute !important;
  top: 24px !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  z-index: 5;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 8% 16% !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px;
}

/* CADA COLUMNA = 50% real, en flex row, sin float, sin ancho residual de Divi */
.primer-section-vino .wine-meta > .et_pb_column {
  width: 50% !important;
  max-width: 50% !important;
  flex: 0 0 50% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 32px !important;
}

/* La clave: el contenido de cada columna se alinea al borde correcto */
.primer-section-vino .wine-meta > .et_pb_column:first-child {
  justify-content: flex-start !important;
}
.primer-section-vino .wine-meta > .et_pb_column:last-child {
  justify-content: flex-end !important;
}

/* Text modules — sin margins, tipo etiqueta */
.primer-section-vino .wine-meta .et_pb_text {
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-lexend-light);
  font-size: 12px;
  font-weight: 300;
  color: var(--text);
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
}
.primer-section-vino .wine-meta .et_pb_text .et_pb_text_inner,
.primer-section-vino .wine-meta .et_pb_text p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: inherit;
  line-height: inherit;
}

@media (max-width: 980px) {
  .primer-section-vino .wine-meta { padding: 8% 16% !important; }
  .primer-section-vino .wine-meta > .et_pb_column { gap: 20px !important; }
}

@media (max-width: 767px) {
  .primer-section-vino .wine-meta {
    top: 16px;
    padding: 40% 10% !important;
  }
  .primer-section-vino .wine-meta > .et_pb_column { gap: 14px !important; }
  .primer-section-vino .wine-meta .et_pb_text {
    font-size: 10px;
    letter-spacing: 0.06em;
  }
}

@media (max-width: 360px) {
  .primer-section-vino .wine-meta > .et_pb_column { gap: 10px !important; }
  .primer-section-vino .wine-meta .et_pb_text { font-size: 10px; }
}





.esencia-de-vino {
margin-top: 64px;
}

.imagen-castillo {
  position: absolute;
  top: 16px;
  right: 16px;
}




@media (max-width: 980px) {

.esencia-de-vino {
margin-top: 0px !important;
}

.imagen-castillo {
  position: relative;
  top: inherit;
  right: inherit;
  display: flex;
  justify-content: center;
}


}







/*CLOSE: ------------------------------PAGINA VINO SINGLE----*/





/*OPEN: ------------------------------PAGINA DE CONTACTO---*/

.dos-columnas.row-contacto {
  display: flex;
  gap: 16px;
  align-items: end;
  flex-wrap: wrap;
}

/* Columna de la imagen: se queda con el ancho de su contenido, no crece ni se encoge */
.dos-columnas.row-contacto > .et_pb_column_0.col-contacto {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto;
}

/* Columna de texto: ocupa todo el espacio restante */
.dos-columnas.row-contacto > .et_pb_column_1.col-contacto {
  width: auto !important;
  max-width: none !important;
  flex: 1 1 auto;
}

/*CLOSE: ------------------------------PAGINA DE CONTACTO---*/





/*OPEN: ------------------------------FORMULARIO DE CONTACTO---*/



.col-contiene-formulario {
display: flex;
justify-content: end;
}





form.wpcf7-form p {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 0 24px 0;
  padding: 0;
}

form.wpcf7-form p label {
  display: inline-block;
  width: 100%;
  margin: 0;
  font-family: var(--font-lexend-light);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
}

form.wpcf7-form p label span.wpcf7-form-control-wrap {
  display: inline-block;
  width: 100%;
  margin: 8px 0 0 0;
}

form.wpcf7-form p label span.wpcf7-form-control-wrap input,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea {
  display: flex;
  width: 100%;
  padding: 16px;
  font-family: var(--font-lexend-light);
  font-size: 16px;
  color: var(--text);
  border-radius: 0;
  border: 1px solid var(--border);
  background: var(--bg);
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

form.wpcf7-form p label span.wpcf7-form-control-wrap input.wpcf7-file {
  font-size: 14px;
}

form.wpcf7-form p label span.wpcf7-form-control-wrap input:hover,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea:hover {
  border: 1px solid var(--link);
  background: var(--bg);
}

form.wpcf7-form p label span.wpcf7-form-control-wrap input:focus,
form.wpcf7-form p label span.wpcf7-form-control-wrap input:focus-visible,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea:focus,
form.wpcf7-form p label span.wpcf7-form-control-wrap textarea:focus-visible {
  outline: 1px solid var(--link);
  border: 1px solid var(--link);
  background: var(--bg);
  color: var(--text);
  box-shadow: none;
}

form.wpcf7-form p label span.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  padding: 8px 0 0 0;
  font-family: var(--font-lexend-light);
  font-size: 12px;
  font-weight: 500;
  color: #B3261E;
}

form.wpcf7-form p span.wpcf7-form-control-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance {
  width: 100%;
  padding: 0;
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item {
  margin: 0;
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item input.acepta-condiciones[type="checkbox"] {
  appearance: none;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 0;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  background: var(--bg);
  transition: all 0.2s ease;
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item input.acepta-condiciones[type="checkbox"]:checked {
  background-color: var(--link);
  border-color: var(--link);
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item input.acepta-condiciones[type="checkbox"]:checked::after {
  content: "✔";
  color: var(--bg);
  position: absolute;
  top: -1px;
  left: 2px;
  font-size: 12px;
  line-height: 16px;
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item input.acepta-condiciones[type="checkbox"]:focus-visible {
  outline: 1px solid var(--link);
  outline-offset: 3px;
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item .wpcf7-list-item-label {
  font-family: var(--font-lexend-light);
  font-size: 13px;
  color: var(--text);
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item .wpcf7-list-item-label a {
  color: var(--link);
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance span.wpcf7-list-item .wpcf7-list-item-label a:focus-visible {
  border-radius: 0;
  outline: 1px solid var(--link);
}

form.wpcf7-form p .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  width: 100%;
  padding: 4px 0 0 0;
  font-family: var(--font-lexend-light);
  font-size: 12px;
  font-weight: 500;
  color: #B3261E;
}

form.wpcf7-form input.wpcf7-form-control.wpcf7-submit {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  height: 56px;
  margin: 0;
  padding: 12px 24px;
  cursor: pointer;
  border-radius: 0;
  border: 1px solid var(--border);
  background: var(--text);
  color: var(--bg);
  outline: 1px solid transparent;
  outline-offset: 2px;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  font-family: var(--font-lexend-light);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 100%;
}

form.wpcf7-form input.wpcf7-form-control.wpcf7-submit:hover {
  background: var(--link);
  border-color: var(--link);
  color: var(--bg);
}

form.wpcf7-form input.wpcf7-form-control.wpcf7-submit:focus,
form.wpcf7-form input.wpcf7-form-control.wpcf7-submit:focus-visible {
  background: var(--link-hover);
  border-color: var(--link-hover);
  color: var(--bg);
  outline: 1px solid var(--link);
}

form.wpcf7-form.invalid .wpcf7-response-output,
form.wpcf7-form.sent .wpcf7-response-output {
  border-radius: 0;
  padding: 24px 16px;
  margin: 24px 0 0 0;
  border: 1px solid var(--border);
  font-family: var(--font-lexend-light);
  font-size: 13px;
  text-align: center;
}

form.wpcf7-form.invalid .wpcf7-response-output {
  color: #B3261E;
  background: transparent;
  border-color: #B3261E;
}

form.wpcf7-form.sent .wpcf7-response-output {
  color: var(--text);
  background: transparent;
  border-color: var(--text);
}

/*CLOSE: ------------------------------FORMULARIO DE CONTACTO---*/