/* =========================================================
   POLISH 06 — MEMBERS / CLUB UI 2.0
   ========================================================= */

.membersPage--ui2,
.clubPage--ui2 {
  width: min(1320px, calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  padding: 24px 0 76px;
}

/* Shared headings */
.membersSectionTitle > span,
.clubSectionTitle > span,
.clubSectionTitle > div > span,
.membersSectionTitle > div > span,
.membersHow__eyebrow,
.clubUseful__intro > span {
  display: block;
  margin-bottom: 7px;
  color: #0b684a;
  font-size: 9px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.membersSectionTitle h2,
.clubSectionTitle h2,
.membersHow h2,
.clubUseful h2 {
  margin: 0;
  color: #072b20;
  font-size: clamp(30px,3.3vw,46px);
  line-height: .96;
  letter-spacing: -.05em;
}

.membersSectionTitle > p,
.membersSectionTitle--row > p,
.clubSectionTitle--row > p,
.membersHow__intro > p {
  margin: 10px 0 0;
  color: #65746d;
  font-size: 13px;
  line-height: 1.55;
}

.membersSectionTitle--row,
.clubSectionTitle--row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}

.membersSectionTitle--row > p,
.clubSectionTitle--row > p {
  max-width: 390px;
  margin: 0;
}

/* ===================== MEMBERS ===================== */

.membersTop {
  position: relative;
  min-height: 380px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 280px;
  align-items: end;
  gap: 24px;
  overflow: hidden;
  margin-bottom: 42px;
  padding: 42px;
  border-radius: 30px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(3,27,20,.97) 0%, rgba(3,40,30,.83) 46%, rgba(3,40,30,.22) 100%),
    url('/assets/images/heroes/hero-members.jpeg') center / cover no-repeat;
  box-shadow: 0 24px 64px rgba(4,45,33,.13);
}

.membersTop__content {
  max-width: 720px;
}

.membersTop__eyebrow,
.clubTop__eyebrow {
  display: inline-flex;
  margin-bottom: 13px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.08);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.membersTop h1,
.clubTop h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(45px,5.2vw,72px);
  line-height: .91;
  letter-spacing: -.06em;
}

.membersTop__content > p,
.clubTop__content > p {
  max-width: 620px;
  margin: 16px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  line-height: 1.55;
}

.membersTop__actions {
  display: flex;
  gap: 10px;
  margin-top: 24px;
}

.membersAction {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border-radius: 12px;
  text-decoration: none;
  font-size: 10px;
  font-weight: 950;
  transition: transform .2s ease, opacity .2s ease;
}

.membersAction:hover {
  transform: translateY(-2px);
}

.membersAction--primary,
.membersAction--light {
  color: #073023;
  background: #fff;
}

.membersAction--ghost {
  color: #fff;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
}

.membersTop__note,
.clubTop__seal {
  align-self: end;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 18px;
  background: rgba(2,28,20,.54);
  backdrop-filter: blur(8px);
}

.membersTop__note span,
.clubTop__seal span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.58);
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.membersTop__note strong,
.clubTop__seal strong {
  color: #fff;
  font-size: 14px;
  line-height: 1.35;
}

.membersIntro,
.membersPlansSection,
.membersHow,
.clubStorySection,
.clubValuesSection,
.clubSportsSection,
.clubUseful {
  margin-bottom: 26px;
  padding: 30px;
  border: 1px solid rgba(7,51,36,.06);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(7,51,36,.045);
}

.membersBenefitsGrid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-top: 22px;
}

.membersBenefit {
  min-height: 170px;
  padding: 20px;
  border: 1px solid rgba(7,51,36,.06);
  border-radius: 18px;
  background: #f6f9f7;
}

.membersBenefit__index,
.clubValue > span,
.clubUseful__number {
  display: block;
  margin-bottom: 22px;
  color: #197153;
  font-size: 9px;
  font-weight: 950;
}

.membersBenefit h3,
.clubValue h3 {
  margin: 0 0 7px;
  color: #082c21;
  font-size: 18px;
}

.membersBenefit p,
.clubValue p {
  margin: 0;
  color: #65746d;
  font-size: 12px;
  line-height: 1.55;
}

