/*
Theme Name: Florida Fastpitch Child
Template: Divi
Version: 1.2.34
Description: Florida Fastpitch Divi child theme. Adds scrolling latest bar and post share buttons while preserving ad zones, mobile menu, transfer portal, rankings, college data, footer fixes, and standard sidebar width.
*/


/* v1.2.10 homepage Softball Wire ticker fix
   Keep [ff_softball_wire_ticker limit="8"] on the homepage, but render it as a compact ticker,
   not a tall vertical list that blows out the hero column. */
@media (min-width:1024px){
  .ff-top-stack{grid-auto-rows:auto!important;align-content:start!important}
}
.ff-wire-home-card{overflow:hidden!important}
.ff-wire-home-card .ff-wire-home-feed{margin-top:8px!important;max-width:100%!important;overflow:hidden!important}
.ff-wire-home-card .ff-wire-ticker,
.ff-wire-home-card .ff-softball-wire-ticker{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:18px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  max-width:100%!important;
  padding:4px 0!important;
  margin:0!important;
  border:0!important;
}
.ff-wire-home-card .ff-wire-ticker-item{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  flex:0 0 auto!important;
  min-width:0!important;
  max-width:260px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}
.ff-wire-home-card .ff-wire-ticker-item:not(:last-child)::after{
  content:"•";
  color:var(--ff-orange,#ff5e3a);
  font-weight:950;
  margin-left:12px;
}
.ff-wire-home-card .ff-wire-ticker a{
  display:inline-block!important;
  max-width:190px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--ff-navy,#272E4F)!important;
  font-size:.9rem!important;
  line-height:1.1!important;
  font-weight:950!important;
  text-decoration:none!important;
}
.ff-wire-home-card .ff-wire-ticker span{
  display:inline-block!important;
  margin-left:0!important;
  color:var(--ff-muted,#667085)!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:850!important;
  opacity:1!important;
  max-width:80px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.ff-wire-home-card .ff-top-card-link{margin-top:10px!important}
@media (max-width:767px){
  .ff-wire-home-card .ff-wire-ticker-item{max-width:220px!important}
  .ff-wire-home-card .ff-wire-ticker a{max-width:160px!important}
}


/* v1.2.12 Homepage right rail ad between HS/Travel and Recruiting */
.ff-home-sidebar-ad{
  min-height:118px;
  border-radius:22px;
  background:#fff;
  border:1px dashed rgba(39,46,79,.30);
  box-shadow:0 10px 28px rgba(16,24,50,.07);
  color:var(--ff-muted,#62697e);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.ff-home-sidebar-ad span{display:block;}
@media (max-width:767px){
  .ff-home-sidebar-ad{min-height:86px;border-radius:18px;}
}

/* v1.2.14 Mobile card padding fix */
@media (max-width:767px){
  .ff-section{padding:34px 0!important;}
  .ff-section-light{padding-top:34px!important;padding-bottom:42px!important;}
  .ff-section-heading-row{margin-bottom:20px!important;gap:8px!important;}
  .ff-section-heading-row h2{font-size:clamp(1.75rem,8vw,2.25rem)!important;line-height:1.04!important;}
  .ff-category-feature-grid{gap:14px!important;}
  .ff-section-card{min-height:178px!important;padding:20px!important;border-radius:22px!important;gap:16px!important;}
  .ff-section-card h3{font-size:clamp(1.65rem,7.4vw,2.05rem)!important;line-height:.98!important;margin:0 0 14px!important;letter-spacing:-.04em!important;}
  .ff-section-card p{font-size:.95rem!important;line-height:1.42!important;max-width:84%!important;}
  .ff-section-card a{min-height:38px!important;padding:8px 13px!important;font-size:.72rem!important;}
  .ff-section-card:after{width:168px!important;height:168px!important;right:-64px!important;bottom:-68px!important;}
  .ff-bottom-nav{padding:7px 6px calc(7px + env(safe-area-inset-bottom,0px))!important;}
}

/* v1.2.16 Mobile category card spacing baked in
   This is the verified Customizer CSS that fixed the mobile card spacing.
   It is intentionally specific so it wins against earlier homepage card rules. */
@media (max-width: 767px) {
  body.home .ff-category-feature-grid {
    gap: 18px !important;
  }

  body.home .ff-category-feature-grid .ff-section-card {
    min-height: 0 !important;
    height: auto !important;
    padding: 26px 22px 26px !important;
    border-radius: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  body.home .ff-category-feature-grid .ff-section-card > div {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.home .ff-category-feature-grid .ff-section-card h3 {
    font-size: 2.05rem !important;
    line-height: 1.05 !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    letter-spacing: -0.04em !important;
  }

  body.home .ff-category-feature-grid .ff-section-card p {
    font-size: 1rem !important;
    line-height: 1.45 !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    max-width: 92% !important;
  }

  body.home .ff-category-feature-grid .ff-section-card a {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: flex-start !important;
    min-height: 40px !important;
    padding: 9px 16px !important;
    font-size: 0.76rem !important;
  }

  body.home .ff-category-feature-grid .ff-section-card:after {
    width: 155px !important;
    height: 155px !important;
    right: -55px !important;
    bottom: -55px !important;
  }
}


/* v1.2.26 Footer logo polish
   Protect the global footer logo coming from the ff_site_footer shortcode and the homepage footer. */
.ff-site-footer .ff-footer-brand img,
footer.ff-site-footer .ff-footer-brand img,
.ff-site-footer img[alt*="Florida Fastpitch"],
.ff-site-footer img[alt*="logo"]{
  display:block!important;
  width:auto!important;
  max-width:220px!important;
  max-height:82px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0 0 18px 0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
@media (max-width:760px){
  .ff-site-footer .ff-footer-brand img,
  footer.ff-site-footer .ff-footer-brand img,
  .ff-site-footer img[alt*="Florida Fastpitch"],
  .ff-site-footer img[alt*="logo"]{
    max-width:190px!important;
    max-height:70px!important;
    margin-bottom:16px!important;
  }
}


/* v1.2.27 Footer logo fallback and sizing */
.ff-site-footer .ff-footer-brand-logo-link{
  display:inline-flex;
  align-items:center;
  max-width:min(280px,70vw);
  margin-bottom:18px;
  text-decoration:none;
}
.ff-site-footer .ff-footer-brand-logo{
  display:block!important;
  width:auto!important;
  max-width:min(280px,70vw)!important;
  max-height:74px!important;
  height:auto!important;
  object-fit:contain!important;
  margin:0!important;
}
.ff-site-footer .ff-footer-wordmark{
  display:none;
  color:#fff;
  font-weight:950;
  letter-spacing:.08em;
  font-size:1.55rem;
  line-height:1;
  text-transform:uppercase;
}
.ff-site-footer .ff-footer-brand p{
  margin-top:0!important;
}


/* v1.2.28 HS Rankings page canvas */
.ff-hs-rankings-template,
.ff-hs-rankings-template #page-container,
.ff-hs-rankings-template #et-main-area,
.ff-hs-rankings-template #main-content {
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ff-hs-rankings-shell {
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  background: #fff;
}
.ff-rankings-hero {
  background: linear-gradient(180deg, #fff 0%, var(--ff-bg) 100%);
  padding: clamp(42px, 7vw, 82px) 0 34px;
}
.ff-rankings-hero h1 {
  color: var(--ff-navy);
  font-size: clamp(2.3rem, 6vw, 4.8rem);
  line-height: .94;
  letter-spacing: -.055em;
  margin: 0 0 14px;
}
.ff-rankings-hero p {
  color: #3e465c;
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.55;
  margin: 0;
  max-width: 860px;
}
.ff-rankings-layout {
  padding-top: 34px !important;
}
.ff-rankings-main-card {
  background: #fff;
  border: 1px solid var(--ff-line);
  border-radius: var(--ff-radius);
  box-shadow: var(--ff-shadow);
  padding: clamp(18px, 2.4vw, 28px);
  overflow: hidden;
}
.ff-rankings-content {
  color: var(--ff-ink);
}
.ff-rankings-content h1,
.ff-rankings-content h2,
.ff-rankings-content h3 {
  color: var(--ff-navy);
}
.ff-rankings-sidebar .ff-sidebar-card h2 {
  font-size: 1.25rem;
}
@media (max-width: 1023px) {
  .ff-rankings-layout {
    display: block !important;
  }
  .ff-rankings-sidebar {
    margin-top: 24px;
  }
}
@media (max-width: 767px) {
  .ff-rankings-hero { padding: 34px 0 24px; }
  .ff-rankings-hero h1 { font-size: 2.25rem; }
  .ff-rankings-main-card { padding: 16px; border-radius: 18px; }
}


/* v1.2.31 ad placement restore
   The Ads Manager diagnostics can show a valid ad, but the theme still has to call that placement.
   Restore home_wire_above above the Softball Wire banner and mobile_inline on the homepage for mobile screens. */
.ff-ad-wrap-home-wire-above{padding:0 0 18px!important;background:var(--ff-bg,#F5F6FA)}
.ff-ad-wrap-home-wire-above .ff-container{display:block}
.ff-home-mobile-inline-ad{display:none;background:var(--ff-bg,#F5F6FA);padding:0 0 18px}
@media (max-width:767px){
  .ff-home-mobile-inline-ad{display:block}
  .ff-home-mobile-inline-ad .ff-ad-zone{margin:0 auto;max-width:100%}
}


/* v1.2.32 Full ad-zone audit restore */
.ff-ad-wrap{width:100%;}
.ff-ad-wrap .ff-container:empty{display:none;}
.ff-footer-banner-ad{padding:22px 0;background:#f7f8fb;}
.ff-college-template-top-ad,.ff-college-template-bottom-ad,.ff-rankings-mobile-inline-ad{margin:0;}
@media (min-width:768px){.ff-home-mobile-inline-ad{display:none!important;}}
@media (max-width:767px){.ff-home-mobile-inline-ad{display:block!important;padding:12px 0;}.ff-article-inline-ad{margin:18px 0;}}


/* v1.2.33 Standard sidebar width
   Keep the custom Florida Fastpitch sidebar, but make it a normal right rail instead of eating content width. */
@media (min-width: 1024px) {
  .ff-news-hero-grid {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 26px !important;
    align-items: start !important;
  }
  .ff-top-stack {
    width: 320px !important;
    max-width: 320px !important;
    min-width: 0 !important;
    justify-self: end !important;
  }
  .ff-article-layout,
  .ff-rankings-layout {
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 34px !important;
    align-items: start !important;
  }
  .ff-article-main,
  .ff-rankings-main {
    max-width: none !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .ff-article-sidebar,
  .ff-rankings-sidebar {
    width: 300px !important;
    max-width: 300px !important;
    min-width: 0 !important;
    justify-self: end !important;
  }
  .ff-article-sidebar .ff-ad-zone,
  .ff-rankings-sidebar .ff-ad-zone,
  .ff-top-stack .ff-ad-zone {
    max-width: 300px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
  }
  .ff-top-stack .ff-ad-zone {
    max-width: 320px !important;
  }
  .ff-sidebar-image-ad,
  .ff-sidebar-card {
    max-width: 300px !important;
    width: 100% !important;
  }
  .ff-sidebar-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ff-news-hero-grid {
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 22px !important;
  }
  .ff-top-stack {
    width: 300px !important;
    max-width: 300px !important;
    justify-self: end !important;
  }
  .ff-article-layout,
  .ff-rankings-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .ff-article-sidebar,
  .ff-rankings-sidebar {
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* v1.2.34 scrolling latest bar */
.ff-breaking-bar-inner-scroll{overflow:hidden;white-space:nowrap;}
.ff-breaking-scroll{flex:1;min-width:0;overflow:hidden;}
.ff-breaking-track{display:inline-flex;align-items:center;gap:36px;min-width:max-content;animation:ffLatestScroll 32s linear infinite;will-change:transform;}
.ff-breaking-track a{position:relative;display:inline-flex;align-items:center;color:#fff!important;text-decoration:none;font-weight:950;letter-spacing:.075em;text-transform:uppercase;}
.ff-breaking-track a:after{content:"";width:6px;height:6px;border-radius:999px;background:#fff;opacity:.75;margin-left:36px;}
.ff-breaking-scroll:hover .ff-breaking-track{animation-play-state:paused;}
@keyframes ffLatestScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (max-width:767px){.ff-breaking-bar-inner-scroll{flex-direction:row!important;align-items:center!important;padding:6px 0!important}.ff-breaking-track{gap:24px;animation-duration:24s}.ff-breaking-track a{font-size:.74rem}.ff-breaking-track a:after{margin-left:24px}}
@media (prefers-reduced-motion:reduce){.ff-breaking-track{animation:none}}

/* v1.2.34 post share buttons */
.ff-post-share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0 0;}
.ff-article-content + .ff-post-share{margin:30px 0 26px;padding-top:22px;border-top:1px solid rgba(15,25,55,.12);}
.ff-post-share-label{font-size:.72rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:#6b7280;margin-right:2px;}
.ff-post-share-btn{appearance:none;border:1px solid rgba(15,25,55,.15);background:#fff;color:#111b3f!important;border-radius:999px;padding:8px 13px;font-size:.75rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;text-decoration:none!important;line-height:1;cursor:pointer;box-shadow:0 8px 20px rgba(15,25,55,.08);transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;}
.ff-post-share-btn:hover,.ff-post-share-btn:focus{transform:translateY(-1px);border-color:#ff5438;background:#ff5438;color:#fff!important;outline:none;}
.ff-post-share-btn.ff-copied{background:#111b3f;color:#fff!important;border-color:#111b3f;}
@media (max-width:767px){.ff-post-share{gap:8px}.ff-post-share-btn{padding:8px 11px;font-size:.7rem}.ff-post-share-label{width:100%;}}
