﻿        body { font-family: 'Roboto', sans-serif; scroll-behavior: smooth; }
        h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', sans-serif; }
        
        .hero-bg {
            background-image: linear-gradient(135deg, rgba(0, 107, 56, 0.9), rgba(6, 78, 59, 0.8));
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
        }

        .section-title { position: relative; display: inline-block; margin-bottom: 2rem; }
        .section-title::after {
            content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);
            width: 80px; height: 6px; background: linear-gradient(to right, #006B38, #F59E0B); border-radius: 99px;
        }

        .tab-active {
            background: linear-gradient(to right, #006B38, #059669);
            color: white !important; border-color: transparent; box-shadow: 0 4px 15px rgba(0, 107, 56, 0.3);
        }
        
        .card-hover { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
        .card-hover:hover { transform: translateY(-8px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); }

        .mobile-sticky-bar { box-shadow: 0 -4px 20px rgba(0,0,0,0.1); z-index: 9999; }
        
        .cta-pulse { animation: subtle-pulse 2s infinite; }
        @keyframes subtle-pulse {
            0% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7); }
            70% { box-shadow: 0 0 0 10px rgba(245, 158, 11, 0); }
            100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); }
        }

        /* TỐI ƯU HÓA VUỐT TRƯỢT */
        .no-scrollbar::-webkit-scrollbar { display: none; }
        .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        .carousel-container { position: relative; padding: 20px 0; }
        .carousel-track { 
            display: flex; 
            overflow-x: auto; 
            scroll-snap-type: x mandatory; 
            gap: 20px; 
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
        }
        .carousel-item { 
            flex: 0 0 85%; 
            max-width: 85%; 
            scroll-snap-align: start;
        }
        @media (min-width: 768px) {
            .carousel-item { flex: 0 0 calc(33.3% - 14px); max-width: calc(33.3% - 14px); }
        }

        .nav-btn {
            position: absolute; top: 50%; transform: translateY(-50%);
            width: 40px; height: 40px; background: white; border-radius: 50%;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1); display: flex; align-items: center; justify-content: center;
            cursor: pointer; z-index: 10; transition: all 0.3s; color: #006B38;
        }
        .nav-btn:hover { background: #F59E0B; color: white; }
        .nav-prev { left: 0; } .nav-next { right: 0; }

        .role-radio:checked + label { background-color: #F59E0B; color: white !important; border-color: #F59E0B; }
        
        @keyframes slide-up {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .chat-menu-enter { animation: slide-up 0.3s ease-out forwards; }

        .modal {
            display: none;
            position: fixed;
            z-index: 10000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgba(0,0,0,0.6);
            backdrop-filter: blur(5px);
        }
        .modal-content {
            background-color: #fefefe;
            margin: 10% auto;
            padding: 0;
            border: 1px solid #888;
            width: 90%;
            max-width: 600px;
            border-radius: 20px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
            animation: modal-pop 0.3s ease-out;
        }
        @keyframes modal-pop {
            from { transform: scale(0.9); opacity: 0; }
            to { transform: scale(1); opacity: 1; }
        }
        .close {
            color: #aaa;
            float: right;
            font-size: 28px;
            font-weight: bold;
            cursor: pointer;
            transition: color 0.2s;
        }
        .close:hover,
        .close:focus {
            color: #000;
            text-decoration: none;
        }

        /* Floating buttons for Desktop */
        .desktop-floating-actions {
            position: fixed;
            right: 20px;
            bottom: 30px;
            display: none; /* Hidden by default, shown on md+ */
            flex-direction: column;
            gap: 12px;
            z-index: 999;
        }
        @media (min-width: 768px) {
            .desktop-floating-actions { display: flex; }
        }
        .float-btn {
            width: 56px;
            height: 56px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            transition: all 0.3s;
            position: relative;
        }
        .float-btn:hover { transform: scale(1.1); }
        .float-btn .tooltip {
            position: absolute;
            right: 70px;
            background: rgba(0,0,0,0.8);
            color: white;
            padding: 5px 12px;
            border-radius: 4px;
            font-size: 12px;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s;
            pointer-events: none;
        }
        .float-btn:hover .tooltip { opacity: 1; visibility: visible; right: 65px; }
.mobile-sticky-bar.pb-safe{padding-bottom: 0 !important;}