.membersPlansGrid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-top: 24px;
}

.membersPlan {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 23px;
  border: 1px solid rgba(7,51,36,.08);
  border-radius: 20px;
  background: #fbfcfb;
}

.membersPlan--featured {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(145deg,#073b2d,#086449);
}

.membersPlan__badge {
  align-self: flex-start;
  margin-bottom: 13px;
  padding: 6px 8px;
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.12);
  font-size: 7px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.membersPlan__head > span {
  color: #197153;
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .09em;
}

.membersPlan--featured .membersPlan__head > span {
  color: rgba(255,255,255,.58);
}

.membersPlan h3 {
  margin: 4px 0 17px;
  font-size: 22px;
}

.membersPlan__price strong {
  display: block;
  color: #0b5e45;
  font-size: 33px;
  line-height: 1;
  letter-spacing: -.05em;
}

.membersPlan--featured .membersPlan__price strong {
  color: #fff;
}

.membersPlan__price span {
  display: block;
  margin-top: 5px;
  color: #7a8781;
  font-size: 8px;
  font-weight: 800;
}

.membersPlan--featured .membersPlan__price span {
  color: rgba(255,255,255,.55);
}

.membersPlan > p {
  min-height: 42px;
  margin: 17px 0 0;
  color: #65746d;
  font-size: 11px;
  line-height: 1.55;
}

.membersPlan--featured > p,
.membersPlan--featured li {
  color: rgba(255,255,255,.76);
}

.membersPlan ul {
  flex: 1;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}

.membersPlan li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 16px;
  color: #43564e;
  font-size: 10px;
}

.membersPlan li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #16805c;
  font-weight: 950;
}

.membersPlan--featured li::before {
  color: #fff;
}

.membersPlan__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 40px;
  padding: 0 13px;
  border-radius: 11px;
  color: #0b6047;
  background: #edf4f1;
  text-decoration: none;
  font-size: 9px;
  font-weight: 950;
}

.membersPlan--featured .membersPlan__cta {
  color: #073023;
  background: #fff;
}

.membersHow {
  display: grid;
  grid-template-columns: 300px minmax(0,1fr);
  gap: 28px;
  align-items: start;
}

.membersSteps {
  margin: 0;
  padding: 0;
  list-style: none;
}

.membersSteps li {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 12px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(7,51,36,.07);
}

.membersSteps li:last-child {
  border-bottom: 0;
}

.membersSteps li > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  color: #fff;
  background: #0b6047;
  font-size: 9px;
  font-weight: 950;
}

.membersSteps strong {
  display: block;
  margin-bottom: 4px;
  color: #082c21;
  font-size: 13px;
}

.membersSteps p {
  margin: 0;
  color: #68766f;
  font-size: 10px;
  line-height: 1.5;
}

.membersFinal {
  min-height: 210px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  padding: 30px;
  border-radius: 24px;
  color: #fff;
  background:
    linear-gradient(90deg,rgba(3,31,23,.96),rgba(3,48,35,.62)),
    url('/assets/images/heroes/hero-members.jpeg') center / cover no-repeat;
}

.membersFinal span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.58);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.membersFinal h2 {
  max-width: 660px;
  margin: 0;
  font-size: clamp(30px,3.5vw,48px);
  line-height: .95;
  letter-spacing: -.05em;
}

/* ===================== CLUB ===================== */

.clubTop {
  position: relative;
  min-height: 330px;
  display: grid;
  grid-template-columns: minmax(0,1fr) 280px;
  align-items: end;
  gap: 24px;
  overflow: hidden;
  margin-bottom: 26px;
  padding: 38px;
  border-radius: 28px;
  color: #fff;
  background:
    linear-gradient(90deg,rgba(2,27,20,.97) 0%,rgba(2,39,29,.77) 46%,rgba(2,39,29,.18) 100%),
    url('/assets/images/heroes/hero-home.jpeg') center / cover no-repeat;
  box-shadow: 0 22px 58px rgba(4,45,33,.11);
}

.clubStoryGrid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(260px,.75fr);
  gap: 26px;
  margin-top: 24px;
}

