/* Maacko E-commerce - Homepage Styles */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {

  --primary: #1a6fd4;

  --primary-dark: #1558a8;

  --primary-light: #e8f2fc;

  --primary-gradient: linear-gradient(135deg, #d4ebff 0%, #b8dcff 50%, #9ecfff 100%);

  --footer-bg: #0c3d7a;

  --footer-dark: #082d5c;

  --text-dark: #1a1a2e;

  --text-muted: #666;

  --text-light: #888;

  --white: #ffffff;

  --border: #e5e7eb;

  --green: #16a34a;

  --shadow: 0 2px 12px rgba(0, 0, 0, 0.08);

  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);

  --radius: 8px;

  --radius-lg: 12px;

  --container: 1260px;

}



*,

*::before,

*::after {

  box-sizing: border-box;

  margin: 0;

  padding: 0;

}



html, body {

  width: 100%;

  overflow-x: hidden;

}



html {

  scroll-behavior: smooth;

  overflow-x: hidden;

}



body {

  font-family: "Manrope", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;

  color: var(--text-dark);

  background: var(--white);

  line-height: 1.6;

  overflow-x: hidden;

  width: 100%;

  max-width: 100vw;

}



a {

  text-decoration: none;

  color: inherit;

}



ul {

  list-style: none;

}



img {

  max-width: 100%;

  height: auto;

  display: block;

}



.container {

  max-width: var(--container);

  margin: 0 auto;

  padding: 0 15px;

  box-sizing: border-box;

}



/* ========== TOP BAR ========== */

.top-bar {

  background: var(--primary);

  color: var(--white);

  font-size: 14px;

  padding: 8px 0;

}



.top-bar .container {

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: 8px;

}



.top-bar-links {

  display: flex;

  gap: 20px;

  flex-wrap: wrap;

}



.top-bar-links a:hover {

  text-decoration: underline;

}



/* ========== HEADER ========== */

.main-header {

  background: var(--white);

  padding: 18px 0;

  border-bottom: 1px solid var(--border);

}



.header-inner {

  display: flex;

  align-items: center;

  gap: 32px;

}



.logo img {

  height: 54px;

  width: auto;

}



.search-box {

  flex: 1;

  display: flex;

  min-width: 0;

}



.search-box input {

  flex: 1;

  padding: 14px 18px;

  border: 2px solid var(--primary);

  border-right: none;

  border-radius: var(--radius) 0 0 var(--radius);

  font-size: 16px;

  outline: none;

}



.search-box input:focus {

  border-color: var(--primary-dark);

}



.search-box button {

  padding: 14px 30px;

  background: var(--primary);

  color: var(--white);

  border: none;

  border-radius: 0 var(--radius) var(--radius) 0;

  font-size: 16px;
  font-weight: 600;

  cursor: pointer;

  transition: background 0.2s;

}



.search-box button:hover {

  background: var(--primary-dark);

}



.header-actions {

  display: flex;

  align-items: center;

  gap: 30px;

}



.header-action {

  display: flex;

  align-items: center;

  gap: 8px;

  font-size: 16px;
  font-weight: 600;

  cursor: pointer;

  transition: color 0.2s;

}



.header-action:hover {

  color: var(--primary);

}



.header-action svg {

  width: 24px;

  height: 24px;

}



.cart-badge {

  position: relative;

}



.cart-count {

  position: absolute;

  top: -8px;

  right: -10px;

  background: var(--primary);

  color: var(--white);

  font-size: 11px;

  font-weight: 700;

  width: 18px;

  height: 18px;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

}



/* ========== NAV BAR ========== */

.main-nav {

  background: var(--white);

  border-bottom: 1px solid var(--border);

  padding: 0;

}



.nav-inner {

  display: flex;

  align-items: stretch;

}



.all-categories {

  display: flex;

  align-items: center;

  gap: 10px;

  background: var(--primary);

  color: var(--white);

  padding: 14px 20px;

  font-weight: 600;

  font-size: 16px;

  cursor: pointer;

  white-space: nowrap;

  transition: background 0.2s;

}



