/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* CSS Styles for Wine Menu */

/* General Styles */
/* CSS Styles for Wine Menu */

/* General Styles */

.elementor-element-3045573.e-con, .elementor-element-3045573 .e-con-inner { padding: 0px !important; margin:0px !important;}

/* Navigation Menu */
nav {
    margin-bottom: 20px;
    text-align: center;
}

nav ul {
    list-style-type: none;
    padding: 0;
    display: inline-block;
    text-align: left;
}

nav ul li {
    margin: 5px 0;
}

nav ul li ul {
    margin-left: 20px;
}

/* Hierarchical Levels */
h2.level-1,
h2.level-2,
h2.level-3,
h2.level-4{
    margin-top: 20px;
    font-size: 1.5em;
    text-align: center;
    font-family: "Fraunces", Sans-serif;
    text-transform: uppercase;
}

h3.level-1,
h3.level-2,
h3.level-3,
h3.level-4{
    margin-top: 15px;
    font-size: 1.3em;
    text-align: center;
    font-family: "Fraunces", Sans-serif;
    text-transform: uppercase;
}

h4.level-1,
h4.level-2,
h4.level-3,
h4.level-4,
h4.level-5{
    margin-top: 10px;
    font-size: 1.1em;
    text-align: center;
    font-family: "Fraunces", Sans-serif;
    text-transform: uppercase;
}

h5.level-1,
h5.level-2,
h5.level-3{
    margin-top: 5px;
    font-size: 1em;
    text-align: center;
}

h2.level-1.taxonomy-tipologia{
      font-family: Fraunces;
    font-size: 65px;
    font-weight: 400;
    line-height: 80px;
}

h2.level-2.taxonomy-tipologia{
    font-family: Fraunces;
    font-size: 65px;
    font-weight: 400;
    line-height: 80px;
}


h3.level-3.taxonomy-provenienza,
h3.level-4.taxonomy-provenienza,
h4.level-3.taxonomy-provenienza,
h4.level-4.taxonomy-provenienza
{
    font-family: Fraunces;
    font-size: 60px;
    font-weight: 300;
    line-height: 74px;
    text-align: center;
    text-transform: capitalize;
    text-decoration: underline;
}

h4.level-4.taxonomy-provenienza,
h4.level-5.taxonomy-provenienza{
    font-size: 40px;
    font-weight: 300;
    text-align: center;
    background-color: #EBE5DF;
    padding-top: 15px;
    padding-bottom: 15px;
}


/* Taxonomy Classes */
.taxonomy-tipologia {}

h4.level-4.taxonomy-provenienza, h4.level-5.taxonomy-provenienza {
font-family: Fraunces;
font-size: 40px;
font-weight: 300;
line-height: 50px;
text-align: left;
padding-left: 20px;
margin-top: 60px;
margin-bottom: 20px;
}

.taxonomy-produttore {
    font-family: Urbanist;
    font-size: 28px;
    font-weight: 500;
    line-height: 34px;
    text-align: left;
    padding-left: 20px;
    margin-top: 40px;
    margin-bottom: 0px;
}

/* Wine Item Styles */
/* Wine Item Styles */
ul {
    padding-left: 0;
}

ul li.wines {
    margin: 0;
    padding: 20px;
    display: flex;
    flex-direction: column; /* Stack items vertically by default */
}

ul li.wines:hover {
    background-color:#EBE5DF;
}


ul li.wines p.winename {
    margin: 0;
    flex: 1; /* Allow name to take the remaining space */
    text-align: left;
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
    text-align: left;

}

ul li.wines.featured p.winename::after {
    content: '★';
    color:#C0AC9F;
    margin-left: 8px;
    font-size: 1em; /* Adjust size as needed */
}

ul li.wines p.wineyear {
    margin: 0;
    text-align: left;
    margin-left: auto; /* Push price to the right */
    font-family: Urbanist;
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
    flex: 1;
    order: 1;
}

