﻿/* ==========================================================================
   SCIARA ETNA — OFFICIAL STYLESHEET (MAIN.CSS)
   Design System:
   - Headings: The Seasons (Adobe Font / Fallback Playfair Display, Didot, Georgia)
   - Testi, Bottoni & UI: Montserrat
   - Colori: #000000 (Nero), #C8A96E (Etna Gold), #FFFFFF (Classico Bianco)
   - Layout: Container Fluid a tutto schermo con margine destro e sinistro di 30px
   - Header: Position Absolute sopra l'immagine Hero
   ========================================================================== */

/* ==========================================================================
   FONT-FACE: THE SEASONS (HEADINGS)
   ========================================================================== */












*{
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
    scroll-padding-top: 50px;
}

body{
    margin: 0;
    padding: 0;
    background-color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 120%;
    color: #FFFFFF;
}

/* CONTAINER FLUID (Quasi a tutto schermo, margine 30px a destra e sinistra) */
.container{
    width: calc(100% - 60px);
    margin: 0 auto;
}

/* HEADER CON POSITION ABSOLUTE SOPRA L'IMMAGINE */
header{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background-color: transparent;
    border: none;
}

header .container{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
}

header .logo img{
    height: 30px;
    width: auto;
    display: block;
}

nav ul{
    margin: 0;
    padding: 0;
}

nav ul li{
    list-style: none;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 2%;
    display: inline-block;
    margin-left: 36px;
    color: #FFFFFF;
    transition: all .2s ease-out;
}

nav ul li:hover, nav ul li.active{
    color: #C8A96E;
}

#menu{
    display: none;
    cursor: pointer;
}

/* HERO SECTION (Sfondo Hero a tutta altezza con Header assoluto sovrapposto) */
.hero{
    height: 100vh;
    min-height: 750px;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.85) 100%), url("../img/hero-homepage.png");
    background-size: cover;
    background-position: center center;
    position: relative;
}

.hero .container{
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding-bottom: 50px;
    color: #FFFFFF;
}

/* TIPOGRAFIA & TITOLI (THE SEASONS) */
h1, h2, h3, h4{
    font-family: 'Cormorant Garamond', 'Playfair Display', Didot, 'Bodoni MT', Georgia, serif;
    font-weight: 500;
    margin: 0;
    color: #FFFFFF;
}

h1{
    font-size: 115px;
    line-height: 90%;
    letter-spacing: -6px;
}

h1 span, h2 span, h3 span{
    color: #C8A96E;
    font-style: italic;
}

#title{
    width: 100%;
}

.hero-bottom{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 20px;
}

.hero-bottom p{
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 120%;
    color: #FFFFFF;
    margin: 0;
    max-width: 900px;
}

.hero-bottom .btn,
.hero-bottom .btn-link,
.hero-bottom .btn-arrow{
    flex-shrink: 0;
    margin-left: 40px;
}

/* EYEBROW / OVERLINE */
.eyebrow{
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 300;
    text-transform: uppercase;
    color: #C8A96E;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* BOTTONI (MONTSERRAT & SQUADRATI BORDER-RADIUS 0) */
.btn{
    display: inline-block;
    padding: 14px 60px;
    border-radius: 0px;
    font-size: 20px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    transition: all .3s ease-out;
    cursor: pointer;
}

#title .btn{
    color: #000000;
    background-color: #C8A96E;
    border: 2px solid #C8A96E;
}

#title .btn:hover{
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #000000;
}

/* NUOVO BOTTONE: LINK TESTUALE CON LINEA IN BASSO E FRECCIA */
.btn-link,
.btn-arrow{
    display: inline-flex;
    align-items: center;
    gap: 16px;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 300;
    line-height: 120%;
    color: #FFFFFF;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.5px;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
    width: auto;
    height: auto;
    transition: color .3s ease-out;
}

.btn-link span,
.btn-arrow span{
    border-bottom: 2px solid currentColor;
    padding-bottom: 4px;
    display: inline-block;
    transition: border-color .3s ease-out;
}

.btn-link svg,
.btn-arrow svg{
    display: inline-block;
    flex-shrink: 0;
    margin-bottom: 4px;
    transition: transform .3s ease-out;
}

.btn-link:hover,
.btn-arrow:hover{
    color: #C8A96E;
}

.btn-link:hover svg,
.btn-arrow:hover svg{
    transform: translateX(8px);
}

.btn-link:not(:has(span)),
.btn-arrow:not(:has(span)){
    border-bottom: 2px solid currentColor;
    padding-bottom: 4px;
}

.btn-link:not(:has(svg))::after,
.btn-arrow:not(:has(svg))::after{
    content: '⟶';
    display: inline-block;
    font-size: 24px;
    line-height: 1;
    margin-bottom: 4px;
    transition: transform .3s ease-out;
}

.btn-link:not(:has(svg)):hover::after,
.btn-arrow:not(:has(svg)):hover::after{
    transform: translateX(8px);
}

/* SEZIONI E SPAZIATURE */
section:not(.hero){
    padding: 80px 0;
}

/* SISTEMA DI GRIGLIA FLUIDA */
.row{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.colonna-50{
    width: 50%;
    position: relative;
}

.colonna-50:first-of-type{
    padding-right: 30px;
}

.colonna-50:last-of-type{
    padding-left: 30px;
}

.colonna-33{
    width: 33.333334%;
    padding: 0 15px;
    position: relative;
}

.colonna-66{
    width: 66.666667%;
    padding: 0 15px;
    position: relative;
}

.colonna-25{
    width: 25%;
    padding: 0 15px;
}

.colonna-100{
    width: 100%;
    position: relative;
}

.mt-40{
    margin-top: 40px;
}

.mb-60{
    margin-bottom: 60px;
}

.mb-80{
    margin-bottom: 80px;
}

/* IMMAGINI CON HOVER ZOOM E PICTURE */
picture{
    display: block;
    width: 100%;
    height: 100%;
}

picture img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.full-width{
    width: 100%;
    transition: all .4s ease-out;
    display: block;
}

.wrapper-image{
    overflow: hidden;
    position: relative;
}

.wrapper-image img:hover{
    transform: scale(1.06);
}

/* SEZIONE IL NOSTRO MANIFESTO (543x500 DA FIGMA - COLONNA 33 / COLONNA 66) */
#manifesto .colonna-33{
    padding: 0;
}

#manifesto .colonna-66{
    padding-left: 60px;
    padding-right: 0;
}

