/* ============================================
   KOVA — Mobile Optimizations
   ============================================ */

/* ---------- Base mobile (up to 639px) ---------- */

/* Typography — reduce headings on small screens */
h1 { font-size: 1.5rem; }
h2 { font-size: 1.25rem; }

.section { padding: 40px 0; }
.section-title { font-size: 1.25rem; margin-bottom: 20px; }

/* Buttons — ensure 44px minimum touch target */
.btn { min-height: 44px; padding: 12px 24px; }

/* ---------- Header Mobile ---------- */
@media (max-width: 1023px) {
  .header__action-btn,
  .header__hamburger {
    width: 44px;
    height: 44px;
  }

  .announcement-bar__close {
    padding: 10px;
    min-width: 34px;
    min-height: 34px;
  }
}

/* ---------- Hero ---------- */
@media (max-width: 639px) {
  .hero { height: 45vh; }

  .hero__slide-title { font-size: 1.5rem; }
  .hero__slide-desc { font-size: 13px; }
  .hero__slide-subtitle { font-size: 11px; }

  /* Dots — larger touch area */
  .hero__dots { gap: 10px; }
  .hero__dot {
    width: 10px;
    height: 10px;
    padding: 8px;
    background-clip: content-box;
  }
  .hero__dot.active { width: 28px; }
}

/* ---------- Categories ---------- */
@media (max-width: 639px) {
  .categories { padding: 16px 0; }
  .category-card { height: 200px; }
  .category-card__title { font-size: 1.25rem; }
}

/* ---------- Product Cards (shared) ---------- */
@media (max-width: 639px) {
  .product-card__info { padding: 0; }
  .product-card__brand { font-size: 11px; }
  .product-card__name { font-size: 11px; }
  .product-card__price-current { font-size: 12px; }
  .product-card__price-original { font-size: 11px; }

  /* Wishlist — always visible on touch */
  .product-card__wishlist {
    opacity: 1;
    width: 36px;
    height: 36px;
  }

  /* Color dots bigger for touch */
  .product-card__color-dot {
    width: 12px;
    height: 12px;
  }
}

/* ---------- Value Bar ---------- */
@media (max-width: 479px) {
  .value-bar__grid { grid-template-columns: 1fr; gap: 8px; }
  .value-bar__item { flex-direction: row; text-align: left; padding: 10px 16px; }
  .value-bar__icon { width: 28px; height: 28px; }
  .value-bar__icon svg { width: 22px; height: 22px; }
  .value-bar__title { font-size: 13px; }
  .value-bar__desc { font-size: 11px; }
}

/* ---------- Brands ---------- */
@media (max-width: 479px) {
  .brands__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .brands__item { font-size: 11px; letter-spacing: 1px; }
}

/* ---------- Newsletter ---------- */
@media (max-width: 639px) {
  .newsletter__title { font-size: 1.25rem; }
  .newsletter__desc { font-size: 13px; }
  .newsletter__form { flex-direction: column; }
}

/* ---------- Catalog ---------- */
@media (max-width: 639px) {
  .catalog__title { font-size: 1.5rem; }

  .catalog__mobile-bar .btn {
    min-height: 44px;
    font-size: 13px;
  }

  /* Active filter tags — bigger touch */
  .active-filter-tag {
    padding: 8px 12px;
    font-size: 12px;
    min-height: 36px;
  }

  .clear-all-filters {
    padding: 8px 4px;
    font-size: 12px;
  }
}

/* ---------- Filter Drawer ---------- */
@media (max-width: 1023px) {
  .filter-drawer__close {
    width: 44px;
    height: 44px;
  }

  .filter-check {
    padding: 8px 0;
    min-height: 44px;
    align-items: center;
  }

  .filter-check input[type="checkbox"] {
    width: 20px;
    height: 20px;
  }

  .filter-color {
    width: 36px;
    height: 36px;
  }

  .filter-drawer__footer .btn {
    min-height: 48px;
  }
}

