.club-site * {
  box-sizing:border-box
}
html.club-document {
  background:var(--club-background);
  color:var(--club-text)
}
body.club-site {
  margin:0;
  background:var(--club-background);
  color:var(--club-text);
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif
}
.club-site a {
  color:inherit
}
.club-site button,.club-site a {
  -webkit-tap-highlight-color:transparent
}
.club-site a:focus-visible,.club-site button:focus-visible {
  outline:3px solid var(--club-text);
  outline-offset:4px
}
.club-site .skip-link {
  position:fixed;
  left:12px;
  top:-100px;
  z-index:20;
  background:#000;
  padding:12px
}
.club-site .skip-link:focus {
  top:12px
}
.club-site .club-header {
  padding:20px;
  background:var(--club-background)
}
.club-site .club-header__inner {
  max-width:1140px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 540px minmax(0,1fr);
  gap:20px;
  align-items:end
}
.club-site .club-logo {
  display:block;
  line-height:0
}
.club-site .club-logo img {
  display:block;
  width:100%;
  height:auto;
  max-width:300px
}
.club-site .club-heading {
  font:italic 400 50px/1 "Bebas Neue",sans-serif;
  text-align:center
}
.club-site .club-heading span {
  display:block
}
.club-site .club-socials {
  display:flex;
  justify-content:center;
  gap:5px;
  min-height:50px
}
.club-site .social {
  display:flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  color:#fff;
  transition:transform .15s
}
.club-site .social:hover {
  transform:scale(1.1)
}
.club-site .social svg {
  width:25px;
  height:25px
}
.club-site .social--facebook {
  background:#3b5998
}
.club-site .social--instagram {
  background:#262626
}
.club-site .social--x {
  background:#000
}
.club-site .club-home {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px;
  padding:40px 0;
  background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),var(--club-hero,none);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-attachment:fixed
}
.club-site .club-nav-wrap {
  width:100%;
  padding:10px;
  display:flex;
  justify-content:center;
  position:relative;
  z-index:10;
  pointer-events:none
}
.club-site .club-nav {
  pointer-events:auto;
  position:relative;
  background:var(--club-primary);
  border:3px solid var(--club-secondary);
  border-radius:30px;
  max-width:100%
}
.club-site .club-nav ul {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0
}
.club-site .club-nav li {
  margin:0;
  padding:0
}
.club-site .club-nav a {
  display:block;
  padding:13px 5px;
  color:var(--club-secondary);
  font:italic 700 14px/10px Montserrat,sans-serif;
  text-decoration:none;
  white-space:nowrap
}
.club-site .club-nav a[aria-current] {
  color:#fff
}
.club-site .club-nav a:hover {
  color:var(--club-secondary-hover)
}
.club-site .club-nav__toggle {
  display:none
}
.club-site .club-title {
  width:min(980px,100%);
  margin:0;
  border-bottom:3px solid var(--club-primary);
  color:var(--club-text);
  font:italic 500 45px/1 "Bebas Neue",sans-serif;
  text-align:left
}
.club-site .club-intro {
  width:min(980px,84vw);
  text-align:center;
  color:var(--club-primary);
  font:italic 500 18px/27px Montserrat,sans-serif
}
.club-site .club-intro p {
  margin:0 0 14.4px
}
.club-site .club-features {
  display:flex;
  flex-direction:column;
  align-items:center;
  width:50%;
  padding:10px;
  gap:20px
}
.club-site .club-feature {
  width:75%;
  padding:10px 10px 24.4px;
  background:var(--club-primary);
  border:3px solid var(--club-secondary);
  border-radius:30px;
  box-shadow:0 0 5px 5px var(--club-glow);
  color:var(--club-secondary-hover);
  font:italic 600 16px/24px Montserrat,sans-serif;
  text-align:center
}
.club-site .club-feature h2 {
  margin:0;
  font:italic 900 16px/24px Montserrat,sans-serif
}
.club-site .club-feature p {
  margin:0
}
.club-site .feature-icon {
  display:inline-block;
  height:1em;
  width:1em;
  vertical-align:-.1em
}
.club-site .club-action {
  width:100%;
  padding:50px 10px 90px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:20px
}
.club-site .club-action>.club-title {
  width:min(360px,100%);
  text-align:center
}
.club-site .club-action__links {
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  width:100%
}
.club-site .club-action__links a {
  display:block;
  text-align:center;
  background:var(--club-primary);
  border:3px solid var(--club-secondary);
  border-radius:35px;
  color:var(--club-text);
  font:italic 500 30px/1 Montserrat,sans-serif;
  padding:12px 24px;
  text-decoration:none;
  max-width:100%
}
.club-site .club-action__links a:first-child {
  padding:15px
}
.club-site .club-action__links a:hover {
  background:var(--club-secondary-hover);
  border-color:var(--club-primary);
  color:#fff
}
.club-site .club-footer {
  padding:10px;
  text-align:center;
  font:italic 400 16px/24px Montserrat,sans-serif;
  color:var(--club-primary);
  background:var(--club-background)
}
.club-site .club-footer p {
  margin:0 0 14.4px
}
.club-site .club-legal {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin:0;
  padding:16px 16px 26px;
  font-size:13px;
  background:var(--club-background);
  border-top:1px solid color-mix(in srgb,var(--club-primary) 22%,transparent);
  color:#ffffff73;
  text-align:center
}
.club-site .club-legal a {
  color:#ffffffb8;
  text-decoration:none;
  padding:6px 2px
}
.club-site .club-legal a:hover {
  text-decoration:underline
}
 @media(max-width:1024px) {
  .club-site .club-home {
    background:var(--club-background)
  }
  .club-site .club-header__inner {
    grid-template-columns:minmax(0,1fr) 354px minmax(0,1fr)
  }
  .club-site .club-heading {
    font-size:33px
  }
  .club-site .club-features {
    width:60%
  }
  .club-site .club-nav {
    width:60%
  }
  .club-site .club-nav__toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    margin:auto;
    min-height:43px;
    width:100%;
    padding:10px;
    border:0;
    background:none;
    color:#404040;
    cursor:pointer
  }
  .club-site .club-nav__toggle svg {
    width:22px;
    height:22px
  }
  .club-site .club-nav ul {
    display:none;
    position:absolute;
    top:calc(100% + 6px);
    left:-3px;
    right:-3px;
    max-height:70vh;
    overflow:auto;
    background:var(--club-secondary);
    border-radius:15px;
    padding:8px 0;
    box-shadow:0 8px 24px #0008
  }
  .club-site .club-nav.is-open ul {
    display:block
  }
  .club-site .club-nav a {
    font-size:18px;
    font-weight:500;
    line-height:1.4;
    padding:11px 16px;
    white-space:normal;
    color:var(--club-primary)
  }
  .club-site .club-nav a:hover,.club-site .club-nav a:focus-visible {
    background:var(--club-primary);
    color:var(--club-secondary)
  }
  .club-site .club-action__links {
    flex-direction:column;
    width:40vw
  }
}
 @media(max-width:767px) {
  .club-site .club-header__inner {
    grid-template-columns:minmax(0,1fr);
    justify-items:center;
    gap:20px
  }
  .club-site .club-logo {
    width:min(84vw,100%)
  }
  .club-site .club-logo img {
    width:auto;
    max-width:100%;
    height:191px;
    object-fit:contain;
    margin:auto
  }
  .club-site .club-heading {
    font-size:30px;
    width:min(84vw,100%)
  }
  .club-site .club-socials {
    width:100%
  }
  .club-site .club-title {
    text-align:center
  }
  .club-site .club-features {
    width:100%
  }
  .club-site .club-action__links {
    width:100%
  }
  .club-site .club-nav {
    width:60%
  }
  .club-site .club-feature {
    overflow-wrap:break-word
  }
}
 @media(prefers-reduced-motion:reduce) {
  .club-site * {
    scroll-behavior:auto!important;
    transition:none!important
  }
}
  /* WordPress menus keep their native classes and visibility filters. */ .club-site .club-nav a.current-menu-item,.club-site .club-nav .current-menu-item>a,.club-site .club-nav .current_page_item>a {
  color:#fff
}
.club-site .club-preview-banner {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  padding:10px 16px;
  border-bottom:1px solid var(--club-primary);
  background:#120c20;
  color:#f0ecec;
  font:normal 14px/1.5 system-ui,sans-serif
}
.club-site .club-preview-banner a {
  color:var(--club-primary);
  text-decoration:underline
}
.club-site .club-nav>ul {
  width:100%
}
.club-site .club-nav .sub-menu {
  display:block;
  position:static;
  padding-left:12px
}
.club-site .club-home {
  max-width:none;
  margin:0
}
.club-site .club-heading,.club-site .club-title,.club-site .club-feature h2 {
  text-transform:none
}
.club-site .club-logo img {
  border:0;
  border-radius:0
}
.club-site .club-action__links a {
  box-shadow:none
}
.club-site .club-nav__toggle:hover,.club-site .club-nav__toggle:focus {
  background:transparent;
  color:#404040;
  border:0
}