#manifesto .wrapper-image{
    width: 100%;
    max-width: 543px;
    height: 500px;
}

#manifesto .wrapper-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#manifesto p{
    max-width: 1064px;
}

.wrapper-testi{
    padding: 20px 20px 0 0;
}

/* SEZIONE IL NOSTRO STORIA */
#storia .row.mb-40 {
    align-items: end;
}

/* TITOLI H2 E TESTI PARAGRAFI */
h2{
    font-size: 60px;
    line-height: 108%;
    letter-spacing: -3px;
}

h3{
    font-size: 38px;
    line-height: 115%;
    letter-spacing: -0.5px;
}

section p{
    line-height: 120%;
    margin: 20px 0px 25px 0px;
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 300;
    letter-spacing: 2%;
}

section .btn{
    color: #000000;
    border: 2px solid #C8A96E;
    background-color: #C8A96E;
    transition: all .3s ease-out;
}

section .btn:hover{
    background-color: transparent;
    border-color: #C8A96E;
    color: #FFFFFF;
}

/* SFONDI E UTILITIES */
.m-0{
    margin: 0;
}

.mb-40{
    margin-bottom: 40px;
}

.mb-20{
    margin-bottom: 20px;
}

.p-0{
    padding: 0 !important;
}

/* SEZIONE I NOSTRI VINI */
#vini{
    border-top: 0.5px solid rgba(255, 255, 255, 0.1);
}

.card-vino{
    position: relative;
    background-color: #000000;
    background-image: url('../img/img-vino.png');
    background-repeat: no-repeat;
    background-position: calc(100% + 5px) center;
    background-size: auto 92%;
    min-height: 480px;
    height: 480px;
    padding: 40px 28px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-sizing: border-box;
    transition: border-color .3s ease, transform .3s ease;
    overflow: visible;
}

.card-vino:hover{
   transform: translateY(-4px);
}

/* EFFETTO DELLE LINEE SFALSATE (OFFSET FRAME COLOR TERRACOTTA #8B3A1A) */
.card-vino::before{
    content: '';
    position: absolute;
    top: -8px;
    right: -8px;
    width: 32px;
    height: 48px;
    border-top: 2px solid #8B3A1A;
    border-right: 2px solid #8B3A1A;
    pointer-events: none;
    transition: all .3s ease-out;
}

.card-vino::after{
    content: '';
    position: absolute;
    bottom: -8px;
    left: -8px;
    width: 32px;
    height: 48px;
    border-bottom: 2px solid #8B3A1A;
    border-left: 2px solid #8B3A1A;
    pointer-events: none;
    transition: all .3s ease-out;
}

.card-vino:hover::before{
    border-color: #C8A96E;
    transform: translate(2px, -2px);
}

.card-vino:hover::after{
    border-color: #C8A96E;
    transform: translate(-2px, 2px);
}

/* CONTENUTO TESTUALE DELLA CARD A SINISTRA */
.card-vino-content{
    max-width: 62%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.card-vino .annata{
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #8B3A1A;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.card-vino h3{
    font-family: 'Cormorant Garamond', serif;
    font-size: 38px;
    line-height: 105%;
    color: #8B3A1A;
    margin: 0 0 16px 0;
    font-weight: 400;
}

.card-vino p{
    font-size: 13px;
    line-height: 155%;
    margin: 0 0 20px 0;
    color: #FFFFFF;
    font-weight: 300;
}

.card-vino .tag-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.card-vino .tag{
    font-family: 'Montserrat', sans-serif;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #FFFFFF;
    border: 1px solid #8B3A1A;
    padding: 5px 10px;
    background-color: transparent;
    transition: border-color .2s, color .2s;
}

.card-vino .tag:hover{
    border-color: #C8A96E;
    color: #C8A96E;
}

.card-vino .btn-link{
    font-size: 13px;
    gap: 12px;
    align-self: flex-start;
    margin-top: 4px;
}

.card-vino .btn-link span{
    border-bottom: 2px solid currentColor;
    padding-bottom: 3px;
}

.card-vino .btn-link svg{
    width: 32px;
    height: 12px;
    margin-bottom: 2px;
}

/* SEZIONE COSA OFFRIAMO (ESPERIENZE) */
.card-exp{
    width: 100%;
    background-color: #080808;
    border: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 40px;
    transition: border-color .3s ease-out;
    position: relative;
    overflow: hidden;
}

.card-exp:hover{
    border-color: rgba(200, 169, 110, 0.5);
}

.card-exp .wrapper-image{
    width: 100%;
    height: 500px;
    position: relative;
    overflow: hidden;
}

.card-exp .wrapper-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-exp:hover .wrapper-image img{
    transform: scale(1.04);
}

/* GRADIENTE IN BASSO PER LEGGIBILITA' DEI TESTI */
.card-exp .wrapper-image::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.6) 45%, rgba(0, 0, 0, 0.92) 100%);
    pointer-events: none;
    z-index: 1;
}

.card-exp .wrapper-testi{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 0 50px 30px 50px;
    z-index: 2;
}

.card-exp-action{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    width: 100%;
}

.card-exp-action p{
    font-size: 20px;
    line-height: 120%;
    margin: 0;
    max-width: 800px;
    color: rgba(255, 255, 255, 0.85);
}

.card-exp-action .btn{
    flex-shrink: 0;
    width: 280px;
    height: 50px;
    line-height: 46px;
    font-size: 14px;
}

.card-exp-action .btn-link{
    font-size: 18px;
    gap: 16px;
    flex-shrink: 0;
}

.card-exp-action .btn-link svg{
    width: 40px;
    height: 14px;
}

/* SEZIONE IL SOGGIORNO & CAMERE */
#soggiorno{
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.card-camera{
    position: relative;
    overflow: hidden;
    height: 500px;
    background-color: #080808;
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all .4s ease;
    cursor: pointer;
}

.card-camera:hover{
    border-color: #C8A96E;
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.6);
}

.card-camera .wrapper-image{
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background-color: #000000;
}

.card-camera .wrapper-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card-camera:hover .wrapper-image img{
    transform: scale(1.08);
}

/* GRADIENTE IN BASSO ALL'HOVER PER LEGGIBILITA' DEL TESTO */
.card-camera::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.65) 50%, rgba(0, 0, 0, 0.95) 100%);
    opacity: 0;
    transition: opacity .4s ease-out;
    pointer-events: none;
    z-index: 1;
}

