/* --- GESTIONE VISIBILITA' TOGGLE MENU --- */

/* 1. Nascondi il toggle su tablet e desktop (da 768px in su) */
@media (min-width: 768px) {
    #MainNav nav .navbar-header .navbar-toggle {
        display: none !important;
    }
}

/* 2. Mostra il toggle su schermi mobile (fino a 767px) */
@media (max-width: 767px) {
    #MainNav nav .navbar-header .navbar-toggle {
        display: block; /* o inline-block, a seconda del framework HTML che usi */
    }
}

/* --- IMMAGINE NEGOZIO --- */
.select-branch-element-img-container {
    display: flex;
    width: 100%;
    height: 400px !important;
    vertical-align: middle;
    text-align: center;
}



.section-header h2 {
    position: relative;
    display: table;
    padding: 0 10px;
    margin: 28px auto 27px !important;
    font-size: 26px !important;
    text-align: center;
    background: #f9f9f9;
    font-family: 'Italiana', serif;
    font-style: italic;
    text-transform: revert-layer;
    color: #000;
}


.paragraph-highlight {
    padding: 25px 30px;
    font-size: 16px;
    line-height: 26px;
    background: #bb9a7a63;
    margin: 0;
    margin-top: 11px;
}

.full-width.section-emphasis-2 {
    background: #eee4db;
}
.full-width.section-emphasis-2 h1, .full-width.section-emphasis-2 h2, .full-width.section-emphasis-2 h3 {
    background: #f3e5b500;
}

.section-emphasis-2 .icon-box .fa {
    color: #fff;
    background: #be9d7e;
}

.alert {
    border: none;
    border-radius: 0;
    color: #fff !important;
    text-align: center;
    padding: 15px 20px;
    margin: 0 0 30px 0;
    font-size: 16px !important;
}

.alert-info {
    background-color: #000 !important;
}


/*menu*/
#MainNav nav .navbar-header .navbar-toggle:hover {
    background: #000000;
    border-color: #000000;
}

#MainNav .navbar-main-collapse{ background-color: #FBFBFB; border-bottom:solid 1px #eee; color:#000000}


#MainNav{ background-color: #FBFBFB; border-bottom:solid 1px #eee; color:#000000}

#MainNav nav .navbar-collapse .navbar-nav{ float:none; margin:0 auto !important; max-width:max-content !important;}
.navbar-default .caret { display:none !important;}
.navbar-default{ text-align:center !important;}
.navbar-header{margin:auto !important; float:none;}
.navbar-brand{ margin:10px auto 10px !important; float:none; display:inline-block; padding-bottom: 0 !important;}


#MainNav nav .navbar-collapse .navbar-nav > li > a {
  font-weight: bold;
  font-size: 14px;
  text-transform: uppercase;
  color: #000000;
  -webkit-transition: color .2s ease;
  transition: color .2s ease;
}

#MainNav nav .navbar-collapse .navbar-nav .dropdown-menu a {
    font-family: 'Quicksand';
    font-size: 16px;
    color: #000;
}

#MainNav nav .navbar-collapse .navbar-nav > li.active > a, #MainNav nav .navbar-collapse .navbar-nav > li.open > a, #MainNav nav .navbar-collapse .navbar-nav > li > a:hover {
    background: none;
    color: #000;
}


/*SHOP*/
#MainNav nav .navbar-collapse .navbar-nav .dropdown-menu li a:hover {
    background: #000000;
}
#MainNav nav .navbar-collapse .navbar-nav .dropdown-menu a {
    font-family: 'Quicksand';
    font-size: 16px;
}




/*HEAD*/


.page-header{display:none !important;}


.brand{ margin:10px auto 10px !important; float:none; display:inline-block; padding-bottom: 0 !important;}


.homeMenu div{ margin-bottom:7px;}
.navbar-brand{display:none !important;}

a{
border-bottom: 0px !important;
}





/*FULLWIDTH*/
.full-width.section-emphasis-1 {
    background: #FBFBFB;
}

/*PULSANTI*/

.btn-default {
    background: #000;
    color: white;
}


.btn-link:hover {
    border-color: #000000;
    color: #000000;
}

.btn-default:hover, .btn-default:focus, .btn-default:active {
    background: #000000;
    box-shadow: none;
}
.btn-default:hover, .btn-default:focus, .btn-default:active {
    border-color: #000000;
}


