/* --- Variabili --- */
:root {
    --benetti-gold: #bf873c;
    --benetti-gold-dark: #a3712e;
}

/* --- Override e Utility per Bootstrap 4.1.3 --- */
.top-0 { top: 0 !important; }
.start-0, .left-0 { left: 0 !important; }
.w-100 { width: 100% !important; }
.z-index-1 { z-index: 1 !important; }

/* Ombreggiature */
.shadow-lg { box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important; }

/* Gap Polyfill */
.custom-gap-3 > * { margin-bottom: 1rem; }
.custom-gap-3 > *:last-child { margin-bottom: 0; }
@media (min-width: 768px) {
    .d-flex.flex-row.custom-gap-3 > * { margin-right: 1rem; margin-bottom: 0; }
    .d-flex.flex-row.custom-gap-3 > *:last-child { margin-right: 0; }
}

/* --- STRISCIA FULL WIDTH & FULL HEIGHT (Aggiornato) --- */
.benetti-gift-module-strip {
    position: relative;
    width: 100vw !important; 
    margin-left: -50vw !important;
    left: 50% !important;
    right: 50% !important;
    max-width: none !important;
    
    min-height: 60vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    padding: 0 !important;
    overflow: hidden;
    background-color: #333; 
    box-sizing: border-box;
}

.strip-bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0; 
    background-size: cover;
    background-position: center;
    filter: brightness(0.6);
    pointer-events: none;
}

.strip-overlay {
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: rgba(0,0,0,0.4); 
    z-index: 0;
}

.main-container {
    position: relative; 
    z-index: 1;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* --- Tipografia --- */
.font-playfair {font-family: 'Playfair Display', serif !important;font-size: 2.25rem !important;line-height: 2.5rem !important;}
.titolo-iniziale { 
    font-weight: bold; 
    font-family: 'Playfair Display', serif !important;
    font-size: 3.5rem !important; 
    margin-bottom: 1.5rem !important;
}

.text-gold { color: var(--benetti-gold) !important; }
.bg-gold { background-color: var(--benetti-gold) !important; }
.border-gold { border-color: var(--benetti-gold) !important; }

/* Elementi Intro Modulo */
.intro-subtitle {
    letter-spacing: 0.2em; 
    font-size: 0.9rem;
}

.intro-lead {
    max-width: 700px; 
    font-size: 1.2rem;
}

/* --- Bottoni --- */
.btn-benetti {
    background-color: var(--benetti-gold);
    color: white;
    padding: 12px 24px !important; 
    border: 1px solid var(--benetti-gold) !important;
    transition: all 0.3s !important;
    font-family: 'Lato', sans-serif;
    font-weight: 400 !important;
    border-radius: 0;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center;
    font-size: 1rem !important; 
}
.btn-benetti:hover {
    background-color: var(--benetti-gold-dark);
    border-color: var(--benetti-gold-dark);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(191, 135, 60, 0.4);
}

.btn-benetti-outline {
    background-color: transparent;
    color: var(--benetti-gold);
    border: 1px solid var(--benetti-gold) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
/*    border-radius: 0 !important;*/
    padding: 12px 24px !important;
    font-family: 'Lato', sans-serif;
    font-weight: 400 !important;
    cursor: pointer !important;
    margin-bottom: 0;
    margin-right: 1rem;
    font-size: 1rem !important; 
}
.btn-benetti-outline:hover {
    background-color: var(--benetti-gold);
    color: white;
}

/* --- Quiz Modal Styles --- */
.quiz-modal-content {
    border-radius: 0;
    min-height: 600px;
}

.header-brand-text {
    letter-spacing: 2px; 
    font-size: 0.7rem;
}

/* Progress */
.progress { 
    border-radius: 0; 
    background-color: #f3f4f6; 
    height: 4px !important;
}
.progress-bar { 
    background-color: var(--benetti-gold) !important; 
    transition: width 0.5s ease-out  !important; 
}

/* Nav Container */
#nav-container {
    z-index: 10;
}
.nav-text {
    letter-spacing: 1px;
}

/* Step Intro Interno */
.intro-circle {
    width: 80px; 
    height: 80px; 
    background-color: rgba(191, 135, 60, 0.1);
}
.intro-icon {
    font-size: 2rem;
}
.step-title {
    font-size: 2.5rem !important;
}
.step-desc {
    max-width: 450px; 
    font-size: 1.25rem;
}

/* Question */
.question-title {
    font-size: 2.5rem !important;
}

/* Opzioni */
.option-btn {
    width: 100%;
    text-align: left;
    padding: 1rem 1.5rem;
    background: white;
    border: 1px solid #e5e7eb;
    transition: all 0.2s;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 0;
    font-family: 'Lato', sans-serif;
    outline: none;
    cursor: pointer;
}

.option-text { font-size: 1.125rem; color: #374151; font-weight: 400; }

/* Results */
.result-label {
    letter-spacing: 3px;
}
.result-separator {
    width: 60px; 
    height: 4px;
}
.result-desc {
    max-width: 500px; 
    line-height: 1.6; 
    font-size: 1.25rem;
}
.result-box {
    max-width: 400px; 
    border-color: rgba(191, 135, 60, 0.2) !important;
}
.result-box-label {
    letter-spacing: 1px;
}
.result-budget-val {
    font-size: 1.75rem !important;
}

.text-interno {
    font-weight: 300 !important;
    line-height: 2.0rem;
}

#openGiftFinder span { font-size: 1.25rem;}

/* Icons & Animations */
.profile-icon { font-size: 3rem; color: var(--benetti-gold); }
.fade-in { animation: fadeIn 0.5s ease-in; }

@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* --- Mobile --- */
@media (max-width: 767px) {
    .benetti-gift-module-strip { min-height: 60vh !important; padding: 2rem 0 !important; }
    .btn-benetti-outline { margin-right: 0; margin-bottom: 1rem; width: 100%; }
    .btn-benetti { width: 100%; justify-content: center; }
    
    #question-text {
        font-size: 1.8rem !important;
        line-height: 1.2 !important;
        margin-bottom: 2rem !important;
        margin-top: 2.5rem !important;
    }
    
    .titolo-iniziale {
        font-weight: bold !important;
        letter-spacing: 1px !important;
        font-size: 2.8rem !important;
    }
    
    .btn-benetti-outline
    {
        margin-top: 1em;
    }
        #openGiftFinder span { font-size: 1.05rem;}
}

/* FIX TOUCH: Hover solo su dispositivi NON touch */
@media (hover: hover) and (pointer: fine) {
    .option-btn:hover {
        border-color: var(--benetti-gold);
        background-color: rgba(191, 135, 60, 0.05);
        color: var(--benetti-gold);
    }

    .option-btn:hover i {
        color: var(--benetti-gold);
    }

    .option-btn:hover .option-text {
        color: var(--benetti-gold);
    }
    
}

/* FIX: Rimuovi focus/active persistente su touch */
.option-btn:focus,
.option-btn:active {
    outline: none;
    box-shadow: none;
}

.btn-benetti-natale,
.btn-benetti-natale:hover
{
    background: #A00611;
    border-color:#A00611 !important;
}