ul li.wines p.wineprice {
    margin: 0;
    text-align: right;
    margin-left: auto; /* Push price to the right */
    font-family: Urbanist;
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
}

ul li.wines p.wineprice span { display: none;}

ul li.wines p.winedescription {
    margin: 5px 0 0 0;
    text-align: left;
    width: 100%;
    font-size: 17px;
    font-style: italic;
    font-weight: 300;
    line-height: 20px;
    text-align: left;
}

/* Adjust layout for larger screens */
@media (min-width: 600px) {
    ul li.wines {
        flex-direction: row; /* Align items in a row for larger screens */
        align-items: flex-start; /* Align items at the start */
        flex-wrap: wrap; /* Allow description to move to the next line */
    }

    ul li.wines p.winename {
        order: 1;
        flex: 1; /* Allow name to take the full available space */
        margin-right: 20px; /* Add space between name and price */
    }

    ul li.wines p.wineprice {
        order: 1;
        margin-left: auto; /* Keep price aligned to the right */
        flex-shrink: 0; /* Prevent price from shrinking */
    }

    ul li.wines p.winedescription {
        order: 2; /* Ensure description is below name and price */
        width: 100%; /* Ensure description spans full width below */
        margin-top: 5px; /* Space above the description */
    }
}
/* Menu di navigazione */

