
/* SSV Club Suite public components
   Theme-friendly defaults: typography inherits from the active WordPress theme. */
.ssvtm-public-grid,
.ssvtm-roster-grid,
.ssvtm-staff-grid,
.ssvtm-featured-grid{
  box-sizing:border-box;
}
.ssvtm-public-grid *,.ssvtm-team-block *,.ssvtm-public-downloads *,
.ssvtm-public-sponsor-wall *,.ssvtm-featured-grid *,.ssvtm-home-notice *{
  box-sizing:border-box;
}
.ssvtm-public-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.ssvtm-public-card{
  padding:1rem;
  border:1px solid color-mix(in srgb,var(--ssvtm-primary,#111827) 12%,transparent);
  border-radius:14px;
  background:#fff;
}
.ssvtm-public-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:.8rem;
}
.ssvtm-public-card h3{margin:.1rem 0 .2rem}
.ssvtm-public-card .role{margin:.1rem 0 .65rem;opacity:.68}
.ssvtm-public-card>a{display:block;margin-top:.25rem;color:var(--ssvtm-primary,#111827)}

.ssvtm-public-downloads{display:grid;gap:.6rem}
.ssvtm-public-download{
  display:grid;
  gap:.2rem;
  padding:.9rem 1rem;
  border:1px solid color-mix(in srgb,var(--ssvtm-primary,#111827) 12%,transparent);
  border-radius:12px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.ssvtm-public-download:hover{border-color:var(--ssvtm-primary,#111827)}
.ssvtm-public-download span{opacity:.68;font-size:.9em}

.ssvtm-public-sponsor-wall{display:grid;gap:2rem}
.ssvtm-public-sponsor-level>h3{margin:0 0 .85rem}
.ssvtm-public-sponsors{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:stretch;
}
.ssvtm-public-sponsor{
  width:180px;
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--ssvtm-logo-padding,18px);
  border:1px solid color-mix(in srgb,var(--ssvtm-primary,#111827) 10%,transparent);
  border-radius:12px;
  text-decoration:none;
  overflow:hidden;
}
.ssvtm-public-sponsor img{max-width:100%;max-height:90px;object-fit:contain}
.ssvtm-public-sponsor.is-sm{width:135px;min-height:80px}
.ssvtm-public-sponsor.is-lg{width:220px;min-height:120px}
.ssvtm-public-sponsor.is-xl{width:300px;min-height:150px}
.ssvtm-public-sponsor.is-white,.ssvtm-public-sponsor.is-transparent{background:#fff}
.ssvtm-public-sponsor.is-light{background:#f4f6f8}
.ssvtm-public-sponsor.is-dark{background:var(--ssvtm-primary,#111827)}

.ssvtm-home-notice{
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:.85rem 1rem;
  border-left:4px solid var(--ssvtm-accent,#c7a34b);
  border-radius:10px;
  background:color-mix(in srgb,var(--ssvtm-accent,#c7a34b) 12%,white);
}
.ssvtm-home-notice a{
  flex:0 0 auto;
  color:var(--ssvtm-primary,#111827);
  font-weight:700;
}

.ssvtm-team-block{display:grid;gap:2rem}
.ssvtm-team-hero{
  position:relative;
  min-height:320px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border-radius:20px;
  background:var(--ssvtm-primary,#111827);
  color:#fff;
}
.ssvtm-team-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.72) 100%);
}
.ssvtm-team-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ssvtm-team-hero-body{position:relative;z-index:1;max-width:760px;padding:2rem}
.ssvtm-team-hero-body h2{margin:.25rem 0 .5rem;color:inherit;font-size:clamp(2rem,5vw,4rem)}
.ssvtm-team-hero-body p{margin:0;opacity:.9}
.ssvtm-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--ssvtm-accent,#c7a34b)}
.ssvtm-team-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.ssvtm-team-facts>div{
  padding:1rem;
  border-radius:12px;
  background:color-mix(in srgb,var(--ssvtm-primary,#111827) 5%,white);
}
.ssvtm-team-facts small{display:block;margin-bottom:.2rem;opacity:.62}
.ssvtm-team-link a{font-weight:700;color:var(--ssvtm-primary,#111827)}
.ssvtm-team-section{display:grid;gap:1.2rem}
.ssvtm-section-heading span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--ssvtm-accent,#c7a34b)}
.ssvtm-section-heading h3{margin:.15rem 0 0;font-size:1.6rem}
.ssvtm-roster-group{display:grid;gap:.7rem}
.ssvtm-roster-group h4{margin:.3rem 0}
.ssvtm-roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.ssvtm-player-card{
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ssvtm-primary,#111827) 10%,transparent);
  border-radius:14px;
  background:#fff;
}
.ssvtm-player-photo{
  aspect-ratio:4/5;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f1f3f5;
}
.ssvtm-player-photo img{width:100%;height:100%;object-fit:cover}
.ssvtm-player-photo .dashicons{font-size:2rem;opacity:.3}
.ssvtm-player-card-body{position:relative;padding:.8rem}
.ssvtm-player-card-body h5{margin:0;font-size:1rem}
.ssvtm-player-card-body small{display:block;margin-top:.2rem;opacity:.6}
.ssvtm-number{
  position:absolute;
  right:.75rem;
  top:.65rem;
  font-size:1.3rem;
  font-weight:900;
  color:var(--ssvtm-accent,#c7a34b);
}
.ssvtm-staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.ssvtm-staff-card{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:.8rem;
  align-items:center;
  padding:.7rem;
  border:1px solid color-mix(in srgb,var(--ssvtm-primary,#111827) 10%,transparent);
  border-radius:12px;
  background:#fff;
}
.ssvtm-staff-card img{width:72px;height:72px;border-radius:10px;object-fit:cover}
.ssvtm-staff-card h4{margin:0}
.ssvtm-staff-card span{display:block;margin-top:.2rem;opacity:.65;font-size:.9em}

.ssvtm-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ssvtm-featured-link{display:block;color:inherit;text-decoration:none}
.ssvtm-featured-card{
  height:100%;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ssvtm-primary,#111827) 10%,transparent);
  border-radius:15px;
  background:#fff;
}
.ssvtm-featured-image{
  aspect-ratio:16/9;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f4f6f8;
}
.ssvtm-featured-image img{width:100%;height:100%;object-fit:cover}
.ssvtm-featured-card.is-sponsor .ssvtm-featured-image img{object-fit:contain;padding:1.2rem}
.ssvtm-featured-body{padding:1rem}
.ssvtm-featured-body>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--ssvtm-accent,#c7a34b)}
.ssvtm-featured-body h3{margin:.2rem 0 .35rem}
.ssvtm-featured-body p{margin:0;opacity:.65}

.ssvtm-block-placeholder{
  padding:1rem;
  border:1px dashed #9ca3af;
  border-radius:12px;
  background:#f8fafc;
}
.ssvtm-block-placeholder strong,.ssvtm-block-placeholder span{display:block}
.ssvtm-block-placeholder span{margin-top:.2rem;opacity:.65}

@media(max-width:900px){
  .ssvtm-public-grid,.ssvtm-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ssvtm-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ssvtm-staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ssvtm-team-facts{grid-template-columns:1fr}
}
@media(max-width:620px){
  .ssvtm-public-grid,.ssvtm-featured-grid,.ssvtm-roster-grid,.ssvtm-staff-grid{grid-template-columns:1fr 1fr}
  .ssvtm-team-hero{min-height:250px}
  .ssvtm-team-hero-body{padding:1.25rem}
  .ssvtm-home-notice{align-items:flex-start;flex-direction:column}
}
@media(max-width:430px){
  .ssvtm-public-grid,.ssvtm-featured-grid,.ssvtm-roster-grid,.ssvtm-staff-grid{grid-template-columns:1fr}
}


/* 0.0.32 – Gutenberg Query Engine + dynamic fields */
.ssvtm-gb-loop{
  --ssvtm-gb-gap:1rem;
  --ssvtm-gb-cols:3;
  --ssvtm-gb-tablet:2;
  --ssvtm-gb-mobile:1;
}
.ssvtm-gb-loop--cols-1{--ssvtm-gb-cols:1}
.ssvtm-gb-loop--cols-2{--ssvtm-gb-cols:2}
.ssvtm-gb-loop--cols-3{--ssvtm-gb-cols:3}
.ssvtm-gb-loop--cols-4{--ssvtm-gb-cols:4}
.ssvtm-gb-loop--cols-5{--ssvtm-gb-cols:5}
.ssvtm-gb-loop--cols-6{--ssvtm-gb-cols:6}
.ssvtm-gb-loop--tablet-1{--ssvtm-gb-tablet:1}
.ssvtm-gb-loop--tablet-2{--ssvtm-gb-tablet:2}
.ssvtm-gb-loop--tablet-3{--ssvtm-gb-tablet:3}
.ssvtm-gb-loop--tablet-4{--ssvtm-gb-tablet:4}
.ssvtm-gb-loop--mobile-1{--ssvtm-gb-mobile:1}
.ssvtm-gb-loop--mobile-2{--ssvtm-gb-mobile:2}
.ssvtm-gb-loop--gap-0{--ssvtm-gb-gap:0}
.ssvtm-gb-loop--gap-xs{--ssvtm-gb-gap:.35rem}
.ssvtm-gb-loop--gap-sm{--ssvtm-gb-gap:.65rem}
.ssvtm-gb-loop--gap-md{--ssvtm-gb-gap:1rem}
.ssvtm-gb-loop--gap-lg{--ssvtm-gb-gap:1.5rem}
.ssvtm-gb-loop--gap-xl{--ssvtm-gb-gap:2.25rem}
.ssvtm-gb-loop__grid{
  display:grid;
  grid-template-columns:repeat(var(--ssvtm-gb-cols),minmax(0,1fr));
  gap:var(--ssvtm-gb-gap);
}
.ssvtm-gb-loop__card{
  overflow:hidden;
  min-width:0;
}
.ssvtm-gb-loop--card-outline .ssvtm-gb-loop__card{
  border:1px solid color-mix(in srgb,currentColor 14%,transparent);
  border-radius:14px;
}
.ssvtm-gb-loop--card-soft .ssvtm-gb-loop__card{
  border-radius:14px;
  background:color-mix(in srgb,currentColor 5%,transparent);
}
.ssvtm-gb-loop--card-elevated .ssvtm-gb-loop__card{
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,24,40,.10);
}
.ssvtm-gb-loop__media{overflow:hidden;background:#f3f4f6}
.ssvtm-gb-loop--ratio-1-1 .ssvtm-gb-loop__media{aspect-ratio:1/1}
.ssvtm-gb-loop--ratio-4-3 .ssvtm-gb-loop__media{aspect-ratio:4/3}
.ssvtm-gb-loop--ratio-3-2 .ssvtm-gb-loop__media{aspect-ratio:3/2}
.ssvtm-gb-loop--ratio-16-9 .ssvtm-gb-loop__media{aspect-ratio:16/9}
.ssvtm-gb-loop--ratio-4-5 .ssvtm-gb-loop__media{aspect-ratio:4/5}
.ssvtm-gb-loop__media img{display:block;width:100%;height:100%;object-fit:cover}
.ssvtm-gb-loop__body{padding:1rem}
.ssvtm-gb-loop--card-plain .ssvtm-gb-loop__body{padding:.6rem 0}
.ssvtm-gb-loop__body h3{margin:.1rem 0 .35rem}
.ssvtm-gb-loop__body p{margin:.55rem 0 0}
.ssvtm-gb-loop__meta{opacity:.65;font-size:.9em}
.ssvtm-gb-loop__link{display:inline-block;margin-top:.75rem;color:inherit;font-weight:700}
.ssvtm-gb-loop__empty{grid-column:1/-1;padding:1rem;border:1px dashed #9ca3af;border-radius:10px}

.ssvtm-gb-dynamic-image{margin:0;overflow:hidden}
.ssvtm-gb-dynamic-image img{display:block;width:100%;height:100%}
.ssvtm-gb-dynamic-image--1-1{aspect-ratio:1/1}
.ssvtm-gb-dynamic-image--4-3{aspect-ratio:4/3}
.ssvtm-gb-dynamic-image--16-9{aspect-ratio:16/9}
.ssvtm-gb-dynamic-image--4-5{aspect-ratio:4/5}
.ssvtm-gb-dynamic-image--3-4{aspect-ratio:3/4}
.ssvtm-gb-dynamic-image--fit-cover img{object-fit:cover}
.ssvtm-gb-dynamic-image--fit-contain img{object-fit:contain}

@media(max-width:1024px){
  .ssvtm-gb-loop__grid{grid-template-columns:repeat(var(--ssvtm-gb-tablet),minmax(0,1fr))}
}
@media(max-width:767px){
  .ssvtm-gb-loop__grid{grid-template-columns:repeat(var(--ssvtm-gb-mobile),minmax(0,1fr))}
}

/* Design tokens: opt-in fallback only for Club Suite components. */
.ssvtm-aw,.ssvtm-gb-loop{--ssvtm-aw-radius:var(--ssvtm-radius,14px)}
.ssvtm-gb-loop--card-outline .ssvtm-gb-loop__card,
.ssvtm-gb-loop--card-soft .ssvtm-gb-loop__card,
.ssvtm-gb-loop--card-elevated .ssvtm-gb-loop__card{border-radius:var(--ssvtm-radius,14px)}

/* 0.0.40: visible keyboard focus, independent of hover effects and theme defaults. */
:where(.ssvtm-public-grid,.ssvtm-team-block,.ssvtm-public-downloads,
.ssvtm-public-sponsor-wall,.ssvtm-featured-grid,.ssvtm-home-notice,
.ssvtm-gb-loop) :is(a,button,[tabindex]):focus-visible {
  outline:3px solid #005fcc;
  outline-offset:3px;
  box-shadow:0 0 0 2px #fff;
}
@media (prefers-reduced-motion:reduce) {
 :where(.ssvtm-public-grid,.ssvtm-team-block,.ssvtm-public-downloads,
 .ssvtm-public-sponsor-wall,.ssvtm-featured-grid,.ssvtm-home-notice,
 .ssvtm-gb-loop) *,
 :where(.ssvtm-public-grid,.ssvtm-team-block,.ssvtm-public-downloads,
 .ssvtm-public-sponsor-wall,.ssvtm-featured-grid,.ssvtm-home-notice,
 .ssvtm-gb-loop) *::before,
 :where(.ssvtm-public-grid,.ssvtm-team-block,.ssvtm-public-downloads,
 .ssvtm-public-sponsor-wall,.ssvtm-featured-grid,.ssvtm-home-notice,
 .ssvtm-gb-loop) *::after {
   animation-duration:0.01ms!important;
   animation-iteration-count:1!important;
   scroll-behavior:auto!important;
   transition-duration:0.01ms!important;
 }
}
