/* --- STILI HEADER RESTYLING --- */
.site-header {
    background-color: #ffffff;
    transition: all 0.3s ease;
}

/* Slogan sotto il logo */
.brand-slogan {
    color: rgba(193, 130, 68, 1);
    font-family: 'Cormorant', serif;
    font-size: 0.85rem;
    line-height: 1.2;
    letter-spacing: 0.5px;
    font-weight: 600;
}

/* Navigazione centrale */
.main-nav-links .nav-link {
    font-family: 'Jost', sans-serif;
    text-transform: uppercase;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 1px;
    color: #333 !important;
    transition: color 0.3s ease;
    padding: 0.5rem 1rem;
}

.main-nav-links .nav-link:hover {
    color: rgba(193, 130, 68, 1) !important;
}

/* Icone e Azioni Utente */
.user-actions .icon-link {
    color: #333;
    font-size: 1.2rem;
    transition: color 0.3s;
}

.user-actions .icon-link:hover {
    color: rgba(193, 130, 68, 1);
}

/* Bottone Registrati (Brand Color) */
.btn-outline-brand {
    color: rgba(193, 130, 68, 1);
    border: 1px solid rgba(193, 130, 68, 1);
    background-color: transparent;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-outline-brand:hover {
    background-color: rgba(193, 130, 68, 1);
    color: #ffffff;
}

/* Stile badge del carrello (pallino col numero) */
.cart-link {
    position: relative;
    color: #333;
    transition: color 0.3s;
}

.cart-link:hover {
    color: rgba(193, 130, 68, 1);
}

.cart-badge {
    position: absolute;
    top: 0;
    right: -8px; /* Adatta su Desktop se serve */
    background-color: rgba(193, 130, 68, 1);
    color: white;
    font-size: 0.7rem;
    font-weight: bold;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Adattamenti per Mobile */
@media (max-width: 991px) {
    .cart-badge {
        position: static; /* Nel menu mobile a tendina non serve assoluto */
        margin-left: 5px;
    }
}
/* --- STILI HERO BANNER RESTYLING --- */
.hero-section {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* Stile base della slide */
.hero-slide {
    height: 80vh;
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

/* Gradiente per scurire l'immagine e far leggere il testo */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Sfumatura: più scura a sinistra dove c'è il testo, trasparente a destra */
    background: linear-gradient(to right, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.2) 100%);
    z-index: 1;
}

/* Posizionamento del contenuto sopra l'overlay */
.hero-slide .container {
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: 600px;
    color: #ffffff; /* Testo bianco che risalta */
}

/* Tipografia del Titolo */
.hero-title {
    font-family: 'Cormorant', serif;
    font-size: 5rem;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 1rem;
    text-shadow: 2px 2px 10px rgba(0,0,0,0.3); /* Leggera ombra per profondità */
}

/* Sottotitolo elegante */
.hero-subtitle {
    font-family: 'Jost', sans-serif;
    font-size: 1.25rem;
    font-weight: 300;
    letter-spacing: 1px;
    margin-bottom: 0;
    opacity: 0.9;    color: #ffffff;
}

/* Pulsante principale "Call to Action" */
.btn-brand {
    background-color: rgba(193, 130, 68, 1);
    color: #ffffff;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 0.8rem 2.5rem;
    border: 1px solid rgba(193, 130, 68, 1);
    border-radius: 50px; /* Bottone arrotondato per un look più raffinato */
    transition: all 0.3s ease;
}

/* Effetto al passaggio del mouse */
.btn-brand:hover {
    background-color: transparent;
    color: #ffffff;
    border-color: #ffffff;
}

/* Personalizzazione dei pallini in basso (Swiper Pagination) */
.main-slider-pagination .swiper-pagination-bullet {
    background: #ffffff;
    opacity: 0.5;
    width: 10px;
    height: 10px;
    margin: 0 6px;
    transition: all 0.3s ease;
}

.main-slider-pagination .swiper-pagination-bullet-active {
    background: rgba(193, 130, 68, 1);
    opacity: 1;
    transform: scale(1.3);
}

/* Adattamenti per schermi piccoli (Mobile) */
@media (max-width: 768px) {
    .hero-slide {
        height: 65vh; /* Altezza ridotta su mobile */
    }
    .hero-overlay {
        /* Su mobile è meglio un overlay uniforme se il testo è centrato */
        background: rgba(0, 0, 0, 0.4);
    }
    .hero-title {
        font-size: 3.5rem;
    }
    .hero-subtitle {
        font-size: 1.1rem;
    }
}

/* --- STILI TRUST BAR (Punti di Forza) --- */
#trust-bar {
    background-color: #fcfbf9; /* Un beige leggerissimo e caldo, ideale per le candele */
    border-bottom: 1px solid #eaeaea;
}

/* Contenitore dell'icona */
.trust-icon {
    width: 70px;
    height: 70px;
    color: rgba(193, 130, 68, 1); /* Il tuo color bronzo/oro */
    font-size: 1.8rem;
    transition: all 0.3s ease;
}

/* Effetto interattivo al passaggio del mouse */
.trust-box:hover .trust-icon {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.1) !important;
    color: #ffffff;
    background-color: rgba(193, 130, 68, 1) !important;
}