.clubStoryLead p {
  margin: 0;
  color: #1d3c30;
  font-size: 19px;
  line-height: 1.62;
  letter-spacing: -.015em;
}

.clubStoryAside {
  padding-left: 22px;
  border-left: 1px solid rgba(7,51,36,.1);
}

.clubStoryAside p {
  margin: 0;
  color: #68766f;
  font-size: 12px;
  line-height: 1.7;
}

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

.clubValue {
  min-height: 190px;
  padding: 20px;
  border: 1px solid rgba(7,51,36,.06);
  border-radius: 18px;
  background: #f6f9f7;
}

.clubValue--primary {
  color: #fff;
  background: linear-gradient(145deg,#073b2d,#086449);
}

.clubValue--primary > span,
.clubValue--primary h3 {
  color: #fff;
}

.clubValue--primary p {
  color: rgba(255,255,255,.72);
}

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

.clubSport {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  overflow: hidden;
  border-radius: 19px;
  color: #fff;
  background:
    linear-gradient(180deg,rgba(6,77,56,.92),rgba(3,47,35,.98)),
    url('/assets/images/heroes/hero-home.jpeg') center / cover no-repeat;
}

.clubSport span {
  color: rgba(255,255,255,.58);
  font-size: 8px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.clubSport strong {
  max-width: 210px;
  font-size: 18px;
  line-height: 1.15;
}

.clubUseful {
  display: grid;
  grid-template-columns: 260px minmax(0,1fr);
  gap: 26px;
}

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

.clubUseful__grid > div {
  min-height: 88px;
  padding: 15px;
  border-radius: 15px;
  background: #f5f8f6;
}

.clubUseful__number {
  margin-bottom: 13px;
  font-size: 7px;
}

.clubUseful__grid strong {
  color: #17382c;
  font-size: 11px;
}

/* TABLET */
@media (max-width: 980px) {
  .membersBenefitsGrid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .membersPlansGrid,
  .clubValuesGrid,
  .clubSportsGrid {
    grid-template-columns: 1fr;
  }

  .membersHow,
  .clubUseful {
    grid-template-columns: 1fr;
  }

  .clubStoryGrid {
    grid-template-columns: 1fr;
  }

  .clubStoryAside {
    padding: 0;
    border: 0;
  }
}

/* MOBILE */
@media (max-width: 768px) {
  .membersPage--ui2,
  .clubPage--ui2 {
    width: calc(100% - 24px);
    padding: 12px 0 98px;
  }

  .membersTop,
  .clubTop {
    min-height: auto;
    display: block;
    margin-bottom: 16px;
    padding: 5px 2px 10px;
    border-radius: 0;
    color: #082c21;
    background: transparent;
    box-shadow: none;
  }

  .membersTop__eyebrow,
  .clubTop__eyebrow {
    margin-bottom: 7px;
    padding: 0;
    border: 0;
    color: #126d4f;
    background: transparent;
    font-size: 7px;
  }

  .membersTop h1,
  .clubTop h1 {
    color: #082c21;
    font-size: 34px;
  }

  .membersTop__content > p,
  .clubTop__content > p {
    max-width: 310px;
    margin-top: 8px;
    color: #67756f;
    font-size: 11px;
    line-height: 1.45;
  }

  .membersTop__actions {
    margin-top: 13px;
    gap: 7px;
  }

  .membersAction {
    min-height: 36px;
    padding-inline: 12px;
    font-size: 8px;
  }

  .membersAction--primary {
    color: #fff;
    background: #0a6046;
  }

  .membersAction--ghost {
    color: #0a6046;
    border-color: rgba(10,96,70,.14);
    background: #edf4f1;
  }

  .membersTop__note,
  .clubTop__seal {
    display: none;
  }

  .membersIntro,
  .membersPlansSection,
  .membersHow,
  .clubStorySection,
  .clubValuesSection,
  .clubSportsSection,
  .clubUseful {
    margin-bottom: 12px;
    padding: 17px;
    border-radius: 18px;
  }

  .membersSectionTitle h2,
  .clubSectionTitle h2,
  .membersHow h2,
  .clubUseful h2 {
    font-size: 26px;
  }

  .membersSectionTitle > p,
  .membersSectionTitle--row > p,
  .clubSectionTitle--row > p,
  .membersHow__intro > p {
    font-size: 10px;
  }

  .membersSectionTitle--row,
  .clubSectionTitle--row {
    display: block;
  }

  .membersSectionTitle--row > p,
  .clubSectionTitle--row > p {
    margin-top: 8px;
  }

  .membersBenefitsGrid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 15px;
  }

  .membersBenefit {
    min-height: 128px;
    padding: 13px;
    border-radius: 14px;
  }

  .membersBenefit__index,
  .clubValue > span {
    margin-bottom: 14px;
    font-size: 7px;
  }

  .membersBenefit h3,
  .clubValue h3 {
    font-size: 15px;
  }

  .membersBenefit p,
  .clubValue p {
    font-size: 9px;
    line-height: 1.45;
  }

  .membersPlansGrid {
    display: flex;
    gap: 9px;
    margin: 16px -17px 0;
    padding: 0 17px 4px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .membersPlansGrid::-webkit-scrollbar {
    display: none;
  }

  .membersPlan {
    min-width: 245px;
    scroll-snap-align: start;
    padding: 17px;
    border-radius: 16px;
  }

  .membersPlan h3 {
    font-size: 19px;
  }

  .membersPlan__price strong {
    font-size: 28px;
  }

  .membersHow {
    gap: 12px;
  }

  .membersSteps li {
    padding: 11px 0;
  }

  .membersFinal {
    min-height: 165px;
    display: block;
    padding: 20px;
    border-radius: 18px;
  }

  .membersFinal h2 {
    max-width: 270px;
    font-size: 28px;
  }

  .membersFinal .membersAction {
    margin-top: 18px;
  }

  /* Club mobile */
  .clubStoryGrid {
    gap: 12px;
    margin-top: 16px;
  }

  .clubStoryLead p {
    font-size: 15px;
    line-height: 1.6;
  }

  .clubStoryAside p {
    font-size: 10px;
  }

  .clubValuesGrid,
  .clubSportsGrid {
    gap: 8px;
    margin-top: 15px;
  }

  .clubValue,
  .clubSport {
    min-height: 0;
    padding: 14px;
    border-radius: 14px;
  }

  .clubSport {
    min-height: 108px;
  }

  .clubSport strong {
    font-size: 15px;
  }

  .clubUseful {
    gap: 14px;
  }

  .clubUseful__grid {
    grid-template-columns: 1fr 1fr;
    gap: 7px;
  }

  .clubUseful__grid > div {
    min-height: 76px;
    padding: 12px;
  }

  .clubUseful__grid strong {
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .membersAction {
    transition: none !important;
  }
}



/* =========================================================
   POLISH 06 FIX1 — VISUAL POLISH
   ========================================================= */

/* Featured membership: guarantee readable contrast over legacy rules */
.membersPlansGrid .membersPlan.membersPlan--featured > p,
.membersPlansGrid .membersPlan.membersPlan--featured ul li {
  color: rgba(255,255,255,.80) !important;
}

.membersPlansGrid .membersPlan.membersPlan--featured ul li::before {
  color: #ffffff !important;
}

.membersPlansGrid .membersPlan.membersPlan--featured .membersPlan__price span {
  color: rgba(255,255,255,.64) !important;
}

/* Slightly calmer desktop rhythm */
@media (min-width: 769px) {
  .membersPlansSection,
  .clubStorySection,
  .clubValuesSection,
  .clubSportsSection,
  .clubUseful {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .clubStoryLead p {
    max-width: 760px;
  }
}

/* Mobile memberships: show a clearer hint of the next card without over-cropping */
@media (max-width: 768px) {
  .membersPlansGrid {
    scroll-padding-left: 17px;
  }

  .membersPlan {
    min-width: min(78vw, 252px);
  }

  .membersPlan__price span {
    font-size: 7.5px;
  }

  .membersPlan > p {
    min-height: auto;
  }

  .membersHow {
    margin-top: 2px;
  }

  .membersSteps li:last-child {
    padding-bottom: 2px;
  }

  .membersFinal {
    margin-top: 2px;
  }
}

@media (max-width: 370px) {
  .membersPlan {
    min-width: 244px;
  }
}
