/* ===================================================================================

* Theme Name: Redox Child
* Theme URI: https://wp.ravextheme.com/redox/
* Author: ravextheme
* Author URI: https://themeforest.net/user/ravextheme
* Description: Redox - Creative Agency and Portfolio WordPress Theme
* Version: 1.0.0
* Tested up to: 6.8
* Requires PHP: 7.4
* Template: redox
* License: GNU General Public License version 3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Tags: one-column, right-sidebar, left-sidebar, custom-menu, featured-images, post-formats, sticky-post, translation-ready

* We encourage you to create Child theme for any modifications you will want to do.

* Why use Child theme?

* Because of future updates we may provide for this theme that will overwrite your
* modifications and all your custom work.

* If you are not familiar with Child Themes, you can read about it here:
* http://codex.wordpress.org/Child_Themes
* http://wp.tutsplus.com/tutorials/theme-development/child-themes-basics-and-creating-child-themes-in-wordpress/

====================================================================================== */

@font-face {
    font-family: LibreCaslonText;
    src: url('fonts/LibreCaslonText-Regular.ttf') format('truetype');
}

@font-face {
    font-family: LibreCaslonText;
    src: url('fonts/LibreCaslonText-Bold.ttf') format('truetype');
    font-weight: bold;
}

@font-face {
    font-family: LibreCaslonText;
    src: url('fonts/LibreCaslonText-Italic.ttf') format('truetype');
    font-style: italic;
}

iframe {
    height: 175vh;
}

.year-wrapper .year-since, h2, h3, h4, h5 {
    font-family: LibreCaslonText, serif !important;
    font-style: italic !important;
}

.text.arrox-el-desc{
    text-align: right !important;
}

.approach-area.menu-texto-container .approach-box {
    border: none !important;
}

.approach-area:not(.menu-texto-container) .approach-box:first-child {
    border-top: 1px solid var(--e-global-color-primary) !important;
}

.approach-area:not(.menu-texto-container) .approach-box{
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    border-bottom: 1px solid var(--e-global-color-primary) !important;
}

.approach-area.menu-texto-container .approach-box{
    display: flex;
}

.approach-area .approach-box h3, .approach-area .approach-box p, .approach-area .approach-box span{
    color: var(--e-global-color-primary) !important;
}

.approach-area .approach-box:hover h3, .approach-area .approach-box:hover p, .approach-area .approach-box:hover span{
    font-weight: bold !important;
}

.approach-area .approach-wrapper{
    border: none !important;
}

.menu-container{
    display: flex;
    justify-content: space-between;
    height: 90vh !important;
}

.menu-container section:not(.menu-texto-container){
    width: 50%;
}

.menu-container section.menu-texto-container{
    width: 40%;
}

.quejio-desc{
    text-align: right !important;
}

.blog-3__item::before, .hover-bg-theme::before{
    background-color: var(--e-global-color-primary) !important;
}

.blog-3__top{
    justify-content: flex-end !important;
}
.blog-3__top__list{
    display: none;
}

header.header-area-2{
    position: fixed !important;
    left: 2% !important;
    width: 96% !important;
}

.header-area-2 .main-menu li a{
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
}

.header-area-2 .main-menu ul{
    justify-content: space-evenly !important;
    gap: 2% !important;
    align-items: center !important;
}


.header__logo{
    width: 15% !important;
}

.header__nav.pos-center{
    width: 60% !important;
    position: relative !important;
    transform: none !important;
    top: 0 !important;
    left: 0 !important;
}

.header__logo img{
    width: 100% !important;
    max-width: 100% !important;
}

.header__logo img.scrolled{
    width: 30% !important;
    max-width: 30% !important;
}

.header-area-2__inner{
    height: 100% !important;
}

.header-area-2__inner .header__navicon .side-toggle img{
    width: 75% !important;
}

.header-area-2__inner .header__navicon{
    margin-left: 25px !important;
}

.header-area-2__inner .header__button a{
    font-family: LibreCaslonText, serif !important;
    font-style: italic;
    font-size: 25px !important;
    padding: 0.5em 1.5em !important;

}