.all-categories:hover {

  background: var(--primary-dark);

}



.nav-links {

  display: flex;

  align-items: center;

  gap: 4px;

  padding: 0 8px;

}



.nav-links a {

  padding: 14px 16px;

  font-size: 16px;

  font-weight: 500;

  white-space: nowrap;

  transition: color 0.2s;

}



.nav-links a:hover,

.nav-links a.active {

  color: var(--primary);

}



/* ========== HERO BANNER ========== */

.hero-section {

  padding: 20px 0;

}



.hero-banner {

  position: relative;

  border-radius: var(--radius-lg);

  overflow: hidden;

  width: 100%;

}



.hero-content {

  flex: 1;

  padding: 40px 48px;

  z-index: 2;

}



.hero-content h1 {

  font-size: 2.4rem;

  font-weight: 800;

  color: var(--text-dark);

  line-height: 1.2;

  margin-bottom: 12px;

}



.hero-content p {

  font-size: 15px;

  color: var(--text-muted);

  margin-bottom: 24px;

  max-width: 380px;

}



.btn-primary {

  display: inline-block;

  padding: 12px 32px;

  background: var(--primary);

  color: var(--white);

  border: none;

  border-radius: 24px;

  font-size: 15px;

  font-weight: 600;

  cursor: pointer;

  transition: background 0.2s, transform 0.2s;

}



.btn-primary:hover {

  background: var(--primary-dark);

  transform: translateY(-1px);

}



.hero-image {
  width: 100%;

}



.hero-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;

}



.hero-arrow {

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  width: 36px;

  height: 36px;

  background: rgba(255, 255, 255, 0.9);

  border: none;

  border-radius: 50%;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow: var(--shadow);

  z-index: 3;

  transition: background 0.2s;

}



.hero-arrow:hover {

  background: var(--white);

}



.hero-arrow.prev {

  left: 16px;

}



.hero-arrow.next {

  right: 16px;

}



/* ========== QUICK CATEGORIES ========== */

.quick-categories {

  padding: 28px 0;

}



.quick-cat-grid {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));

  gap: 12px;

}



.quick-cat-item {

  text-align: center;

  cursor: pointer;

  transition: transform 0.2s;

}



.quick-cat-item:hover {

  transform: translateY(-4px);

}



.quick-cat-icon {

  width: 72px;

  height: 72px;

  margin: 0 auto 8px;

  background: var(--white);

  border: 1px solid var(--border);

  border-radius: var(--radius);

  display: flex;

  align-items: center;

  justify-content: center;

  overflow: hidden;

  box-shadow: var(--shadow);

}



.quick-cat-icon img {

  width: 56px;

  height: 56px;

  object-fit: contain;

}



.quick-cat-item span {

  font-size: 15px;

  font-weight: 600;

  color: var(--text-dark);

}



/* ========== PROMO BANNERS ========== */

.promo-banners {

  padding: 8px 0 28px;

}



.promo-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 16px;

}



.promo-card {

  position: relative;

  border-radius: var(--radius-lg);

  overflow: hidden;

  min-height: 180px;

  display: flex;

  align-items: center;


}



.promo-card img {

  position: absolute;

  inset: 0;

  width: 100%;

  object-fit: cover;

}



.promo-overlay {

  position: relative;

  z-index: 2;

  padding: 24px;

  color: var(--white);

  background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, transparent 70%);

  width: 100%;

  height: 100%;

  display: flex;

  flex-direction: column;

  justify-content: center;

}



.promo-overlay h3 {

  font-size: 1.4rem;

  font-weight: 800;

  margin-bottom: 4px;

}



.promo-overlay p {

  font-size: 14px;

  margin-bottom: 12px;

  opacity: 0.95;

}



.promo-overlay .btn-primary {

  padding: 8px 20px;

  font-size: 14px;

  width: fit-content;

}



/* ========== SECTION HEADING ========== */

.section-heading {

  text-align: center;

  margin-bottom: 28px;

}



