/* ─────────────────────────────
   HOME-BRANDS.CSS — Lo Castro homepage brands marquee
   wp-content/themes/twentytwentyfive-child/styles/home-brands.css
   ───────────────────────────── */

:root {
  --lc-border-strong: rgba(74, 47, 27, 0.32);
}

.entry-content.is-layout-constrained {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* WordPress's global block-spacing style also injects max-width and
   margin-block-start on every direct child of .is-layout-constrained
   (all via low-specificity :where() selectors, easily overridden
   here) — neutralize both, or the first section gets squeezed width
   and an unwanted gap under the header. */
.entry-content.is-layout-constrained > * {
  max-width: none !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.lc-home-brands {
  background: var(--lc-bg);
}

.lc-home-brands-title {
  margin: 0 0 16px;
  font-family: var(--lc-font-serif);
  font-size: 20px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: center;
  font-weight: 600;
  color: var(--lc-text);
}

.lc-home-brands-desc {
  margin: 0 auto;
  max-width: 72ch;
  font-family: var(--lc-font-serif);
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
  color: var(--lc-text);
  padding: 0 20px;
  box-sizing: border-box;
}

.lc-home-brands-marquee {
  margin-top: 60px;
  display: grid;
  gap: 26px;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
}

.lc-home-brands-row {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.lc-home-brands-track {
  display: flex;
  width: max-content;
  white-space: nowrap;
}

.lc-home-brands-track-left {
  animation: lc-home-brands-marquee-left 26s linear infinite;
}

.lc-home-brands-track-right {
  animation: lc-home-brands-marquee-right 30s linear infinite;
}

@keyframes lc-home-brands-marquee-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes lc-home-brands-marquee-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .lc-home-brands-track-left,
  .lc-home-brands-track-right {
    animation: none;
    transform: translateX(0);
  }
}

.lc-home-brands-cell {
  width: 220px;
  height: 120px;
  display: grid;
  place-items: center;
  padding: 18px 22px;
  box-sizing: border-box;
  opacity: 0.86;
  transition: opacity 220ms ease, transform 220ms ease;
  outline: none;
  border-radius: 2px;
}

.lc-home-brands-cell:focus-visible {
  opacity: 1;
  outline: 1px solid var(--lc-border-strong);
  outline-offset: 3px;
}

.lc-home-brands-cell:hover {
  opacity: 1;
  transform: translateY(-3px);
}

.lc-home-brands-cell img {
  max-width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 900px) {
  .lc-home-brands-cell {
    width: 190px;
    height: 110px;
  }
}

@media (max-width: 560px) {
  .lc-home-brands-cell {
    width: 170px;
    height: 100px;
  }
}