.card-camera:hover::after{
    opacity: 1;
}

/* WRAPPER TESTI: APPARE ALL'HOVER SULL'IMMAGINE */
.card-camera .wrapper-testi{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 32px 28px;
    z-index: 2;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .4s ease-out, transform .4s ease-out;
    pointer-events: none;
}

.card-camera:hover .wrapper-testi{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.card-camera h3{
    font-size: 26px;
    line-height: 115%;
    margin-bottom: 10px;
    color: #FFFFFF;
}

.card-camera p{
    font-size: 14px;
    line-height: 155%;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
}

/* FOOTER COMPLETO */
footer{
    border: none;
    color: #FFFFFF;
    padding: 120px 0 40px;
    background-color: #050505;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.85) 100%), url("../img/background-footer.png");
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    position: relative;
}

footer .container{
    height: auto;
    display: block;
}

/* 1. FOOTER TOP (Call to Action: Ti aspettiamo tra le vigne) */
.footer-top{
    padding-bottom: 90px;
    margin-bottom: 80px;
    border: none;
    background: transparent;
}

.footer-top .row{
    width: 100%;
}

.footer-top h2{
    width: 100%;
    font-size: 64px;
    line-height: 108%;
    margin-bottom: 30px;
    text-align: left;
}

.cta-action{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cta-action p{
    font-size: 18px;
    font-weight: 300;
    line-height: 120%;
    max-width: 700px;
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    letter-spacing: 2%;
}

.cta-action .btn{
    background-color: #C8A96E;
    color: #000000;
    border: 2px solid #C8A96E;
    flex-shrink: 0;
    margin-left: 40px;
}

.cta-action .btn:hover{
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #000000;
}

/* 2. FOOTER MID (Navigazione, Vini, Resta in contatto) */
.footer-mid{
    display: flex;
    justify-content: space-between;
    padding-bottom: 60px;
    border: none;
    background: transparent;
}

.footer-col{
    width: 25%;
    padding-right: 20px;
}

.footer-col-large{
    width: 40%;
    padding-right: 40px;
}

.footer-col h4{
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #C8A96E;
    margin-bottom: 24px;
}

.footer-col p {
    font-size: 16px;
    line-height: 120%;
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 16px;
}

.footer-col ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-col ul li{
    margin-bottom: 12px;
}

.footer-col ul a{
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    font-size: 16px;
    transition: color .2s;
}

.footer-col ul a:hover{
    color: #C8A96E;
}

/* FORM NEWSLETTER IN FOOTER */
.newsletter-form{
    display: flex;
    margin-top: 20px;
}

.newsletter-form input[type="email"]{
    flex: 1;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    padding: 8px 0;
    transition: border-color .3s;
}

.newsletter-form input[type="email"]:focus{
    outline: none;
    border-bottom-color: #C8A96E;
}

.btn-newsletter{
    font-size: 14px;
    margin-left: 14px;
    background-color: #C8A96E;
    color: #000000;
    border: 1px solid #C8A96E;
}

.btn-newsletter:hover{
    background-color: #FFFFFF;
    border-color: #FFFFFF;
    color: #000000;
}

.footer-bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 36px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
    background: transparent;
}

.footer-bottom-links a{
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
    margin-left: 20px;
    transition: color .2s;
}

.footer-bottom-links a:hover{
    color: #C8A96E;
}

/* ==========================================================================
   PAGINA LA CANTINA (BASE)
   ========================================================================== */

/* 1. HERO CANTINA */
.hero-cantina{
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.85) 100%), url("../img/hero-cantina.png");
    background-size: cover;
    background-position: center center;
}

/* 2. SEZIONE LA NOSTRA STORIA (SLIDER) */
#storia{
    position: relative;
    overflow: hidden;
}

.cantina-watermark-bg{
    position: absolute;
    top: 40px;
    left: 20px;
    width: 670px;
    max-width: 50%;
    opacity: 0.22;
    pointer-events: none;
    z-index: 0;
}

.cantina-watermark-bg img{
    width: 100%;
    height: auto;
    display: block;
}

#storia .container{
    position: relative;
    z-index: 1;
}

#storia .colonna-50 .btn{
    margin-top: 25px;
}

/* Slider Asimmetrico Immagini Storia (Sinistra più piccola, Destra più grande) */
.storia-slider-wrapper{
    position: relative;
    width: 100%;
    margin-top: 50px;
}

.storia-slider-stage{
    position: relative;
    width: 100%;
    height: 720px;
    overflow: hidden;
}

.storia-slide{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: left 0.7s cubic-bezier(0.25, 1, 0.5, 1),
                width 0.7s cubic-bezier(0.25, 1, 0.5, 1),
                height 0.7s cubic-bezier(0.25, 1, 0.5, 1),
                transform 0.7s cubic-bezier(0.25, 1, 0.5, 1),
                opacity 0.6s ease;
    will-change: left, width, height, transform, opacity;
    cursor: pointer;
}

.storia-slide .wrapper-image{
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.storia-slide .wrapper-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease-out;
}

.storia-slide:hover .wrapper-image img{
    transform: scale(1.03);
}

/* STATI SLIDE: SINISTRA PICCOLA (38%), DESTRA GRANDE (60%) */
.storia-slide.state-left{
    left: 0;
    width: 38%;
    height: 520px;
    opacity: 1;
    z-index: 2;
    pointer-events: auto;
    transform: translateY(-50%) translateX(0);
}

.storia-slide.state-right{
    left: calc(38% + 30px);
    width: calc(62% - 30px);
    height: 720px;
    opacity: 1;
    z-index: 3;
    pointer-events: auto;
    transform: translateY(-50%) translateX(0);
}

.storia-slide.state-next{
    left: 100%;
    width: calc(62% - 30px);
    height: 720px;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    transform: translateY(-50%) translateX(60px);
}

.storia-slide.state-prev{
    left: 0;
    width: 38%;
    height: 520px;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    transform: translateY(-50%) translateX(-110%);
}

/* Controlli e Indicatori Slider */
.storia-slider-controls{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 35px;
}

.slider-indicator{
    display: flex;
    align-items: center;
    gap: 12px;
}

.slider-indicator .bar{
    width: 120px;
    height: 5px;
    background-color: rgba(255, 255, 255, 0.4);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background-color .35s ease, width .35s ease;
    outline: none;
}

