/* START PRODUCTS PAGE STYLE */

#products-page, #products-page *, #products-page *::before, #products-page *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Root tokens ── */
#products-page {
  --pcs-heading: #2d1b45;
  --pcs-text-muted: #726c87;
  --pcs-border: #e6e1f2;
  --pcs-panel-bg: #ffffff;
  --pcs-card-bg: #F0EFEF;
  --pcs-page-bg: #f4f2f8;
  --pcs-radius: 20px;
  --pcs-font-display: 'Playfair Display', Georgia, serif;
  --pcs-font-body: 'Inter', sans-serif;

  width: 100%;
  max-width: 100%;
  background: var(--pcs-page-bg);
  font-family: var(--pcs-font-body);
  padding: clamp(28px, 4vw, 48px) clamp(16px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 24px;
  overflow: hidden;
}

/* ── Per-category accent — one coordinated jewel-tone family,
   Ladies deliberately shares the site's own brand purple ── */
#products-page .pcs-row[data-accent="kids"]   { --pcs-accent: #c9598f; }
#products-page .pcs-row[data-accent="boys"]   { --pcs-accent: #4d74b8; }
#products-page .pcs-row[data-accent="men"]    { --pcs-accent: #33415c; }
#products-page .pcs-row[data-accent="girls"]  { --pcs-accent: #e0895a; }
#products-page .pcs-row[data-accent="ladies"] { --pcs-accent: #4a1a7a; }

/* ── Row ── */
#products-page .pcs-row {
  display: flex;
  height: clamp(360px, 38vw, 440px);
  background: var(--pcs-panel-bg);
  border-radius: var(--pcs-radius);
  overflow: hidden;
  box-shadow: 0 6px 26px rgba(45, 27, 69, 0.08);
}

/* ── Photo panel ── */
#products-page .pcs-photo {
  position: relative;
  flex: 0 0 300px;
  min-width: 0;
  overflow: hidden;
}

#products-page .pcs-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Consistent neutral scrim across every category — keeps the row
   identity in the accent color/label, not a clashing photo tint */
#products-page .pcs-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(190deg, rgba(15,8,25,0.72) 0%, rgba(15,8,25,0.12) 55%, transparent 100%);
}

#products-page .pcs-photo-label {
  position: absolute;
  left: 24px;
  bottom: 26px;
  right: 20px;
}

#products-page .pcs-photo-accent-bar {
  display: block;
  width: 30px;
  height: 3px;
  border-radius: 2px;
  background: var(--pcs-accent);
  margin-bottom: 12px;
}

#products-page .pcs-photo-label h2 {
  font-family: var(--pcs-font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.1;
}

/* ── Content panel ── */
#products-page .pcs-panel {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(20px, 2.6vw, 30px) clamp(20px, 3vw, 34px) clamp(18px, 2vw, 24px);
}

#products-page .pcs-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  flex-shrink: 0;
}

#products-page .pcs-eyebrow {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--pcs-accent);
}

#products-page .pcs-nav {
  display: flex;
  gap: 8px;
}

#products-page .pcs-arrow {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--pcs-border);
  background: #ffffff;
  color: var(--pcs-heading);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}

#products-page .pcs-arrow svg {
  width: 17px;
  height: 17px;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
}

#products-page .pcs-arrow:hover:not(:disabled) {
  background: var(--pcs-accent);
  border-color: var(--pcs-accent);
  color: #ffffff;
  transform: translateY(-1px);
}

#products-page .pcs-arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

/* ── Track ── */
#products-page .pcs-track {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  list-style: none;
  scrollbar-width: none; /* Firefox */
}

#products-page .pcs-track::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Edge */
}

#products-page .pcs-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

/* ── Card ── */
#products-page .pcs-card {
  flex: 0 0 auto;
  width: clamp(150px, 16vw, 210px);
  aspect-ratio: 0.8 / 1;
  border-radius: 14px;
  overflow: hidden;
  background: var(--pcs-card-bg);
  scroll-snap-align: start;
  box-shadow: 0 2px 10px rgba(45, 27, 69, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#products-page .pcs-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 26px rgba(45, 27, 69, 0.14);
}

#products-page .pcs-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
  display: block;
  pointer-events: none; /* keeps drag-to-scroll from triggering native image drag */
}

/* ── Progress bar — same running-stitch language as the rest of the site ── */
#products-page .pcs-progress {
  position: relative;
  height: 2px;
  margin-top: 18px;
  flex-shrink: 0;
  background-image: repeating-linear-gradient(90deg, var(--pcs-border) 0 6px, transparent 6px 11px);
}

#products-page .pcs-progress-fill {
  position: absolute;
  top: -2px;
  left: 0;
  height: 6px;
  width: 20%;
  border-radius: 4px;
  background: var(--pcs-accent);
  transition: transform 0.15s ease, width 0.15s ease;
}

/* ══════════════════════════════════════════
   RESPONSIVE — 3 device tiers
   Desktop : > 1024px → full row height, 300px photo panel
   Tablet  : 577–1024px → shorter row, narrower photo panel
   Mobile  : ≤ 576px → photo stacks on top, full-width slider below
══════════════════════════════════════════ */

@media (max-width: 1024px) {
  #products-page {
    gap: 20px;
  }

  #products-page .pcs-row {
    height: clamp(320px, 44vw, 380px);
  }

  #products-page .pcs-photo {
    flex-basis: 220px;
  }

  #products-page .pcs-card {
    width: clamp(130px, 20vw, 170px);
  }
}

@media (max-width: 576px) {
  #products-page {
    padding: 20px 14px;
    gap: 16px;
  }

  #products-page .pcs-row {
    flex-direction: column;
    height: auto;
  }

  #products-page .pcs-photo {
    flex-basis: auto;
    height: 150px;
  }

  #products-page .pcs-photo-label {
    left: 18px;
    bottom: 16px;
  }

  #products-page .pcs-photo-label h2 {
    font-size: 22px;
  }

  #products-page .pcs-panel {
    padding: 18px 16px 20px;
  }

  #products-page .pcs-panel-head {
    margin-bottom: 14px;
  }

  #products-page .pcs-arrow {
    width: 34px;
    height: 34px;
  }

  #products-page .pcs-card {
    width: 132px;
  }

  #products-page .pcs-progress {
    margin-top: 14px;
  }
}

/* END PRODUCTS PAGE STYLE */