.yoga-copy {
  max-width: 800px;
}

.yoga-copy h3 {
  margin: 28px 0 8px;
  color: var(--primary);
  font-size: 1.15rem;
  line-height: 1.4;
}

.yoga-copy p,
.yoga-copy li {
  margin-bottom: 12px;
  color: var(--text);
}

.yoga-copy ul {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 8px 0 16px;
}

.yoga-copy a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.yoga-styles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.yoga-style {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 22px 24px;
}

.yoga-style h3 {
  margin-bottom: 8px;
  color: var(--primary);
  font-size: 1.08rem;
}

.yoga-style p {
  color: var(--text-light);
  font-size: 0.95rem;
}

.yoga-table-wrap {
  overflow-x: auto;
}

.yoga-table {
  width: 100%;
  max-width: 760px;
  border-collapse: collapse;
  background: #fff;
}

.yoga-table th,
.yoga-table td {
  text-align: left;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}

.yoga-table th {
  width: 42%;
  color: var(--primary);
  font-weight: 600;
}

@media (max-width: 700px) {
  .yoga-styles {
    grid-template-columns: minmax(0, 1fr);
  }

  .yoga-table th {
    width: 38%;
  }
}

/* Yoga wear reference photography. */
.yoga-style {
  overflow: hidden;
}

.yoga-style-media {
  position: relative;
  width: 100%;
  max-width: 320px;
  aspect-ratio: 1 / 1;
  margin: 0 auto 22px;
  border-radius: 8px;
  overflow: hidden;
  background: #eef1f0;
  border-bottom: 1px solid var(--border);
}

.yoga-style-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}



/* Collection benefits above the fabric selection guide. */
.yoga-benefits {
  background: var(--bg-alt);
}

.yoga-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  padding-top: 36px;
}

.yoga-benefit {
  position: relative;
  padding: 62px 24px 28px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 4px 18px rgba(17, 24, 39, 0.07);
}

.yoga-benefit-icon {
  position: absolute;
  top: -36px;
  left: 24px;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
}

.yoga-benefit-icon svg {
  width: 38px;
  height: 38px;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.yoga-benefit h3 {
  margin-bottom: 12px;
  color: var(--primary);
  font-size: 1.05rem;
  line-height: 1.4;
}

.yoga-benefit p {
  color: var(--text);
  font-size: 0.95rem;
  line-height: 1.7;
}

@media (max-width: 1000px) {
  .yoga-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 60px;
  }
}

@media (max-width: 600px) {
  .yoga-benefits-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.yoga-fabric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.yoga-fabric-card {
  display: flex;
  flex-direction: column;
  padding: 12px 12px 20px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 6px 24px rgba(17, 24, 39, .05);
}
.yoga-fabric-photo {
  aspect-ratio: 300 / 180;
  border-radius: 6px;
  background-image: url('../images/activewear-fabrics/fabric-reference.png');
  background-repeat: no-repeat;
  background-size: 501.666667% 369.444444%;
  background-position: var(--fabric-x) 39.175258%;
}
.yoga-fabric-photo--nylon { --fabric-x: 3.319502%; }
.yoga-fabric-photo--polyester { --fabric-x: 68.049793%; }
.yoga-fabric-photo--brushed { --fabric-x: 35.684647%; }
.yoga-fabric-photo--cotton { --fabric-x: 99.585062%; }
.yoga-fabric-card h3 {
  margin: 16px 0 4px;
  color: var(--primary);
  font-size: 1.12rem;
  text-align: center;
}
.yoga-fabric-tag {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: .8rem;
  text-align: center;
}
.yoga-fabric-summary {
  flex: 1;
  margin: 0 6px 20px;
  color: var(--text);
  font-size: .875rem;
  line-height: 1.7;
  text-align: center;
}
.yoga-fabric-detail {
  min-height: 180px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin: 0 6px;
  padding: 18px 0;
  border-top: 1px dashed var(--border);
}
.yoga-fabric-detail:last-child { min-height: 140px; padding-bottom: 0; }
#yoga-fabrics { scroll-margin-top: 100px; }
.yoga-fabric-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff7ed;
  color: var(--accent);
  font-size: 1.2rem;
}
.yoga-fabric-detail h4 { margin: 0 0 6px; font-size: .875rem; color: var(--primary); }
.yoga-fabric-detail ul { padding-left: 16px; margin: 0; list-style: disc; }
.yoga-fabric-detail li { font-size: .8125rem; line-height: 1.65; color: var(--text); margin-bottom: 4px; }
.yoga-fabric-note { margin: 18px 0 0; text-align: center; font-size: .8125rem; color: var(--text); }
@media (max-width: 1050px) {
  .yoga-fabric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .yoga-fabric-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Fill the square while keeping the leggings and feet in frame. */
.yoga-style-media img.yoga-leggings-photo {
  object-fit: cover;
  object-position: center bottom;
}

.yoga-style-media img.yoga-bras-photo {
  object-fit: cover;
  object-position: center top;
}

/* Almost-square collage: retain every color option without cropping. */
.yoga-style-media img.yoga-shorts-photo {
  object-fit: fill;
}

.yoga-style-media img.yoga-tops-photo {
  object-fit: cover;
  object-position: center;
}

/* Preserve both full-length views; use the photo as a soft edge background. */
.yoga-sets-media::before {
  content: "";
  position: absolute;
  inset: -12px;
  background: url('../images/yoga-sets.webp?v=2') center / cover no-repeat;
  filter: blur(12px);
}
.yoga-sets-media img {
  object-fit: contain;
}