/* Stile del titolo (es. "Spedizione gratis") */
.trust-title {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0.5px;
    color: #333;
}

/* Stile della descrizione */
.trust-desc {
    font-family: 'Jost', sans-serif;
    font-size: 0.9rem;
    color: #666;
    font-weight: 300;
}
/* --- STILI SEZIONE CHI SIAMO --- */
#about-section {
    background-color: #ffffff;
    overflow: hidden; /* Evita scroll orizzontali accidentali su mobile */
}

/* Pre-titolo decorativo */
.about-pre-title {
    color: rgba(193, 130, 68, 1);
    font-family: 'Jost', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.85rem;
    font-weight: 600;
}

/* Titolo Principale */
.about-title {
    font-family: 'Cormorant', serif;
    font-size: 3.5rem;
    color: #333;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Tipografia del paragrafo */
.about-text {
    font-family: 'Jost', sans-serif;
    font-size: 1.05rem;
    color: #555;
    line-height: 1.8;
    font-weight: 300;
}

/* --- Effetto Immagine Sovrapposta (Offset Box) --- */
.about-image-wrapper {
    padding: 1rem 1rem 1rem 0; /* Spazio per la decorazione */
}

.about-image-backdrop {
    position: absolute;
    top: 0;
    left: 15px; /* Spostato leggermente a destra */
    width: 85%;
    height: 100%;
    background-color: #fcfbf9; /* Richiama il colore caldo della Trust Bar */
    border-radius: 1rem;
    z-index: 1;
    transform: translate(-20px, 20px); /* Crea l'effetto "sfalsato" */
}

/* Adattamenti per Mobile */
@media (max-width: 991px) {
    .about-title {
        font-size: 2.5rem; /* Rimpicciolisce il titolo su schermi piccoli */
    }
    .about-image-wrapper {
        padding: 1rem;
        margin-bottom: 2rem;
    }
    .about-image-backdrop {
        width: 90%;
        transform: translate(-10px, 15px);
    }
}
/* --- STILI SEZIONE PERSONALIZZA (CTA) --- */
#custom-candle-cta {
    background-attachment: fixed; /* Crea l'elegante effetto parallasse su desktop */
}

/* Sfumatura sopra l'immagine di sfondo per far risaltare i contenuti */
.cta-overlay {
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.9) 0%, rgba(60, 45, 30, 0.8) 100%);
    z-index: 1;
}

/* Testi della sezione scura */
.custom-pre-title {
    color: rgba(193, 130, 68, 1);
    font-family: 'Jost', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 2px;
}

.custom-title {
    font-family: 'Cormorant', serif;
    font-size: 3.5rem;
    line-height: 1.1;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #ffffff;
}

.custom-text {
    font-family: 'Jost', sans-serif;
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1.8;
    color: #e0e0e0;
}

/* Effetto cornice sfalsata sull'immagine di destra */
.custom-image-frame {
    border-color: rgba(193, 130, 68, 1) !important;
    top: -20px;
    right: -20px;
    z-index: 1;
    transition: all 0.4s ease;
}

/* Animazione cornice al passaggio del mouse sull'immagine */
.custom-image-wrapper:hover .custom-image-frame {
    top: -10px;
    right: -10px;
}

/* Adattamenti per Mobile */
@media (max-width: 991px) {
    #custom-candle-cta {
        background-attachment: scroll; /* Rimosso parallasse su mobile per migliori performance */
    }
    .custom-title {
        font-size: 2.5rem;
    }
    .custom-text {
        font-size: 1rem;
    }
}
/* --- STILI CAROSELLO PRODOTTI (NOVITÀ) --- */
.product-card {
    transition: all 0.3s ease;
}

/* Immagine e Zoom */
.product-image-container {
    background-color: #f8f9fa; /* Sfondo chiaro in caso di immagini scontornate */
}

