/*
 * Responsive Stylesheet for DaBizzBee
*/

/* --- Accessibility: Respect user preference for reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .service-card:hover, .btn:hover { transform: none; }
  .fab:hover { transform: none; }
}

/* --- Tablet & Mobile Styles (768px and down) --- */
@media (max-width: 768px) {
    /* --- Mobile Navigation --- */
    .menu-toggle { display: flex; }
    .nav-links {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--deep-dark);
        padding: 0;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        z-index: 1000;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-20px);
        pointer-events: none;
        transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        border-top: 3px solid var(--main-gold);
    }
    .nav-links.active {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
    .nav-links li { 
        margin-left: 0; 
        width: 100%; 
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .nav-links li:last-child:not(.nav-social-links) { border-bottom: none; }
    
    .nav-links li a { 
        display: block; 
        padding: 18px 20px; 
        width: 100%;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }
    
    .nav-links li a::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 212, 59, 0.1), transparent);
        transition: left 0.5s ease;
    }
    
    .nav-links a::after { display: none; }
    
    .nav-links a:hover, .nav-links a:focus { 
        background-color: var(--main-gold); 
        color: var(--main-dark);
        transform: translateX(5px);
    }
    
    .nav-links a:hover::before {
        left: 100%;
    }
    
    /* Hide nav separator on mobile */
    .nav-separator {
        display: none;
    }
    
    /* Social Links inside Mobile Nav */
    .nav-social-links {
        display: flex;
        justify-content: center;
        gap: 25px;
        padding: 20px 0 15px 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin: 0;
        background-color: rgba(0, 0, 0, 0.2);
    }
    .nav-social-links a { font-size: 1.5rem; transition: color 0.3s ease, transform 0.3s ease; }
    .nav-social-links a:hover { color: var(--main-gold); transform: translateY(-3px); background-color: transparent; }

    /* --- Page Content Adjustments --- */
    .contact-content { flex-direction: column; }
    .contact-btn.whatsapp, .contact-btn.messenger { display: none; }

    /* --- Multi-FAB Component --- */
    .fab-container {
        display: block;
        position: fixed;
        bottom: 30px;
        right: 20px;
        z-index: 1000;
        width: 60px;
        height: 60px;
    }
    .fab {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        bottom: 0;
        right: 0;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);
        text-decoration: none;
        color: white;
        border: none;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        font-size: 24px;
    }
    .fab:hover { 
        transform: scale(1.1);
        box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2), 0 3px 6px rgba(0, 0, 0, 0.15);
    }
    
    /* Main FAB button */
    .fab-main {
        background-color: var(--main-dark);
        z-index: 10;
        position: relative;
        overflow: hidden;
    }
    
    /* Style for both icons inside the main FAB */
    .fab-main i {
        position: absolute;
        font-size: 24px;
        transition: transform 0.3s ease, opacity 0.3s ease;
        top: 50%;
        left: 50%;
        transform-origin: center;
    }

    /* --- Default (Closed) State --- */
    .fab-main .icon-open {
        transform: translate(-50%, -50%) rotate(0deg) scale(1);
        opacity: 1;
    }
    .fab-main .icon-close {
        transform: translate(-50%, -50%) rotate(90deg) scale(0);
        opacity: 0;
    }

    /* --- Active (Open) State --- */
    .fab-container.active .fab-main .icon-open {
        transform: translate(-50%, -50%) rotate(-90deg) scale(0);
        opacity: 0;
    }
    .fab-container.active .fab-main .icon-close {
        transform: translate(-50%, -50%) rotate(0deg) scale(1);
        opacity: 1;
    }
    .fab-secondary { 
        z-index: 5;
        transform: scale(0) translateY(0);
        opacity: 0;
        pointer-events: none;
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }
    
    .fab-whatsapp { background-color: #25D366; }
    .fab-messenger { background-color: #0084FF; }
    
    .fab-container.active .fab-main { 
        transform: rotate(45deg);
    }
    
    .fab-container.active .fab-secondary { 
        opacity: 1;
        pointer-events: auto;
        transform: scale(1);
    }
    
    .fab-container.active .fab-whatsapp { 
        transform: translateY(-80px) scale(1);
        transition-delay: 0.1s;
    }
    
    .fab-container.active .fab-messenger { 
        transform: translateY(-160px) scale(1);
        transition-delay: 0.2s;
    }
}