.slider-indicator .bar:hover{
    background-color: rgba(255, 255, 255, 0.7);
}

.slider-indicator .bar.active{
    background-color: #C8A96E;
    width: 150px;
}

.slider-arrow{
    background: transparent;
    border: 1px solid rgba(200, 169, 110, 0.5);
    color: #C8A96E;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .3s ease;
    outline: none;
    padding: 0;
}

.slider-arrow:hover{
    background-color: #C8A96E;
    color: #0D0A06;
    border-color: #C8A96E;
}

/* 3. SEZIONE LA NOSTRA TERRA (#terra) */
#terra .col-terra-img .wrapper-image{
    width: 100%;
    height: auto;
}

#terra .col-terra-img .wrapper-image img{
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

#terra .col-terra-text{
    padding-left: 30px;
}

#terra .col-terra-text p{
    margin-bottom: 20px;
}

#terra .col-terra-text .btn{
    margin-top: 15px;
}

/* 4. SEZIONE IL NOSTRO METODO (#metodo) - SLIDER COVERFLOW PEEK */
.metodo-slider-wrapper{
    position: relative;
    width: 100%;
    margin-top: 40px;
}

.metodo-slider-stage{
    position: relative;
    width: 100%;
    height: 680px;
    overflow: hidden;
    padding: 10px 0;
}

.metodo-slide{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    height: 680px;
    transition: transform 0.65s cubic-bezier(0.25, 1, 0.5, 1),
                opacity 0.65s ease,
                filter 0.65s ease;
    will-change: transform, opacity;
    overflow: hidden;
    cursor: default;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
}

.metodo-slide .wrapper-image{
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.metodo-slide .wrapper-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease-out;
}

.metodo-slide:hover .wrapper-image img{
    transform: scale(1.025);
}

/* Didaskalia / Caption Metodo */
.metodo-slide .metodo-caption{
    position: absolute;
    bottom: 35px;
    left: 35px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 15px;
    background: rgba(13, 10, 6, 0.88);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 14px 28px;
    border-left: 3px solid #C8A96E;
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}

.metodo-caption .caption-num{
    font-size: 16px;
    font-weight: 700;
    color: #C8A96E;
    font-family: 'Montserrat', sans-serif;
}

.metodo-caption .caption-title{
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.5px;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
}

/* STATI SLIDER METODO (Coverflow Peek) */
.metodo-slide.is-active{
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    z-index: 3;
    pointer-events: auto;
    filter: brightness(1);
}

.metodo-slide.is-prev{
    transform: translate(-148%, -50%) scale(0.92);
    opacity: 0.45;
    z-index: 2;
    filter: brightness(0.65);
}

.metodo-slide.is-next{
    transform: translate(48%, -50%) scale(0.92);
    opacity: 0.45;
    z-index: 2;
    filter: brightness(0.65);
}

.metodo-slide.is-prev .metodo-caption,
.metodo-slide.is-next .metodo-caption{
    opacity: 0;
    transform: translateY(10px);
}

/* Controlli e Indicatori Metodo */
.metodo-slider-controls{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 35px;
}

/* 5. SEZIONE LA VIGNA (#vigna) */
.wrapper-la-vigna{
    width: 100%;
    overflow: hidden;
}
#vigna .row{
    align-items: end;
}
.wrapper-la-vigna img{
    width: 100%;
    height: auto;
    display: block;
}

/* ==========================================================================
   BREAKPOINTS RESPONSIVE & INDICATORE MEDIA
   ========================================================================== */

#media{
    position: fixed;
    bottom: 0;
    right: 0;
    height: 40px;
    width: 40px;
    background-color: #000000;
    line-height: 40px;
    text-align: center;
    color: #C8A96E;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    z-index: 999;
    border: 1px solid rgba(200, 169, 110, 0.35);
}

#media::after{
    content: 'XXL';
}

/* 1. XL: 1200px - 1400px */
@media (min-width: 1200px) and (max-width: 1400px){
    #media::after{
        content: 'XL';
    }
    h1{
        font-size: 84px;
    }
    h2{
        font-size: 54px;
    }
    h3{
        font-size: 34px;
    }
}

