
/* V19 flat organization layer. Keeps the existing FTA visual language but cleans navigation and content hubs. */
.main-nav a[data-fta-admin-only][hidden], .footer-nav a[data-fta-admin-only][hidden] { display: none !important; }
.v19-mini-nav { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:24px; }
.v19-pill { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:9px 14px; color:#f5f5f5; text-decoration:none; background:rgba(255,255,255,.035); font-size:13px; font-weight:700; }
.v19-pill:hover { border-color:rgba(255,30,45,.75); color:#fff; }
.v19-hub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:28px; }
.v19-hub-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v19-hub-card { background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)); border:1px solid rgba(255,255,255,.13); border-radius:18px; padding:24px; min-height:100%; }
.v19-hub-card h3 { margin:10px 0 8px; color:#ff1d2d; font-family:'Bebas Neue', Impact, sans-serif; font-size:34px; line-height:1; letter-spacing:.03em; }
.v19-hub-card p { color:#bfc3d6; margin:0 0 16px; line-height:1.55; }
.v19-hub-card ul { margin:12px 0 18px; padding-left:18px; color:#c9cede; line-height:1.7; }
.v19-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:24px; }
.v19-path-step { border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:18px; background:rgba(255,255,255,.03); }
.v19-path-step strong { display:block; color:#f7c62f; margin-bottom:8px; }
.v19-path-step span { color:#d3d6e4; font-size:13px; line-height:1.5; }
.v19-accordion { max-width:980px; margin:28px auto 0; display:grid; gap:12px; }
.v19-accordion details { border:1px solid rgba(255,255,255,.13); border-radius:16px; background:rgba(255,255,255,.035); overflow:hidden; }
.v19-accordion summary { cursor:pointer; list-style:none; padding:18px 22px; display:flex; justify-content:space-between; gap:16px; align-items:center; color:#fff; font-weight:800; }
.v19-accordion summary::-webkit-details-marker { display:none; }
.v19-accordion summary::after { content:'+'; color:#f7c62f; font-size:24px; line-height:1; }
.v19-accordion details[open] summary::after { content:'–'; }
.v19-accordion .v19-detail-body { border-top:1px solid rgba(255,255,255,.09); padding:18px 22px 22px; color:#c9cede; }
.v19-detail-body ul { margin:10px 0 18px; padding-left:18px; line-height:1.75; }
.v19-detail-body .card-actions { margin-top:12px; }
.v19-offer-strip { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:stretch; margin-top:28px; }
.v19-callout { border:1px dashed rgba(247,198,47,.55); border-radius:18px; padding:22px; background:rgba(247,198,47,.05); }
.v19-callout h3 { margin:0 0 8px; font-family:'Bebas Neue', Impact, sans-serif; font-size:32px; color:#f7c62f; }
.v19-muted { color:#aeb4c7; font-size:13px; line-height:1.55; }
.v19-section-note { max-width:850px; margin:0 auto 22px; color:#b8bdce; text-align:center; line-height:1.6; }
.v19-admin-helper { border:1px solid rgba(247,198,47,.35); background:rgba(247,198,47,.045); border-radius:18px; padding:18px; margin:18px 0; }
.v19-admin-helper h3 { margin:0 0 8px; color:#f7c62f; font-family:'Bebas Neue', Impact, sans-serif; font-size:28px; }
.v19-admin-helper-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:10px; }
.v19-admin-helper-grid div { border:1px solid rgba(255,255,255,.11); border-radius:12px; padding:10px; color:#d6d9e6; font-size:12px; }
.v19-moved { max-width:900px; margin:0 auto; }
.v19-moved .v19-hub-card { text-align:left; }
[data-discord-dynamic].is-loading { opacity:.7; }
@media (max-width: 850px) { .v19-hub-grid, .v19-hub-grid.three, .v19-path, .v19-offer-strip, .v19-admin-helper-grid { grid-template-columns:1fr; } .v19-hub-card h3 { font-size:30px; } }


/* === FTA V20 Visual Refresh: branded football hero images === */
.hero {
  background-image:
    linear-gradient(90deg, rgba(5,7,12,.94) 0%, rgba(5,7,12,.84) 42%, rgba(5,7,12,.58) 100%),
    linear-gradient(180deg, rgba(5,7,12,.28) 0%, rgba(5,7,12,.92) 100%),
    url("assets/images/generated/fta_team_qb_v20.jpg") !important;
  background-position: center right !important;
  background-size: cover !important;
}
.v4-hero:not(.admin-hero-v3) {
  background-image:
    linear-gradient(90deg, rgba(5,7,12,.92) 0%, rgba(5,7,12,.80) 45%, rgba(5,7,12,.55) 100%),
    linear-gradient(180deg, rgba(5,7,12,.42) 0%, rgba(5,7,12,.94) 100%),
    url("assets/images/generated/fta_team_line_v20.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}
.v4-hero.cfb-hero {
  background-image:
    linear-gradient(90deg, rgba(5,7,12,.92) 0%, rgba(5,7,12,.80) 44%, rgba(5,7,12,.55) 100%),
    linear-gradient(180deg, rgba(5,7,12,.38) 0%, rgba(5,7,12,.94) 100%),
    url("assets/images/generated/fta_team_line_v20.jpg") !important;
  background-position: center !important;
}
.v4-hero.madden-hero {
  background-image:
    linear-gradient(90deg, rgba(5,7,12,.94) 0%, rgba(5,7,12,.82) 44%, rgba(5,7,12,.56) 100%),
    linear-gradient(180deg, rgba(5,7,12,.34) 0%, rgba(5,7,12,.94) 100%),
    url("assets/images/generated/fta_team_qb_v20.jpg") !important;
  background-position: center right !important;
}
.v4-hero.frameworks-hero {
  background-image:
    linear-gradient(90deg, rgba(5,7,12,.95) 0%, rgba(5,7,12,.84) 48%, rgba(5,7,12,.58) 100%),
    linear-gradient(180deg, rgba(5,7,12,.35) 0%, rgba(5,7,12,.94) 100%),
    url("assets/images/generated/fta_team_catch_v20.jpg") !important;
  background-position: center right !important;
}
.hero::after, .v4-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 52% 42%, rgba(229,9,20,.12), transparent 38%);
}
.hero > .container, .v4-hero > .container { position: relative; z-index: 1; }
.headline, .v4-hero h1, .section-title {
  text-shadow: 0 0 28px rgba(229,9,20,.18), 0 8px 24px rgba(0,0,0,.55);
}
.btn-primary {
  box-shadow: 0 0 0 rgba(229,9,20,0);
}
.btn-primary:hover {
  box-shadow: 0 0 22px rgba(229,9,20,.18);
}
@media (max-width: 700px) {
  .hero, .v4-hero:not(.admin-hero-v3), .v4-hero.cfb-hero, .v4-hero.madden-hero, .v4-hero.frameworks-hero {
    background-position: center !important;
  }
}

/* V22 connected ebook/gameplan lesson workflow */
.fta-lesson-builder {
  margin: 1.5rem 0 2rem;
  border: 1px solid rgba(111, 255, 191, .34);
  background: linear-gradient(145deg, rgba(10, 25, 34, .98), rgba(8, 17, 25, .98));
  box-shadow: 0 18px 54px rgba(0, 0, 0, .28);
}
.fta-lesson-builder .admin-panel-heading-v3 {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .09);
  margin-bottom: 1.25rem;
}
.fta-lesson-step-heading {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.fta-lesson-step-heading > span {
  display: grid;
  place-items: center;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #6fffbf;
  color: #071018;
  font-weight: 800;
}
.fta-lesson-step-heading h3,
.fta-lesson-step-heading p { margin: 0; }
.fta-lesson-step-heading p {
  margin-top: .25rem;
  color: rgba(232, 241, 247, .7);
  font-size: .88rem;
}
.fta-three-fields { grid-template-columns: 1fr 1fr minmax(130px, .45fr); }
.fta-lesson-preview {
  display: grid;
  gap: .3rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(111, 255, 191, .25);
  border-radius: 12px;
  background: rgba(111, 255, 191, .06);
}
.fta-lesson-preview span {
  color: rgba(232, 241, 247, .64);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fta-standalone-uploader {
  margin: 1.5rem 0;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 16px;
  background: rgba(9, 18, 27, .78);
}
.fta-standalone-uploader > summary {
  display: grid;
  gap: .2rem;
  padding: 1.15rem 1.25rem;
  cursor: pointer;
}
.fta-standalone-uploader > summary span {
  color: rgba(232, 241, 247, .66);
  font-size: .85rem;
}
.fta-standalone-uploader .admin-layout-v3 { padding: 0 1rem 1rem; }
.content-item-card.is-connected-lesson {
  grid-column: 1 / -1;
  border-color: rgba(111, 255, 191, .25);
}
.is-connected-lesson .content-item-main {
  display: grid;
  gap: 1rem;
}
.is-connected-lesson .content-inline-preview { margin: 0; }
.connected-lesson-copy {
  padding: 1.15rem;
  border-left: 3px solid #6fffbf;
  border-radius: 0 12px 12px 0;
  background: rgba(255, 255, 255, .045);
  white-space: normal;
  line-height: 1.75;
}
.connected-lesson-gallery {
  display: grid;
  gap: 1rem;
}
.connected-lesson-gallery-item {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 14px;
  background: rgba(7, 10, 16, .72);
}
.connected-lesson-gallery-item .locker-actions { padding: .75rem; }
@media (min-width: 900px) {
  .is-connected-lesson .video-preview,
  .is-connected-lesson .image-preview { width: min(100%, 940px); }
}
@media (max-width: 760px) {
  .fta-three-fields { grid-template-columns: 1fr; }
  .fta-lesson-builder { margin-inline: -.35rem; }
}
.ebook-library-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}

.ebook-library-card {
  display: grid;
  width: 100%;
  padding: 0;
  color: inherit;
  text-align: left;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  background: rgba(10, 12, 17, 0.88);
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.ebook-library-card:hover,
.ebook-library-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(52, 211, 153, 0.55);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}

.ebook-library-cover-button {
  display: block;
  width: 100%;
  padding: 14px 14px 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.ebook-library-card-copy {
  padding: 14px;
}

.ebook-library-cover {
  display: block;
  min-height: 150px;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: #07090d;
}

.ebook-library-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ebook-library-card-copy h3 {
  margin: 10px 0 14px;
  color: #fff;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.ebook-library-open-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #ef1029, #bd071d);
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 8px 22px rgba(239, 16, 41, .22);
  cursor: pointer;
}

.ebook-library-card:hover .ebook-library-open-cta,
.ebook-library-card:focus-visible .ebook-library-open-cta {
  background: linear-gradient(135deg, #ff263e, #d50a22);
}

.ebook-library-card:focus-visible {
  outline: 3px solid rgba(255, 51, 76, .35);
  outline-offset: 3px;
}

.ebook-library-cover-button:focus-visible,
.ebook-library-open-cta:focus-visible {
  outline: 3px solid rgba(255, 51, 76, .42);
  outline-offset: 3px;
}

.ebook-library-content {
  padding-top: 14px;
}

.ebook-library-view[hidden],
[data-ebook-picker][hidden] {
  display: none !important;
}

.ebook-library-back {
  margin-bottom: 14px;
}

.ebook-library-view .content-item-card {
  margin: 0;
}