/* ---------- Product Page ---------- */
@media (max-width: 639px) {
  .product-page { padding: 8px 0 0; }

  /* Gallery dots — bigger touch */
  .gallery__dots { gap: 10px; }
  .gallery__dot {
    width: 8px;
    height: 8px;
    padding: 8px;
    background-clip: content-box;
  }
  .gallery__dot.active { width: 24px; }

  /* Product info */
  .product-info { padding: 12px 0; }
  .product-info__brand { font-size: 14px; }
  .product-info__name { font-size: 14px; }
  .product-info__price-current { font-size: 20px; }

  /* Size buttons — ensure 44px touch */
  .product-info__size-btn {
    min-width: 52px;
    min-height: 44px;
    font-size: 14px;
  }

  /* Color buttons — ensure 44px touch */
  .product-info__color-btn {
    width: 44px;
    height: 44px;
  }

  /* Add to bag */
  .product-info__add-btn {
    height: 52px;
    font-size: 16px;
  }

  /* Wishlist */
  .product-info__wishlist-btn {
    min-height: 48px;
    font-size: 14px;
  }

  /* Size guide link */
  .product-info__size-guide {
    padding: 8px 0;
    font-size: 13px;
  }

  /* Accordion — bigger touch */
  .product-accordion__header {
    padding: 16px 0;
    font-size: 14px;
    min-height: 48px;
  }

  /* Share buttons */
  .product-share__btn {
    width: 40px;
    height: 40px;
  }

  /* Toast — constrain width */
  .toast {
    left: 16px;
    right: 16px;
    max-width: none;
  }
}

/* ---------- Cart Drawer ---------- */
@media (max-width: 639px) {
  .cart-drawer { width: 100%; max-width: 100vw; }

  .cart-drawer__close {
    width: 44px;
    height: 44px;
  }

  /* Quantity buttons bigger */
  .cart-drawer__qty { height: 36px; }
  .cart-drawer__qty-btn {
    width: 36px;
    font-size: 16px;
  }
  .cart-drawer__qty-val { width: 36px; font-size: 14px; }

  /* Remove link bigger touch area */
  .cart-drawer__item-remove {
    font-size: 12px;
    padding: 6px 0;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
  }

  /* Checkout button */
  .cart-drawer__checkout-btn { min-height: 52px; font-size: 16px; }

  /* View bag link */
  .cart-drawer__view-bag { padding: 10px; min-height: 44px; display: flex; align-items: center; justify-content: center; }
}

/* ---------- Cart Page ---------- */
@media (max-width: 639px) {
  .cart-page__title { font-size: 1.5rem; }

  .qty-selector__btn {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  .qty-selector__value {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }

  .cart-item__link {
    padding: 8px 0;
    font-size: 12px;
  }
}

/* ---------- Footer ---------- */
@media (max-width: 639px) {
  .footer { padding: 40px 0 0; }

  .footer__link {
    padding: 6px 0;
    font-size: 14px;
    min-height: 36px;
    display: flex;
    align-items: center;
  }

  .footer__social-link {
    width: 44px;
    height: 44px;
  }

  .footer__bottom {
    text-align: center;
    gap: 16px;
  }

  .footer__bottom-link {
    padding: 8px;
    font-size: 13px;
  }

  .footer__payment-icons {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* ---------- Tablet (640px+) ---------- */
@media (min-width: 640px) {
  h1 { font-size: var(--font-size-2xl); }
  h2 { font-size: var(--font-size-xl); }
}

/* ---------- Desktop (1024px+) ---------- */
@media (min-width: 1024px) {
  h1 { font-size: var(--font-size-3xl); }
  h2 { font-size: var(--font-size-2xl); }

  .section { padding: var(--space-4xl) 0; }
  .section-title { font-size: var(--font-size-2xl); }
}