/* 2. LG: 992px - 1199px */
@media (min-width: 992px) and (max-width: 1199px){
    #media::after{
        content: 'LG';
    }
    nav a,
    nav ul a,
    nav ul li{
        font-size: 16px;
    }
    /* .1 Padding tra le sezioni a 60px */
    section:not(.hero){
        padding: 60px 0;
    }
    .mb-80{
        margin-bottom: 60px;
    }

    /* .6 Headings -10px, p ed eyebrow a 18px */
    h1{
        font-size: 62px;
    }
    h2,
    .footer-top h2{
        font-size: 36px;
    }
    h3,
    .card-vino h3{
        font-size: 28px;
    }
    p,
    section p,
    .hero-bottom p,
    .card-vino p,
    .card-exp-action p,
    .card-camera p,
    .cta-action p,
    .footer-col p{
        font-size: 18px;
    }
    .eyebrow,
    .card-exp .eyebrow{
        font-size: 18px;
    }

    /* .2 #manifesto, #cantina, #soggiorno: colonna (testo prima, poi immagine 100% larghezza) */
    #manifesto .row{
        flex-direction: column-reverse;
    }
    #manifesto .colonna-66{
        width: 100%;
        padding-left: 0;
        margin-bottom: 30px;
    }
    #manifesto .colonna-33{
        width: 100%;
        padding: 0;
    }
    #manifesto .wrapper-image{
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    #manifesto .wrapper-image img{
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block;
    }

    #cantina .row{
        flex-direction: column;
    }
    #cantina .colonna-50{
        width: 100%;
        padding: 0;
    }
    #cantina .colonna-50:first-of-type{
        margin-bottom: 30px;
    }
    #cantina .wrapper-image{
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    #cantina .wrapper-image img{
        width: 100%;
        height: auto;
        display: block;
    }

    /* Rimozione border-top per #vini e #soggiorno */
    #vini,
    #soggiorno{
        border-top: none;
    }

    #soggiorno .row:first-of-type{
        flex-direction: column-reverse;
    }
    #soggiorno .row:first-of-type .colonna-50{
        width: 100%;
        padding: 0;
    }
    #soggiorno .row:first-of-type .colonna-50:last-of-type{
        margin-bottom: 30px;
    }
    #soggiorno .row:first-of-type .wrapper-image{
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    #soggiorno .row:first-of-type .wrapper-image img{
        width: 100%;
        height: auto;
        display: block;
    }

    /* .3 Gap di 25px sopra e sotto tra le card vini */
    #vini .row{
        row-gap: 25px;
    }
    .colonna-25,
    #vini .colonna-25{
        width: 50%;
        margin-bottom: 25px;
    }
    .card-vino{
        min-height: 480px;
        height: 100%;
        padding: 40px 24px;
        background-position: calc(100% + 5px) center;
        background-size: auto 90%;
    }
    .card-vino-content{
        max-width: 62%;
    }

    /* .4 Wrapper-testi delle card-exp in basso a sinistra con padding 15px a sx e dx */
    .card-exp .wrapper-testi{
        left: 0;
        bottom: 0;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 25px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
    }
    /* Font-size .btn-link nella home e nelle card-exp a 16px */
    .hero .btn-link,
    .hero-bottom .btn-link,
    .card-exp .btn-link,
    .card-exp-action .btn-link{
        font-size: 16px;
    }
    .card-exp .btn-link,
    .card-exp-action .btn-link{
        align-self: flex-start;
    }

    /* .5 Newsletter-form nel footer con input e btn in colonna */
    .newsletter-form{
        flex-direction: column;
        gap: 12px;
    }
    .btn-newsletter{
        width: 100%;
        margin-left: 0;
    }

    /* .1 Font-size dei bottoni a 18px */
    .btn,
    .btn-newsletter{
        font-size: 18px;
    }

    /* .2 Bottoni delle sezioni #manifesto, #cantina, #soggiorno al 100% della larghezza */
    #manifesto .btn,
    #cantina .btn,
    #soggiorno .btn{
        display: block;
        width: 100%;
        max-width: 100%;
    }

    /* Pagina Cantina LG */
    #terra .row{
        flex-direction: column-reverse;
    }
    #terra .colonna-50{
        width: 100%;
        padding: 0;
    }
    #terra .col-terra-text{
        margin-bottom: 30px;
        padding-left: 0;
    }
    #terra .btn,
    #storia .btn{
        display: block;
        width: 100%;
        max-width: 100%;
    }
    #storia .row.mb-40{
        flex-direction: column;
    }
    #storia .colonna-50{
        width: 100%;
        padding: 0;
    }
    #storia .colonna-50:first-of-type{
        margin-bottom: 30px;
    }
    #metodo .row:first-of-type,
    #vigna .row:first-of-type{
        flex-direction: column;
    }
    #metodo .colonna-50,
    #vigna .colonna-50{
        width: 100%;
        padding: 0;
    }
    #metodo .colonna-50:first-of-type,
    #vigna .colonna-50:first-of-type{
        margin-bottom: 30px;
    }
    .storia-slider-stage{
        height: 580px;
    }
    .storia-slide.state-left{
        width: 38%;
        height: 420px;
    }
    .storia-slide.state-right{
        left: calc(38% + 25px);
        width: calc(62% - 25px);
        height: 580px;
    }
    .storia-slide.state-next{
        width: calc(62% - 25px);
        height: 580px;
    }
    .storia-slide.state-prev{
        width: 38%;
        height: 420px;
    }
    .slider-indicator .bar{
        width: 90px;
    }
    .slider-indicator .bar.active{
        width: 120px;
    }
    .metodo-slider-stage{
        height: 540px;
    }
    .metodo-slide{
        width: 82%;
        height: 540px;
    }
    .metodo-slide.is-prev{
        transform: translate(-144%, -50%) scale(0.91);
    }
    .metodo-slide.is-next{
        transform: translate(44%, -50%) scale(0.91);
    }
}

/* 3. MD: 768px - 991px */
@media (min-width: 768px) and (max-width: 991px){
    #media::after{
        content: 'MD';
    }
    header nav ul{
        display: none;
    }
    #menu{
        display: block;
    }
    #menu img{
        width: 28px;
        height: 28px;
    }
    .eyebrow,
    .card-exp .eyebrow{
        font-size: 18px;
    }
    h1{
        font-size: 54px;
    }
    h2,
    .footer-top h2{
        font-size: 36px;
    }
    h3,
    .card-vino h3{
        font-size: 28px;
    }
    h1 br, h2 br{
        display: none;
    }
    .hero p,
    .hero-bottom p{
        display: none;
    }
    .hero-bottom{
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
    .hero-bottom .btn,
    .hero-bottom .btn-link,
    .hero-bottom .btn-arrow{
        margin-left: 0;
    }
    section:not(.hero){
        padding: 40px 0;
    }
    .mb-80{
        margin-bottom: 40px;
    }
    .btn,
    section .btn,
    .card-exp-action .btn,
    .cta-action .btn{
        width: 100%;
        max-width: 100%;
    }
    section .btn{
        margin-bottom: 25px;
    }
    .colonna-66, .colonna-50{
        width: 100%;
    }
    .colonna-50:first-of-type{
        padding-right: 0;
    }
    .colonna-50:last-of-type{
        padding-left: 0;
        padding-top: 40px;
    }
    #cantina .colonna-50:last-of-type,
    #manifesto .colonna-33{
        padding-top: 0;
        margin-top: 0;
    }
    #manifesto .row{
        flex-direction: column-reverse;
    }
    #manifesto .colonna-66{
        padding-left: 0;
        padding-top: 0;
    }
    #manifesto .wrapper-image{
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    #manifesto .wrapper-image img{
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block;
    }
    #storia .row:nth-of-type(1){
        flex-direction: column;
    }
    #soggiorno .row{
        flex-direction: column-reverse;
    }
    .colonna-25,
    #vini .colonna-25{
        width: 50%;
        margin-bottom: 30px;
    }
    .card-vino{
        width: 100%;
        min-height: 480px;
        height: 100%;
        padding: 40px 24px;
        background-position: calc(100% + 5px) center;
        background-size: auto 90%;
    }
    .card-vino-content{
        max-width: 62%;
    }
    .colonna-33{
        width: 100%;
        margin-bottom: 24px;
    }
    .card-exp .wrapper-image{
        height: 520px;
    }
    .card-exp .wrapper-testi{
        left: 0;
        bottom: 0;
        padding: 0 15px 15px 15px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
    }
    .card-exp h3{
        margin-bottom: 15px;
        text-align: left;
    }
    .card-exp p,
    .card-exp-action p{
        display: none;
    }
    .card-exp-action{
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        width: 100%;
    }
    .card-exp .btn-link,
    .card-exp-action .btn-link{
        font-size: 14px;
        align-self: flex-start;
    }
    .cta-action{
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
    .cta-action .btn{
        margin-left: 0;
        margin-top: 15px;
    }
    footer{
        padding: 80px 0 36px;
        background-color: #050505;
        background-image: url("../img/bg-footer-mobile.png");
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }
    .footer-mid{
        flex-wrap: wrap;
    }
    .footer-col, .footer-col-large{
        width: 50%;
        margin-bottom: 36px;
    }
    .newsletter-form{
        flex-direction: column;
        gap: 12px;
    }
    .btn-newsletter{
        width: 100%;
        margin-left: 0;
    }

    /* Pagina Cantina MD */
    #terra .row{
        flex-direction: column-reverse;
    }
    #terra .colonna-50{
        width: 100%;
        padding: 0;
    }
    #terra .col-terra-text{
        padding-left: 0;
        margin-bottom: 25px;
    }
    #metodo .row:first-of-type,
    #vigna .row:first-of-type{
        flex-direction: column;
    }
    #metodo .colonna-50,
    #vigna .colonna-50{
        width: 100%;
        padding: 0;
    }
    #metodo .colonna-50:first-of-type,
    #vigna .colonna-50:first-of-type{
        margin-bottom: 25px;
    }
    .storia-slider-stage{
        height: 460px;
    }
    .storia-slide.state-left{
        width: 38%;
        height: 330px;
    }
    .storia-slide.state-right{
        left: calc(38% + 20px);
        width: calc(62% - 20px);
        height: 460px;
    }
    .storia-slide.state-next{
        width: calc(62% - 20px);
        height: 460px;
    }
    .storia-slide.state-prev{
        width: 38%;
        height: 330px;
    }
    .slider-indicator .bar{
        width: 60px;
    }
    .slider-indicator .bar.active{
        width: 85px;
    }
    .slider-arrow{
        width: 36px;
        height: 36px;
    }
    .metodo-slider-stage{
        height: 440px;
    }
    .metodo-slide{
        width: 85%;
        height: 440px;
    }
    .metodo-slide.is-prev{
        transform: translate(-140%, -50%) scale(0.9);
    }
    .metodo-slide.is-next{
        transform: translate(40%, -50%) scale(0.9);
    }
    .metodo-caption{
        bottom: 20px;
        left: 20px;
        padding: 10px 18px;
    }
    .caption-num, .caption-title{
        font-size: 14px;
    }
}

