 :root {
     --primary-color: #4361ee;
     --secondary-color: #3a0ca3;
     --light-color: #f8f9fa;
     --dark-color: #212529;
     --facebook-color: #1877f2;
     --telegram-color: #0088cc;
     --tiktok-color: #000000;
     --youtube-color: #ff0000;
     --instagram-color: #e4405f;
 }

 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     overflow-x: hidden;
 }

 .navbar-brand {
     font-weight: 700;
     font-size: 1.8rem;
 }

 .navbar-brand span {
     color: var(--primary-color);
 }

 /* Navbar */
 .navbar-custom {
     padding: 16px 0;
     box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
 }

 /* Brand */
 .navbar-brand {
     font-size: 1.6rem;
     letter-spacing: -.5px;
     color: #2563eb;
 }

 .brand-highlight {
     color: #2563eb;
 }

 /* Menu center */
 .nav-link-custom {
     position: relative;
     font-weight: 500;
     color: #374151 !important;
     padding: 6px 0;
     transition: color .3s ease;
 }

 .nav-link-custom::after {
     content: "";
     position: absolute;
     left: 0;
     bottom: -6px;
     width: 0;
     height: 2px;
     background: #2563eb;
     transition: width .3s ease;
 }

 /* Auth buttons */
 .btn-auth {
     position: relative;
     overflow: hidden;
     border-radius: 50px;
     padding: 10px 22px;
     font-weight: 600;
     transition: all .3s ease;
     display: flex;
     align-items: center
 }

 /* Vệt sáng */
 .btn-auth::before {
     content: "";
     position: absolute;
     top: 0;
     left: -75%;
     width: 50%;
     height: 100%;
     background: linear-gradient(120deg,
             transparent,
             rgba(255, 255, 255, .6),
             transparent);
     transform: skewX(-20deg);
 }

 .btn-auth:hover::before {
     animation: shine 0.75s ease-in-out;
 }

 /* Nút đăng ký nổi bật hơn */
 .btn-cta {
     box-shadow: 0 12px 30px rgba(13, 110, 253, .35);
 }

 .btn-cta:hover {
     transform: translateY(-1px);
     box-shadow: 0 18px 45px rgba(13, 110, 253, .45);
 }

 /* Animation */
 @keyframes shine {
     0% {
         left: -75%;
     }

     100% {
         left: 125%;
     }
 }


 .btn-cta {
     box-shadow: 0 12px 28px rgba(37, 99, 235, .25);
     transition: all .3s ease;
 }


 /* Mobile spacing */
 @media (max-width: 991px) {
     .auth-buttons {
         margin-top: 16px;
         justify-content: center;
     }
 }


 .section-title {
     font-size: 2.5rem;
     font-weight: 700;
     margin-bottom: 1rem;
     position: relative;
     display: inline-block;
 }

 .section-title::after {
     content: '';
     position: absolute;
     width: 70px;
     height: 4px;
     background: var(--primary-color);
     bottom: -10px;
     left: 50%;
     transform: translateX(-50%);
     border-radius: 2px;
 }

 .section-subtitle {
     color: #6c757d;
     font-size: 1.1rem;
     max-width: 700px;
     margin: 0 auto 3rem;
 }

 .service-card {
     border-radius: 18px;
     border: none;
     overflow: hidden;
     height: 100%;

     box-shadow:
         0 8px 20px rgba(0, 0, 0, 0.08),
         0 20px 45px rgba(0, 0, 0, 0.12);

     transition: transform .35s ease, box-shadow .35s ease;
 }

 .service-card:hover {
     transform: translateY(-8px);
     box-shadow:
         0 14px 30px rgba(0, 0, 0, 0.12),
         0 35px 80px rgba(0, 0, 0, 0.18);
 }

 .service-icon {
     width: 70px;
     height: 70px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.8rem;
     margin-bottom: 1.5rem;
 }

 .facebook-bg {
     background-color: rgba(24, 119, 242, 0.1);
     color: var(--facebook-color);
 }

 .telegram-bg {
     background-color: rgba(0, 136, 204, 0.1);
     color: var(--telegram-color);
 }

 .tiktok-bg {
     background-color: rgba(0, 0, 0, 0.1);
     color: var(--tiktok-color);
 }

 .youtube-bg {
     background-color: rgba(255, 0, 0, 0.1);
     color: var(--youtube-color);
 }

 .instagram-bg {
     background-color: rgba(228, 64, 95, 0.1);
     color: var(--instagram-color);
 }

 .package-card {
     border-radius: 15px;
     overflow: hidden;
     border: 2px solid #e9ecef;
     transition: all 0.3s ease;
     position: relative;
 }

 .package-card.popular {
     border-color: var(--primary-color);
     transform: scale(1.05);
 }

 .package-header {
     padding: 1.5rem;
     background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
     color: white;
 }

 .package-name {
     font-size: 1.5rem;
     font-weight: 700;
     margin: 0;
 }

 .package-price {
     font-size: 2.5rem;
     font-weight: 800;
     margin: 1rem 0;
 }

 .package-price span {
     font-size: 1rem;
     font-weight: 400;
 }

 .popular-badge {
     position: absolute;
     top: 15px;
     right: 15px;
     background: var(--primary-color);
     color: white;
     padding: 5px 15px;
     border-radius: 50px;
     font-size: 0.8rem;
     font-weight: 600;
 }

 .feature-list {
     list-style: none;
     padding-left: 0;
 }

 .feature-list li {
     padding: 8px 0;
     border-bottom: 1px solid #f1f1f1;
 }

 .feature-list li i {
     color: #28a745;
     margin-right: 10px;
 }

 .stat-item {
     text-align: center;
     padding: 20px;
 }

 .stat-number {
     font-size: 3rem;
     font-weight: 800;
     color: var(--primary-color);
     margin-bottom: 0;
 }

 .stat-label {
     color: #6c757d;
     font-weight: 600;
     text-transform: uppercase;
     font-size: 0.9rem;
 }

 .testimonial-card {
     border-radius: 15px;
     padding: 2rem;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
     border: 1px solid #f1f1f1;
     height: 100%;
 }

 .client-avatar {
     width: 70px;
     height: 70px;
     border-radius: 50%;
     object-fit: cover;
     margin-right: 1rem;
 }

 .client-info h5 {
     margin-bottom: 0.3rem;
     font-weight: 700;
 }

 .client-info p {
     color: #6c757d;
     margin-bottom: 0;
 }

 .contact-section {
     background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
 }

 footer {
     background-color: var(--dark-color);
     color: white;
 }

 .social-icon {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background-color: rgba(255, 255, 255, 0.1);
     color: white;
     margin-right: 10px;
     transition: all 0.3s ease;
 }

 .social-icon:hover {
     transform: translateY(-5px);
     background-color: var(--primary-color);
 }

 .back-to-top {
     position: fixed;
     bottom: 30px;
     right: 30px;
     width: 50px;
     height: 50px;
     border-radius: 50%;
     background-color: var(--primary-color);
     color: white;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.2rem;
     z-index: 1000;
     cursor: pointer;
     opacity: 0;
     visibility: hidden;
     transition: all 0.3s ease;
     box-shadow: 0 5px 15px rgba(247, 37, 133, 0.3);
 }

 .back-to-top.active {
     opacity: 1;
     visibility: visible;
 }

 .counter {
     font-weight: 700;
 }

 .hero-section {
     background: linear-gradient(135deg, #1e3a8a, #2563eb, #7c3aed);
     padding: 120px 0;
 }

 .hero-badge {
     background: rgba(255, 255, 255, .15);
     color: #fff;
     padding: 10px 18px;
     border-radius: 999px;
     font-weight: 500;
     backdrop-filter: blur(6px);
 }

 .hero-title {
     font-size: 3rem;
     font-weight: 800;
     line-height: 1.2;
 }

 .hero-title .highlight-text {
     color: #facc15;
     display: block;
 }

 .hero-subtitle {
     font-size: 1.1rem;
     color: #e5e7eb;
     max-width: 520px;
 }

 .hero-btn {
     padding: 14px 34px;
     border-radius: 999px;
     font-weight: 600;
     box-shadow: 0 15px 35px rgba(0, 0, 0, .25);
 }

 .hero-btn-outline {
     padding: 14px 34px;
     border-radius: 999px;
     font-weight: 600;
     border-width: 2px;
 }

 .hero-image-wrapper {
     position: relative;
 }

 .hero-image {
     border-radius: 20px;
     box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
 }

 .footer-links li {
     margin-bottom: 8px;
 }

 .footer-links a {
     color: rgba(255, 255, 255, .6);
     text-decoration: none;
     transition: 0.3s;
 }

 .footer-links a:hover {
     color: var(--primary-color);
     padding-left: 4px;
 }

 /* Floating Icons */
 .floating-icon {
     position: absolute;
     width: 56px;
     height: 56px;
     background: #fff;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 22px;
     box-shadow: 0 10px 25px rgba(0, 0, 0, .2);
     animation: float 4s ease-in-out infinite;
 }

 .facebook {
     top: 10%;
     left: -20px;
     color: #1877f2;
 }

 .telegram {
     top: 45%;
     right: -20px;
     color: #229ED9;
     animation-delay: 1s;
 }

 .tiktok {
     bottom: -15px;
     left: 50%;
     transform: translateX(-50%);
     color: #000;
     animation-delay: 2s;
 }

 @keyframes float {
     0% {
         transform: translateY(0);
     }

     50% {
         transform: translateY(-12px);
     }

     100% {
         transform: translateY(0);
     }
 }

 /* Background Shapes */
 .hero-shape {
     position: absolute;
     border-radius: 50%;
     opacity: .25;
     filter: blur(60px);
 }

 .shape-1 {
     width: 300px;
     height: 300px;
     background: #facc15;
     top: -100px;
     right: -100px;
 }

 .shape-2 {
     width: 220px;
     height: 220px;
     background: #22d3ee;
     bottom: -80px;
     left: -80px;
 }

 .stat-card {
     background: rgba(255, 255, 255, 1);
     border-radius: 18px;
     padding: 35px 20px;
     box-shadow: 0 20px 40px rgba(0, 0, 0, .08);
     transition: all .35s ease;
     height: 100%;
 }

 .stat-card:hover {
     transform: translateY(-8px);
     box-shadow: 0 30px 60px rgba(0, 0, 0, .12);
 }

 .stat-icon {
     width: 56px;
     height: 56px;
     border-radius: 50%;
     background: rgba(0, 0, 0, .05);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 22px;
     margin: 0 auto 15px;
 }

 .stat-label {
     color: #6b7280;
     font-size: .95rem;
 }

 .faq-accordion .accordion-item {
     border: none;
     border-radius: 14px;
     margin-bottom: 16px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
     overflow: hidden;
 }

 .faq-accordion .accordion-button {
     font-weight: 600;
     padding: 18px 22px;
     background: #fff;
 }

 .faq-accordion .accordion-button:not(.collapsed) {
     background: linear-gradient(135deg, #0d6efd, #4dabf7);
     color: #fff;
 }

 .faq-accordion .accordion-button::after {
     background-size: 1.2rem;
     filter: brightness(0) invert(1);
 }

 .faq-accordion .accordion-body {
     font-size: 15px;
     line-height: 1.7;
     color: #555;
     background: #fff;
 }

 /* ===== MOBILE HERO ===== */
 @media (max-width: 768px) {

     .hero-section {
         padding-top: 90px;
         padding-bottom: 60px;
     }

     .hero-wrapper {
         display: none
     }

     .hero-content {
         text-align: center;
     }

     /* Badge */
     .hero-badge {
         font-size: 12px;
         padding: 6px 14px;
         border-radius: 50px;
         display: inline-block;
     }

     /* Title */
     .hero-title {
         font-size: 30px;
         line-height: 1.2;
         font-weight: 800;
         margin-bottom: 18px;
     }

     .hero-title .highlight-text {
         font-size: 32px;
     }

     /* Subtitle */
     .hero-subtitle {
         font-size: 15px;
         line-height: 1.6;
         margin-bottom: 32px;
         color: rgba(255, 255, 255, .9);
     }

     /* Buttons */
     .hero-content .btn-auth {
         width: 100%;
         justify-content: center;
         padding: 14px 20px;
         font-size: 15px;
         border-radius: 50px;
     }

     .hero-content .d-flex {
         flex-direction: column;
         gap: 12px;
     }

     /* Image */
     .hero-image-wrapper {
         max-width: 100%;
         margin: 0 auto;
     }

     .hero-image {
         border-radius: 18px;
         box-shadow: 0 20px 50px rgba(0, 0, 0, .35);
     }

     /* Floating icons */
     .floating-icon {
         width: 42px;
         height: 42px;
         font-size: 16px;
     }

     .floating-icon.facebook {
         top: 10%;
         left: 5%;
     }

     .floating-icon.telegram {
         top: 45%;
         right: 5%;
     }

     .floating-icon.tiktok {
         bottom: 5%;
         left: 45%;
     }

     /* Shapes nhẹ lại cho mobile */
     .hero-shape {
         opacity: .25;
         filter: blur(60px);
     }

     .stats-section {
         margin-top: -40px !important;
         padding-bottom: 20px;
     }

     .stat-card {
         background: #fff;
         border-radius: 16px;
         padding: 18px 12px;
         box-shadow:
             0 10px 25px rgba(0, 0, 0, .08),
             0 30px 60px rgba(0, 0, 0, .12);
         height: 100%;
     }

     .stat-number {
         font-size: 28px;
         font-weight: 800;
         margin-bottom: 6px;
         color: #0d6efd;
     }

     .stat-label {
         font-size: 13px;
         color: #666;
         margin: 0;
         line-height: 1.4;
     }

     #services {
         padding-top: 40px;
         padding-bottom: 40px;
     }

     .section-title {
         font-size: 26px;
         font-weight: 800;
         margin-bottom: 10px;
     }

     .section-subtitle {
         font-size: 14px;
         line-height: 1.6;
         color: #666;
         padding: 0 10px;
     }

     .service-card {
         border-radius: 18px;
         box-shadow:
             0 12px 30px rgba(0, 0, 0, .08),
             0 30px 80px rgba(0, 0, 0, .12);
         transition: transform .3s ease, box-shadow .3s ease;
     }

     .service-card:hover {
         transform: translateY(-6px);
         box-shadow:
             0 18px 45px rgba(0, 0, 0, .15),
             0 50px 120px rgba(0, 0, 0, .2);
     }

     .service-card .card-body {
         padding: 20px 18px;
     }

     /* ICON */
     .service-icon {
         width: 64px;
         height: 64px;
         border-radius: 16px;
         display: flex;
         align-items: center;
         justify-content: center;
         font-size: 26px;
         color: #fff;
         margin-bottom: 16px;
     }

     .card-title {
         font-size: 18px;
         font-weight: 700;
     }

     .card-text {
         font-size: 14px;
         line-height: 1.6;
         color: #555;
     }

     /* FEATURE LIST */
     .feature-list {
         padding-left: 0;
         margin-top: 14px;
     }

     .feature-list li {
         list-style: none;
         font-size: 14px;
         margin-bottom: 8px;
         display: flex;
         align-items: center;
         gap: 8px;
         color: #444;
     }

     .feature-list i {
         color: #0d6efd;
         font-size: 15px;
     }

     .facebook-bg {
         background: linear-gradient(135deg, #1877f2, #4e9bff);
     }

     .telegram-bg {
         background: linear-gradient(135deg, #0088cc, #3bb9ff);
     }

     .tiktok-bg {
         background: linear-gradient(135deg, #000, #444);
     }

     .youtube-bg {
         background: linear-gradient(135deg, #ff0000, #ff5a5a);
     }

     .instagram-bg {
         background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
     }


 }

 @media (max-width: 576px) {
     .hero-title {
         font-size: 26px;
     }

     .hero-title .highlight-text {
         font-size: 28px;
     }

     .hero-subtitle {
         font-size: 14px;
     }
 }