.club-directory,
.club-detail {
  color: #e8f2f6;
}
.club-directory-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.club-directory-head h3 {
  margin: 5px 0 8px;
  font-size: clamp(24px, 3vw, 32px);
}
.club-directory-head p {
  max-width: 650px;
  line-height: 1.5;
  color: #a9c0ce;
}
.club-eyebrow,
.club-detail-kicker {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: #51e4d9;
}
.club-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 17px;
}
.club-card {
  overflow: hidden;
  border: 1px solid #276179;
  border-radius: 20px;
  background: #202227;
  box-shadow: 0 12px 32px #0003;
  transition:
    transform 0.2s,
    border-color 0.2s;
}
.club-card:hover {
  transform: translateY(-3px);
  border-color: #5ce4da;
}
.club-card-art {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 168px;
  padding: 17px;
  background:
    radial-gradient(circle at 72% 15%, #2022276c, transparent 37%),
    radial-gradient(circle at 14% 74%, #05bed269, transparent 43%),
    linear-gradient(135deg, #10202f, #1c1939 70%, #081d2b);
  overflow: hidden;
}
.club-card:nth-child(3n + 2) .club-card-art {
  background:
    radial-gradient(circle at 78% 15%, #bd8b4966, transparent 40%),
    radial-gradient(circle at 18% 78%, #572ebc7d, transparent 40%),
    linear-gradient(130deg, #091e31, #262340);
}
.club-art-mark {
  position: absolute;
  right: 18px;
  top: 8px;
  font-size: 86px;
  line-height: 1;
  color: #ffffff24;
}
.club-art-label {
  position: relative;
  padding: 7px 11px;
  border: 1px solid #ffffff55;
  border-radius: 99px;
  background: #202227b8;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.club-card-content {
  padding: 18px;
}
.club-area {
  margin: 0 0 6px !important;
  color: #55e2dc !important;
  font-size: 13px;
}
.club-card h4 {
  margin: 0 0 9px;
  font-size: 21px;
  line-height: 1.25;
}
.club-card-meta {
  min-height: 38px;
  color: #a9bcc9 !important;
  font-size: 14px;
  line-height: 1.4;
}
.club-card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 17px;
}
.club-primary {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  padding: 9px 14px;
  border: 0;
  border-radius: 10px;
  background: #40d7cb;
  color: #06232a !important;
  font: 800 14px/1.25 inherit;
  text-decoration: none;
  cursor: pointer;
}
.club-primary:hover {
  background: #7bf5e9;
}
.club-card-actions > a,
.club-detail a:not(.club-primary) {
  font-size: 14px;
  color: #78e9f2;
  text-decoration: none;
}
.club-detail a:hover {
  text-decoration: underline;
}
.club-return {
  margin: 0 0 15px;
  padding: 9px 0;
  border: 0;
  background: none;
  color: #70e4e4;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}
.club-detail-hero {
  padding: 24px;
  border: 1px solid #347087;
  border-radius: 20px;
  background:
    radial-gradient(circle at 90% 5%, #20222755, transparent 40%),
    linear-gradient(115deg, #0d3341, #101b37);
}
.club-detail-hero h4 {
  margin: 8px 0;
  font-size: clamp(26px, 4vw, 40px);
}
.club-detail-hero p {
  color: #bed5dd;
}
.club-detail-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.club-detail-columns section,
.club-program,
.club-media {
  padding: 19px;
  border: 1px solid #27576d;
  border-radius: 16px;
  background: #202227;
}
.club-detail h5 {
  margin: 0 0 12px;
  font-size: 18px;
}
.club-detail p {
  margin: 9px 0;
  color: #c0d0d9;
  line-height: 1.55;
  font-size: 14px;
}
.club-book {
  margin-top: 10px;
}
.club-program,
.club-media {
  margin-top: 14px;
}
.club-months {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}
.club-months button {
  padding: 10px 15px;
  border: 1px solid #326578;
  border-radius: 9px;
  background: #202227;
  color: #e1f0f3;
  font-weight: 800;
  cursor: pointer;
}
.club-months button.active {
  background: #43d9c8;
  border-color: #43d9c8;
  color: #08262d;
}
.club-month-content {
  min-height: 72px;
}
.club-month-content a {
  display: inline-block;
  margin-top: 6px;
}
.club-event {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: wrap;
  padding: 11px 0;
  border-top: 1px solid #31566a;
}
.club-event time {
  color: #5ee4d4;
}
.club-data-note {
  font-size: 12px !important;
  color: #87a3b3 !important;
}
@media (max-width: 650px) {
  .club-grid,
  .club-detail-columns {
    grid-template-columns: 1fr;
  }
  .club-card-art {
    min-height: 145px;
  }
  .club-detail-hero {
    padding: 18px;
  }
}
/* Shared premium club layout */
.club-directory,
.club-detail {
  font-family: Inter, Arial, sans-serif;
  color: #f5f7f9;
}
.club-directory-head {
  padding: 8px 2px 15px;
}
.club-eyebrow {
  font-size: 11px;
  letter-spacing: 0.18em;
  color: #d6b879;
  font-weight: 900;
}
.club-directory-head h3 {
  font-size: clamp(26px, 3vw, 34px);
  letter-spacing: -0.03em;
}
.club-grid {
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 20px;
}
.club-card {
  background: #202227;
  border-color: #39576a;
  border-radius: 19px;
  box-shadow: 0 16px 34px #0005;
}
.club-card:hover {
  border-color: #cbaa68;
  box-shadow: 0 20px 38px #0009;
}
.club-card-art {
  height: 215px;
  padding: 16px;
  background: linear-gradient(145deg, #202227, #202227);
}
.club-card-art:after {
  position: absolute;
  inset: 0;
  content: '';
  background: linear-gradient(0deg, #202227c9, transparent 60%);
  pointer-events: none;
}
.club-card-art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.club-card-art img[hidden] {
  display: none;
}
.club-art-mark {
  display: none;
}
.club-art-label {
  z-index: 1;
  border-color: #dbc18a88;
  background: #202227b8;
  color: #f7e4b7;
  font-size: 12px;
}
.club-card-content {
  padding: 20px;
}
.club-area {
  color: #d5b97d !important;
  font-size: 13px;
}
.club-card h4 {
  font-size: 22px;
}
.club-card-meta {
  font-size: 14px;
  min-height: 40px;
}
.club-primary {
  background: #d9bd80 !important;
  color: #0c1c29 !important;
  border: 1px solid #eed49b !important;
  border-radius: 10px;
  font-family: inherit;
  font-weight: 850;
  line-height: 1.25;
  box-shadow: 0 5px 15px #0004;
}
.club-primary:hover {
  background: #f3daa2 !important;
}
.club-card-actions > a {
  color: #a5d7df;
}
.club-detail-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 310px;
  display: flex;
  align-items: end;
  padding: 0;
  border-color: #a78b54;
  background: linear-gradient(135deg, #202227, #202227);
}
.club-detail-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
}
.club-detail-hero:after {
  position: absolute;
  inset: 0;
  content: '';
  background: linear-gradient(0deg, #202227ef 0%, #20222791 46%, #20222714 100%);
  z-index: -1;
}
.club-detail-shade {
  padding: 28px;
  width: 100%;
}
.club-detail-kicker {
  color: #efd394;
}
.club-detail-hero h4 {
  font-size: clamp(29px, 4vw, 46px);
  letter-spacing: -0.04em;
}
.club-detail-hero p {
  font-size: 15px;
  color: #e4e8eb;
}
.club-detail-columns {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}
.club-detail-columns section,
.club-program,
.club-media {
  background: #202227;
  border-color: #35536a;
  border-radius: 16px;
  padding: 24px;
}
.club-detail h5 {
  font-size: 21px;
  line-height: 1.25;
}
.club-info p,
.club-reserve p {
  line-height: 1.55;
}
.club-reserve {
  background: linear-gradient(140deg, #202227, #202227) !important;
  border-color: #947b52 !important;
}
.club-reserve h5 {
  font-size: 27px;
  margin: 8px 0;
}
.club-booking-form {
  margin-top: 20px;
}
.club-booking-form fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}
.club-booking-form legend {
  margin-bottom: 9px;
  color: #c6d9df;
  font-size: 14px;
  font-weight: 800;
}
.club-table-types {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.club-table-types label {
  cursor: pointer;
}
.club-table-types input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.club-table-types span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 8px;
  text-align: center;
  border: 1px solid #466176;
  border-radius: 10px;
  background: #202227;
  color: #f1f5f6;
  font-size: 13px;
  font-weight: 800;
}
.club-table-types input:checked + span {
  border-color: #edcf8d;
  background: #202227;
  color: #fff5dd;
  box-shadow: inset 0 0 0 1px #ebc982;
}
.club-table-types input:focus-visible + span {
  outline: 2px solid #f4db9a;
  outline-offset: 2px;
}
.club-booking-fields {
  display: grid;
  grid-template-columns: 1fr 1fr 0.7fr;
  gap: 9px;
  margin: 14px 0;
}
.club-booking-fields label {
  display: grid;
  gap: 6px;
  color: #c8d6dc;
  font-size: 13px;
  font-weight: 800;
}
.club-booking-fields input {
  min-width: 0;
  width: 100%;
  height: 43px;
  padding: 8px;
  border: 1px solid #486476;
  border-radius: 8px;
  background: #202227;
  color: #f9fafb;
  font:
    600 15px Inter,
    Arial,
    sans-serif;
  color-scheme: dark;
}
.club-booking-note {
  font-size: 12px !important;
  color: #98adb9 !important;
}
.club-booking-result {
  margin-top: 15px;
  padding: 14px;
  border: 1px solid #7b9c98;
  border-radius: 12px;
  background: #202227;
}
.club-booking-result[hidden] {
  display: none;
}
.club-booking-result strong {
  color: #ffe2a7;
}
.club-booking-result p {
  overflow-wrap: anywhere;
}
.club-copy {
  padding: 9px 12px;
  border: 1px solid #67cabc;
  border-radius: 9px;
  background: #202227;
  color: #d9faf4;
  cursor: pointer;
  font-weight: 800;
}
.club-booking-result .club-primary {
  margin-top: 8px;
}
.club-section-head {
  margin-bottom: 14px;
}
.club-section-head h5 {
  margin: 5px 0;
}
.club-months button {
  min-width: 86px;
}
.club-months button.active {
  background: #d9bd80;
  border-color: #f4dda4;
  color: #152431;
}
.club-media video {
  display: block;
  width: 100%;
  max-height: 440px;
  aspect-ratio: 16/9;
  object-fit: cover;
  border: 1px solid #466374;
  border-radius: 14px;
  background: #202227;
}
.club-media-empty {
  display: grid;
  align-items: center;
  min-height: 90px;
  border: 1px dashed #436274;
  border-radius: 12px;
  padding: 16px;
}
.club-media > a {
  display: inline-block;
  margin-top: 13px;
  color: #d7bd83 !important;
}
.club-data-note {
  padding: 0 3px;
}
@media (max-width: 760px) {
  .club-detail-columns {
    grid-template-columns: 1fr;
  }
  .club-detail-hero {
    min-height: 255px;
  }
  .club-detail-shade {
    padding: 20px;
  }
  .club-detail-columns section,
  .club-program,
  .club-media {
    padding: 17px;
  }
}
@media (max-width: 420px) {
  .club-table-types {
    grid-template-columns: 1fr;
  }
  .club-table-types span {
    min-height: 44px;
  }
  .club-booking-fields {
    grid-template-columns: 1fr 1fr;
  }
  .club-booking-fields label:last-child {
    grid-column: 1/-1;
  }
  .club-months button {
    min-width: calc(33.333% - 6px);
  }
}
.club-media-empty {
  aspect-ratio: 16/9;
  min-height: 190px;
  background: linear-gradient(135deg, #202227, #202227);
  place-items: center;
  text-align: center;
}
.club-media-empty p {
  max-width: 330px;
}
.club-detail-columns > section {
  min-height: 350px;
}
.club-transfer,
.club-dating {
  margin-top: 22px;
  padding: 24px;
  border: 1px solid #3b596c;
  border-radius: 18px;
  background: linear-gradient(145deg, #202227, #202227);
  color: #eef5f6;
}
.club-transfer {
  border-color: #ac8e59;
  background:
    radial-gradient(circle at 94% 0, #80613830, transparent 40%),
    linear-gradient(145deg, #122737, #0b1928);
}
.club-extra-heading h5 {
  margin: 5px 0 7px;
  font-size: clamp(23px, 3vw, 30px);
  letter-spacing: -0.03em;
}
.club-extra-heading p,
.club-extra-note {
  color: #a9bdc9;
  font-size: 14px;
  line-height: 1.5;
}
.club-transfer-form {
  display: grid;
  grid-template-columns: 1.4fr 1.1fr 1fr 0.8fr 0.7fr auto;
  gap: 10px;
  align-items: end;
  margin-top: 19px;
}
.club-transfer-form label {
  display: grid;
  gap: 7px;
  font-size: 12px;
  font-weight: 800;
  color: #d1e0e5;
}
.club-transfer-form input {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 10px 12px;
  border: 1px solid #4a6578;
  border-radius: 10px;
  background: #202227;
  color: #fff;
  color-scheme: dark;
  font:
    600 14px Inter,
    Arial,
    sans-serif;
}
.club-transfer-form > .club-primary {
  height: 46px;
  white-space: nowrap;
}
.club-transfer-result {
  grid-column: 1/-1;
  padding: 14px;
  border: 1px solid #758f8c;
  border-radius: 12px;
  background: #202227;
}
.club-transfer-result[hidden] {
  display: none;
}
.club-transfer-result p {
  overflow-wrap: anywhere;
}
.club-transfer-result a {
  margin-left: 13px;
  color: #d9c48f;
}
.club-extra-note a {
  color: #e3cd94;
}
.club-dating-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  margin: 20px 0 16px;
}
.club-person {
  display: flex;
  gap: 13px;
  align-items: center;
  min-height: 111px;
  padding: 14px;
  border: 1px solid #405a6e;
  border-radius: 14px;
  background: #202227;
}
.club-person-avatar {
  flex: none;
  display: grid;
  place-items: center;
  width: 62px;
  height: 70px;
  border-radius: 12px;
  background: linear-gradient(145deg, #864d73, #202227);
  color: #fff;
  font-size: 29px;
  font-weight: 900;
}
.club-person-avatar-2,
.club-person-avatar-5 {
  background: linear-gradient(145deg, #202227, #202227);
}
.club-person-avatar-3,
.club-person-avatar-6 {
  background: linear-gradient(145deg, #a57a4e, #202227);
}
.club-person strong {
  font-size: 16px;
}
.club-person p {
  margin: 5px 0;
  color: #c2d0d6;
  font-size: 13px;
  line-height: 1.35;
}
.club-person small {
  color: #e2c684;
  font-size: 12px;
  font-weight: 800;
}
@media (max-width: 1250px) {
  .club-transfer-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .club-transfer-form > .club-primary {
    align-self: end;
  }
  .club-dating-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 650px) {
  .club-transfer,
  .club-dating {
    padding: 18px;
  }
  .club-transfer-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .club-transfer-form label:first-child,
  .club-transfer-form label:nth-child(2),
  .club-transfer-form > .club-primary {
    grid-column: 1/-1;
  }
  .club-dating-grid {
    grid-template-columns: 1fr;
  }
  .club-person {
    min-height: 93px;
  }
}

.club-card-art img.club-venue-logo, .club-detail-hero > img.club-venue-logo { object-fit: contain; padding: 24px; background: #202227; }
.resort-clubs-inline { width: 100%; min-width: 0; }
@media (max-width: 420px) { .resort-clubs-inline .club-grid { grid-template-columns: minmax(0, 1fr); } }

.club-transfer-price { display: flex; align-items: center; gap: 14px; margin: 15px 0; color: #f7e7ac; }
.club-transfer-price strong { font-size: 36px; line-height: 1; }
.club-transfer-price span { font-size: 16px; font-weight: 700; }
.club-months button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; }
.club-months button[aria-expanded="true"] > span { transform: rotate(180deg); }
.club-month-content[hidden] { display: none; }
.club-program-demo { padding: 10px 13px; border: 1px solid #8d794b; border-radius: 10px; background: #f7e7ac0a; color: #f7e7ac !important; font-size: 13px !important; }
.club-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-top: 15px; }
.club-event-card { min-width: 0; overflow: hidden; border: 1px solid #435466; border-radius: 14px; background: #202227; }
.club-event-art { height: 155px; position: relative; background: #30343c; overflow: hidden; }
.club-event-art img { width: 100%; height: 100%; object-fit: cover; }
.club-event-art img.club-venue-logo { object-fit: contain; padding: 20px; }
.club-event-art:after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #101218dd, transparent 70%); }
.club-event-example, .club-event-art time { position: absolute; z-index: 1; color: #f7e7ac; font-weight: 800; }
.club-event-example { top: 12px; right: 12px; border-radius: 20px; padding: 5px 9px; background: #202227e8; font-size: 11px; }
.club-event-art time { bottom: 12px; left: 14px; font-size: 17px; }
.club-event-body { padding: 16px; }
.club-event-body h6 { margin: 0 0 8px; font-size: 18px; color: #f4f5f7; }
.club-event-body p { min-height: 44px; font-size: 13px; }
.club-event-time { color: #f7e7ac; font-size: 13px; font-weight: 700; }
@media (max-width: 760px) { .club-event-grid { grid-template-columns: 1fr; } .club-transfer-price { flex-wrap: wrap; } }
