/* Clan Social — academy social profile refresh. Preserve custom cover/brand and booking actions. */
body.dojo-page .dojo-premium{background:#0e1013}
body.dojo-page .dojo-premium-hero{min-height:320px;isolation:isolate;background:linear-gradient(120deg,#202329,#101216)}
body.dojo-page .dojo-premium-hero.no-cover{min-height:235px}
body.dojo-page .dojo-premium-hero.no-cover:before{width:300px;height:300px;right:-40px;top:-90px;opacity:.35}
body.dojo-page .dojo-premium-hero-shade{background:linear-gradient(to top,rgba(10,12,15,.95),rgba(10,12,15,.42) 55%,rgba(10,12,15,.15))}
body.dojo-page .dojo-premium-hero-inner{gap:20px;padding-top:56px;padding-bottom:25px;align-items:flex-end}
body.dojo-page .dojo-premium-identity{align-items:center;gap:19px}
body.dojo-page .dojo-premium-logo{width:96px;height:96px;border-radius:17px;background:rgba(13,15,19,.88);border:1px solid #50545b;box-shadow:0 5px 25px rgba(0,0,0,.25)}
body.dojo-page .dojo-premium-title h1{font-family:Outfit,system-ui,sans-serif;font-weight:700;font-size:clamp(1.7rem,3.1vw,2.6rem);letter-spacing:-.035em;line-height:1.1;margin:8px 0}
body.dojo-page .dojo-premium-badges{gap:7px}
body.dojo-page .dojo-managed-badge,body.dojo-page .dojo-unclaimed-badge,body.dojo-page .dojo-affiliation-badge{min-height:25px;padding:3px 9px;border-radius:7px;font-size:.68rem}
body.dojo-page .dojo-premium-meta{color:#ced0d5;font-size:.78rem}
body.dojo-page .dojo-premium-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}
body.dojo-page .dojo-premium-primary,body.dojo-page .dojo-premium-secondary{min-height:39px;padding:0 14px;border-radius:8px;font-size:.8rem}
body.dojo-page .dojo-premium-shell{max-width:1180px}
@media(max-width:760px){body.dojo-page .dojo-premium-hero{min-height:0}body.dojo-page .dojo-premium-hero-inner{padding-top:74px;padding-bottom:22px;align-items:flex-start;gap:17px;flex-direction:column}body.dojo-page .dojo-premium-identity{align-items:center;gap:13px}body.dojo-page .dojo-premium-logo{width:74px;height:74px;border-radius:13px}body.dojo-page .dojo-premium-title h1{font-size:clamp(1.35rem,5vw,1.9rem)}body.dojo-page .dojo-premium-actions{justify-content:flex-start;width:100%}}

/* The academy identity takes the full hero width; CTAs sit on their own row. */
@media (min-width: 761px) {
  body.dojo-page .dojo-premium-hero-inner { flex-direction: column; align-items: stretch; gap: 18px; }
  body.dojo-page .dojo-premium-identity { width: 100%; align-items: center; }
  body.dojo-page .dojo-premium-title { flex: 1 1 auto; min-width: 0; }
  body.dojo-page .dojo-premium-title h1,
  body.dojo-page .dojo-premium-title h1.dojo-title-long {
    max-width: none;
    margin: 7px 0;
    font-size: clamp(1.35rem, 2.25vw, 2rem);
    line-height: 1.15;
    white-space: nowrap;
    text-wrap: nowrap;
    overflow-wrap: normal;
  }
  body.dojo-page .dojo-premium-actions { justify-content: flex-start; width: 100%; }
}
/* On narrow screens names can wrap instead of overflowing the viewport. */
@media (max-width: 760px) {
  body.dojo-page .dojo-premium-title h1,
  body.dojo-page .dojo-premium-title h1.dojo-title-long {
    font-size: clamp(1.25rem, 4.4vw, 1.8rem);
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }
}

/* Contextual section links: render only where the academy has content. */
body.dojo-page .dojo-section-nav { max-width: 1180px; margin: 0 auto; padding: 13px 20px 5px; display: flex; flex-wrap: wrap; gap: 8px; }
body.dojo-page .dojo-section-nav a { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #f1f1f2; background: rgba(255,255,255,.055); text-decoration: none; font-size: .8rem; }
body.dojo-page .dojo-section-nav a:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.12); }
body.dojo-page .dojo-section-nav a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
body.dojo-page [id^="dojo-"]:target { scroll-margin-top: 22px; }
@media (max-width: 760px) { body.dojo-page .dojo-section-nav { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; padding: 12px 16px 8px; scrollbar-width: thin; } body.dojo-page .dojo-section-nav a { flex: 0 0 auto; white-space: nowrap; } }

/* Public gallery: clear photo count and thumb-friendly mobile previews. */
body.dojo-page .dojo-gallery-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
body.dojo-page .dojo-gallery-heading h2 { margin-bottom: 0; }
body.dojo-page .dojo-gallery-total { font: 600 .8rem/1.3 Outfit, system-ui, sans-serif; color: #d4d6d9; white-space: nowrap; }
body.dojo-page .dojo-gallery-hint { margin: 8px 0 0; color: #c3c6ca; font-size: .82rem; }
@media (max-width: 600px) {
  body.dojo-page .dojo-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.dojo-page .dojo-gallery-item,
  body.dojo-page .dojo-gallery-item.is-featured { min-height: 0; aspect-ratio: 1 / 1; }
  body.dojo-page .dojo-gallery-item.is-featured { grid-column: span 2; aspect-ratio: 16 / 10; }
  body.dojo-page .dojo-gallery-open { width: 100%; height: 100%; }
  body.dojo-page .dojo-gallery-item img { width: 100%; height: 100%; object-fit: cover; }
}