/* About page: the same shared shell, with the existing story and spacing. */
.club-site .club-home.club-about {
  background-image:linear-gradient(rgba(0,0,0,.8),rgba(0,0,0,.8)),var(--club-hero,none);
}
.club-site .club-story-section {
  width:100%;display:flex;flex-direction:column;align-items:center;gap:20px;
}
.club-site .club-story-copy {
  width:min(980px,100%);color:var(--club-primary);
  font:italic 500 18px/27px Montserrat,sans-serif;overflow-wrap:break-word;
}
.club-site .club-story-copy p {margin:0 0 14.4px}
.club-site .club-story-section:first-of-type .club-story-copy {padding-top:40px}
.club-site .club-story-section:nth-of-type(2) {padding-bottom:40px}
.club-site .club-about .club-action {padding:10px}
@media(max-width:1024px){
  .club-site .club-home.club-about {background-image:none}
  .club-site .club-story-copy {width:84vw}
}

/* Shared service-page shell; form modules retain their own fields and handlers. */
.club-site .club-home.club-service {background-image:linear-gradient(rgba(0,0,0,.8),rgba(0,0,0,.8)),var(--club-hero,none)}
.club-site .club-service .club-nav-wrap {padding-top:20px}
.club-site .club-service-intro {width:min(980px,100%);margin:0 auto 20px;text-align:center;color:var(--club-primary);font:italic 600 16px/24px Montserrat,sans-serif}
.club-site .club-service-note {width:min(500px,100%);margin:0 auto 20px;text-align:center;color:var(--club-primary);font:italic 600 16px/24px Montserrat,sans-serif}
.club-site .club-service-content {margin:0 auto 20px;color:var(--club-text);font:normal 16px/1.5 Arial,sans-serif}
.club-site .club-preview-fields {border:0;padding:0;margin:0;min-width:0}
.club-site .club-preview-form-note {max-width:600px;margin:0 auto 14px;color:var(--club-primary);font-size:14px}
.club-site .club-service-content .nfp-tryouts-card {background:rgba(15,10,30,.92);color:#fff;border:2px solid var(--club-secondary);border-radius:20px;padding:22px}
@media(max-width:1024px){.club-site .club-home.club-service {background-image:none}}

/* Directory shells reuse the existing dynamic carousel/gallery components. */
.club-site .club-home.club-no-background {background-image:none}
.club-site .club-directory .club-service-content {font-family:inherit;min-width:0}
.club-site .club-directory .club-service-intro {margin-bottom:30px}

/* Player profile: preserve the original NFP template's display type and halo frames.
   Brand colors remain installation tokens; no Elementor widget IDs are required. */
.club-player-profile {min-width:0}
.club-player-profile__top {display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:30px;align-items:start}
.club-player-profile__photo img,
.club-player-profile__placeholder {box-sizing:border-box;width:100%;height:auto;aspect-ratio:4/5;border:5px solid var(--club-secondary-hover,#7f56b6);border-radius:20px;box-shadow:0 0 10px 3px var(--club-glow,#fff)}
.club-player-profile__photo img {object-fit:cover;object-position:center top;display:block}
.club-player-profile__placeholder {display:grid;place-items:center;background:#10091e;color:var(--club-text,#fff)}
.club-player-profile__summary {min-width:0}
.club-player-profile h1 {margin:0 0 20px;color:var(--club-glow,#fff);font:italic 500 45px/1.1 "Bebas Neue",sans-serif;overflow-wrap:anywhere}
.club-player-profile__section {box-sizing:border-box;margin-top:36px;min-width:0;padding:14px;border:5px solid var(--club-primary,#46d1d4);border-radius:20px;box-shadow:0 0 5px 3px var(--club-primary,#46d1d4)}
.club-player-profile h2 {margin:0 0 16px;padding-bottom:8px;border-bottom:3px solid var(--club-secondary,#702b92);color:var(--club-text,#f0ecec);font:italic 500 45px/1.1 "Bebas Neue",sans-serif}
@media(max-width:1024px){.club-player-profile__top{grid-template-columns:minmax(0,1fr)}.club-player-profile__photo{width:min(340px,100%);margin:auto}}
@media(max-width:480px){.club-player-profile h1,.club-player-profile h2{font-size:36px}.club-player-profile__section{padding:10px}}

/* Original gallery subtitle typography, scoped to its page. */
.club-site .club-service-intro.club-gallery-intro {font:italic 500 18px/1.4 "Bebas Neue",sans-serif}

/* Dashboard shell only: existing role panels own their controls and appearance. */
.club-site .club-dashboard-welcome {margin:0 0 30px;padding:0;border-bottom:3px solid var(--club-primary);color:var(--club-text);font:italic 600 30px/1 "Bebas Neue",sans-serif}
.club-site .club-dashboard-preview {min-width:0}

.club-site .club-dashboard #nfp_ud {font:16px/24px -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}
.club-site .club-dashboard #nfp_ud button {font-family:inherit}
