:root{
  --dfn-red:#ff181f;
  --dfn-black:#101111;
  --dfn-text:#111;
  --dfn-muted:#727272;
  --dfn-line:#d7d7d7;
  --dfn-soft:#f6f6f6;
  --dfn-shell-max:1320px;
  --dfn-shell-gutter:48px;
  --dfn-sidebar-width:286px;
  --dfn-layout-gap:30px;
  --dfn-hero-height:242px;
}

/* -------------------------------------------------------------------------
   DFN DESIGN SYSTEM
   One source of truth for type, spacing, controls and shared page geometry.
   Individual page styles may arrange their content, but must not redefine
   global DFN colors, navigation or typography.
   ------------------------------------------------------------------------- */
body.dfn-site-shell-active{font-family:'Raleway',Arial,sans-serif;color:var(--dfn-text);background:#fff}
body.dfn-site-shell-active #main,
body.dfn-site-shell-active #primary,
body.dfn-site-shell-active #post-content,
body.dfn-site-shell-active .post-page-content-wrapper{font-family:'Raleway',Arial,sans-serif}
body.dfn-site-shell-active h1,
body.dfn-site-shell-active h2,
body.dfn-site-shell-active h3,
body.dfn-site-shell-active h4,
body.dfn-site-shell-active h5,
body.dfn-site-shell-active h6,
body.dfn-site-shell-active .entry-title,
body.dfn-site-shell-active .page-title,
body.dfn-site-shell-active .widget-title,
body.dfn-site-shell-active button,
body.dfn-site-shell-active .button,
body.dfn-site-shell-active input[type=submit]{font-family:'Oswald',Arial,sans-serif}
body.dfn-site-shell-active input,
body.dfn-site-shell-active select,
body.dfn-site-shell-active textarea{font-family:'Raleway',Arial,sans-serif}

/* Shared content line: same left/right edge as hero copy. */
body.dfn-fighters-directory-page .dfn-fighters-directory,
body.dfn-gyms-directory-page .dfn-gyms-directory{
  width:min(var(--dfn-shell-max),calc(100vw - var(--dfn-shell-gutter)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:minmax(0,1fr) var(--dfn-sidebar-width)!important;
  gap:var(--dfn-layout-gap)!important;
}
/* The gym shortcode used to inherit the legacy theme's narrow page wrapper. */
body.dfn-gyms-directory-page .dfn-gyms-page{
  width:100vw!important;max-width:none!important;position:relative!important;left:50%!important;
  margin-left:-50vw!important;margin-right:0!important;overflow-x:hidden!important;
}
body.dfn-gyms-directory-page .dfn-gyms-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}

/* Filters are one shared visual component on Fighters and Gyms. */
body.dfn-site-shell-active .dfn-fighters-filters,
body.dfn-site-shell-active .dfn-gyms-filters{border:1px solid #d2d2d2!important;background:var(--dfn-soft)!important}
body.dfn-site-shell-active .dfn-fighters-filter-head,
body.dfn-site-shell-active .dfn-gyms-filter-head{display:flex!important;justify-content:space-between!important;align-items:center!important;background:#111!important;color:#fff!important;padding:14px!important;border-left:3px solid var(--dfn-red)!important}
body.dfn-site-shell-active .dfn-fighters-filter-head span,
body.dfn-site-shell-active .dfn-gyms-filter-head span{font-family:'Oswald',Arial,sans-serif!important;font-size:17px!important;font-weight:900!important;line-height:1!important}
body.dfn-site-shell-active .dfn-fighters-filter-head button,
body.dfn-site-shell-active .dfn-gyms-filter-head button{font-family:'Oswald',Arial,sans-serif!important;font-size:8px!important;font-weight:900!important}
body.dfn-site-shell-active .dfn-fighters-field,
body.dfn-site-shell-active .dfn-gyms-field{padding:14px 14px 0!important}
body.dfn-site-shell-active .dfn-fighters-field>span:first-child,
body.dfn-site-shell-active .dfn-gyms-field>span{font-family:'Raleway',Arial,sans-serif!important;font-size:8px!important;font-weight:900!important;letter-spacing:.01em!important;margin-bottom:6px!important}
body.dfn-site-shell-active .dfn-fighters-field select,
body.dfn-site-shell-active .dfn-fighters-field input,
body.dfn-site-shell-active .dfn-gyms-field select{height:39px!important;border:1px solid #cfcfcf!important;background:#fff!important;border-radius:0!important;padding:0 10px!important;font-size:11px!important;color:#111!important}
body.dfn-site-shell-active .dfn-fighters-filter-summary,
body.dfn-site-shell-active .dfn-gyms-filter-summary{margin:16px 14px 14px!important;background:#111!important;color:#fff!important;padding:14px!important}
body.dfn-site-shell-active .dfn-fighters-filter-summary>span,
body.dfn-site-shell-active .dfn-gyms-filter-summary>span{color:var(--dfn-red)!important;font-family:'Oswald',Arial,sans-serif!important;font-size:10px!important;font-weight:900!important}
body.dfn-site-shell-active .dfn-gyms-filter-summary strong{font-family:'Oswald',Arial,sans-serif!important;font-size:12px!important;font-weight:900!important}
body.dfn-site-shell-active .dfn-gyms-filter-summary b{font-size:34px!important;line-height:1!important}

/* Shared database section typography. */
body.dfn-site-shell-active .dfn-fighters-eyebrow,
body.dfn-site-shell-active .dfn-gyms-eyebrow{color:var(--dfn-red)!important;font-family:'Raleway',Arial,sans-serif!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important}
body.dfn-site-shell-active .dfn-gyms-section-head h2,
body.dfn-site-shell-active .dfn-fighters-ranking-head h2{font-family:'Oswald',Arial,sans-serif!important;font-weight:900!important;text-transform:uppercase!important;color:#111!important}

/* Legacy theme pages now inherit the same DFN type language without changing
   their data/templates. This includes Events, news, videos and contact. */
body.dfn-site-shell-active #main .post-title,
body.dfn-site-shell-active #main .title,
body.dfn-site-shell-active #main .latest-posts-menu-title,
body.dfn-site-shell-active #main .category-title{font-family:'Oswald',Arial,sans-serif!important;font-weight:900!important}
body.dfn-site-shell-active #main .category-icon,
body.dfn-site-shell-active #main .post-meta,
body.dfn-site-shell-active #main .meta{font-family:'Raleway',Arial,sans-serif!important}

@media(max-width:850px){
  body.dfn-fighters-directory-page .dfn-fighters-directory,
  body.dfn-gyms-directory-page .dfn-gyms-directory{width:calc(100vw - 28px)!important;grid-template-columns:1fr!important;gap:18px!important}
  body.dfn-gyms-directory-page .dfn-gyms-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){body.dfn-gyms-directory-page .dfn-gyms-grid{grid-template-columns:1fr!important}}

body.dfn-site-shell-active #header{display:none!important}
body.dfn-site-shell-active #wrapper{padding-top:0!important}
.dfn-sitebar-mount{display:none}.dfn-sitebar-mount.is-ready{display:block}
.dfn-sitebar{background:#0d0f0f;color:#fff;border-bottom:1px solid #303232;position:relative;z-index:100000;font-family:'Raleway',Arial,sans-serif;margin:0!important}
.dfn-sitebar *{box-sizing:border-box}
.dfn-sitebar__inner{width:min(var(--dfn-shell-max),calc(100% - var(--dfn-shell-gutter)));height:72px;margin:0 auto;display:flex;align-items:center;gap:22px}
.dfn-sitebar__logo{display:flex;align-items:center;width:220px;min-width:220px;height:62px;overflow:hidden;text-decoration:none!important}
.dfn-sitebar__logo img{display:block;max-width:190px;max-height:58px;width:auto;height:auto;object-fit:contain}
.dfn-sitebar__logo-fallback{display:none;align-items:center;gap:7px;color:#fff}.dfn-sitebar__logo-fallback b{font-family:'Oswald',Arial,sans-serif;font-size:34px;line-height:.9;font-style:italic;font-weight:900;color:var(--dfn-red);letter-spacing:-.08em}.dfn-sitebar__logo-fallback em{font-family:Arial,sans-serif;font-size:9px;line-height:1.05;font-weight:900;font-style:italic;letter-spacing:.02em;color:#fff}
.dfn-sitebar__nav{display:flex;align-items:stretch;justify-content:center;gap:30px;margin-left:auto;height:72px}.dfn-sitebar__nav a{position:relative;display:flex;align-items:center;color:#fff!important;text-decoration:none!important;font-family:'Oswald',Arial,sans-serif;font-size:14px;font-weight:800;letter-spacing:.01em;white-space:nowrap}.dfn-sitebar__nav a:after{content:"";position:absolute;left:0;right:0;bottom:14px;height:3px;background:var(--dfn-red);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.dfn-sitebar__nav a:hover:after,.dfn-sitebar__nav a.is-active:after{transform:scaleX(1)}.dfn-sitebar__nav a.is-active{color:var(--dfn-red)!important}
.dfn-sitebar__search-button{width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;cursor:pointer;margin-left:6px}.dfn-sitebar__search-button span{display:block;width:17px;height:17px;border:2px solid #fff;border-radius:50%;position:relative}.dfn-sitebar__search-button span:after{content:"";position:absolute;width:8px;height:2px;background:#fff;right:-6px;bottom:-3px;transform:rotate(45deg)}
.dfn-sitebar__menu-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:9px;cursor:pointer;margin-left:auto}.dfn-sitebar__menu-toggle span{display:block;height:2px;background:#fff;margin:5px 0}
.dfn-sitebar__search{position:absolute;left:0;right:0;top:72px;background:#0d0f0f;border-top:1px solid #252828;border-bottom:2px solid var(--dfn-red);padding:12px 0;margin:0;z-index:100001}.dfn-sitebar__search-inner{width:min(900px,calc(100% - var(--dfn-shell-gutter)));margin:auto;display:flex}.dfn-sitebar__search input{flex:1;height:44px;border:1px solid #3a3d3d!important;background:#171919!important;color:#fff!important;padding:0 14px!important;font-size:14px!important;border-radius:0!important;margin:0!important}.dfn-sitebar__search button{height:44px;border:0;background:var(--dfn-red);color:#fff;padding:0 22px;font-family:'Oswald',Arial,sans-serif;font-weight:800;cursor:pointer}

/* Hero pages must start immediately below the shared menu; remove the legacy theme's 20px #main gap. */
body.dfn-unified-hero-page #wrapper{margin-top:0!important;padding-top:0!important}
body.dfn-unified-hero-page #main{margin-top:0!important;padding-top:0!important}
body.dfn-unified-hero-page #primary{margin-top:0!important;padding-top:0!important}

/* ONE canonical DFN hero geometry for Fighters, Gyms, Events and Promotions. */
body.dfn-unified-hero-page .dfn-fighters-hero,
body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero,
body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero,
body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero{
  box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#101111!important;color:#fff!important;min-height:var(--dfn-hero-height)!important;width:100vw!important;max-width:none!important;left:50%!important;margin:0 0 34px -50vw!important;border:0!important;border-bottom:4px solid var(--dfn-red)!important;
}
/* Fighters already has an inner aligned copy wrapper. */
body.dfn-unified-hero-page .dfn-fighters-hero{display:block!important;padding:0!important;margin-bottom:0!important}
body.dfn-unified-hero-page .dfn-fighters-hero__copy{width:min(var(--dfn-shell-max),calc(100% - var(--dfn-shell-gutter)))!important;margin:0 auto!important;padding:42px 0 45px!important;position:relative!important;z-index:3!important}
/* Legacy event/gym/promotion heroes carry their text directly, so align their padding to the exact same content line. */
body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero,
body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero,
body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero{
  padding:42px max(24px,calc((100vw - var(--dfn-shell-max))/2)) 45px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;
}
/* Shared subtle texture. */
body.dfn-unified-hero-page .dfn-fighters-hero:before,
body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero:before,
body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero:before,
body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero:before{
  content:""!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.045),transparent 30%),linear-gradient(115deg,rgba(255,255,255,.018),transparent 60%)!important;opacity:.9!important;z-index:0!important;pointer-events:none!important;border:0!important;transform:none!important;
}
/* One identical red angular graphic everywhere. */
body.dfn-unified-hero-page .dfn-fighters-hero:after,
body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero:after,
body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero:after,
body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero:after{
  content:""!important;position:absolute!important;right:-5vw!important;top:-230px!important;width:520px!important;height:520px!important;border:58px solid rgba(255,24,31,.105)!important;transform:rotate(31deg)!important;z-index:1!important;pointer-events:none!important;background:transparent!important;
}
body.dfn-unified-hero-page .dfn-fighters-hero__slashes{display:none!important}
/* Typography is shared, while each page keeps its own title/copy text. */
body.dfn-unified-hero-page .dfn-fighters-kicker,
body.dfn-unified-hero-page .dfn-events-kicker,
body.dfn-unified-hero-page .dfn-promotion-kicker{position:relative!important;z-index:3!important;display:block!important;color:var(--dfn-red)!important;font-family:'Oswald',Arial,sans-serif!important;font-size:12px!important;font-weight:900!important;letter-spacing:.14em!important;line-height:1.2!important;margin:0 0 4px!important;text-transform:uppercase!important}
body.dfn-unified-hero-page .dfn-fighters-hero h1,
body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero h1,
body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero h1,
body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero h1{position:relative!important;z-index:3!important;margin:0!important;color:#fff!important;font-family:'Oswald',Arial,sans-serif!important;font-size:64px!important;line-height:.95!important;font-weight:900!important;letter-spacing:-.035em!important;text-transform:uppercase!important;text-shadow:0 1px 0 rgba(255,255,255,.08)!important}
body.dfn-unified-hero-page .dfn-fighters-hero p,
body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero p,
body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero p,
body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero p{position:relative!important;z-index:3!important;margin:12px 0 0!important;color:#e0e0e0!important;font-family:'Raleway',Arial,sans-serif!important;font-size:16px!important;line-height:1.4!important;max-width:620px!important}
body.dfn-unified-hero-page .dfn-events-jump{position:relative!important;z-index:3!important;margin:18px 0 0!important}
body.dfn-unified-hero-page .dfn-events-jump a{display:inline-block!important;background:#fff!important;color:#111!important;padding:9px 13px!important;font-family:'Oswald',Arial,sans-serif!important;font-size:10px!important;font-weight:900!important;text-decoration:none!important;text-transform:uppercase!important}

@media(max-width:1180px){.dfn-sitebar__nav{gap:19px}.dfn-sitebar__nav a{font-size:12px}.dfn-sitebar__logo{width:185px;min-width:185px}.dfn-sitebar__logo img{max-width:165px}}
@media(max-width:1020px){.dfn-sitebar__menu-toggle{display:block}.dfn-sitebar__nav{display:none;position:absolute;left:0;right:0;top:72px;height:auto;background:#0d0f0f;border-top:1px solid #282a2a;border-bottom:2px solid var(--dfn-red);padding:12px 24px;flex-direction:column;gap:0}.dfn-sitebar__nav.is-open{display:flex}.dfn-sitebar__nav a{height:40px}.dfn-sitebar__nav a:after{bottom:4px;right:auto;width:30px}.dfn-sitebar__search-button{margin-left:0}}
@media(max-width:650px){:root{--dfn-shell-gutter:28px;--dfn-hero-height:205px}.dfn-sitebar__inner{width:calc(100% - 28px);height:64px}.dfn-sitebar__logo{width:145px;min-width:145px;height:56px}.dfn-sitebar__logo img{max-width:138px;max-height:50px}.dfn-sitebar__nav{top:64px}.dfn-sitebar__search{top:64px}.dfn-sitebar__search-inner{width:calc(100% - 28px)}body.dfn-unified-hero-page .dfn-fighters-hero__copy{width:calc(100% - 28px)!important;padding:34px 0!important}body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero,body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero,body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero{padding:34px 14px!important}body.dfn-unified-hero-page .dfn-fighters-hero h1,body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero h1,body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero h1,body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero h1{font-size:48px!important}body.dfn-unified-hero-page .dfn-fighters-hero p,body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero p,body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero p,body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero p{font-size:14px!important}body.dfn-unified-hero-page .dfn-fighters-hero:after,body.dfn-unified-hero-page .dfn-gyms-page>.dfn-events-hero:after,body.dfn-unified-hero-page.post-type-archive-mma_event .dfn-events-hero:after,body.dfn-unified-hero-page .dfn-promotion-hero.dfn-events-hero:after{right:-250px!important}}


/* -------------------------------------------------------------------------
   SHARED SECTION HEADINGS
   Legacy archive headings are normalized by site-shell.js so Events uses the
   exact same visual language as Fighters/Gyms instead of theme-specific type.
   ------------------------------------------------------------------------- */
body.dfn-site-shell-active .dfn-shared-section-head{
  position:relative!important;
  margin:0 0 18px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid var(--dfn-line)!important;
}
body.dfn-site-shell-active .dfn-shared-section-eyebrow{
  display:block!important;
  margin:0 0 5px!important;
  padding:0!important;
  color:var(--dfn-red)!important;
  font-family:'Raleway',Arial,sans-serif!important;
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.dfn-site-shell-active .dfn-shared-section-title{
  position:relative!important;
  display:inline-block!important;
  margin:0!important;
  padding:0 0 10px!important;
  color:#111!important;
  font-family:'Oswald',Arial,sans-serif!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  text-transform:uppercase!important;
}
body.dfn-site-shell-active .dfn-shared-section-title:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  bottom:0!important;
  width:48px!important;
  height:4px!important;
  background:var(--dfn-red)!important;
}
@media(max-width:650px){
  body.dfn-site-shell-active .dfn-shared-section-title{font-size:25px!important}
}

/* Legacy pages (Videos / Podcast / Contact) now reuse the exact Fighters hero. */
.dfn-legacy-hero-mount{display:none}.dfn-legacy-hero-mount.is-ready{display:block}
body.dfn-legacy-unified-hero-page #wrapper,
body.dfn-legacy-unified-hero-page #main,
body.dfn-legacy-unified-hero-page #primary{margin-top:0!important;padding-top:0!important}
body.dfn-legacy-unified-hero-page .dfn-legacy-page-hero{margin-bottom:34px!important}
/* Suppress legacy page title blocks where the shared DFN hero replaces them. */
body.dfn-legacy-unified-hero-page #main>.page-header,
body.dfn-legacy-unified-hero-page #main .page-title:first-child,
body.dfn-legacy-unified-hero-page #main .entry-title:first-child{display:none!important}
