@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

html, body {
    font-family: 'Poppins', sans-serif;
    background-color: #f4f7f6;
    color: #333;
    overflow-x: hidden !important; 
    max-width: 100vw;
    width: 100%;
    position: relative;
}

/* Header & Animazioni Sfondo */
#header-home {
    background: linear-gradient(-45deg, #0d6efd, #1d3557, #00d2ff, #3a7bd5);
    background-size: 400% 400%;
    animation: gradientBG 15s ease infinite;
    padding-top: 150px; 
    padding-bottom: 50px;
}
#header-page {
    background: linear-gradient(135deg, #1d3557, #4A66B3);
    padding-top: 150px; 
    padding-bottom: 50px;
}
@keyframes gradientBG {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Navbar Glassmorphism */
.navbar {
    background-color: rgba(29, 53, 87, 0.3);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: none;
    padding: 1.5rem 0;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.navbar.navbar-scrolled {
    padding: 0.5rem 0;
    background-color: rgba(29, 53, 87, 0.95);
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.navbar-brand span { font-weight: 700; font-size: 1.2rem; }
.nav-item { position: relative; }
.nav-link { 
    font-weight: 600; text-transform: uppercase; font-size: 0.95rem; 
    letter-spacing: 0.5px; padding: 0.5rem 0 !important; 
    color: rgba(255,255,255,0.85) !important; transition: color 0.3s ease;
}
.nav-link::after {
    content: ''; position: absolute; width: 0; height: 3px; bottom: 0; left: 50%;
    background-color: #ffc107; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    transform: translateX(-50%); border-radius: 2px;
}
.nav-link:hover, .nav-link.active { color: #ffc107 !important; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }

/* Foto Fluttuante */
#fotopersonale {
    border: 5px solid white; box-shadow: 0 10px 20px rgba(0,0,0,0.2);
    animation: float 4s ease-in-out infinite; max-width: 250px;
}
@keyframes float { 0% { transform: translateY(0px); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0px); } }

/* Cards Moderne Generiche (Usate in Home, Servizi, Recupero Dati) */
.modern-card {
    background: white; border-radius: 12px; padding: 1.5rem; margin-bottom: 1rem;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-left: 5px solid #0d6efd;
    transition: transform 0.3s ease, box-shadow 0.3s ease; height: 100%; position: relative;
}
.modern-card:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(13, 110, 253, 0.15); }
.modern-card.green { border-left-color: #28a745; }
.modern-card.purple { border-left-color: #6f42c1; }
.modern-card.warning { border-left-color: #ffc107; }
.modern-card.danger { border-left-color: #dc3545; }
.modern-card.info { border-left-color: #0dcaf0; }
.modern-card.secondary { border-left-color: #6c757d; }

.quote-icon-home { font-size: 3.5rem; color: rgba(13, 110, 253, 0.06); position: absolute; top: 15px; right: 20px; z-index: 0; line-height: 1; }

/* Pricing Cards (Usate in Tariffe) */
.price-card {
    background: white; border-radius: 20px; padding: 3rem 2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    text-align: center; height: 100%; transition: transform 0.3s ease;
    border-top: 6px solid #0d6efd; display: flex; flex-direction: column;
}
.price-card:hover { transform: translateY(-10px); box-shadow: 0 15px 40px rgba(0,0,0,0.12); }
.price-card.secondary { border-top-color: #ffc107; }
.price-amount { font-size: 2.5rem; font-weight: 700; color: #1d3557; margin: 1.5rem 0; }
.price-amount span { font-size: 1.2rem; color: #6c757d; font-weight: 400; }

/* Info Cards (Usate in Tariffe) */
.info-card { background: white; border-radius: 15px; padding: 2rem; box-shadow: 0 5px 15px rgba(0,0,0,0.05); border-left: 5px solid #0d6efd; height: 100%; }
.info-card.red { border-left-color: #dc3545; }
.info-card.green { border-left-color: #28a745; }
.info-card.warning { border-left-color: #ffc107; }

/* Contact & Forms */
.contact-card { background: white; border-radius: 20px; padding: 2.5rem; box-shadow: 0 10px 30px rgba(0,0,0,0.08); height: 100%; border-top: 5px solid #0d6efd; }
.contact-card.map-card { border-top-color: #28a745; padding: 2rem; }
.form-control-modern { border-radius: 12px; padding: 0.8rem 1.2rem; border: 2px solid #e9ecef; transition: all 0.3s ease; }
.form-control-modern:focus { border-color: #0d6efd; box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.15); }
.map-container { position: relative; padding-bottom: 75%; height: 0; overflow: hidden; border-radius: 15px; margin-top: 1.5rem; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.map-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* Privacy Cards */
.privacy-card { background: white; border-radius: 15px; padding: 2.5rem; margin-bottom: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,0.05); border-top: 4px solid #0d6efd; }
.privacy-card.green { border-top-color: #28a745; }
.privacy-card.warning { border-top-color: #ffc107; }
.privacy-card h2 { font-size: 1.6rem; font-weight: 700; color: #1d3557; margin-bottom: 1.5rem; display: flex; align-items: center; }
.inner-box { background-color: #f8fbff; border-radius: 10px; padding: 1.5rem; margin-bottom: 1rem; border-left: 4px solid #0d6efd; }

/* Footer */
#main-footer { background: linear-gradient(135deg, #1d3557 0%, #112238 100%); border-top: 5px solid #0d6efd; position: relative; overflow: hidden; }

/* WhatsApp Floating */
.whatsapp-float { position: fixed; bottom: 25px; right: 25px; z-index: 1030; background-color: #25D366; padding: 10px; border-radius: 50%; box-shadow: 0 5px 20px rgba(0,0,0,0.3); transition: transform 0.3s ease; }
.whatsapp-float:hover { transform: scale(1.1); }
.whatsapp-float img { width: 45px; height: 45px; }

@media (max-width: 991.98px) {
    #header-home, #header-page { padding-top: 140px; }
    .contact-card, .price-card, .privacy-card { padding: 1.5rem; }
}

/* Effetto Glow Link Progetti (Footer) */
.glow-link {
    color: #7CB6ED !important;
    transition: all 0.3s ease;
    text-shadow: 0 0 0 rgba(124, 182, 237, 0);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.glow-link:hover {
    color: #ffc107 !important;
    text-shadow: 0 0 15px rgba(255, 193, 7, 0.6);
    transform: translateY(-2px);
}