@keyframes slideInFromRight {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.menu-texto {
    display: none;
}

.menu-texto.selected {
    display: block;
    animation: slideInFromRight 0.5s ease-out;
}

.approach-area .approach-box.menu-seleccion.selected span, .approach-area .approach-box.menu-seleccion.selected h3, .approach-area .approach-box.menu-seleccion.selected p {
    font-weight: bold !important;
}

.vinos-button {
    display: inline-block;
    padding: 20px 25px;
    background-color: transparent;
    color: var(--e-global-color-primary);
    text-decoration: none;
    border-radius: 15px;
    transition: background-color 0.3s ease;
    border: 1px solid var(--e-global-color-primary);
    margin-top: 15%;
    font-family: LibreCaslonText, serif !important;
    font-style: italic;
    font-size: 25px;
}

.vinos-button:hover {
    background-color: var(--e-global-color-primary);
    color: #fff ;
}

.elementor-widget-arrox-theme-button a{
    font-family: LibreCaslonText, serif !important;
    font-style: italic;
    font-size: 25px;
    line-height: 30px;
}

.flamenco-button{
    margin-top: 10%;
}

.reserva-button a{
    font-size: 40px;
    line-height: 45px;
}

.chef-title{
    font-family: LibreCaslonText, serif !important;
    font-style: italic;
    font-size: 4vw;
    color: #fff;
}

.chef-title span{
   font-size: 2.5vw;
}

.chef-desc{
    font-family: LibreCaslonText, serif !important;
    font-style: italic;
    font-size: 2vw;
    color: #fff;
}

.primera-desc{
    margin-bottom: 15px;
}

.libre-desc, .libre-desc span{
    font-family: LibreCaslonText, serif !important;
    font-style: italic;
    font-size: 2vw;
    line-height: 2.5vw;
    margin-bottom: 15px;
}

.rrss-movil i::before{
    font-size: 1.5rem !important;
}

.swiper-pagination-bullet-active{
    background: var(--e-global-color-primary) !important;
}

.vinos-button-container{
    display: flex;
    justify-content: flex-end;
}

.menu-info{
    margin-top: 2% !important;
}
.menu-info li{
    list-style: disc !important;
    font-size: 1.2rem;
    line-height: 1.3rem;
    margin-bottom: 0.7rem;
}

.bold-text{
    font-weight: bold !important;
}

.elementor-1546 .elementor-element.elementor-element-7f3dde3 .main-menu li a.secondary {
    color: var(--e-global-color-primary) !important;
}

.elementor-1546 .elementor-element.elementor-element-7f3dde3 .arrox-el-button.secondary {
    color: var(--e-global-color-primary);
    border-color: var(--e-global-color-primary);
}

.elementor-1546 .elementor-element.elementor-element-7f3dde3 .arrox-el-button.secondary .btn-wrap .text-one{
     color: var(--e-global-color-primary);
}


/* ===================================================================================
   ESTILOS RESPONSIVOS PARA TABLETS
   =================================================================================== */

@media only screen and (max-width: 1024px) {
    /* Títulos principales */
    h1 {
        font-size: 2.5rem !important;
        line-height: 3rem !important;
    }
    
    h2 {
        font-size: 2rem !important;
        line-height: 2.5rem !important;
    }
    
    h3 {
        font-size: 1.75rem !important;
        line-height: 2.25rem !important;
    }
    
    h4 {
        font-size: 1.5rem !important;
        line-height: 2rem !important;
    }
    
    h5 {
        font-size: 1.25rem !important;
        line-height: 1.75rem !important;
    }
    
    /* Textos generales */
    p, span, li, a {
        font-size: 1rem !important;
        line-height: 1.6rem !important;
    }
    
    /* Chef title y descriptions */
    .chef-title {
        font-size: 6vw !important;
    }
    
    .chef-title span {
        font-size: 4vw !important;
    }
    
    .chef-desc {
        font-size: 3vw !important;
    }
    
    .libre-desc, .libre-desc span {
        font-size: 3vw !important;
        line-height: 4vw !important;
    }
    
    /* Botones */
    .header-area-2__inner .header__button a {
        font-size: 20px !important;
        padding: 0.4em 1.2em !important;
    }
    
    .vinos-button {
        font-size: 20px !important;
        padding: 15px 20px !important;
    }
    
    .elementor-widget-arrox-theme-button a {
        font-size: 20px !important;
        line-height: 25px !important;
    }
    
    .reserva-button a {
        font-size: 30px !important;
        line-height: 35px !important;
    }
    
    /* Menu container */
    .menu-container {
        flex-direction: column;
        height: auto !important;
    }
    
    .menu-container section:not(.menu-texto-container) {
        width: 100% !important;
    }
    
    .menu-container section.menu-texto-container {
        width: 100% !important;
    }
}

/* ===================================================================================
   ESTILOS RESPONSIVOS PARA MÓVILES
   =================================================================================== */

@media only screen and (max-width: 767px) {
    /* Títulos principales */
    h1 {
        font-size: 2rem !important;
        line-height: 2.5rem !important;
        margin-bottom: 1rem !important;
    }
    
    h2 {
        font-size: 1.75rem !important;
        line-height: 2.25rem !important;
        margin-bottom: 0.875rem !important;
    }
    
    h3 {
        font-size: 1.5rem !important;
        line-height: 2rem !important;
        margin-bottom: 0.75rem !important;
    }
    
    h4 {
        font-size: 1.25rem !important;
        line-height: 1.75rem !important;
        margin-bottom: 0.625rem !important;
    }
    
    h5 {
        font-size: 1.125rem !important;
        line-height: 1.625rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    h6 {
        font-size: 1rem !important;
        line-height: 1.5rem !important;
    }
    
    /* Textos generales */
    p {
        font-size: 0.9375rem !important;
        line-height: 1.5rem !important;
        margin-bottom: 1rem !important;
    }
    
    span, li, a {
        font-size: 0.9375rem !important;
        line-height: 1.5rem !important;
    }
    
    /* Textos pequeños */
    small, .small-text {
        font-size: 0.875rem !important;
        line-height: 1.25rem !important;
    }
    
    /* Chef title y descriptions */
    .chef-title {
        font-size: 8vw !important;
        margin-bottom: 15px !important;
    }
    
    .chef-title span {
        font-size: 5vw !important;
    }
    
    .chef-desc {
        font-size: 4.5vw !important;
        line-height: 6vw !important;
    }
    
    .libre-desc, .libre-desc span {
        font-size: 4.5vw !important;
        line-height: 6vw !important;
        margin-bottom: 10px !important;
    }
    
    /* Botones */
    .header-area-2__inner .header__button a {
        font-size: 1rem !important;
        padding: 0.4em 1em !important;
    }

    .header-area-2 .header__button{
        display: block !important;
    }
    
    .vinos-button {
        font-size: 18px !important;
        padding: 12px 18px !important;
        margin-top: 8% !important;
    }
    
    .elementor-widget-arrox-theme-button a {
        font-size: 18px !important;
        line-height: 22px !important;
    }
    
    .reserva-button a {
        font-size: 28px !important;
        line-height: 32px !important;
    }
    
    /* Header logo */
    .header__logo {
        width: 150% !important;
    }
    
    .header__logo img.scrolled {
        width: 50% !important;
        max-width: 50% !important;
    }
    
    /* Menu y approach */
    .approach-area .approach-box h3 {
        font-size: 1.25rem !important;
    }
    
    .approach-area .approach-box p,
    .approach-area .approach-box span {
        font-size: 0.9375rem !important;
    }
    
    /* Iframe */
    iframe {
        height: 100vh !important;
    }
    
    /* Menu container */
    .menu-container {
        flex-direction: column;
        height: auto !important;
        padding: 20px 10px !important;
    }
    
    .menu-container section:not(.menu-texto-container) {
        width: 100% !important;
        margin-bottom: 20px !important;
        overflow: hidden !important;
    }
    
    .menu-container section.menu-texto-container {
        width: 100% !important;
        overflow: hidden !important;
    }
    
    /* Alineación de texto */
    .text.arrox-el-desc,
    .quejio-desc {
        text-align: left !important;
    }

    header.header-area-2{
        position: fixed !important;
        height: auto !important;
    }

    .mobile_big_title h2{
        font-size: 2rem !important;
        line-height: 2.2rem !important;
    }
}

/* ===================================================================================
   ESTILOS RESPONSIVOS PARA MÓVILES PEQUEÑOS (320px - 480px)
   =================================================================================== */

@media only screen and (max-width: 480px) {
    /* Títulos principales */
    h1 {
        font-size: 1.75rem !important;
        line-height: 2.25rem !important;
    }
    
    h2 {
        font-size: 1.5rem !important;
        line-height: 2rem !important;
    }
    
    h3 {
        font-size: 1.25rem !important;
        line-height: 1.75rem !important;
    }
    
    h4 {
        font-size: 1.125rem !important;
        line-height: 1.625rem !important;
    }
    
    /* Textos generales */
    p, span, li, a {
        font-size: 0.875rem !important;
        line-height: 1.375rem !important;
    }
    
    /* Chef sections */
    .chef-title {
        font-size: 10vw !important;

        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-bottom: 20px !important;
    }
    
    .chef-title span {
        font-size: 6vw !important;
    }
    
    .chef-desc {
        font-size: 5vw !important;
        line-height: 7vw !important;
    }
    
    .libre-desc, .libre-desc span {
        font-size: 5vw !important;
        line-height: 7vw !important;
    }
    
    /* Botones más pequeños */
    .header-area-2__inner .header__button a {
        font-size: 1rem !important;
        padding: 0.35em 0.85em !important;
    }
    
    .vinos-button {
        font-size: 16px !important;
        padding: 10px 15px !important;
    }
    
    .elementor-widget-arrox-theme-button a {
        font-size: 16px !important;
        line-height: 20px !important;
    }
    
    .reserva-button a {
        font-size: 24px !important;
        line-height: 28px !important;
    }
    
}