@media (min-width: 800px) {


/* Navigation Menu */
.elementor-shortcode nav {
    margin-bottom: 50px;
    text-align: center;
    background-color: #fff; /* Background color white initially */
    padding: 0;
    transition: background-color 0.3s ease;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.elementor-shortcode nav.sticky {
    background-color: #333; /* Background color dark when sticky */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.elementor-shortcode nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    background: #C0AC9F;
}

.elementor-shortcode nav ul li {
    margin: 0 15px;
    position: relative; /* Ensure proper positioning for dropdowns */
    padding: 15px;
}

.elementor-shortcode nav ul li a {
    color: #000; /* Changed text color to black */
    text-decoration: none;
    font-size: 24px;
    font-family: "Urbanist", Sans-serif;
    text-transform: uppercase; /* Make text uppercase */
    transition: background-color 0.3s, color 0.3s;
    font-weight: 300;
    padding: 10px 0;
}

.elementor-shortcode nav ul li a:hover {
    color: #FFF; /* Hover text color for first level */
}

.elementor-shortcode nav ul li ul {
    display: none;
    position: absolute;
    top: 100%; /* Position below the parent li */
    left: 0;
    background-color:  #ebe5df;
    z-index: 1;
    margin-top: 0px;
    padding: 0;
    list-style: none;
    min-width: 200px; /* Ensure dropdowns have a minimum width */
    transition: visibility 0s, opacity 0.3s linear;
    text-transform: capitalize !important;

}

.elementor-shortcode nav ul li:hover > ul {
    display: block;
    visibility: visible;
    opacity: 1;
}

.elementor-shortcode nav ul li ul li {
    display: block;
    margin: 0;
    position: relative; /* Ensure proper positioning for nested dropdowns */
    padding-top: 0px;
    padding-bottom: 0px;
}

.elementor-shortcode nav ul li ul li ul {
    top: 0;
    left: 100%; /* Position nested dropdowns to the right */
    margin-left: 0px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* Nested dropdown visibility */
.elementor-shortcode nav ul li ul li:hover > ul {
    display: block;
    visibility: visible;
    opacity: 1;
}

.elementor-shortcode nav ul li ul li a {
    white-space: nowrap;
    display: block;
    text-transform: capitalize !important;
}

.elementor-shortcode nav ul li ul li a:hover {
     font-weight: 500;
}

/* Styles for active section */
.elementor-shortcode nav ul li a.active {
    font-weight: 500;
}

}

/* Responsive Design */
@media (max-width: 800px) {
    
    .elementor-shortcode{ overflow: hidden;}
    .elementor-shortcode nav ul {
        flex-direction: column;
    }

    .elementor-shortcode nav ul li {
        margin: 10px 0;
    }

    .elementor-shortcode nav ul li ul {
        position: static; /* Ensure dropdowns are positioned properly */
        box-shadow: none; /* Remove box-shadow for mobile */
    }

    .elementor-shortcode nav ul li ul li ul {
        position: static; /* Ensure nested dropdowns are positioned properly */
        margin-left: 20px; /* Indent nested dropdown items */
    }

    .elementor-shortcode nav ul li ul li {
        margin-left: 20px; /* Indent dropdown items */
    }
}

/* Per dispositivi superiori a 1400px */
@media (min-width: 1401px) {
    .ListaVini {
        padding-top: 20px;
        padding-bottom: 50px;
        padding-left: 15%;
        padding-right: 15%;
    }
}

/* Fino a max-width di 1400px */
@media (max-width: 1400px) {
    .ListaVini {
        padding-top: 20px;
        padding-bottom: 50px;
        padding-left: 10%;
        padding-right: 10%;
    }
}

@media (max-width: 800px) {

.ListaVini { padding: 0px;}

    .wines {
        display: flex;
        flex-wrap: wrap !important; /* Permette agli elementi di andare a capo */
        justify-content: space-between !important; /* Distribuisce uniformemente */
        
        flex-direction: unset !important;
    }

    /* Ordine e larghezza specifici per ciascun elemento */
    .wines p.winename {
        order: 1 !important;
        flex-basis: 70% !important;
        text-align: left !important;
    }

    .wines p.wineyear {
        order: 2 !important;
        flex-basis: 20% !important;
        text-align: right !important;
    }

    .wines p.winedescription {
        order: 3 !important;
        flex-basis: 70% !important;
        text-align: left !important;
    }

    .wines p.wineprice {
        order: 4 !important;
        flex-basis: 25% !important;
        text-align: right !important;
    }
}

/* Icona "+" di default, nascosta su desktop */
.expand-icon {
    display: none;
    cursor: pointer;
    padding-left: 10px;
    font-weight: bold;
}

/* Stile del menu mobile */
@media (max-width: 800px) {

    /* Icona "+" visibile solo su mobile */
    .expand-icon {
        display: inline-block;
    }

    /* Disattiva sticky su mobile */
    .elementor-shortcode nav {
        position: static;
    }

    /* Menu principale full width con testo allineato a sinistra */
    .elementor-shortcode nav ul {
        width: 100%;
        margin: 0;
        padding-left: 0;
        text-align: left;
    }

    /* Riga di separazione per gli elementi di primo livello, escluso l’ultimo */
    .elementor-shortcode nav ul > li {
        border-bottom: 1px solid #ebe5df;
        width: 100%;
    }
    .elementor-shortcode nav ul > li:last-child {
        border-bottom: none;
    }

    /* Sottolivelli nascosti inizialmente */
    .elementor-shortcode nav ul li ul {
        display: none;
        background-color: #ebe5df;
    }

    /* Visualizzazione del sottomenu al clic su "+" */
    .elementor-shortcode nav ul li ul.open {
        display: block;
    }

    /* Secondo livello senza padding sinistro */
    .elementor-shortcode nav ul li ul li {
        margin-left: 0;
        padding: 8px 0;
        border-bottom: 1px solid #ccc;
    }

    /* Rimozione delle ombre per i sottomenu di terzo livello e superiori */
    .elementor-shortcode nav ul li ul li ul {
        box-shadow: none;
    }

    .elementor-shortcode nav ul li a {
        pointer-events: auto; /* Permette solo clic sui link */
    }
}

/* Nascondi tutti i sottomenu di default */
.elementor-shortcode nav ul li ul {
    display: none;
}

/* Mostra solo i sottomenu con la classe "open" */
.elementor-shortcode nav ul li ul.open {
    display: block;
}

/* Desktop: abilita hover solo sul primo livello */
@media (min-width: 800px) {
    .elementor-shortcode nav ul li:hover > ul {
        display: block;
    }

    /* Nasconde l'icona "+" su desktop */
    .expand-icon {
        display: none;
    }
}

/* Mobile: disabilita completamente hover e mostra icone "+" */
@media (max-width: 800px) {

    h2.level-1.taxonomy-tipologia, h2.level-2.taxonomy-tipologia {
   font-size: 42px !important;
   line-height: 100% !important;

    }

    .elementor-shortcode nav ul, .elementor-shortcode nav ul li ul { margin: 0px !important;}

    .elementor-shortcode nav ul li{
        background-color: #C0AC9F; 
        text-transform: uppercase;
        margin: 0px;
        padding:0px;
        font-size: 28px;
        line-height: 80px;
        font-weight: 300;
    }

    .elementor-shortcode nav ul li a { margin: 0px 10px; margin-left: 20px;}

    .elementor-shortcode nav ul li ul li{
    background-color: #EBE5DF; 
    padding: 0px;
    }

    .elementor-shortcode nav ul li ul li a{
        margin-left: 20px;    
    }

    .elementor-shortcode nav ul li ul li ul li{
    background-color: #FFF;
    padding: 0px;
    }

    .elementor-shortcode nav ul li ul li ul li a{
        margin-left: 30px;    
    }


    .elementor-shortcode nav ul li ul {
        display: none; /* Nasconde tutti i sottomenu inizialmente */
    }

    .expand-icon {
        display: inline-block;
        transition: transform 0.3s ease;
        float: right;
        clear: both;
        margin-right: 30px;
        font-weight: 300;
        font-size: 50px;
    }

    /* Ruota l'icona "expanded" */
    .expand-icon.expanded {
        transform: rotate(45deg);
    }


    /* Abilita il display del sottomenu solo con la classe "open" */
    .elementor-shortcode nav ul li ul.open,
    .elementor-shortcode nav ul li ul li ul.open {
        display: block;
    }
}

/* Stile di base per l'icona scroll-to-top */
.scroll-top {
    display: none; /* Inizialmente nascosta */
    position: fixed;
    bottom: 10px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color:  #EBE5DF;  /* Sfondo quadrato */
    color: #333;
    font-size: 30px;
    text-align: center;
    line-height: 50px;
    border-radius: 5px;
    cursor: pointer;
    z-index: 1000;
    font-weight: 300;
}


.scroll-top:hover {
background-color: #C0AC9F; /* Sfondo quadrato */
}

/* Rendi visibile l'icona quando si scrolla */
.scroll-top.visible {
    display: block;
}


.elementor-nav-menu--main li a {
 padding-top: 20px !important;
 padding-bottom: 20px !important;

}

.elementor-nav-menu--main li.prenotazione-button {
        border-left: 1px solid #0E130B !important;
    }


.rtb-booking-form-form .rtb-text.time, .rtb-booking-form-form .rtb-text.email { margin-left: 20px; margin-right: 20px;}

.rtb-booking-form-form label { margin-bottom: 10px; margin-top: 10px;}


@media screen and (max-width: 900px) {
   .rtb-booking-form-form .rtb-text.time, .rtb-booking-form-form .rtb-text.email { margin-left: 0px; margin-right: 0px;}
   
   .rtb-booking-form fieldset.reservation .rtb-text, .rtb-booking-form form fieldset.reservation select, 
   .rtb-booking-form form fieldset.reservation textarea, .rtb-booking-form form fieldset.reservation input, 
   .rtb-booking-form fieldset.reservation .rtb-text,
   .rtb-booking-form fieldset.reservation .rtb-select,
   .rtb-booking-form fieldset.rtb-contact .rtb-text,
   .rtb-booking-form form fieldset.rtb-contact select, 
   .rtb-booking-form form fieldset.rtb-contact textarea, 
   .rtb-booking-form form fieldset.rtb-contact input  { width: 100% !important;}

   .rtb-text.time, .rtb-text.email{ padding-left: 1px;}
   .rtb-booking-form fieldset.reservation .rtb-select, .rtb-text.phone { padding-left: 2px;}

}


#id-488-524, #id-485-524 { display: none;}