/* ============================================================
   Demon Seed Skateboards - Team Riders Page Styles v1.0.7
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Nova+Cut&family=Manrope:wght@400;700;800&family=Inter:wght@300;400;500&display=swap');

/* ===== WRAPPER ===== */
.ds-riders {
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  background: #ffffff;
}

body.page-template-page-team-riders,
body.page-template-page-team-riders .site,
body.page-template-page-team-riders .site-content,
body.page-template-page-team-riders #content,
body.page-template-page-team-riders .content-area,
body.page-template-page-team-riders .site-main {
  background: #ffffff !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

body.page-template-page-team-riders .entry-content {
  background: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== DIVIDER ===== */
.ds-divider {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #009477;
  border: none;
  margin: 0;
  padding: 0;
}

/* ===== HERO / INTRO ===== */
.ds-riders-hero {
  width: 100%;
  min-height: 27.5vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff !important;
}

.ds-riders-hero-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 44px 30px;
}

.ds-riders-logo-wrap {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px 10px 60px;
}

.ds-riders-logo {
  max-width: 450px;
  width: 60%;
  height: auto;
  display: block;
}

/* rotateIn animation — same as homepage + About Us */
.ds-rotate-in {
  animation: dsRotateIn 0.6s ease-in-out 0.6s both;
}

@keyframes dsRotateIn {
  from {
    opacity: 0;
    transform: rotate3d(0, 0, 1, -200deg);
    transform-origin: center center;
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transform-origin: center center;
  }
}

/* ===== SECTION HEADING ===== */
.ds-riders-heading-section {
  background: #ffffff;
  padding: 48px 30px 32px;
  text-align: center;
}

.ds-riders-heading {
  font-family: "Nova Cut", sans-serif;
  font-size: 48px;
  font-weight: 400;
  color: #2B323D;
  text-transform: capitalize;
  margin: 0;
  line-height: 1em;
  letter-spacing: 0;
}

/* ===== RIDER GRID ===== */
.ds-riders-grid-section {
  background: #ffffff;
  padding: 0 30px 80px;
}

.ds-riders-grid {
  max-width: 1668px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

/* ===== RIDER CARD ===== */
.ds-rider-card {
  width: calc(33.333% - 20px); /* 3 per row */
  border: 1px solid #e0e0e0;
  background: #ffffff;
  align-self: flex-end;
  transition: box-shadow 0.3s ease, background 0.3s ease;
  overflow: hidden;
}

.ds-rider-card:hover {
  background-image: linear-gradient(180deg, #f4f4f4 96%, #009477 96%);
  box-shadow: 1px 4px 35px 0px rgba(0, 0, 0, 0.08);
}

.ds-rider-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.ds-rider-photo-wrap {
  width: 100%;
  overflow: hidden;
  margin: 1px 1px 17px 1px;
}

.ds-rider-photo {
  width: 100%;
  height: 425px;
  object-fit: cover;
  display: block;
}

.ds-rider-info {
  padding: 0 0 5% 0;
  text-align: center;
}

.ds-rider-name {
  font-family: "Nova Cut", sans-serif;
  font-size: 38px;
  font-weight: 400;
  color: #2B323D;
  text-transform: capitalize;
  line-height: 1.1em;
  letter-spacing: 0;
  margin: 21px 0 0 0;
  padding: 0 0 5% 0;
}

.ds-rider-bio {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #5B5755;
  line-height: 24px;
  letter-spacing: 0;
  text-align: start;
  margin: 0 0 5% 0;
  padding: 0 8%;
}

.ds-rider-btn {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #009477;
  background: transparent;
  border: 1.5px solid #009477;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  cursor: pointer;
  text-decoration: none;
  padding: 7px 20px;
  margin-bottom: 16px;
  transition: background 0.2s ease, color 0.2s ease;
}

.ds-rider-card:hover .ds-rider-btn,
.ds-rider-card-link:hover .ds-rider-btn {
  background: #009477;
  color: #fff;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .ds-rider-card {
    width: calc(33.333% - 20px);
    padding: 3%;
  }
  .ds-riders-heading { font-size: 36px; }
  .ds-rider-name { font-size: 30px; line-height: 1.1em; }
  .ds-rider-bio  { font-size: 15px; }
}

@media (max-width: 767px) {
  .ds-riders-heading-section { padding: 32px 20px 20px; }
  .ds-riders-heading { font-size: 28px; }
  .ds-riders-grid-section { padding: 0 20px 60px; }
  .ds-riders-grid { justify-content: center; gap: 20px; }

  .ds-rider-card {
    width: calc(50% - 10px);
    padding: 0;
  }

  .ds-rider-photo { height: 280px; }
  .ds-rider-name  { font-size: 22px; line-height: 1.2em; text-align: center; }
  .ds-rider-info  { text-align: center; }
}

@media (max-width: 480px) {
  .ds-riders-heading { font-size: 22px; }

  .ds-rider-card { width: 100%; }
  .ds-rider-photo { height: 260px; }
  .ds-rider-name  { font-size: 26px; }
}
