/* ─────────────────────────────────────────────────────────────
   rossnicloud.com — Mobile Upgrade
   Touch targets, mobile typography, product grid collapse,
   filter chip overflow, spacing, and usability fixes for
   Nero Marquina dark marble store.
   ────────────────────────────────────────────────────── */

/* Base mobile */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img, video, svg { max-width: 100%; height: auto; display: block; }
a, button { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }

/* ── Layout ───────────────────────────────────────────────── */
.rc-main { padding-left: 1rem; padding-right: 1rem; }
.rc-page { padding-top: 1rem; }

/* ── Header / Nav ─────────────────────────────────────────── */
.rc-header { padding: 0 1rem; }
.rc-header__inner { padding-left: 0; padding-right: 0; }
.rc-header__nav-link { padding: 0.625rem 0.875rem; font-size: 0.9375rem; min-height: 44px; display: inline-flex; align-items: center; border-radius: 8px; }
.rc-header__cart-btn, .rc-header__search-btn { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

/* ── Hero ─────────────────────────────────────────────────── */
.rc-hero { padding: 2rem 1.25rem !important; margin-top: 1rem !important; }
.rc-hero__title { font-size: 2.25rem !important; line-height: 1.1 !important; letter-spacing: -0.01em; }
.rc-hero__subtitle { font-size: 1.0625rem !important; line-height: 1.6 !important; }
.rc-hero__cta-group { flex-direction: column; gap: 0.75rem !important; }
.rc-hero__cta-group a, .rc-hero__cta-group button { width: 100%; justify-content: center; min-height: 50px; border-radius: 12px; font-size: 1rem; }

/* ── Stats bar ────────────────────────────────────────────── */
.rc-stats { padding: 1.25rem 1rem !important; }
.rc-stats__inner { flex-direction: column; gap: 1rem !important; }
.rc-stats__item { text-align: center; padding: 0.75rem 0; }

/* ── Section titles ───────────────────────────────────────── */
.rc-section__title { font-size: 1.5rem !important; line-height: 1.2 !important; }
.rc-section__link { font-size: 0.875rem; }

/* ── Product grid ─────────────────────────────────────────── */
.rc-product-grid { grid-template-columns: 1fr !important; gap: 1.25rem !important; }
.rc-product-card { border-radius: 16px !important; }
.rc-product-card__img { border-radius: 12px 12px 0 0 !important; }
.rc-product-card__body { padding: 1.25rem !important; }
.rc-product-card__name { font-size: 1.0625rem !important; }
.rc-product-card__price { font-size: 1.125rem !important; }
.rc-product-card__add { width: 100%; min-height: 48px; border-radius: 10px; font-size: 0.9375rem; justify-content: center; }

/* ── Filter chips ─────────────────────────────────────────── */
.rc-filters { flex-wrap: wrap; gap: 0.5rem !important; }
.rc-filter-chip { padding: 0.5rem 0.875rem; font-size: 0.875rem; min-height: 40px; border-radius: 9999px; white-space: nowrap; }

/* ── Quick view modal / drawer ────────────────────────────── */
.rc-quick-view { padding: 1rem !important; }
.rc-quick-view__img { border-radius: 12px !important; }
.rc-quick-view__close { top: 1rem; right: 1rem; min-width: 44px; min-height: 44px; }

/* ── Footer ───────────────────────────────────────────────── */
.rc-footer { padding: 2rem 1rem !important; }
.rc-footer__inner { flex-direction: column; gap: 1.5rem !important; text-align: center; }
.rc-footer__col h4 { font-size: 1rem; margin-bottom: 0.75rem; }
.rc-footer__col a { padding: 0.375rem 0; font-size: 0.9375rem; }

/* ── Reduced motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* ── Large phones / small tablets ─────────────────────────── */
@media (min-width: 640px) {
  .rc-hero__title { font-size: 2.75rem !important; }
  .rc-product-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ── Tablet ───────────────────────────────────────────────── */
@media (min-width: 768px) {
  .rc-hero { padding: 3rem 2rem !important; }
  .rc-hero__title { font-size: 3.25rem !important; }
  .rc-hero__cta-group { flex-direction: row; }
  .rc-stats__inner { flex-direction: row; }
  .rc-main { padding-left: 1.5rem; padding-right: 1.5rem; }
  .rc-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1.5rem !important; }
  .rc-footer__inner { flex-direction: row; text-align: left; }
}