.btn-success {
    background: #000000;
    border-color: #000000;
}


.btn-green {
    background-color: #000000;
    border: #000000;
}


.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background: #000000;
    border-color: #000000;
}


.btn-default:hover, .btn-default:focus, .btn-default:active {
    background: #000000;
    box-shadow: none;
}

.btn-primary {
    color: #fff;
    border-color: #000000;
    background: #000000;
}

.owl-next {
    float: right;
    background-color: transparent !important;
    color: #000 !important;
    margin-right: -5% !important;
}


/*FONT*/


 h2 {
    font-size: 24px;
    font-weight: bold;
    margin-left: -1px;
    margin-bottom: 19px;
    font-family: 'Italiana';
}

body {
    font-family: 'Quicksand', sans-serif;
    font-size: 16px;
    line-height: 21px;
    color: #2f2b2b;
}

.leftSelectedService {
    background-color: #000;
    color: #fff;
    font-size: 16px;
    padding: 2px 12px 2px 6px;
    text-transform: initial !important;
    margin: 0 3px 3px 0;
    position: relative;
}
/*h1*/
#Content .page-header header h1 {
    text-transform: capitalize;
    FONT-FAMILY: 'Quicksand';
    font-size: 24px;
    font-weight: normal;
    line-height: 24px;
    margin-left: -3px;
    margin-bottom: 0;
}

h1 {
    font-size: 24px;
    font-family: 'Quicksand';
    font-weight: bold;
    margin-left: -1px;
    margin-bottom: 19px;
}

.full-width.section-emphasis-1 h1, .full-width.section-emphasis-1 h2, .full-width.section-emphasis-1 h3 {
    background: none;
}

/*h2*/
.section-header h2 {
    position: relative;
    display: table;
    padding: 0 10px;
    margin: 28px auto 27px !important;
    font-size: 26px !important;
    text-align: center;
    background: #fff;
    font-family: 'Italiana', serif;
    font-style: italic;
    text-transform: revert-layer;
    color: #000;
}

h4 {
    font-family: 'Quicksand', sans-serif;
    line-height: 1.2em;
    margin: 0;
    font-weight: bold;
}

.portfolio-item [class^="item-info"] h4 {
    margin-top: 17px;
    margin-bottom: 3px;
    font-size: 18px;
    font-weight: bold;
    font-family: 'Italiana';
}

[class^="item-info"] h4 a:hover, [class^="post-info"] h4 a:hover {
    color: #bb9a7a;
}


.nome-categoria-servizio-prenotazione {
    margin-top: 40px !important;
    margin-bottom: 8px;
    color: #000000 !important;
    font-family: 'Quicksand';
    font-size: 23px;
}

.shop-section-navigation li.active a {
    text-transform: capitalize;
    color: #000;
    font-family: 'Quicksand';
}



/*Colore dettagli prenorazione*/
.myServiceRow i {
    color: #000000;
}

.serviceSelected .fa-check-square-o {
    color: #000000 !important;
}

.serviceSelected {
    border-left: 10px #000 solid;
    background: #FBFBFB;
}

.leftMenuSubInfo {
    color: #000;
}

.shop-section-navigation ul li a {
    border: none;
    font-family: 'Quicksand';
    text-transform: capitalize;
    color: #000000;
}

.accordion .panel-group .panel-heading a {
    display: block;
    padding: 15px 0 16px;
    border: none;
    font-family: 'Quicksand';
    text-transform: capitalize;
    color: #000000;
    font-size: 23px;
}


#divMySlotAvaiable a:hover {
    background: #FBFBFB;
    border-left: 4px #000 solid;
}



/*disponibilità booking*/

.owl-carousel-day-reservation .item.selected {
    border-top: 4px #000 solid;
    background: #FBFBFB;
    font-family: 'Quicksand';
}

.owl-carousel-day-reservation .item span {
    font-size: 13px;
    color: #000;
}


#MainNav nav .navbar-collapse .navbar-nav > li > a {
    font-weight: bold;
    font-size: 18px;
    text-transform: uppercase;
    color: #000;
    transition: color .2s ease;	
}

.categories-widget span {
    float: right;
    color: #000;
}

/*FOOTER*/

footer {
    color: #fff;
    background: #000;
}