.section-heading h2 {

  font-size: clamp(1.7rem, 2.5vw, 2rem);

  font-weight: 800;

  letter-spacing: -0.03em;

  color: var(--text-dark);

  margin-bottom: 8px;

}



.section-heading .underline {

  width: 50px;

  height: 3px;

  background: var(--primary);

  margin: 0 auto;

  border-radius: 2px;

}



/* ========== SHOP BY CATEGORY ========== */

.shop-category {

  padding: 36px 0;

}



.category-grid {

  display: grid;

  grid-template-columns: repeat(6, 1fr);

  gap: 20px;

}



.category-card {

  text-align: center;

  cursor: pointer;

  transition: transform 0.2s;

}



.category-card:hover {

  transform: scale(1.04);

}



.category-card .cat-img {

  width: 120px;

  height: 120px;

  margin: 0 auto 10px;

  border-radius: 50%;

  overflow: hidden;

  border: 3px solid var(--border);

  box-shadow: var(--shadow);

}



.category-card .cat-img img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}



.category-card span {

  font-size: 16px;

  font-weight: 700;

}



/* ========== IMAGE + PRODUCTS SECTION ========== */
.image-products-section {
  padding: 36px 0;
}

.image-products-grid {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 20px;
  align-items: start;
}

.image-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.products-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.products-box {
  display: flex;
  flex-direction: row;
  gap: 16px;
  overflow-x: auto;
  padding: 10px 40px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
}

.products-box::-webkit-scrollbar {
  display: none;
}

.products-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow);
  z-index: 2;
  font-size: 20px;
  transition: background 0.2s, border-color 0.2s;
}

.products-arrow:hover {
  background: var(--primary-light);
  border-color: var(--primary);
}

.products-arrow.prev {
  left: 0;
}

.products-arrow.next {
  right: 0;
}

.products-box .product-card {
  flex: 0 0 280px;
  max-width: 245px;
  margin: 0;
}

/* ========== EV SECTION ========== */

.ev-section {

  background: var(--primary-light);

  padding: 48px 0;

  margin: 20px 0;

}



.ev-inner {

  display: grid;

  grid-template-columns: 1fr 1.2fr 1fr;

  gap: 32px;

  align-items: center;

}



.ev-content h2 {

  font-size: clamp(1.8rem, 3vw, 2.2rem);

  font-weight: 800;

  color: var(--primary);

  margin-bottom: 16px;

  line-height: 1.3;

}



.ev-content ul {

  margin-bottom: 24px;

}



.ev-content li {

  padding: 6px 0;

  font-size: 15px;

  color: var(--text-muted);

  padding-left: 20px;

  position: relative;

}



.ev-content li::before {

  content: "•";

  color: var(--primary);

  font-weight: bold;

  position: absolute;

  left: 0;

}



.ev-scooter img {

  max-height: 260px;

  margin: 0 auto;

  filter: drop-shadow(0 10px 25px rgba(0, 0, 0, 0.15));

}



.ev-features {

  display: flex;

  flex-direction: column;

  gap: 20px;

}



.ev-feature {

  display: flex;

  align-items: center;

  gap: 14px;

}



.ev-feature-icon {

  width: 48px;

  height: 48px;

  background: var(--primary);

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  flex-shrink: 0;

}



.ev-feature-icon svg {

  width: 24px;

  height: 24px;

  fill: var(--white);

}



.ev-feature span {

  font-size: 15px;

  font-weight: 700;

}



/* ========== FEATURED PRODUCTS ========== */

.featured-products {

  padding: 36px 0;

}



.products-carousel {

  position: relative;

}



.products-track {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

  gap: 16px;

  overflow-x: auto;

  scroll-behavior: smooth;

  scrollbar-width: none;

  -ms-overflow-style: none;

}



.products-track::-webkit-scrollbar {

  display: none;

}



.product-card {

  background: var(--white);

  border: 1px solid var(--border);

  border-radius: var(--radius-lg);

  overflow: hidden;

  transition: box-shadow 0.2s, transform 0.2s;

}



.product-card:hover {

  box-shadow: var(--shadow-lg);

  transform: translateY(-4px);

}



