 :root {
     --dark-bg: #0b0f14;
     --text-main: #e6f1ff;
     --text-muted: #a9c1d9;
     --neon-blue: #00e5ff;
     --neon-pink: #ff00ff;
     --neon-green: #39ff14;
     --glass-bg: rgba(20, 25, 35, 0.5);
     --glass-border: rgba(255, 255, 255, 0.1);
     --font-main: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
     --shadow-neon-blue: 0 0 5px var(--neon-blue), 0 0 15px var(--neon-blue), 0 0 25px var(--neon-blue);
     --shadow-neon-pink: 0 0 5px var(--neon-pink), 0 0 15px var(--neon-pink), 0 0 25px var(--neon-pink);
 }


 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
     font-size: 16px;
 }

 body {
     font-family: var(--font-main);
     background-color: var(--dark-bg);
     color: var(--text-main);
     line-height: 1.6;
     overflow-x: hidden;
 }

 img {
     max-width: 100%;
     height: auto;
     display: block;
 }

 a {
     color: var(--neon-blue);
     text-decoration: none;
     transition: color 0.3s ease, filter 0.3s ease;
 }

 a:hover,
 a:focus {
     color: var(--text-main);
     filter: drop-shadow(0 0 8px var(--neon-blue));
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
     font-weight: 700;
     line-height: 1.2;
     margin-bottom: 1rem;
 }

 h1 {
     font-size: 2.5rem;
 }

 h2 {
     font-size: 2rem;
     color: var(--text-main);
 }

 h3 {
     font-size: 1.5rem;
 }

 p {
     margin-bottom: 1rem;
     color: var(--text-muted);
 }


 .container {
     width: 90%;
     max-width: 1200px;
     margin: 0 auto;
 }

 section {
     padding: 4rem 0;
 }

 .section-title {
     text-align: center;
     margin-bottom: 3rem;
     font-size: 2.25rem;
     text-transform: uppercase;
     letter-spacing: 2px;
     color: var(--text-main);
     text-shadow: 0 0 10px var(--neon-pink);
 }

 .text-neon-blue {
     color: var(--neon-blue);
     text-shadow: var(--shadow-neon-blue);
 }

 .text-neon-pink {
     color: var(--neon-pink);
     text-shadow: var(--shadow-neon-pink);
 }

 .glass-effect {
     background: var(--glass-bg);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     border: 1px solid var(--glass-border);
     border-radius: 12px;
     box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
 }

 .btn {
     display: inline-block;
     padding: 0.75rem 1.5rem;
     border-radius: 8px;
     font-weight: 600;
     text-decoration: none;
     text-align: center;
     cursor: pointer;
     transition: all 0.3s ease;
     border: 2px solid transparent;
     font-size: 1rem;
 }

 .btn-primary {
     background-color: var(--neon-blue);
     color: var(--dark-bg);
     box-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue);
 }

 .btn-primary:hover,
 .btn-primary:focus {
     background-color: var(--text-main);
     color: var(--dark-bg);
     box-shadow: 0 0 15px var(--neon-blue), 0 0 30px var(--neon-blue);
     transform: translateY(-2px);
 }

 .btn-secondary {
     background-color: transparent;
     color: var(--neon-blue);
     border-color: var(--neon-blue);
 }

 .btn-secondary:hover,
 .btn-secondary:focus {
     background-color: var(--neon-blue);
     color: var(--dark-bg);
     transform: translateY(-2px);
 }


 .main-header {
     position: sticky;
     top: 0;
     left: 0;
     width: 100%;
     padding: 1rem 0;
     z-index: 1000;
     background: rgba(11, 15, 20, 0.8);
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     border-bottom: 1px solid var(--glass-border);
 }

 .main-header .container {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .logo {
     font-size: 1.75rem;
     font-weight: 700;
     color: var(--text-main);
     text-shadow: 0 0 10px var(--neon-green), 0 0 20px var(--neon-green);
     letter-spacing: 1px;
 }

 .nav-right {
     display: flex;
     align-items: center;
 }

 .nav-links {
     display: none;
     list-style: none;
 }

 .nav-links li {
     margin-left: 1.5rem;
 }

 .nav-links a {
     color: var(--text-muted);
     font-weight: 600;
     font-size: 0.95rem;
     padding: 0.5rem;
 }

 .nav-links a:hover,
 .nav-links a.active {
     color: var(--neon-blue);
     text-shadow: 0 0 5px var(--neon-blue);
 }

 .cart-icon {
     color: var(--text-main);
     font-size: 1.25rem;
     margin-left: 1.5rem;
     position: relative;
     cursor: pointer;
 }

 .cart-counter {
     position: absolute;
     top: -8px;
     right: -10px;
     background-color: var(--neon-pink);
     color: var(--dark-bg);
     font-size: 0.75rem;
     font-weight: 700;
     border-radius: 50%;
     width: 18px;
     height: 18px;
     display: flex;
     justify-content: center;
     align-items: center;
     line-height: 1;
     box-shadow: 0 0 8px var(--neon-pink);
 }

 .menu-toggle {
     display: block;
     font-size: 1.5rem;
     color: var(--text-main);
     background: none;
     border: none;
     cursor: pointer;
     margin-left: 1rem;
 }


 .mobile-nav-container {
     display: block;
     position: fixed;
     top: 0;
     left: -100%;
     width: 80%;
     max-width: 300px;
     height: 100vh;
     background: var(--dark-bg);
     padding: 2rem;
     z-index: 1100;
     transition: left 0.4s ease-in-out;
     border-right: 1px solid var(--glass-border);
 }

 .mobile-nav-container.open {
     left: 0;
     box-shadow: 10px 0 30px rgba(0, 0, 0, 0.3);
 }

 .mobile-nav-container .nav-links {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
 }

 .mobile-nav-container .nav-links li {
     margin: 1rem 0;
     width: 100%;
 }

 .mobile-nav-container .nav-links a {
     font-size: 1.25rem;
 }

 .menu-close-btn {
     position: absolute;
     top: 1.5rem;
     right: 1.5rem;
     font-size: 2rem;
     color: var(--text-main);
     background: none;
     border: none;
     cursor: pointer;
 }


 #hero {
     min-height: 90vh;
     display: grid;
     place-items: center;
     text-align: center;
     background: url('../img/hero.png') no-repeat center center/cover;
     position: relative;
     padding-top: 5rem;
 }

 #hero::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: linear-gradient(180deg, rgba(11, 15, 20, 0.8) 0%, rgba(11, 15, 20, 0.95) 100%);
 }

 .hero-content {
     position: relative;
     z-index: 2;
 }

 #hero h1 {
     font-size: 2.5rem;
     color: var(--text-main);
     margin-bottom: 1rem;
     text-shadow: 0 0 10px var(--neon-blue), 0 0 20px var(--neon-blue);
 }

 #hero p {
     font-size: 1.25rem;
     color: var(--text-muted);
     margin-bottom: 2rem;
     max-width: 600px;
 }

 .hero-buttons .btn {
     margin: 0.5rem;
 }


 .shop-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 1.5rem;
 }

 .product-card {
     display: flex;
     flex-direction: column;
     background: var(--glass-bg);
     border: 1px solid var(--glass-border);
     border-radius: 12px;
     overflow: hidden;
     transition: all 0.3s ease;
 }

 .product-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 0 20px rgba(0, 229, 255, 0.3);
     border-color: var(--neon-blue);
 }

 .product-image {
     width: 100%;
     aspect-ratio: 1 / 1;
     background-color: #1a202c;
     position: relative;
 }

 .product-image img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .product-badge {
     position: absolute;
     top: 1rem;
     left: 1rem;
     background-color: var(--neon-pink);
     color: var(--dark-bg);
     padding: 0.25rem 0.75rem;
     border-radius: 6px;
     font-size: 0.85rem;
     font-weight: 700;
 }

 .product-info {
     padding: 1.5rem;
     flex-grow: 1;
     display: flex;
     flex-direction: column;
 }

 .product-info h3 {
     font-size: 1.25rem;
     color: var(--text-main);
     margin-bottom: 0.5rem;
 }

 .product-info p {
     font-size: 0.9rem;
     color: var(--text-muted);
     margin-bottom: 1rem;
     flex-grow: 1;
 }

 .product-footer {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .product-price {
     font-size: 1.5rem;
     font-weight: 700;
     color: var(--neon-green);
 }

 .product-card .btn {
     padding: 0.5rem 1rem;
     font-size: 0.9rem;
     background-color: transparent;
     border: 2px solid var(--neon-green);
     color: var(--neon-green);
 }

 .product-card .btn:hover {
     background-color: var(--neon-green);
     color: var(--dark-bg);
     box-shadow: 0 0 10px var(--neon-green);
 }


 #about {
     background-color: #0e131a;
 }

 .about-content {
     display: grid;
     grid-template-columns: 1fr;
     gap: 2rem;
     align-items: center;
 }

 .about-image img {
     border-radius: 12px;
     border: 2px solid var(--glass-border);
     box-shadow: 0 0 25px rgba(255, 0, 255, 0.2);
 }

 .about-text h3 {
     color: var(--neon-pink);
     font-size: 1.75rem;
 }

 .about-features {
     list-style: none;
     margin-top: 1.5rem;
 }

 .about-features li {
     display: flex;
     align-items: center;
     margin-bottom: 1rem;
     font-size: 1.1rem;
 }

 .about-features .fas {
     font-size: 1.5rem;
     color: var(--neon-pink);
     margin-right: 1rem;
     width: 30px;
     text-align: center;
 }


 .benefits-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 1.5rem;
 }

 .benefit-item {
     padding: 2rem;
     text-align: center;
 }

 .benefit-item .fas {
     font-size: 3rem;
     color: var(--neon-blue);
     margin-bottom: 1rem;
     text-shadow: var(--shadow-neon-blue);
 }

 .benefit-item h3 {
     font-size: 1.25rem;
     color: var(--text-main);
     margin-bottom: 0.5rem;
 }


 #delivery {
     background-color: #0e131a;
 }

 .delivery-content {
     display: grid;
     grid-template-columns: 1fr;
     gap: 3rem;
 }

 .sizing-table {
     width: 100%;
     border-collapse: collapse;
     text-align: center;
     margin-bottom: 1rem;
 }

 .sizing-table th,
 .sizing-table td {
     border: 1px solid var(--glass-border);
     padding: 0.75rem;
 }

 .sizing-table th {
     background-color: var(--glass-bg);
     color: var(--neon-blue);
 }

 .shipping-info {
     padding: 2rem;
 }

 .shipping-info h3 {
     color: var(--neon-blue);
     border-bottom: 2px solid var(--neon-blue);
     padding-bottom: 0.5rem;
     margin-bottom: 1rem;
     display: inline-block;
 }

 .shipping-info p {
     font-size: 1.1rem;
 }


 .reviews-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 1.5rem;
 }

 .review-card {
     padding: 1.5rem;
     display: flex;
     flex-direction: column;
     height: 100%;
 }

 .review-stars {
     color: #ffd700;
     margin-bottom: 1rem;
 }

 .review-card p {
     font-style: italic;
     color: var(--text-main);
     margin-bottom: 1.5rem;
     flex-grow: 1;
 }

 .review-author {
     font-weight: 700;
     color: var(--neon-green);
 }

 .review-author span {
     font-weight: 400;
     color: var(--text-muted);
     font-size: 0.9rem;
 }


 .faq-accordion {
     max-width: 800px;
     margin: 0 auto;
 }

 .faq-item {
     border: 1px solid var(--glass-border);
     border-radius: 8px;
     margin-bottom: 1rem;
     overflow: hidden;
 }

 .faq-question {
     width: 100%;
     padding: 1.5rem;
     background: var(--glass-bg);
     border: none;
     color: var(--text-main);
     font-size: 1.1rem;
     font-weight: 600;
     text-align: left;
     cursor: pointer;
     display: flex;
     justify-content: space-between;
     align-items: center;
     transition: background-color 0.3s ease;
 }

 .faq-question:hover {
     background: rgba(20, 25, 35, 0.8);
 }

 .faq-question::after {
     content: '\f078';
     font-family: 'Font Awesome 5 Free';
     font-weight: 900;
     color: var(--neon-blue);
     transition: transform 0.3s ease;
 }

 .faq-item.active .faq-question::after {
     transform: rotate(-180deg);
 }

 .faq-answer {
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.4s ease-out, padding 0.4s ease-out;
     background-color: rgba(11, 15, 20, 0.3);
 }

 .faq-answer p {
     padding: 1.5rem;
     margin: 0;
     color: var(--text-muted);
 }

 .faq-item.active .faq-answer {
     max-height: 300px;
     padding: 0;
 }


 #contact {
     background-color: #0e131a;
 }

 .contact-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 2rem;
 }

 .contact-info h3,
 .contact-form h3 {
     color: var(--neon-pink);
     margin-bottom: 1.5rem;
 }

 .contact-info ul {
     list-style: none;
 }

 .contact-info li {
     display: flex;
     align-items: flex-start;
     margin-bottom: 1rem;
     font-size: 1.05rem;
 }

 .contact-info .fas {
     color: var(--neon-pink);
     margin-right: 1rem;
     margin-top: 5px;
     width: 20px;
 }

 .map-container img {
     border-radius: 12px;
     border: 1px solid var(--glass-border);
     margin-top: 2rem;
     width: 100%;
     height: 300px;
     object-fit: cover;
 }


 .form-group {
     margin-bottom: 1.5rem;
     position: relative;
 }

 .form-control {
     width: 100%;
     padding: 0.75rem 1rem;
     font-size: 1rem;
     background-color: var(--dark-bg);
     border: 2px solid var(--glass-border);
     border-radius: 8px;
     color: var(--text-main);
     transition: border-color 0.3s ease, box-shadow 0.3s ease;
 }

 .form-control:focus {
     outline: none;
     border-color: var(--neon-blue);
     box-shadow: 0 0 10px rgba(0, 229, 255, 0.3);
 }

 textarea.form-control {
     min-height: 120px;
     resize: vertical;
 }


 .honeypot-field {
     position: absolute;
     left: -5000px;
     opacity: 0;
     visibility: hidden;
 }

 .checkbox-group {
     display: flex;
     align-items: flex-start;
 }

 .checkbox-group input[type="checkbox"] {
     margin-right: 0.75rem;
     margin-top: 5px;
     width: 18px;
     height: 18px;
 }

 .checkbox-group label {
     font-size: 0.9rem;
     color: var(--text-muted);
 }

 .checkbox-group label a {
     color: var(--neon-blue);
     text-decoration: underline;
 }

 .form-error {
     color: #ff4d4d;
     font-size: 0.9rem;
     margin-top: 5px;
     display: none;
 }

 input:invalid,
 textarea:invalid,
 input.invalid,
 textarea.invalid {
     border-color: #ff4d4d;
 }


 .main-footer {
     padding: 3rem 0;
     background-color: #000;
     border-top: 1px solid var(--glass-border);
     text-align: center;
 }

 .footer-content {
     display: grid;
     grid-template-columns: 1fr;
     gap: 2rem;
     align-items: center;
 }

 .footer-logo {
     font-size: 2rem;
     font-weight: 700;
     color: var(--text-main);
     text-shadow: 0 0 10px var(--neon-green), 0 0 20px var(--neon-green);
     margin-bottom: 0.5rem;
 }

 .footer-about p {
     max-width: 600px;
     margin: 0 auto 1.5rem auto;
     font-size: 0.9rem;
 }

 .footer-links {
     list-style: none;
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 1.5rem;
     margin-bottom: 1.5rem;
 }

 .footer-links a {
     color: var(--text-muted);
     font-weight: 500;
 }

 .footer-links a:hover {
     color: var(--neon-blue);
 }

 .footer-social {
     display: flex;
     justify-content: center;
     gap: 1.5rem;
     margin-bottom: 1.5rem;
 }

 .footer-social a {
     font-size: 1.75rem;
     color: var(--text-muted);
     transition: all 0.3s ease;
 }

 .footer-social a:hover {
     color: var(--neon-pink);
     transform: scale(1.1) translateY(-3px);
     filter: drop-shadow(0 0 8px var(--neon-pink));
 }

 .footer-payment img {
     height: 24px;
     width: auto;
     margin: 0 0.5rem;
     filter: grayscale(1) brightness(1.5);
     opacity: 0.7;
 }

 .footer-payment {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 1rem;
     margin-bottom: 1.5rem;
 }

 .copyright {
     font-size: 0.9rem;
     color: var(--text-muted);
 }


 #toast-notification {
     position: fixed;
     bottom: -100px;
     left: 50%;
     transform: translateX(-50%);
     background-color: var(--neon-green);
     color: var(--dark-bg);
     padding: 1rem 1.5rem;
     border-radius: 8px;
     font-weight: 600;
     box-shadow: 0 0 20px var(--neon-green);
     z-index: 2000;
     transition: bottom 0.5s ease-in-out;
 }

 #toast-notification.show {
     bottom: 30px;
 }


 :focus-visible {
     outline: 3px solid var(--neon-blue);
     outline-offset: 3px;
 }

 .btn:focus-visible,
 .form-control:focus-visible,
 .faq-question:focus-visible {
     outline: 3px solid var(--neon-blue);
     outline-offset: 3px;
 }




 @media (min-width: 576px) {
     .shop-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .benefits-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }


 @media (min-width: 768px) {
     h1 {
         font-size: 3.5rem;
     }

     #hero h1 {
         font-size: 4rem;
     }

     #hero p {
         font-size: 1.35rem;
     }

     .menu-toggle {
         display: none;
     }

     .mobile-nav-container {
         display: none;
     }

     .nav-links {
         display: flex;
     }

     .shop-grid {
         grid-template-columns: repeat(3, 1fr);
     }

     .benefits-grid {
         grid-template-columns: repeat(3, 1fr);
     }

     .about-content {
         grid-template-columns: 1fr 1fr;
     }

     .delivery-content {
         grid-template-columns: 1fr 1fr;
     }

     .reviews-grid {
         grid-template-columns: repeat(2, 1fr);
     }

     .contact-grid {
         grid-template-columns: 1fr 2fr;
     }
 }


 @media (min-width: 992px) {
     .shop-grid {
         grid-template-columns: repeat(4, 1fr);
     }

     .reviews-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }


 @media (min-width: 1200px) {
     .benefits-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 .privacy-policy-container {
     padding: 3rem 0;
     max-width: 800px;
 }

 .privacy-policy-container h1 {
     color: var(--neon-blue);
     text-shadow: var(--shadow-neon-blue);
     margin-bottom: 0.5rem;
     font-size: 2.5rem;
 }

 .privacy-policy-container .last-updated {
     font-style: italic;
     color: var(--text-muted);
     margin-bottom: 2rem;
 }

 .privacy-policy-container h2 {
     color: var(--neon-pink);
     font-size: 1.75rem;
     margin-top: 2.5rem;
     margin-bottom: 1rem;
     border-bottom: 1px solid var(--glass-border);
     padding-bottom: 0.5rem;
 }

 .privacy-policy-container h3 {
     color: var(--text-main);
     font-size: 1.25rem;
     margin-top: 1.5rem;
 }

 .privacy-policy-container ul {
     list-style-type: disc;
     margin-left: 1.5rem;
     color: var(--text-muted);
 }

 .privacy-policy-container li {
     margin-bottom: 0.5rem;
 }

 .privacy-policy-container .btn {
     margin-top: 2rem;
 }

 @media (min-width: 768px) {
     .menu-toggle {
         display: none;
     }

     .mobile-nav-container {
         display: none;
     }

     .nav-links {
         display: flex;
     }

     .privacy-policy-container h1 {
         font-size: 3rem;
     }
 }