/* =====================================================================
   1410 — Home Page "Shop by Category" module. Loaded by the catalog
   controller via addStyle(). Brand red links, white category cards.
   ===================================================================== */
.rp-shopcat { --red:#db0f16; --red-dark:#b50c12; --ink:#1c1c1c; --line:#eceaea;
  font-family:'Outfit',sans-serif; margin:26px 0; }
.rp-shopcat * { box-sizing:border-box; }

.rp-shopcat__head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:0 0 18px; }
.rp-shopcat__title { font-size:26px; font-weight:800; letter-spacing:-.01em; color:var(--ink); margin:0; }
.rp-shopcat__viewall { font-size:14px; font-weight:600; color:var(--red); text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; gap:7px; }
.rp-shopcat__viewall:hover { color:var(--red-dark); text-decoration:underline; }

.rp-shopcat__grid { list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }

.rp-shopcat__card { display:flex; flex-direction:column;
  border:1px solid var(--line); border-radius:10px; background:#fff; padding:14px;
  transition:box-shadow .15s ease, transform .15s ease; }
.rp-shopcat__card:hover { box-shadow:0 10px 26px rgba(0,0,0,.09); transform:translateY(-2px); }

.rp-shopcat__thumb { display:block; }
.rp-shopcat__img { display:block; width:100%; height:132px; object-fit:contain; }

.rp-shopcat__name { font-size:14px; font-weight:700; line-height:1.3; color:var(--ink); margin:14px 0 12px; }
.rp-shopcat__name a { color:inherit; text-decoration:none; }
.rp-shopcat__name a:hover { color:var(--red); }

.rp-shopcat__link { margin-top:auto; font-size:13px; font-weight:600; color:var(--red);
  text-decoration:none; display:inline-flex; align-items:center; gap:7px; }
.rp-shopcat__link:hover { color:var(--red-dark); }
.rp-shopcat__arrow { font-weight:400; }

/* responsive: 6 → 3 → 2 */
@media (max-width:1100px){ .rp-shopcat__grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:640px){
  .rp-shopcat__grid { grid-template-columns:repeat(2,1fr); }
  .rp-shopcat__title { font-size:22px; }
}
