/* PAGE 2: CATALOG SPECIFIC STYLES */

.cs-main--catalog {
  background: radial-gradient(circle at top center, #151a2a 0, #05070a 65%);
}

/* === SECTION 1: CATALOG HERO === */

.cs-cat-hero {
  padding-top: 110px;
}

.cs-cat-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr);
  gap: 30px;
  align-items: center;
}

.cs-cat-hero-copy {
  position: relative;
  padding-right: 18px;
}

.cs-cat-hero-copy::before {
  content: "";
  position: absolute;
  inset: -24px -36px -40px -40px;
  background: radial-gradient(circle at 0 0, #f6a72311, transparent 70%);
  opacity: 0.9;
  pointer-events: none;
}

.cs-cat-hero-title {
  margin: 0 0 12px;
  font-family: "CS-Heading", system-ui, sans-serif;
  font-size: 30px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-hero-text {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--cs-text-muted);
}

.cs-cat-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cs-cat-tag {
  padding: 5px 11px;
  border-radius: 999px;
  background: rgba(5, 7, 10, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-hero-visual {
  position: relative;
  display: grid;
  gap: 12px;
}

.cs-cat-hero-visual::before {
  content: "";
  position: absolute;
  inset: -40px -40px auto 30%;
  height: 180px;
  background: radial-gradient(circle at 100% 0, #20d0b240, transparent 60%);
  opacity: 0.8;
  pointer-events: none;
}

.cs-cat-hero-card {
  position: relative;
  padding: 9px 11px 11px;
  border-radius: 22px;
  background: radial-gradient(circle at 0 0, #171c2b, #05070a 80%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: var(--cs-shadow-subtle);
  transform-origin: center;
  transition: transform 0.22s ease, box-shadow 0.22s ease,
    border-color 0.22s ease;
}

.cs-cat-hero-card:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 24px 46px rgba(0, 0, 0, 0.9);
  border-color: rgba(246, 167, 35, 0.7);
}

.cs-cat-hero-card figcaption {
  margin-top: 8px;
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* === SECTION 2: CATEGORY STRIPS === */

.cs-cat-strips {
  background: radial-gradient(circle at top right, #171c2b 0, #05070a 70%);
}

.cs-cat-strips-inner {
  position: relative;
}

.cs-cat-strips-rail {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.cs-cat-strip {
  position: relative;
  display: grid;
  grid-template-columns: 8px minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 16px;
  align-items: center;
  padding: 10px 12px 10px 0;
  border-radius: 22px;
  background: linear-gradient(
    135deg,
    rgba(17, 22, 34, 0.96),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-strip-bar {
  width: 100%;
  height: 100%;
  border-radius: 20px 0 0 20px;
  background: linear-gradient(180deg, #f6a723, #c46744);
  box-shadow: 0 0 20px rgba(246, 167, 35, 0.8);
}

.cs-cat-strip-bar--mix {
  background: linear-gradient(180deg, #ffce66, #f05b21);
  box-shadow: 0 0 20px rgba(255, 206, 102, 0.85);
}

.cs-cat-strip-bar--roof {
  background: linear-gradient(180deg, #20d0b2, #4cc9f0);
  box-shadow: 0 0 20px rgba(32, 208, 178, 0.85);
}

.cs-cat-strip-title {
  margin: 0 0 4px;
  font-family: "CS-Heading";
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-strip-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-strip-media {
  margin: 0;
}

/* === SECTION 3: STACKED SCENARIOS === */

.cs-cat-stacks {
  background: radial-gradient(circle at bottom left, #171c2b 0, #05070a 70%);
}

.cs-cat-stacks-inner {
  position: relative;
}

.cs-cat-stacks-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.cs-cat-stack {
  position: relative;
  padding: 12px 12px 13px;
  border-radius: 24px;
  background: linear-gradient(
    150deg,
    rgba(17, 22, 34, 0.97),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: var(--cs-shadow-subtle);
  overflow: hidden;
}

.cs-cat-stack::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: conic-gradient(
    from 210deg,
    transparent,
    rgba(246, 167, 35, 0.14),
    rgba(32, 208, 178, 0.18),
    transparent
  );
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.cs-cat-stack:hover::after {
  opacity: 1;
}

.cs-cat-stack-header {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.cs-cat-stack-tag {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-stack-title {
  margin: 0;
  font-family: "CS-Heading";
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-stack-text {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-stack-media {
  margin: 0;
}

/* === RESPONSIVE PAGE 2 === */

@media (max-width: 1024px) {
  .cs-cat-hero-inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .cs-cat-hero-copy::before {
    inset: -18px -18px -26px -18px;
  }

  .cs-cat-hero-visual {
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    overflow-x: auto;
    padding-bottom: 6px;
  }

  .cs-cat-hero-card {
    min-width: 220px;
  }

  .cs-cat-stacks-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .cs-cat-hero {
    padding-top: 90px;
  }

  .cs-cat-strips {
    padding-top: 80px;
  }

  .cs-cat-strip {
    grid-template-columns: 6px minmax(0, 1.4fr) minmax(0, 1.1fr);
  }
}

@media (max-width: 640px) {
  .cs-cat-strips-rail {
    gap: 12px;
  }

  .cs-cat-strip {
    grid-template-columns: 6px minmax(0, 1.6fr);
  }

  .cs-cat-strip-media {
    display: none;
  }

  .cs-cat-stacks-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .cs-cat-hero-copy::before {
    inset: -14px -12px -22px -12px;
  }

  .cs-cat-hero-title {
    font-size: 24px;
  }

  .cs-cat-hero-tags {
    gap: 6px;
  }

  .cs-cat-tag {
    font-size: 10px;
  }
}
/* === SECTION 4: QUICK FILTER LINE === */

.cs-cat-filters {
  background: radial-gradient(circle at top left, #181d2d 0, #05070a 70%);
}

.cs-cat-filters-inner {
  position: relative;
}

.cs-cat-filter-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.cs-cat-filter-pill {
  position: relative;
  padding: 8px 10px 10px;
  border-radius: 22px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: var(--cs-shadow-subtle);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  gap: 10px;
  text-align: left;
  transition: transform 0.2s ease, box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.cs-cat-filter-pill:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 40px rgba(0, 0, 0, 0.9);
  border-color: rgba(246, 167, 35, 0.8);
}

.cs-cat-filter-media .cs-img {
  max-width: 120px;
}

.cs-cat-filter-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.cs-cat-filter-label {
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-filter-note {
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* === SECTION 5: BRICK LINES GRID === */

.cs-cat-bricks {
  background: radial-gradient(circle at top right, #171c2b 0, #05070a 70%);
}

.cs-cat-bricks-inner {
  position: relative;
}

.cs-cat-bricks-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.cs-cat-brick-card {
  position: relative;
  padding: 12px 12px 13px;
  border-radius: 24px;
  background: linear-gradient(
    150deg,
    rgba(17, 22, 34, 0.97),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: var(--cs-shadow-subtle);
  overflow: hidden;
}

.cs-cat-brick-card::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: conic-gradient(
    from 210deg,
    transparent,
    rgba(246, 167, 35, 0.15),
    rgba(32, 208, 178, 0.18),
    transparent
  );
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.cs-cat-brick-card:hover::after {
  opacity: 1;
}

.cs-cat-brick-head {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.cs-cat-brick-tag {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-brick-title {
  margin: 0;
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-brick-text {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-brick-media {
  margin: 0;
}

/* === SECTION 6: MIXES SNAPSHOT === */

.cs-cat-mixes {
  background: radial-gradient(circle at bottom left, #171c2b 0, #05070a 70%);
}

.cs-cat-mixes-inner {
  position: relative;
}

.cs-cat-mix-list {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}

.cs-cat-mix-row {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1.1fr);
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 22px;
  background: linear-gradient(
    140deg,
    rgba(17, 22, 34, 0.96),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-mix-badge {
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #05070a;
  background: linear-gradient(135deg, #f6a723, #c46744);
  box-shadow: 0 0 18px rgba(246, 167, 35, 0.9);
}

.cs-cat-mix-badge--screed {
  background: linear-gradient(135deg, #ffce66, #f05b21);
}

.cs-cat-mix-badge--plaster {
  background: linear-gradient(135deg, #20d0b2, #4cc9f0);
}

.cs-cat-mix-title {
  margin: 0 0 4px;
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-mix-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-mix-media {
  margin: 0;
}
@media (max-width: 1024px) {
  .cs-cat-filter-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cs-cat-bricks-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .cs-cat-filter-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cs-cat-mix-row {
    grid-template-columns: auto minmax(0, 1.6fr);
  }

  .cs-cat-mix-media {
    display: none;
  }
}

@media (max-width: 640px) {
  .cs-cat-filter-rail {
    grid-template-columns: minmax(0, 1fr);
  }

  .cs-cat-bricks-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .cs-cat-bricks-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .cs-cat-filter-pill {
    grid-template-columns: minmax(0, 1fr);
  }

  .cs-cat-filter-media .cs-img {
    max-width: 100%;
  }
}
/* === SECTION 7: ACCESSORIES BELT === */

.cs-cat-accessories {
  background: radial-gradient(circle at top center, #171c2b 0, #05070a 70%);
}

.cs-cat-acc-inner {
  position: relative;
}

.cs-cat-acc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr);
  gap: 26px;
  align-items: center;
}

.cs-cat-acc-chips {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cs-cat-acc-chip {
  position: relative;
  padding: 9px 12px;
  border-radius: 18px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-acc-label {
  display: block;
  font-family: "CS-Heading";
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-acc-text {
  margin: 3px 0 0;
  font-size: 13px;
  color: var(--cs-text-muted);
}

.cs-cat-acc-photos {
  display: grid;
  gap: 14px;
}

.cs-cat-acc-photo {
  margin: 0;
}

.cs-cat-acc-photo figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* === SECTION 8: INSULATION SNAPSHOTS === */

.cs-cat-insulation {
  background: radial-gradient(circle at top right, #151a2a 0, #05070a 70%);
}

.cs-cat-ins-inner {
  position: relative;
}

.cs-cat-ins-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.3fr);
  gap: 26px;
  align-items: center;
}

.cs-cat-ins-legend {
  position: relative;
  padding: 14px 14px 12px;
  border-radius: 22px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-ins-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.cs-cat-ins-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  box-shadow: 0 0 12px rgba(246, 167, 35, 0.9);
}

.cs-cat-ins-dot--warm {
  background: linear-gradient(135deg, #f6a723, #c46744);
}

.cs-cat-ins-dot--sound {
  background: linear-gradient(135deg, #ffce66, #f05b21);
}

.cs-cat-ins-dot--roof {
  background: linear-gradient(135deg, #20d0b2, #4cc9f0);
}

.cs-cat-ins-label {
  font-size: 13px;
  color: var(--cs-text-soft);
}

.cs-cat-ins-note {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--cs-text-muted);
}

.cs-cat-ins-gallery {
  display: grid;
  gap: 14px;
}

.cs-cat-ins-card {
  margin: 0;
}

.cs-cat-ins-card figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* === SECTION 9: PACKAGING & LABELS === */

.cs-cat-pack {
  background: radial-gradient(circle at bottom center, #171c2b 0, #05070a 70%);
}

.cs-cat-pack-inner {
  position: relative;
}

.cs-cat-pack-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.cs-cat-pack-card {
  position: relative;
  padding: 12px 12px 13px;
  border-radius: 24px;
  background: linear-gradient(
    150deg,
    rgba(17, 22, 34, 0.97),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: var(--cs-shadow-subtle);
  overflow: hidden;
}

.cs-cat-pack-card::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: conic-gradient(
    from 210deg,
    transparent,
    rgba(246, 167, 35, 0.14),
    rgba(32, 208, 178, 0.18),
    transparent
  );
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.cs-cat-pack-card:hover::after {
  opacity: 1;
}

.cs-cat-pack-header {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.cs-cat-pack-tag {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-pack-title {
  margin: 0;
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-pack-text {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-pack-media {
  margin: 0;
}
@media (max-width: 640px) {
  .cs-cat-acc-layout {
    gap: 20px;
  }
}
/* === SECTION 10: PROJECT PRESETS === */

.cs-cat-presets {
  background: radial-gradient(circle at top left, #171c2b 0, #05070a 70%);
}

.cs-cat-presets-inner {
  position: relative;
}

.cs-cat-presets-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.cs-cat-preset-card {
  position: relative;
  padding: 12px 12px 13px;
  border-radius: 24px;
  background: linear-gradient(
    150deg,
    rgba(17, 22, 34, 0.97),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: var(--cs-shadow-subtle);
  overflow: hidden;
}

.cs-cat-preset-card::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: conic-gradient(
    from 210deg,
    transparent,
    rgba(246, 167, 35, 0.13),
    rgba(32, 208, 178, 0.18),
    transparent
  );
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.cs-cat-preset-card:hover::after {
  opacity: 1;
}

.cs-cat-preset-head {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.cs-cat-preset-tag {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-preset-title {
  margin: 0;
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-preset-text {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-preset-media {
  margin: 0;
}

.cs-cat-preset-card--text {
  border-style: dashed;
}

/* === SECTION 11: ELECTRICAL & LIGHTING === */

.cs-cat-electric {
  background: radial-gradient(circle at top right, #151a2a 0, #05070a 70%);
}

.cs-cat-elec-inner {
  position: relative;
}

.cs-cat-elec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.cs-cat-elec-card {
  position: relative;
  padding: 12px 12px 13px;
  border-radius: 24px;
  background: linear-gradient(
    150deg,
    rgba(17, 22, 34, 0.97),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: var(--cs-shadow-subtle);
  overflow: hidden;
}

.cs-cat-elec-header {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.cs-cat-elec-tag {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-elec-title {
  margin: 0;
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-elec-text {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-elec-media {
  margin: 0;
}

/* === SECTION 12: STOCK ROTATION === */

.cs-cat-stock {
  background: radial-gradient(circle at bottom left, #171c2b 0, #05070a 70%);
}

.cs-cat-stock-inner {
  position: relative;
}

.cs-cat-stock-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr);
  gap: 26px;
  align-items: flex-start;
}

.cs-cat-stock-timeline {
  position: relative;
  padding-left: 16px;
}

.cs-cat-stock-timeline::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 6px;
  bottom: 6px;
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(246, 167, 35, 0.7),
    rgba(32, 208, 178, 0.7)
  );
  opacity: 0.7;
}

.cs-cat-stock-step {
  position: relative;
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}

.cs-cat-stock-step:last-child {
  margin-bottom: 0;
}

.cs-cat-stock-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f6a723, #c46744);
  box-shadow: 0 0 16px rgba(246, 167, 35, 0.9);
}

.cs-cat-stock-title {
  margin: 0 0 4px;
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-stock-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-stock-media-col {
  display: grid;
  gap: 14px;
}

.cs-cat-stock-figure {
  margin: 0;
}

.cs-cat-stock-figure figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--cs-text-soft);
}
  .cs-cat-presets-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cs-cat-elec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cs-cat-stock-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .cs-cat-stock-media-col {
    margin-top: 16px;
  }
/* === SECTION 13: SURFACE FINISHES LANE === */

.cs-cat-finish {
  background: radial-gradient(circle at top center, #151a2a 0, #05070a 70%);
}

.cs-cat-finish-inner {
  position: relative;
}

.cs-cat-finish-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.3fr);
  gap: 26px;
  align-items: center;
}

.cs-cat-finish-swatches {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cs-cat-finish-track {
  position: relative;
  padding: 8px 10px 9px;
  border-radius: 18px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-finish-label {
  display: block;
  font-family: "CS-Heading";
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.cs-cat-finish-strip {
  position: relative;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 4px;
}

.cs-cat-finish-strip--interior {
  background: linear-gradient(90deg, #f1d2a0, #f6a723, #c46744);
}

.cs-cat-finish-strip--facade {
  background: linear-gradient(90deg, #c46744, #8d4026, #48251e);
}

.cs-cat-finish-strip--floor {
  background: linear-gradient(90deg, #f6a723, #ffce66, #20d0b2);
}

.cs-cat-finish-dot {
  position: absolute;
  top: 50%;
  left: 18%;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.9);
  animation: cs-cat-finish-move 8s ease-in-out infinite alternate;
}

.cs-cat-finish-text {
  margin: 0;
  font-size: 13px;
  color: var(--cs-text-muted);
}

.cs-cat-finish-gallery {
  display: grid;
  gap: 14px;
}

.cs-cat-finish-card {
  margin: 0;
}

.cs-cat-finish-card figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* === SECTION 14: PROJECT SCALE BANDS === */

.cs-cat-scale {
  background: radial-gradient(circle at top right, #171c2b 0, #05070a 70%);
}

.cs-cat-scale-inner {
  position: relative;
}

.cs-cat-scale-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.cs-cat-scale-band {
  position: relative;
  padding: 12px 12px 13px;
  border-radius: 24px;
  background: linear-gradient(
    150deg,
    rgba(17, 22, 34, 0.97),
    rgba(8, 13, 23, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: var(--cs-shadow-subtle);
  overflow: hidden;
}

.cs-cat-scale-band::after {
  content: "";
  position: absolute;
  inset: -40%;
  background: conic-gradient(
    from 220deg,
    transparent,
    rgba(246, 167, 35, 0.14),
    rgba(32, 208, 178, 0.18),
    transparent
  );
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.cs-cat-scale-band:hover::after {
  opacity: 1;
}

.cs-cat-scale-meta {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.cs-cat-scale-tag {
  align-self: flex-start;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-scale-title {
  margin: 0;
  font-family: "CS-Heading";
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-scale-text {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cs-text-muted);
}

.cs-cat-scale-media {
  margin: 0;
}

/* === SECTION 15: SERVICE COUNTER & PICKUP === */

.cs-cat-service {
  background: radial-gradient(circle at bottom center, #171c2b 0, #05070a 70%);
}

.cs-cat-service-inner {
  position: relative;
}

.cs-cat-service-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.3fr);
  gap: 26px;
  align-items: center;
}

.cs-cat-service-copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cs-cat-service-item {
  padding: 9px 11px;
  border-radius: 18px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-service-tag {
  display: inline-block;
  margin-bottom: 3px;
  font-family: "CS-Heading";
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-service-text {
  margin: 0;
  font-size: 13px;
  color: var(--cs-text-muted);
}

.cs-cat-service-gallery {
  display: grid;
  gap: 14px;
}

.cs-cat-service-photo {
  margin: 0;
}

.cs-cat-service-photo figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* animation for finish dot */
@keyframes cs-cat-finish-move {
  0% {
    left: 18%;
  }
  100% {
    left: 82%;
  }
}
/* === SECTION 16: DIGITAL CATALOG & QR === */

.cs-cat-digital {
  background: radial-gradient(circle at top left, #171c2b 0, #05070a 70%);
}

.cs-cat-digital-inner {
  position: relative;
}

.cs-cat-digital-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.25fr);
  gap: 26px;
  align-items: center;
}

.cs-cat-digital-copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cs-cat-digital-pill {
  padding: 9px 11px;
  border-radius: 18px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-digital-label {
  display: inline-block;
  margin-bottom: 3px;
  font-family: "CS-Heading";
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cs-text-soft);
}

.cs-cat-digital-text {
  margin: 0;
  font-size: 13px;
  color: var(--cs-text-muted);
}

.cs-cat-digital-visual {
  display: grid;
  gap: 14px;
}

.cs-cat-digital-device {
  margin: 0;
}

.cs-cat-digital-device figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--cs-text-soft);
}

.cs-cat-digital-qr {
  padding: 10px 11px;
  border-radius: 18px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px dashed rgba(255, 255, 255, 0.16);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.cs-cat-digital-qr-grid {
  width: 64px;
  height: 64px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 2px;
}

.cs-cat-digital-qr-grid span {
  background: rgba(255, 255, 255, 0.9);
  opacity: 0.2;
  animation: cs-cat-qr-blink 4s linear infinite;
}

.cs-cat-digital-qr-grid span:nth-child(3),
.cs-cat-digital-qr-grid span:nth-child(7),
.cs-cat-digital-qr-grid span:nth-child(10),
.cs-cat-digital-qr-grid span:nth-child(12) {
  opacity: 0.7;
}

.cs-cat-digital-qr-text {
  margin: 0;
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* === SECTION 17: CATALOG WRAP & CTA === */

.cs-cat-summary {
  background: radial-gradient(circle at bottom center, #171c2b 0, #05070a 70%);
}

.cs-cat-summary-inner {
  position: relative;
}

.cs-cat-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr);
  gap: 26px;
  align-items: center;
}

.cs-cat-summary-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cs-cat-summary-step {
  position: relative;
  padding: 9px 11px;
  border-radius: 18px;
  background: linear-gradient(
    145deg,
    rgba(5, 7, 10, 0.96),
    rgba(18, 23, 38, 0.99)
  );
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--cs-shadow-subtle);
}

.cs-cat-summary-step-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f6a723, #c46744);
  font-size: 11px;
  font-weight: 600;
  color: #05070a;
  box-shadow: 0 0 16px rgba(246, 167, 35, 0.9);
}

.cs-cat-summary-step-title {
  display: inline;
  margin: 0;
  font-family: "CS-Heading";
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cs-cat-summary-step-text {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--cs-text-muted);
}

.cs-cat-summary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.cs-cat-summary-photo {
  margin: 0;
}

.cs-cat-summary-photo figcaption {
  margin-top: 6px;
  font-size: 12px;
  color: var(--cs-text-soft);
}

/* QR blink animation */
@keyframes cs-cat-qr-blink {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 0.9;
  }
  100% {
    opacity: 0.2;
  }
}
@media (max-width: 1024px) {
  .cs-cat-digital-layout,
  .cs-cat-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .cs-cat-digital-qr {
    grid-template-columns: minmax(0, 1fr);
  }

  .cs-cat-summary-actions {
    flex-direction: column;
    align-items: flex-start;
  }
}
