/* Ajustes de transición y selector de idioma. */
/*
 * El fondo vino pertenece a las barras de cabecera, no al lienzo de Divi.
 * Varias secciones guardadas tienen margenes (incluidos algunos negativos) y
 * dejan ver el fondo del contenedor entre ellas. Si #et-main-area es oscuro,
 * esos huecos aparecen como franjas negras en todas las paginas.
 */
body #page-container {
    background-color: var(--dq-wine-950, #21080d);
}

body #et-main-area,
body #main-content {
    background-color: #fff;
}

/* Da aire al ultimo bloque antes del pie legal sin modificar los solapes
 * internos, divisores y margenes configurados individualmente en Divi. */
body:not(.et-fb) #main-content .et_builder_inner_content::after {
    content: "";
    display: block;
    height: clamp(22px, 2.5vw, 34px);
    background: var(--dq-wine-900, #321217);
}

/* Pie 2026: continuidad cromatica con la cabecera y jerarquia tipografica
 * construida con las variantes reales de Don Quijote Display. */
body:not(.et-fb) #main-content .et_pb_section:last-child {
    color: var(--dq-ivory, #fff9ef) !important;
    background: var(--dq-wine-900, #321217) !important;
    border-top: 1px solid rgb(228 196 134 / 28%);
}

body:not(.et-fb) #main-content .et_pb_section:last-child > .et_pb_row {
    background: transparent !important;
}

body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_text_inner,
body:not(.et-fb) #main-content .et_pb_section:last-child p,
body:not(.et-fb) #main-content .et_pb_section:last-child a {
    color: rgb(255 249 239 / 86%) !important;
    font-family: "Don Quijote Display", Georgia, serif !important;
    font-weight: 400;
}

body:not(.et-fb) #main-content .et_pb_section:last-child h1,
body:not(.et-fb) #main-content .et_pb_section:last-child h2,
body:not(.et-fb) #main-content .et_pb_section:last-child h3,
body:not(.et-fb) #main-content .et_pb_section:last-child h4,
body:not(.et-fb) #main-content .et_pb_section:last-child h5,
body:not(.et-fb) #main-content .et_pb_section:last-child h6 {
    color: var(--dq-gold-300, #e4c486) !important;
    font-family: "Don Quijote Display", Georgia, serif !important;
    font-weight: 600 !important;
}

body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_column:first-child .et_pb_text_inner,
body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_column:first-child p {
    color: var(--dq-ivory, #fff9ef) !important;
    font-size: clamp(20px, 1.8vw, 27px);
    font-style: italic;
    font-weight: 400;
    line-height: 1.35;
}

body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_button {
    color: var(--dq-gold-300, #e4c486) !important;
    font-style: normal;
    font-weight: 600 !important;
}

body #main-footer,
body #footer-bottom {
    color: rgb(255 249 239 / 76%);
    background: var(--dq-wine-950, #21080d) !important;
}

body #footer-info,
body #footer-info a {
    color: rgb(255 249 239 / 76%) !important;
    font-family: "Don Quijote Display", Georgia, serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
}

body #footer-info a:hover,
body #footer-info a:focus-visible {
    color: var(--dq-gold-300, #e4c486) !important;
}

/* Remate del pie: superficie continua, sin el patron ornamental. */
body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_background_pattern {
    display: none !important;
    background-image: none !important;
}

body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_social_media_follow li a.icon {
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    padding: 4px;
    border: 1px solid rgb(228 196 134 / 72%) !important;
    border-radius: 50%;
    background: #fff !important;
    box-shadow: 0 7px 18px rgb(18 3 7 / 24%);
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_social_media_follow li a.icon::before {
    color: #b58d49 !important;
}

body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_social_media_follow li a.icon:hover,
body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_social_media_follow li a.icon:focus-visible {
    border-color: var(--dq-gold-300, #e4c486) !important;
    background: var(--dq-gold-300, #e4c486) !important;
    transform: translateY(-2px);
}

body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_social_media_follow li a.icon:hover::before,
body:not(.et-fb) #main-content .et_pb_section:last-child .et_pb_social_media_follow li a.icon:focus-visible::before {
    color: var(--dq-wine-950, #21080d) !important;
}

/* Compacta la transicion entre la informacion y las redes. Divi repartia el
 * hueco entre el padding inferior de una fila y el superior de la siguiente. */
body:not(.et-fb) #main-content .et_pb_section:last-child > .et_pb_row:has(+ .et_pb_row .et_pb_social_media_follow) {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
}

body:not(.et-fb) #main-content .et_pb_section:last-child > .et_pb_row:has(.et_pb_social_media_follow) {
    padding-top: 8px !important;
    padding-bottom: 10px !important;
}

body #main-footer,
body #footer-bottom {
    background: var(--dq-wine-900, #321217) !important;
}

body #footer-bottom {
    padding: 10px 0 8px;
    border-top: 1px solid rgb(228 196 134 / 16%);
}

body #footer-info,
body #footer-info a {
    font-size: 12px;
    line-height: 1.5;
}