/* 4. SM: < 767px (MOBILE SPECIFICO DA FIGMA HOMEPAGE-MOBILE) */
@media (max-width: 767px){
    #media::after{
        content: 'SM';
    }
    .container{
        width: calc(100% - 30px);
    }
    .eyebrow{
        font-size: 15px;
    }
    html{
        scroll-padding-top: 80px;
    }
    header .container{
        height: 80px;
    }
    .hero .container{
        padding-top: 80px;
        padding-bottom: 50px;
    }
    header nav ul, h1 br, h2 br, p br{
        display: none;
    }
    #menu{
        display: block;
    }
    #menu img{
        width: 28px;
        height: 28px;
    }
    .hero{
        height: 100vh;
        min-height: 600px;
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.85) 100%), url("../img/hero-mobile.png");
    }
    h1{
        font-size: 50px;
        line-height: 105%;
        letter-spacing: -1px;
    }
    .hero-bottom{
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
        margin-top: 24px;
    }
    .hero-bottom p{
        display: none;
    }
    .hero-bottom .btn,
    .hero-bottom .btn-link,
    .hero-bottom .btn-arrow{
        margin-left: 0;
    }
    .btn-link,
    .btn-arrow{
        font-size: 14px;
        gap: 12px;
    }
    .btn-link svg,
    .btn-arrow svg{
        width: 32px;
    }
    .btn{
        width: 100%;
        max-width: 100%;
        font-size: 14px;
        margin-bottom: 20px;
    }
    section:not(.hero){
        padding: 40px 0;
    }
    h2{
        font-size: 36px;
        line-height: 115%;
        letter-spacing: -1px;
    }
    h3{
        font-size: 28px;
    }
    p,
    section p,
    .card-vino p,
    .card-exp-action p,
    .card-camera p,
    .cta-action p,
    .footer-col p{
        font-size: 16px;
    }
    .colonna-100, .colonna-66, .colonna-50, .colonna-33, .colonna-25{
        width: 100%;
        padding: 0;
    }
    .colonna-50:first-of-type{
        padding-right: 0;
    }
    .colonna-50:last-of-type{
        padding-left: 0;
        padding-top: 30px;
    }
    .mb-80{
        margin-bottom: 40px;
    }
    #manifesto .row{
        flex-direction: column-reverse;
    }
    #manifesto .colonna-66{
        padding-left: 0;
        padding-top: 30px;
    }
    #manifesto .wrapper-image{
        width: 100%;
        max-width: 100%;
        height: 332px;
    }
    #storia .row:nth-of-type(1){
        flex-direction: column;
    }
    #cantina .row{
        flex-direction: column;
    }
    #soggiorno .row:first-of-type{
        flex-direction: column-reverse;
    }
    .card-vino{
        min-height: 440px;
        height: auto;
        padding: 36px 24px;
        margin-bottom: 30px;
        background-position: right center;
        background-size: auto 90%;
    }
    .card-vino-content{
        max-width: 65%;
    }
    .card-exp .wrapper-image{
        height: 520px;
    }
    .card-exp .wrapper-testi{
        left: 0;
        bottom: 0;
        padding: 0 15px 15px 15px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
    }
    .card-exp .eyebrow{
        font-size: 15px;
        margin-bottom: 8px;
    }
    .card-exp h3{
        margin-bottom: 12px;
        text-align: left;
    }
    .card-exp p,
    .card-exp-action p{
        display: none;
    }
    .card-exp-action{
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        width: 100%;
    }
    .card-exp .btn-link,
    .card-exp-action .btn-link{
        font-size: 14px;
        align-self: flex-start;
    }
    .card-exp-action .btn{
        width: 100%;
        margin-left: 0;
    }
    .card-camera{
        height: 380px;
        margin-bottom: 24px;
    }
    .card-camera .wrapper-image{
        height: 100%;
    }
    .card-camera .wrapper-testi{
        padding: 24px 20px;
    }
    footer{
        padding: 80px 0 36px;
        background-color: #050505;
        background-image: url("../img/bg-footer-mobile.png");
        background-size: cover;
        background-position: center bottom;
        background-repeat: no-repeat;
    }
    .footer-top{
        padding-bottom: 60px;
        margin-bottom: 50px;
    }
    .footer-top h2{
        font-size: 36px;
        margin-bottom: 20px;
    }
    .cta-action{
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .cta-action p{
        font-size: 16px;
        max-width: 100%;
    }
    .cta-action .btn{
        width: 100%;
        margin-left: 0;
    }
    .footer-mid{
        flex-direction: column;
    }
    .footer-col, .footer-col-large{
        width: 100%;
        padding-right: 0;
        margin-bottom: 36px;
    }
    .newsletter-form{
        flex-direction: column;
        gap: 12px;
    }
    .btn-newsletter{
        width: 100%;
        margin-left: 0;
    }
    .footer-bottom{
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .footer-bottom-links a{
        margin-left: 0;
        margin-right: 16px;
    }

    /* Pagina Cantina SM */
    .hero-cantina{
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.85) 100%), url("../img/hero-cantina-mobile.png");
    }
    #terra .row{
        flex-direction: column-reverse;
    }
    #terra .colonna-50{
        width: 100%;
        padding: 0;
    }
    #terra .col-terra-text{
        padding-left: 0;
        margin-bottom: 25px;
    }
    #metodo .row:first-of-type,
    #vigna .row:first-of-type{
        flex-direction: column;
    }
    #metodo .colonna-50,
    #vigna .colonna-50{
        width: 100%;
        padding: 0;
    }
    #metodo .colonna-50:first-of-type,
    #vigna .colonna-50:first-of-type{
        margin-bottom: 25px;
    }
    .storia-slider-stage{
        height: 320px;
    }
    .storia-slide.state-left{
        width: 35%;
        height: 220px;
    }
    .storia-slide.state-right{
        left: calc(35% + 12px);
        width: calc(65% - 12px);
        height: 320px;
    }
    .storia-slide.state-next{
        width: calc(65% - 12px);
        height: 320px;
    }
    .storia-slide.state-prev{
        width: 35%;
        height: 220px;
    }
    .slider-indicator .bar{
        width: 40px;
    }
    .slider-indicator .bar.active{
        width: 60px;
    }
    .slider-arrow{
        width: 32px;
        height: 32px;
    }
    .slider-arrow svg{
        width: 16px;
        height: 16px;
    }
    .metodo-slider-stage{
        height: 320px;
    }
    .metodo-slide{
        width: 88%;
        height: 320px;
    }
    .metodo-slide.is-prev{
        transform: translate(-132%, -50%) scale(0.88);
    }
    .metodo-slide.is-next{
        transform: translate(32%, -50%) scale(0.88);
    }
    .metodo-caption{
        bottom: 12px;
        left: 12px;
        padding: 8px 14px;
        gap: 10px;
    }
    .caption-num, .caption-title{
        font-size: 12px;
    }
}
@media (min-width: 768px){
.grid-camere .colonna-50 {
    padding: 0!important;
}
}