.product-img {

  height: 160px;

  padding: 16px;

  display: flex;

  align-items: center;

  justify-content: center;

  background: #fafafa;

}



.product-img img {

  max-height: 130px;

  object-fit: contain;

}



.product-info {

  padding: 12px 14px 14px;

}



.product-info h4 {

  font-size: 16px;

  font-weight: 700;

  margin-bottom: 8px;

  white-space: nowrap;

  overflow: hidden;

  text-overflow: ellipsis;

}



.product-price {

  display: flex;

  align-items: center;

  gap: 8px;

  flex-wrap: wrap;

  margin-bottom: 10px;

}



.price-current {

  font-size: 18px;

  font-weight: 800;

  color: var(--text-dark);

}



.price-old {

  font-size: 13px;

  color: var(--text-light);

  text-decoration: line-through;

}



.price-off {

  font-size: 12px;

  font-weight: 700;

  color: var(--green);

}



.btn-add-cart {

  width: 100%;

  padding: 10px;

  background: var(--primary);

  color: var(--white);

  border: none;

  border-radius: var(--radius);

  font-size: 14px;

  font-weight: 600;

  cursor: pointer;

  transition: background 0.2s;

}



.btn-add-cart:hover {

  background: var(--primary-dark);

}



.carousel-arrow {

  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  width: 36px;

  height: 36px;

  background: var(--white);

  border: 1px solid var(--border);

  border-radius: 50%;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  box-shadow: var(--shadow);

  z-index: 2;

}



.carousel-arrow:hover {

  background: var(--primary-light);

  border-color: var(--primary);

}



.carousel-arrow.prev {

  left: 0;

}



.carousel-arrow.next {

  right: 0;

}



/* ========== TRUST BADGES ========== */

.trust-bar {

  background: var(--white);

  border-top: 1px solid var(--border);

  border-bottom: 1px solid var(--border);

  padding: 28px 0;

}



.trust-grid {

  display: grid;

  grid-template-columns: repeat(5, 1fr);

  gap: 16px;

}



.trust-item {

  display: flex;

  align-items: center;

  gap: 14px;

}



.trust-icon {

  width: 44px;

  height: 44px;

  background: var(--primary-light);

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  flex-shrink: 0;

}



.trust-icon svg {

  width: 22px;

  height: 22px;

  fill: var(--primary);

}



.trust-item h4 {

  font-size: 16px;

  font-weight: 800;

  margin-bottom: 2px;

}



.trust-item p {

  font-size: 14px;

  color: var(--text-muted);

}



/* ========== NEWSLETTER & APP ========== */

.newsletter-section {

  padding: 40px 0;

  background: #f8fafc;

}



.newsletter-grid {

  display: grid;

  grid-template-columns: 1fr 1fr 1fr;

  gap: 32px;

  align-items: center;

}



.newsletter-box h3,

.app-box h3 {

  font-size: 1.25rem;

  font-weight: 800;

  margin-bottom: 6px;

}



.newsletter-box p,

.app-box p {

  font-size: 14px;

  color: var(--text-muted);

  margin-bottom: 14px;

}



.newsletter-form {

  display: flex;

  gap: 0;

}



.newsletter-form input {

  flex: 1;

  padding: 12px 16px;

  border: 1px solid var(--border);

  border-right: none;

  border-radius: var(--radius) 0 0 var(--radius);

  font-size: 15px;

  outline: none;

}



.newsletter-form input:focus {

  border-color: var(--primary);

}



.newsletter-form button {

  padding: 12px 24px;

  background: var(--primary);

  color: var(--white);

  border: none;

  border-radius: 0 var(--radius) var(--radius) 0;

  font-size: 15px;

  font-weight: 600;

  cursor: pointer;

}



.app-badges {

  display: flex;

  gap: 12px;

  flex-wrap: wrap;

}



.app-badge {

  height: 44px;

  cursor: pointer;

  transition: opacity 0.2s;

}



.app-badge:hover {

  opacity: 0.85;

}



