/* Compound pages — home hero + contact location/map.
   Unlayered, .ac-plugin-scoped. */

.ac-plugin .ac-hero {
  position: relative;
  background: linear-gradient(135deg, var(--ac-primary), color-mix(in srgb, var(--ac-primary) 58%, #05070c));
  border-radius: var(--ac-radius);
  padding: clamp(3rem, 8vw, 5.5rem) clamp(1.5rem, 5vw, 3.5rem);
  text-align: center;
  box-shadow: var(--ac-shadow);
  overflow: hidden;
}
/* decorative accent glow so the banner reads as designed, not a flat box */
.ac-plugin .ac-hero::after {
  content: "";
  position: absolute;
  top: -35%;
  right: -8%;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--ac-accent) 26%, transparent), transparent 68%);
  pointer-events: none;
}
/* Photo variant: the page's featured image fills the banner, with a scrim so
   the title stays legible. Falls back to the gradient above when no image. */
.ac-plugin .ac-hero--photo {
  position: relative;
  background-size: cover;
  background-position: center;
  min-height: clamp(300px, 46vh, 520px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 5vw, 3.5rem);
}
.ac-plugin .ac-hero--photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9,13,22,.32), rgba(9,13,22,.74));
}
.ac-plugin .ac-hero__inner { position: relative; z-index: 1; max-width: 46rem; margin: 0 auto; display: grid; gap: 1rem; justify-items: center; }
.ac-plugin .ac-hero__eyebrow { margin: 0; color: color-mix(in srgb, var(--ac-accent) 55%, #ffffff); font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ac-plugin .ac-hero__title { font-family: var(--ac-font-display); color: #fff; font-size: clamp(2rem, 5.2vw, 3.3rem); line-height: 1.06; letter-spacing: -.01em; margin: 0; }
.ac-plugin .ac-hero__lead { color: rgba(255,255,255,.88); font-size: 1.05rem; line-height: 1.6; margin: 0; max-width: 42rem; }

/* Member-portal CTA band, below the photo. */
.ac-plugin .ac-hero-cta { display: flex; flex-direction: column; align-items: center; gap: .5rem; margin-top: 1.25rem; text-align: center; }
.ac-plugin .ac-hero-cta__note { margin: 0; color: var(--ac-muted); font-size: .95rem; }
.ac-plugin .ac-hero-cta__button { font-size: 1rem; padding: .75rem 1.75rem; }

/* Spotlight / promo band — clubs advertise an event or share news here. */
.ac-plugin .ac-spotlight { display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: stretch; border: 1px solid var(--ac-line); border-radius: var(--ac-radius); overflow: hidden; background: var(--ac-surface); box-shadow: var(--ac-shadow); }
.ac-plugin .ac-spotlight__media { position: relative; min-height: 240px; background: linear-gradient(150deg, var(--ac-primary), color-mix(in srgb, var(--ac-primary) 60%, #05070c)); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.ac-plugin .ac-spotlight__media::after { content: ""; position: absolute; bottom: -30%; left: -12%; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--ac-accent) 30%, transparent), transparent 68%); pointer-events: none; }
.ac-plugin .ac-spotlight__glyph { position: relative; width: 72px; height: 72px; border-radius: 18px; background: rgba(255,255,255,.12); display: inline-flex; align-items: center; justify-content: center; }
.ac-plugin .ac-spotlight__glyph .ac-tile__icon { width: 36px; height: 36px; color: #fff; }
.ac-plugin .ac-spotlight__body { padding: clamp(1.6rem, 4vw, 2.6rem); display: grid; gap: .55rem; align-content: center; }
.ac-plugin .ac-spotlight__body h2 { font-size: clamp(1.45rem, 3vw, 2.05rem); }
.ac-plugin .ac-spotlight__text { color: var(--ac-muted); font-size: 1rem; line-height: 1.6; }
.ac-plugin .ac-spotlight__text p { margin: 0 0 .75rem; }
.ac-plugin .ac-spotlight__text p:last-child { margin-bottom: 0; }
.ac-plugin .ac-spotlight__cta { margin-top: .6rem; justify-self: start; }
@media (max-width: 640px) {
  .ac-plugin .ac-spotlight { grid-template-columns: 1fr; }
  .ac-plugin .ac-spotlight__media { min-height: 150px; }
}


.ac-plugin .ac-hero-about { text-align: center; max-width: 52rem; margin-left: auto; margin-right: auto; }
.ac-plugin .ac-hero-about > h2 { display: inline-block; }
.ac-plugin .ac-hero-about__body { color: var(--ac-muted); font-size: 1.02rem; line-height: 1.7; }
.ac-plugin .ac-hero-about__body p { margin: 0 0 1rem; }
.ac-plugin .ac-hero-about__body p:last-child { margin-bottom: 0; }

/* Stats band */
.ac-plugin .ac-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; padding: 1.5rem clamp(1rem, 4vw, 2rem); border: 1px solid var(--ac-line); border-radius: var(--ac-radius); background: var(--ac-soft); text-align: center; }
.ac-plugin .ac-stat { display: grid; gap: .2rem; }
.ac-plugin .ac-stat__value { font-family: var(--ac-font-display); font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 600; line-height: 1; color: var(--ac-primary); font-variant-numeric: tabular-nums; }
.ac-plugin .ac-stat__label { font-size: .82rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ac-muted); }

/* Highlights / benefits row */
.ac-plugin .ac-highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; margin-top: 1rem; }
.ac-plugin .ac-highlight { display: flex; flex-direction: column; gap: .4rem; }
.ac-plugin .ac-highlight__icon { width: 46px; height: 46px; border-radius: 12px; background: var(--ac-accent-soft); color: var(--ac-accent); display: inline-flex; align-items: center; justify-content: center; margin-bottom: .35rem; }
.ac-plugin .ac-highlight__icon .ac-tile__icon { width: 24px; height: 24px; }
.ac-plugin .ac-highlight__title { font-size: 1.12rem; }
.ac-plugin .ac-highlight__text { color: var(--ac-muted); font-size: .92rem; line-height: 1.5; margin: 0; }

/* Call-to-action band */
.ac-plugin .ac-cta-band { border-radius: var(--ac-radius); background: linear-gradient(135deg, var(--ac-primary), color-mix(in srgb, var(--ac-primary) 62%, #05070c)); box-shadow: var(--ac-shadow); padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 3rem); }
.ac-plugin .ac-cta-band__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
.ac-plugin .ac-cta-band__copy { flex: 1; min-width: 15rem; }
.ac-plugin .ac-cta-band__title { color: #fff; font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 0; }
.ac-plugin .ac-cta-band__text { color: rgba(255,255,255,.82); margin: .4rem 0 0; font-size: 1rem; }
.ac-plugin .ac-cta-band__button { flex: none; background: #fff; color: var(--ac-primary); border-color: #fff; font-size: 1rem; padding: .75rem 1.6rem; }
.ac-plugin .ac-cta-band__button:hover { background: color-mix(in srgb, #ffffff 88%, var(--ac-accent)); color: var(--ac-primary); }

/* Contact location + embedded map */
.ac-plugin .ac-location__grid { display: grid; gap: 1.5rem; }
.ac-plugin .ac-location__grid--map { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: stretch; }
.ac-plugin .ac-location__info { display: grid; gap: 1rem; align-content: start; }
.ac-plugin .ac-location__about { background: var(--ac-surface); border: 1px solid var(--ac-line); border-radius: var(--ac-radius); padding: 1.75rem 1.85rem; display: grid; gap: .85rem; align-content: start; }
.ac-plugin .ac-location__about h2 { margin: 0; }
.ac-plugin .ac-location__about p { margin: 0; color: var(--ac-muted); }
.ac-plugin .ac-location__item strong { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ac-muted); margin-bottom: .2rem; }
.ac-plugin .ac-location__item p { margin: 0; }
.ac-plugin .ac-location__map { border-radius: var(--ac-radius); overflow: hidden; border: 1px solid var(--ac-line); min-height: 320px; }
.ac-plugin .ac-location__map iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }

@media (max-width: 640px) {
  .ac-plugin .ac-location__grid--map { grid-template-columns: 1fr; }
}