.strong-header {
    text-transform: capitalize;
    font-weight: bold;
    font-family: 'Quicksand';
    letter-spacing: 1px;
}

footer [class$="widget"] a {
    color: #000000;
}

footer .copyright {
    color: #000000;
}


footer a {
    color: #ffffff;
}

footer hr {
    border-color: #000000;
    margin: 30px auto;
}

#lipayment-visa{display:none !important;}
#lipayment-mastercard{display:none !important;}
#lipayment-paypal{display:none !important;}
#lipayment-americanexpress{display:none !important;}


.social-widget ul li a {
    display: inline-block;
    width: 30px;
    height: 30px;
    font-size: 30px;
    background: none;
    margin: 0 6px;
    color: #fff;
    transition: color .2s ease;
}


/*riquadri*/

.element-emphasis-strong {
    border: 5px solid #FBFBFB;
    padding: 25px 25px 31px;
}

.element-emphasis-weak {
    border: 1px solid #e8d8ca;
    padding: 29px 29px 27px;
}

.shop-item-highlight .item-info-name-data .item-info-name-data-wrapper h4 {
    font-size: 24px;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 9px;
    max-width: 239px;
    font-family: 'Quicksand';
}

a:hover, .btn-link:hover, a > *:hover, .btn-link > *:hover {
    color: #bb9a7b;
    text-decoration: none;
}










