/* =========================================
   CNT - Stylesheet Principale
   File: css/style.css
   ========================================= */

/* --- Base & Typography --- */
body {
    font-family: 'Inter', sans-serif;
}
.smooth-scroll {
    scroll-behavior: smooth;
}

/* --- Slider Container --- */
.slider-container {
    position: relative;
    overflow: hidden;
}
.slider-track {
    display: flex;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.slider-slide {
    min-width: 100%;
    position: relative;
}
.slider-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slider-overlay {
    background: rgba(0, 0, 0, 0.4);
}
.service-card {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}

/* --- Animazioni Slider --- */
@keyframes slideUpFade {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-slide-up {
    animation: slideUpFade 0.5s ease-out;
}

/* --- Business Cards --- */
.business-card {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.business-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
.business-card.insurance:hover { border-color: #1e3a8a; }
.business-card.rental:hover { border-color: #059669; }
.business-card.banking:hover { border-color: #7c3aed; }
.business-card.financial:hover { border-color: #ea580c; }

/* --- Mobile Menu --- */
.mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}
.mobile-menu.active {
    max-height: 500px;
}

/* --- Utility Colors (se non usi Tailwind JIT) --- */
.bg-insurance { background-color: #1e3a8a; }
.bg-rental { background-color: #059669; }
.bg-banking { background-color: #7c3aed; }
.bg-financial { background-color: #ea580c; }
.bg-insurance-light { background-color: rgba(30, 58, 138, 0.1); }
.bg-rental-light { background-color: rgba(5, 150, 105, 0.1); }
.bg-banking-light { background-color: rgba(124, 58, 237, 0.1); }
.bg-financial-light { background-color: rgba(234, 88, 12, 0.1); }
.text-insurance { color: #1e3a8a; }
.text-rental { color: #059669; }
.text-banking { color: #7c3aed; }
.text-financial { color: #ea580c; }

/* --- Pulsanti Slider (nuovi - in basso a destra) --- */
#sliderPrev, #sliderNext {
    will-change: transform;
}
#sliderPrev:hover svg, #sliderNext:hover svg {
    transform: translateY(-1px);
}
#sliderPrev:active, #sliderNext:active {
    transform: scale(0.98);
}
#sliderPrev:focus-visible, #sliderNext:focus-visible {
    outline: 3px solid rgba(255,255,255,0.9);
    outline-offset: 3px;
}

/* --- Slider Dots --- */
.slider-dot {
    transition: background-color 0.3s ease, transform 0.2s ease;
}
.slider-dot:hover {
    transform: scale(1.2);
}
.slider-dot.active {
    background-color: white !important;
}

/* --- Mobile Optimizations --- */
@media (max-width: 768px) {
    #sliderPrev, #sliderNext {
        width: 44px !important;
        height: 44px !important;
    }
}

/* --- Print Styles (opzionale) --- */
@media print {
    .slider-container, header, footer { display: none; }
}

@keyframes popupIn {
    from { opacity: 0; transform: scale(0.95) translateY(10px); }
    to   { opacity: 1; transform: scale(1) translateY(0); }
}
.animate-popup {
    animation: popupIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}