body #footer-info {
    padding-bottom: 0;
}

/* Normalizacion del pie compartido. Las copias guardadas en Divi conservan
 * numeros de seccion, margenes y tamanos de logo distintos en cada pagina. */
body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow) {
    height: auto !important;
    min-height: 0 !important;
    margin-top: -8px !important;
    margin-bottom: -8px !important;
    padding: 14px 0 !important;
}

body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow)
    > .et_pb_row:has(+ .et_pb_row .et_pb_social_media_follow) {
    height: auto !important;
    min-height: 0 !important;
    margin-top: -23px !important;
    margin-bottom: 0 !important;
    padding: 45px 40px 0 !important;
}

body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow)
    > .et_pb_row:has(+ .et_pb_row .et_pb_social_media_follow)
    > .et_pb_column:first-child .et_pb_image {
    width: 53% !important;
    max-width: 53% !important;
    margin-bottom: 30px !important;
}

body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow)
    > .et_pb_row:has(.et_pb_social_media_follow) {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 8px 0 10px !important;
}

body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow)
    .et_pb_social_media_follow {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow)
    .et_pb_social_media_follow li {
    margin: 0 4px !important;
}

@media (max-width: 980px) {
    body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow)
        > .et_pb_row:has(+ .et_pb_row .et_pb_social_media_follow) {
        padding-top: 20px !important;
    }

    body:not(.et-fb) #main-content .et_pb_section:has(.et_pb_social_media_follow)
        > .et_pb_row:has(+ .et_pb_row .et_pb_social_media_follow)
        > .et_pb_column:last-child .et_pb_button_module_wrapper {
        margin-top: 30px !important;
    }
}

/* Portada: composicion compacta y simetrica en el primer pantallazo.
 * La altura responde al espacio visible bajo la cabecera y evita que el
 * mensaje o el emblema queden fuera en ventanas de escritorio poco altas. */
@media (min-width: 981px) {
    body.home .dq-hero-2026 {
        min-height: clamp(500px, calc(100svh - 126px), 580px);
        padding-block: clamp(28px, 5vh, 46px);
    }

    body.home .dq-hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
        gap: clamp(48px, 6vw, 88px);
    }

    body.home .dq-hero-copy h1 {
        max-width: 13ch;
        font-size: clamp(48px, 4.8vw, 68px);
        line-height: .98;
    }

    body.home .dq-hero-seal {
        width: min(90%, 360px);
        justify-self: center;
    }

    body.home .dq-hero-seal picture,
    body.home .dq-hero-seal img {
        width: 104%;
    }
}

@media (max-width: 980px) {
    body.home .dq-hero-copy h1 {
        max-width: 12ch;
        font-size: clamp(42px, 8vw, 58px);
        line-height: 1;
    }

    body.home .dq-hero-seal {
        right: 20px;
        width: 220px;
        opacity: .34;
    }
}

@media (max-width: 560px) {
    body.home .dq-hero-copy h1 {
        font-size: clamp(38px, 10.5vw, 48px);
    }

    body.home .dq-hero-seal {
        right: -10px;
        width: 180px;
        opacity: .28;
    }
}

body #main-header,
body #main-header.et-fixed-header {
    border-bottom: 1px solid rgb(228 196 134 / 16%);
    will-change: height;
}

/* TranslatePress: el marco acompaña al vino de la barra superior. */
body #trp-floater-ls.trp-floater-ls-flags,
body .trp-language-switcher-container.trp-floater-ls-flags,
body #trp-floater-ls-current-language {
    background: var(--dq-wine-950, #21080d) !important;
    box-shadow: none !important;
}

body #trp-floater-ls.trp-floater-ls-flags {
    border: 1px solid rgb(228 196 134 / 28%) !important;
    border-radius: 0 0 4px 4px !important;
}

body #trp-floater-ls-current-language,
body #trp-floater-ls .trp-language-wrap,
body #trp-floater-ls .trp-language-wrap a,
body #trp-floater-ls .trp-floater-ls-disabled-language {
    background-color: transparent !important;
}

body #trp-floater-ls .trp-language-wrap a:hover,
body #trp-floater-ls .trp-language-wrap a:focus-visible {
    background-color: var(--dq-wine-900, #321217) !important;
}

body #trp-floater-ls img.trp-flag-image {
    border: 1px solid rgb(228 196 134 / 42%);
    border-radius: 2px;
}