/* --- VARIABILI E BASE --- */
        :root {
            --slider-speed: 3000ms;
            --main-color: #000;
            --main-dark: #000000;
            --bg-light: #FBFBFB;
        }

        body {
            font-family: 'Quicksand', sans-serif;
            background-color: #ffffff;
            font-size: 16px;
            line-height: 21px;
            color: #2f2b2b;
            margin: 0;
            padding: 0; /* Rimosso il padding globale di 20px per evitare conflitti con i container full-width */
        }

        /* --- FIX LAYOUT (Risolve il problema del testo tagliato) --- */
        .container {
            width: 100%;
            max-width: 1200px;
            margin: 0 auto;
            padding-right: 15px;
            padding-left: 15px;
            box-sizing: border-box;
        }
        
        .spacer {
            height: 50px;
            width: 100%;
        }

        /* --- TYPOGRAPHY --- */
        h1 {
            font-size: 24px;
            font-family: 'Quicksand', sans-serif;
            font-weight: bold;
            margin-left: -1px;
            margin-bottom: 19px;
        }

        h2 {
            font-size: 24px;
            font-weight: bold;
            margin-left: -1px;
            margin-bottom: 19px;
            font-family: 'Italiana', serif;
        }

        h4 {
            font-family: 'Quicksand', sans-serif;
            line-height: 1.2em;
            margin: 0;
            font-weight: bold;
        }

        .section-header h2 {
            position: relative;
            display: table;
            padding: 0 10px;
            margin: 28px auto 27px !important;
            font-size: 26px !important;
            text-align: center;
            background: #fff;
            font-family: 'Italiana', serif;
            font-style: italic;
            text-transform: revert-layer;
            color: var(--main-color);
        }

        .strong-header {
            text-transform: capitalize;
            font-weight: bold;
            font-family: 'Quicksand', sans-serif;
            letter-spacing: 1px;
        }

        /* --- PULSANTI --- */
        .btn {
            font-family: 'Quicksand', sans-serif;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
            border-radius: 50px; /* Aggiunto raggio per ammorbidire la UI */
            padding: 10px 25px;
            transition: all 0.3s ease;
        }

        .btn-primary {
            color: #fff;
            border-color: var(--main-dark);
            background: var(--main-dark);
        }

        .btn-primary:hover, .btn-primary:focus, .btn-primary:active {
            background: var(--main-color); /* Hover effect migliorato */
            border-color: var(--main-color);
            color: #fff;
        }

        /* --- POPUP SCONTO --- */
        #popup-overlay {
            position: fixed; top: 0; left: 0; width: 100%; height: 100%;
            background: rgba(0, 0, 0, 0.7); display: none;
            justify-content: center; align-items: center; z-index: 9999;
            backdrop-filter: blur(4px);
        }
        #custom-popup {
            background: #ffffff; padding: 0; border-radius: 20px;
            text-align: center; max-width: 420px; width: 90%;
            position: relative; box-shadow: 0 20px 40px rgba(0,0,0,0.3);
            overflow: hidden; animation: popupEntry 0.5s ease-out;
        }
        @keyframes popupEntry {
            from { opacity: 0; transform: scale(0.9); }
            to { opacity: 1; transform: scale(1); }
        }
        .popup-image-header { width: 100%; height: 200px; background-color: #f8f8f8; }
        .popup-image-header img { width: 100%; height: 100%; object-fit: cover; display: block; }
        .popup-content-body { padding: 30px 20px 40px 20px; }
        .popup-title { font-family: 'Quicksand', sans-serif; font-weight: 700; font-size: 32px; color: #333; margin: 0 0 10px 0; letter-spacing: -1px; }
        .popup-subtitle { font-family: 'Italiana', serif; font-size: 22px; color: #666; margin: 0 0 30px 0; line-height: 1.2; }
        .popup-btn { background-color: #bb997a; color: white; padding: 14px 40px; border: none; border-radius: 50px; font-size: 16px; font-weight: 700; text-transform: uppercase; cursor: pointer; transition: all 0.3s ease; width: 80%; }
        .popup-btn:hover { background-color: #444; transform: translateY(-2px); }
        .close-popup { position: absolute; top: 15px; right: 15px; width: 30px; height: 30px; background: rgba(255,255,255,0.8); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; cursor: pointer; z-index: 10; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }

        /* --- SLIDER RESPONSIVO --- */
        #dg-slider-section { padding: 60px 0; background-color: transparent; overflow: hidden; }
        .dg-nav-wrapper { display: flex; justify-content: flex-end; gap: 15px; margin-bottom: 30px; }
        .dg-nav-btn { background: white; border: 1px solid #e0e0e0; width: 45px; height: 45px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; color: #333; }
        .dg-nav-btn:hover { background: #000; color: #fff; border-color: #000; }
        .dg-slider-track { display: flex; gap: 30px; overflow-x: scroll; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 10px 0 40px 0; }
        .dg-slider-track::-webkit-scrollbar { display: none; }
        .dg-slide { flex: 0 0 calc(33.333% - 20px); scroll-snap-align: start; background: #fff; border-radius: 4px; box-shadow: 0 5px 15px rgba(0,0,0,0.03); display: flex; flex-direction: column; }
        .dg-card-img { height: 300px; background-size: cover; background-position: center; border-radius: 4px 4px 0 0; }
        .dg-card-body { padding: 30px; display: flex; flex-direction: column; gap: 12px; }
        @media (max-width: 1024px) { .dg-slide { flex: 0 0 calc(50% - 15px); } }
        @media (max-width: 768px) { .dg-slide { flex: 0 0 85%; } .dg-nav-wrapper { display: none; } }

        /* --- COOKIE BANNER --- */
        #cookie-banner-container { position: fixed; bottom: 0; left: 0; width: 100%; background: #fff; border-top: 1px solid #ddd; padding: 20px; z-index: 100000; display: none; box-shadow: 0 -5px 15px rgba(0,0,0,0.1); }
        .cookie-content { max-width: 1000px; margin: auto; position: relative; }
        .cookie-buttons { display: flex; gap: 10px; margin-top: 15px; flex-wrap: wrap; }
        .btn-cookie { padding: 10px 20px; border-radius: 5px; cursor: pointer; font-weight: bold; flex: 1; min-width: 120px; border: 2px solid #000; }
        .btn-accept { background: #000; color: #fff; }
        .btn-reject { background: #fff; color: #000; }
        .btn-settings { background: #eee; color: #333; border-color: #eee; }
        #cookie-settings-panel { display: none; margin-top: 20px; border-top: 1px solid #eee; padding-top: 15px; }
        .setting-item { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
        .switch { position: relative; display: inline-block; width: 40px; height: 20px; }
        .switch input { opacity: 0; width: 0; height: 0; }
        .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 20px; }
        input:checked + .slider { background-color: #000; }
        input:disabled + .slider { background-color: #ddd; }
        #cookie-reopen-icon { position: fixed; bottom: 20px; left: 20px; width: 40px; height: 40px; background: #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 99999; box-shadow: 0 2px 10px rgba(0,0,0,0.2); transition: transform 0.3s ease; }
        #cookie-reopen-icon:hover { transform: scale(1.1); }
        #cookie-reopen-icon svg { width: 20px; height: 20px; fill: white; }