.product-image-container img {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Effetto Zoom al passaggio del mouse sull'intera card */
.product-card:hover .product-image-container img {
    transform: scale(1.08);
}

/* Badge (Nuovo/Promo) */
.badge.bg-brand {
    background-color: rgba(193, 130, 68, 1) !important;
    font-family: 'Jost', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 500;
}
.badge.bg-dark {
    font-family: 'Jost', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 500;
}

/* Tipografia Titolo */
.product-title {
    font-family: 'Jost', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.product-title a {
    transition: color 0.3s ease;
}

.product-title a:hover {
    color: rgba(193, 130, 68, 1) !important;
}

/* Tipografia Prezzi */
.product-price {
    font-family: 'Jost', sans-serif;
    font-size: 1.1rem;
}

.text-brand {
    color: rgba(193, 130, 68, 1) !important;
}

/* Custom Navigation Buttons per lo Swiper */
.swiper-nav-custom .btn {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid #eaeaea;
    color: #333;
    transition: all 0.3s ease;
}

.swiper-nav-custom .btn:hover {
    background-color: rgba(193, 130, 68, 1);
    color: #ffffff;
    border-color: rgba(193, 130, 68, 1);
}
/* --- STILI BOTTONI ASSISTENZA --- */

/* Bottone WhatsApp Elegante */
.btn-whatsapp {
    background-color: #25D366; /* Verde ufficiale WhatsApp */
    color: #ffffff;
    border: 1px solid #25D366;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.btn-whatsapp:hover {
    background-color: #1ebe57;
    color: #ffffff;
    transform: translateY(-3px); /* Effetto sollevamento */
    box-shadow: 0 6px 15px rgba(37, 211, 102, 0.4) !important;
}

/* Effetto Hover per il bottone Telefono (Outline Light) */
.btn-outline-light {
    transition: all 0.3s ease;
}

.btn-outline-light:hover {
    color: rgba(193, 130, 68, 1); /* Testo diventa color brand */
    background-color: #ffffff;
    transform: translateY(-3px);
}
/* --- STILI FOOTER RESTYLING --- */
.site-footer {
    background-color: #fcfbf9; /* Richiama il colore caldo della Trust Bar */
    border-top: 1px solid #eaeaea;
}

/* Titoli delle colonne */
.footer-title {
    font-family: 'Cormorant', serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    letter-spacing: 1px;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 10px;
}

/* Slogan sotto il logo */
.footer-slogan {
    font-family: 'Jost', sans-serif;
    color: rgba(193, 130, 68, 1);
    font-size: 0.85rem;
    letter-spacing: 1px;
}

/* Liste e Link */
.footer-list li, .footer-contacts li {
    font-family: 'Jost', sans-serif;
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 0.8rem;
}

.footer-list a, .footer-contacts a {
    color: #555;
    text-decoration: none;
    transition: all 0.3s ease;
}

/* Hover sui link */
.footer-list a:hover, .footer-contacts a:hover {
    color: rgba(193, 130, 68, 1);
    padding-left: 5px; /* Piccolo scatto in avanti per le voci di menu */
}

/* Colore brand per icone specifiche */
.text-brand {
    color: rgba(193, 130, 68, 1) !important;
}

/* Footer Bottom (Copyright area) */
.footer-bottom {
    background-color: #ffffff;
}

.copyright-text, .credit-text {
    font-family: 'Jost', sans-serif;
    font-size: 0.85rem;
    color: #777;
}

.credit-text a {
    color: rgba(193, 130, 68, 1);
    transition: color 0.3s;
}

.credit-text a:hover {
    color: #333;
}
/* --- STILI PAGINAZIONE CATALOGO --- */
.custom-pagination .page-link {
    color: #333;
    font-family: 'Jost', sans-serif;
    border: 1px solid #eaeaea;
    margin: 0 3px;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.custom-pagination .page-link:hover {
    background-color: rgba(193, 130, 68, 0.1); /* Effetto hover leggero color brand */
    color: rgba(193, 130, 68, 1);
    border-color: rgba(193, 130, 68, 0.5);
}

.custom-pagination .page-item.active .page-link {
    background-color: rgba(193, 130, 68, 1);
    border-color: rgba(193, 130, 68, 1);
    color: #ffffff;
    font-weight: bold;
}

/* Evita bordi quadrati uniti di default da Bootstrap */
.custom-pagination .page-item:first-child .page-link,
.custom-pagination .page-item:last-child .page-link {
    border-radius: 4px;
}
/* --- AGGIORNAMENTO STILI PRODOTTI (Centratura e Proporzioni) --- */

/* Assicuriamoci che l'effetto zoom funzioni sulla nuova classe .product-image-holder */
.product-image-holder {
    background-color: #fcfcfc; /* Un grigio quasi bianco per lo sfondo del box */
    transition: box-shadow 0.3s ease;
}

.product-card:hover .product-image-holder {
    box-shadow: 0 .5rem 1.5rem rgba(193, 130, 68, 0.15) !important; /* Ombra color brand al passaggio */
}

/* L'effetto zoom si applica solo all'immagine centrata */
.product-image-holder img {
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); /* Animazione più fluida */
}

.product-card:hover .product-image-holder img {
    transform: scale(1.05); /* Zoom leggero per non far toccare i bordi del box */
}