/* ========================================================================= */
/* ESPERIENZE.HTML CSS                                                       */
/* ========================================================================= */

.hero-esperienze {
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.85) 100%), url("../img/hero-esperienze.png");
}

/* Utils for padding & margins */
.padding-xl { padding: 80px 0; }
.pt-120 { padding-top: 120px; }
.mb-20 { margin-bottom: 20px; }
.pl-40 { padding-left: 40px; }
.pr-40 { padding-right: 40px; }
.pl-0 { padding-left: 0 !important; }
.pr-0 { padding-right: 0 !important; }
.w-100 { width: 100%; }
.text-center { text-align: center; }
.h-100 { height: 100%; }

/* Tag List in Esperienze */
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.tag-list .tag {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #8b764e;
    border: 1px solid #c8a96e;
    padding: 6px 14px;
    text-transform: uppercase;
}

/* Info Scheda (Tasting & Raccolta) */
.info-scheda {
    display: flex;
    flex-direction: column;
}
.info-row {
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,0.2);
}
.info-row .label {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 15px;
    color: #8b764e;
    text-transform: uppercase;
}
.info-row .value {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #FFFFFF;
    text-transform: uppercase;
}

/* Menu Box (La Sicilia a tavola) */
#sicilia-tavola .row{
    align-items: normal;
}
.menu-box {
    background-color: rgba(139,139,139,0.1);
    padding: 60px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.menu-desc {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #FFFFFF;
    line-height: 1.2;
}
.menu-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.menu-item {
    border-bottom: 1px solid rgba(255,255,255,0.2);
    padding-bottom: 12px;
}
.menu-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}
.menu-item-name {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 18px;
    color: #8b764e;
}
.menu-item-wine {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #FFFFFF;
    text-transform: uppercase;
}
.menu-item-desc {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #FFFFFF;
    margin: 0;
}
.cover-image {
    object-fit: cover;
}

/* Soggiorno Camere Grid */
.card-camera-exp {
    position: relative;
    overflow: hidden;
}
.card-camera-exp .camera-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 60px 40px 40px;
    background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.5) 60%, rgba(0,0,0,0));
}
.camera-text h3 {
    font-size: 40px;
}
.camera-text p {
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    color: #FFFFFF;
    line-height: 1.2;
    margin: 15px 0;
}
.camera-text .btn-link{
    font-size: 16px;
}

/* ========================================================================= */
/* ESPERIENZE.HTML MOBILE OVERRIDES                                          */
/* ========================================================================= */
@media (max-width: 991px) {
    /* Adjust if needed for MD */
    .menu-box { padding: 40px; }
}

@media (max-width: 767px) {
    .hero-esperienze {
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.85) 100%), url("../img/hero-esperienze-mobile.png");
    }
    
    .mobile-reverse {
        flex-direction: column-reverse;
    }
    
    .pl-40, .pr-40 {
        padding-left: 0;
        padding-right: 0;
    }
    
    .mt-40 {
        margin-top: 30px;
    }
    
    .padding-xl {
        padding: 40px 0;
    }
    
    .info-row .label, .info-row .value {
        font-size: 14px;
    }
    
    .menu-box {
        padding: 30px 20px;
    }
    
    .card-camera-exp .camera-overlay {
        padding: 40px 20px 20px;
    }
    
    .camera-text h3 {
        font-size: 30px;
    }
    
    #tasting .colonna-33, #tasting .colonna-66,
    #raccolta .colonna-33, #raccolta .colonna-66,
    #sicilia-tavola .colonna-50 {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    #tasting .colonna-66, #raccolta .colonna-66 {
        margin-bottom: 30px;
    }
}