.app-mockup {

  text-align: center;

}



.app-mockup img {

  max-height: 220px;

  margin: 0 auto;

}



/* ========== FOOTER ========== */

.main-footer {

  background: var(--footer-bg);

  color: var(--white);

  padding: 48px 0 0;

}



.footer-grid {

  display: grid;

  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;

  gap: 32px;

  padding-bottom: 32px;

}



.footer-brand img {

  height: 40px;

  margin-bottom: 14px;

  filter: brightness(0) invert(1);

}



.footer-brand p {

  font-size: 14px;

  line-height: 1.7;

  opacity: 0.85;

}



.footer-col h4 {

  font-size: 15px;

  font-weight: 800;

  margin-bottom: 16px;

}



.footer-col ul li {

  margin-bottom: 10px;

}



.footer-col a {

  font-size: 14px;

  opacity: 0.85;

  transition: opacity 0.2s;

}



.footer-col a:hover {

  opacity: 1;

  text-decoration: underline;

}



.social-icons {

  display: flex;

  gap: 12px;

}



.social-icons a {

  width: 36px;

  height: 36px;

  background: rgba(255, 255, 255, 0.15);

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: background 0.2s;

}



.social-icons a:hover {

  background: var(--primary);

}



.social-icons svg {

  width: 18px;

  height: 18px;

  fill: var(--white);

}



.footer-bottom {

  background: var(--footer-dark);

  padding: 16px 0;

}



.footer-bottom .container {

  display: flex;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  gap: 12px;

}



.footer-bottom p {

  font-size: 12px;

  opacity: 0.8;

}



.payment-icons {

  display: flex;

  gap: 10px;

  align-items: center;

}



.payment-icons span {

  background: var(--white);

  color: var(--footer-bg);

  font-size: 11px;

  font-weight: 700;

  padding: 4px 10px;

  border-radius: 4px;

}



/* ========== RESPONSIVE ========== */

@media (max-width: 1024px) {

  .quick-cat-grid {

    grid-template-columns: repeat(5, 1fr);

  }



  .products-track {

    grid-template-columns: repeat(3, 1fr);

  }



  .category-grid {

    grid-template-columns: repeat(3, 1fr);

  }



  .ev-inner {

    grid-template-columns: 1fr;

    text-align: center;

  }



  .ev-content ul {

    display: inline-block;

    text-align: left;

  }



  .ev-features {

    flex-direction: row;

    justify-content: center;

    flex-wrap: wrap;

  }



  .footer-grid {

    grid-template-columns: repeat(2, 1fr);

  }



  .newsletter-grid {

    grid-template-columns: 1fr;

    text-align: center;

  }



  .newsletter-form {

    max-width: 400px;

    margin: 0 auto;

  }



  .app-badges {

    justify-content: center;

  }

}



@media (max-width: 768px) {

  .header-inner {

    flex-wrap: wrap;

  }



  .search-box {

    order: 3;

    max-width: 100%;

    width: 100%;

  }



  .hero-section {

    padding: 12px 0;

  }



  .hero-banner {

    border-radius: var(--radius);

  }



  .hero-arrow {

    width: 30px;

    height: 30px;

  }



  .hero-arrow.prev {

    left: 8px;

  }



  .hero-arrow.next {

    right: 8px;

  }



  .promo-grid {

    grid-template-columns: 1fr;

  }



  .quick-cat-grid {

    grid-template-columns: repeat(5, 1fr);

  }



  .products-track {

    grid-template-columns: repeat(2, 1fr);

  }



  .trust-grid {

    grid-template-columns: repeat(2, 1fr);

  }



  .nav-links {

    display: none;

  }



  .footer-grid {

    grid-template-columns: 1fr;

  }

}



@media (max-width: 480px) {

  .quick-cat-grid {

    grid-template-columns: repeat(3, 1fr);

  }



  .category-grid {

    grid-template-columns: repeat(2, 1fr);

  }



  .products-track {

    grid-template-columns: 1fr;

  }



  .trust-grid {

    grid-template-columns: 1fr;

  }

}