/* ========================================================================= */
/* MODIFICHE RICHIESTE PER ESPERIENZE.HTML                                   */
/* ========================================================================= */

/* 1. Hero Esperienze Gradient for Title */
.hero-esperienze {
    position: relative;
}
.hero-esperienze::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    pointer-events: none;
    z-index: 1;
}
.hero-esperienze .container {
    position: relative;
    z-index: 2;
}

/* 2. Altezza fissa 700px per immagini Tasting e Raccolta */
#tasting img.full-width,
#raccolta img.full-width {
    height: 700px;
    object-fit: cover;
}

/* 3. Il bottone in #soggiorno-esperienze al 50% */
#soggiorno-esperienze .btn {
    width: 50%;
    display: block;
}
@media (max-width: 767px) {
    #soggiorno-esperienze .btn {
        width: 100%;
    }
    .camera-text h3{
        margin-bottom: 12px;
    }
}

/* 4 & 6. Immagini Soggiorno Esperienze a 442px e Overlay on Hover */
.card-camera-exp .wrapper-image img {
    height: 442px;
    object-fit: cover;
}
.card-camera-exp .camera-overlay {
    opacity: 0;
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.card-camera-exp:hover .camera-overlay {
    opacity: 1;
}


/* FIX FOR GRID CAMERE SPACING */
@media (min-width: 768px) {
    .grid-camere .colonna-50:nth-child(odd) {
        padding-left: 0 !important;
        padding-right: 30px !important;
    }
    .grid-camere .colonna-50:nth-child(even) {
        padding-right: 0 !important;
        padding-left: 30px !important;
    }
}

/* FINAL FIX FOR GRID CAMERE ALIGNMENT (OVERRIDING OLD LOGIC) */
@media (min-width: 768px) {
    .grid-camere .colonna-50 {
        margin-bottom: 40px !important;
    }
    .grid-camere .colonna-50:nth-child(odd) {
        padding-left: 0 !important;
        padding-right: 30px !important;
    }
    .grid-camere .colonna-50:nth-child(even) {
        padding-right: 0 !important;
        padding-left: 30px !important;
    }
}
@media (max-width: 767px) {
    .grid-camere .colonna-50 {
        padding: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 40px !important;
    }
    .grid-camere .colonna-50:last-child {
        margin-bottom: 0 !important;
    }
}

/* FIX HOVER EFFECT ON MOBILE FOR CAMERE */
@media (max-width: 767px) {
    .card-camera-exp .camera-overlay {
        opacity: 1 !important;
    }
    .card-camera-exp .camera-overlay p {
        display: none !important;
    }
}

/* OVERRIDE MD PER INFO-SCHEDA TASTING */
@media (max-width: 991px) {
    #tasting .colonna-33.pl-40 {
        padding-left: 0 !important;
        padding-right: 0;
        margin-top: 25px !important;
    }
}

/* REORDER RACCOLTA FOR MD */
@media (max-width: 991px) {
    #raccolta .container {
        display: flex;
        flex-direction: column;
    }
    #raccolta .row {
        display: contents;
    }
    #raccolta .colonna-66 {
        order: 1;
        margin-bottom: 30px;
    }
    #raccolta .colonna-100 {
        order: 2;
    }
    #raccolta .colonna-100 img {
        margin-top: 0 !important; /* Override the inline mt-40 on the image if any */
        margin-bottom: 30px;
    }
    #raccolta .colonna-33 {
        order: 3;
        padding-right: 0 !important;
        padding-left: 0;
        margin-top: 0px !important; /* It has margin from the image above */
    }
}

/* AGGIORNAMENTI SOGGIORNO-ESPERIENZE PER DIMENSIONE MD E INFERIORI */
@media (max-width: 991px) {
    /* 1. Bottone al 100% della larghezza */
    #soggiorno-esperienze .btn {
        width: 100% !important;
    }
    
    /* 2. Immagini (camere) impilate perfettamente una sotto l'altra con stesse dimensioni */
    .grid-camere .colonna-50 {
        width: 100% !important;
        padding: 0!important;
        margin-bottom: 40px !important;
    }
    .grid-camere .colonna-50:last-child {
        margin-bottom: 0 !important;
    }

    /* 3. Testo e gradient sempre visibili nelle card camere */
    .card-camera-exp .camera-overlay {
        opacity: 1 !important;
    }
    .card-camera-exp .camera-overlay p {
        display: none !important;
    }
}

/* FIX RICHIESTO DALL'UTENTE PER LE GRID-CAMERE */
@media (min-width: 768px) and (max-width: 991px) {
    .grid-camere .colonna-50:nth-child(odd) {
        padding: 0 !important;
    }
}

/* FIX RICHIESTO DALL'UTENTE PER LE GRID-CAMERE (EVEN) */
@media (min-width: 768px) and (max-width: 991px) {
    .grid-camere .colonna-50:nth-child(even) {
        padding: 0 !important;
    }
}

/* MOSTRA IL PARAGRAFO NELLE CAMERE SOLO SU MD (NASCOSTO SU SM) */
@media (min-width: 768px) and (max-width: 991px) {
    .card-camera-exp .camera-overlay p {
        display: block !important;
    }
}


/* DIMENSIONE LG: RIDUZIONE PADDING GRID-CAMERE A 15PX */
@media (min-width: 992px) and (max-width: 1199px) {
    .grid-camere .colonna-50:nth-child(odd) {
        padding-right: 15px !important;
    }
    .grid-camere .colonna-50:nth-child(even) {
        padding-left: 15px !important;
    }
}

/* MOSTRA SEMPRE TESTO E GRADIENT NELLE CAMERE SU LG */
@media (min-width: 992px) and (max-width: 1199px) {
    .card-camera-exp .camera-overlay {
        opacity: 1 !important;
    }
}

/* MODIFICHE TIPOGRAFICHE INFO-SCHEDA PER LG */
@media (min-width: 992px) and (max-width: 1199px) {
    .info-row .label,
    .info-row .value {
        font-size: 10px !important;
    }
    .info-scheda .btn {
        font-size: 14px !important;
        padding: 10px 10px !important;
    }
}



