/*
Theme Name: Warriors Arena
Theme URI: https://example.com
Author: Warriors Arena
Description: Dark, high-energy gym theme for Warriors Arena — hero, about, facilities, membership CTA, and footer, built to pair with the Warriors Arena Membership plugin.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: warriors-arena
*/

  :root{
    --black:#0a0a0a;
    --black-2:#111111;
    --red:#e2182c;
    --red-dark:#8a0f1c;
    --red-glow:#ff2d3e;
    --white:#f5f5f5;
    --grey:#9a9a9a;
    --card-bg:#150c0d;
    --card-border:#2a1416;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--black);
    color:var(--white);
    font-family:'Poppins',sans-serif;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Bebas Neue',sans-serif;
    font-weight:400;
    letter-spacing:1px;
    line-height:1.05;
  }
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  img{max-width:100%;display:block;}
  .container{
    max-width:1240px;
    margin:0 auto;
    padding:0 40px;
  }
  .eyebrow{
    color:var(--red);
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:10px;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .eyebrow::before{
    content:'';
    width:18px;
    height:2px;
    background:var(--red);
    display:inline-block;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:16px 30px;
    font-size:14px;
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    border-radius:4px;
    transition:all .25s ease;
    cursor:pointer;
    border:2px solid transparent;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--red);
    color:#fff;
    box-shadow:0 8px 24px -8px rgba(226,24,44,.6);
  }
  .btn-primary:hover{background:#ff2436;transform:translateY(-2px);}
  .btn-outline{
    border:2px solid rgba(255,255,255,.25);
    color:#fff;
    background:transparent;
  }
  .btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.06);}
  .btn-gold{
    background:linear-gradient(135deg,#e8b64a,#c98f1f);
    color:#1a0f00;
    box-shadow:0 8px 24px -8px rgba(200,140,20,.6);
  }
  .btn-gold:hover{transform:translateY(-2px);}

  /* ===== HEADER ===== */
  header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(8,8,8,.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  .nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 40px;
    max-width:1240px;
    margin:0 auto;
  }
  .logo{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:'Bebas Neue',sans-serif;letter-spacing:1px;
    font-size:20px;
    letter-spacing:1px;
  }
  .logo-mark{
    width:38px;height:38px;
    border:2px solid var(--red);
    display:flex;align-items:center;justify-content:center;
    font-size:20px;
    color:var(--red);
    transform:rotate(0deg);
    clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
  }
  .logo-text span{color:var(--red);}
  .logo-text small{
    display:block;
    font-family:'Poppins',sans-serif;
    font-size:9px;
    letter-spacing:3px;
    color:var(--grey);
    font-weight:600;
    margin-top:-2px;
  }
  .nav-links{
    display:flex;
    gap:34px;
    font-size:14px;
    font-weight:500;
  }
  .nav-links a{
    position:relative;
    color:#ddd;
    padding:6px 0;
    transition:color .2s;
  }
  .nav-links a:hover, .nav-links a.active{color:#fff;}
  .nav-links a.active::after{
    content:'';
    position:absolute;
    bottom:-4px;left:0;right:0;
    height:2px;background:var(--red);
  }
  .nav-cta{
    display:flex;
    align-items:center;
    gap:8px;
    padding:11px 20px;
    border:1px solid var(--red);
    border-radius:4px;
    color:var(--red);
    font-size:13px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;
    transition:.2s;
  }
  .nav-cta:hover{background:var(--red);color:#fff;}
  .burger{display:none;background:none;border:0;color:#fff;font-size:24px;cursor:pointer;z-index:200;}

  /* ===== MOBILE NAV DRAWER ===== */
  .mobile-nav-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    z-index:150;
    opacity:0;
    transition:opacity .25s ease;
  }
  .mobile-nav-overlay.open{display:block;opacity:1;}
  .mobile-nav{
    position:fixed;
    top:0;right:0;
    height:100%;
    width:min(78vw,320px);
    background:var(--black-2);
    border-left:1px solid rgba(255,255,255,.08);
    z-index:160;
    transform:translateX(100%);
    transition:transform .3s ease;
    padding:90px 30px 30px;
    overflow-y:auto;
  }
  .mobile-nav.open{transform:translateX(0);}
  .mobile-nav ul{display:flex;flex-direction:column;gap:6px;margin-bottom:30px;}
  .mobile-nav ul li a{
    display:block;
    padding:14px 4px;
    font-size:17px;
    font-weight:500;
    color:#eee;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .mobile-nav ul li a.active{color:var(--red);}
  .mobile-nav .nav-cta{
    width:100%;
    justify-content:center;
  }
  .mobile-nav-close{
    position:absolute;
    top:22px;right:26px;
    background:none;
    border:0;
    color:#fff;
    font-size:26px;
    cursor:pointer;
    line-height:1;
  }
  body.nav-open{overflow:hidden;}

  /* ===== HERO ===== */
  .hero{
    position:relative;
    padding:70px 0 60px;
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute;
    inset:0;
    background:
      radial-gradient(ellipse 900px 500px at 85% 20%, rgba(226,24,44,.18), transparent 60%),
      radial-gradient(ellipse 700px 500px at 0% 80%, rgba(226,24,44,.10), transparent 60%);
    pointer-events:none;
  }
  .hero-top{
    display:grid;
    grid-template-columns:1fr 1.05fr;
    align-items:center;
    gap:40px;
    position:relative;
  }
  .hero-copy .eyebrow{margin-bottom:16px;}
  .hero-copy h1{
    font-size:58px;
    text-transform:uppercase;
    margin-bottom:22px;
  }
  .hero-copy h1 .accent{color:var(--red);}
  .hero-copy p{
    color:var(--grey);
    font-size:16px;
    max-width:400px;
    margin-bottom:34px;
    line-height:1.6;
  }
  .hero-actions{
    display:flex;
    gap:16px;
  }
  .hero-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    margin-top:56px;
    position:relative;
  }
  .hero-stats .stat{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:26px 28px;
    border-left:1px solid rgba(255,255,255,.08);
  }
  .hero-stats .stat:first-child{border-left:none;padding-left:0;}
  .hero-stats .stat-icon{
    color:var(--red);
    font-size:19px;
    flex-shrink:0;
    margin-top:2px;
  }
  .hero-stats .stat b{
    display:block;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.3px;
    text-transform:uppercase;
    margin-bottom:4px;
  }
  .hero-stats .stat span{
    font-size:12px;
    color:var(--grey);
  }
  .hero-media{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .hero-media .diagonal{
    position:absolute;
    top:-10%;
    right:-8%;
    width:65%;
    height:80%;
    background:linear-gradient(135deg, var(--red), var(--red-dark));
    clip-path:polygon(60% 0, 100% 0, 100% 100%, 20% 100%);
    opacity:.85;
    z-index:0;
  }
  .hero-media .frame{
    position:relative;
    z-index:2;
    overflow:hidden;
    aspect-ratio:4/4.6;
    width:88%;
    box-shadow:0 30px 80px -20px rgba(0,0,0,.8);
  }
  .hero-media img{
    width:100%;height:100%;object-fit:cover;
    object-position:center 20%;
  }
  .hero-media .frame::after{
    content:'';
    position:absolute;inset:0;
    background:linear-gradient(180deg, rgba(10,10,10,0) 45%, rgba(10,10,10,.5) 100%);
  }
  .hero-badge{
    position:absolute;
    right:0;
    top:18%;
    background:rgba(10,10,10,.9);
    border:1px solid rgba(226,24,44,.5);
    backdrop-filter:blur(6px);
    padding:22px 26px;
    text-align:right;
    z-index:5;
    clip-path:polygon(14px 0, 100% 0, 100% 100%, 0 100%, 0 14px);
  }
  .hero-badge b{
    display:block;
    font-family:'Bebas Neue',sans-serif;letter-spacing:1px;
    font-size:17px;
    text-transform:uppercase;
    line-height:1.25;
    margin-bottom:10px;
  }
  .hero-badge .mark{
    color:var(--red);
    font-family:'Bebas Neue',sans-serif;letter-spacing:1px;
    font-size:22px;
  }

  /* ===== FIND US ===== */
  .findus{padding:110px 0;}
  .findus-head{margin-bottom:50px;}
  .findus-head h2{font-size:38px;text-transform:uppercase;}
  .findus-head h2 .accent{color:var(--red);}
  .findus-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:24px;
  }
  .map-box{
    position:relative;
    border-radius:8px;
    overflow:hidden;
    border:1px solid var(--card-border);
    min-height:400px;
  }
  .map-box iframe{width:100%;height:100%;min-height:400px;border:0;filter:grayscale(20%) contrast(1.05);}
  .map-card{
    position:absolute;
    top:20px;
    left:20px;
    background:#fff;
    color:#1a1a1a;
    border-radius:8px;
    padding:16px 18px;
    width:230px;
    box-shadow:0 12px 30px -8px rgba(0,0,0,.5);
    z-index:5;
  }
  .map-card .name{font-size:14px;font-weight:700;margin-bottom:6px;}
  .map-card .addr{font-size:11.5px;color:#666;line-height:1.5;margin-bottom:8px;}
  .map-card .rating{font-size:11.5px;color:#444;margin-bottom:10px;}
  .map-card .rating b{color:#e2182c;}
  .map-card .view-btn{
    display:inline-block;
    background:var(--red);
    color:#fff;
    font-size:11px;
    font-weight:600;
    letter-spacing:.5px;
    text-transform:uppercase;
    padding:8px 14px;
    border-radius:4px;
  }
  .info-col{
    display:flex;
    flex-direction:column;
    gap:18px;
  }
  .phone-card{
    background:var(--card-bg);
    border:1px solid var(--card-border);
    border-radius:8px;
    padding:24px;
    display:flex;
    align-items:center;
    gap:16px;
  }
  .phone-card .icon{
    width:44px;height:44px;
    border-radius:50%;
    background:rgba(226,24,44,.15);
    color:var(--red);
    display:flex;align-items:center;justify-content:center;
    font-size:18px;
    flex-shrink:0;
  }
  .phone-card .label{font-size:11px;color:var(--grey);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
  .phone-card .value{font-size:17px;font-weight:600;}
  .directions-btn{
    background:var(--red);
    border-radius:8px;
    padding:20px 24px;
    text-align:center;
    font-weight:600;
    font-size:14px;
    letter-spacing:1px;
    text-transform:uppercase;
    display:flex;align-items:center;justify-content:center;gap:10px;
    transition:.2s;
  }
  .directions-btn:hover{background:#ff2436;}
  .mini-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .mini-card{
    background:var(--card-bg);
    border:1px solid var(--card-border);
    border-radius:8px;
    padding:20px;
  }
  .mini-card .icon{color:var(--red);font-size:20px;margin-bottom:10px;}
  .mini-card b{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
  .mini-card span{font-size:12px;color:var(--grey);line-height:1.5;}

  /* ===== ABOUT ===== */
  .about{padding:60px 0 110px;}
  .about-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:60px;
    align-items:center;
  }
  .about-media{position:relative;}
  .about-media .photo{
    border-radius:8px;
    overflow:hidden;
    aspect-ratio:3/3.6;
  }
  .about-media img{width:100%;height:100%;object-fit:cover;}
  .about-badge{
    position:absolute;
    left:-24px;
    bottom:-24px;
    background:var(--red);
    padding:26px 28px;
    border-radius:2px;
    max-width:230px;
    box-shadow:0 20px 50px -15px rgba(226,24,44,.6);
  }
  .about-badge .mark{
    width:34px;height:34px;
    border:2px solid #fff;
    display:flex;align-items:center;justify-content:center;
    font-family:'Bebas Neue',sans-serif;
    font-size:18px;
    color:#fff;
    line-height:1;
    letter-spacing:0;
    margin-bottom:14px;
  }
  .about-badge b{
    display:block;
    font-family:'Bebas Neue',sans-serif;letter-spacing:1px;
    font-size:19px;
    text-transform:uppercase;
    line-height:1.2;
  }
  .about-copy h2{
    font-size:36px;
    text-transform:uppercase;
    margin-bottom:20px;
  }
  .about-copy h2 .accent{color:var(--red);}
  .about-copy p{
    color:var(--grey);
    font-size:15px;
    line-height:1.75;
    max-width:520px;
    margin-bottom:36px;
  }
  .about-features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
  }
  .feature{
    border-top:2px solid var(--red);
    padding-top:16px;
  }
  .feature .icon{color:#d99b3f;font-size:24px;margin-bottom:14px;}
  .feature b{
    display:block;
    font-size:12.5px;
    text-transform:uppercase;
    letter-spacing:.5px;
    margin-bottom:6px;
  }
  .feature span{font-size:12px;color:var(--grey);line-height:1.5;}

  /* ===== FACILITIES ===== */
  .facilities{padding:0 0 110px;}
  .facilities-head{text-align:center;margin-bottom:56px;}
  .facilities-head .eyebrow{justify-content:center;}
  .facilities-head .eyebrow::before{display:none;}
  .facilities-head h2{font-size:38px;text-transform:uppercase;}
  .facilities-head h2 .accent{color:var(--red);}
  .fac-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
  }
  .fac-card{
    background:var(--card-bg);
    border:1px solid var(--card-border);
    border-radius:8px;
    padding:28px 24px;
    display:flex;
    gap:16px;
    align-items:flex-start;
    transition:.25s;
  }
  .fac-card:hover{
    border-color:var(--red);
    transform:translateY(-4px);
    background:linear-gradient(180deg, rgba(226,24,44,.08), var(--card-bg));
  }
  .fac-card .icon{
    width:42px;height:42px;
    border-radius:50%;
    background:rgba(226,24,44,.15);
    color:var(--red);
    display:flex;align-items:center;justify-content:center;
    font-size:18px;
    flex-shrink:0;
  }
  .fac-card b{display:block;font-size:13.5px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px;}
  .fac-card span{font-size:12.5px;color:var(--grey);line-height:1.5;}

  /* ===== CTA ===== */
  .cta{
    position:relative;
    padding:110px 0;
    overflow:hidden;
    border-top:1px solid rgba(226,24,44,.25);
    border-bottom:1px solid rgba(226,24,44,.25);
    min-height:560px;
    display:flex;
    align-items:center;
  }
  .cta-bg{
    position:absolute;
    inset:0;
    z-index:0;
  }
  .cta-bg img{
    width:100%;height:100%;object-fit:cover;object-position:75% 28%;
    filter:grayscale(35%) brightness(.5) contrast(1.15);
  }
  .cta-bg::after{
    content:'';
    position:absolute; inset:0;
    background:
      linear-gradient(90deg, #0a0a0a 26%, rgba(10,10,10,.82) 48%, rgba(60,6,10,.55) 70%, rgba(226,24,44,.28) 100%),
      linear-gradient(0deg, rgba(10,10,10,.55), transparent 35%);
    mix-blend-mode:normal;
  }
  .cta-bg::before{
    content:'';
    position:absolute; inset:0;
    background:var(--red);
    opacity:.08;
    mix-blend-mode:color;
    z-index:1;
  }
  .cta-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:40px;
    align-items:center;
    position:relative;
    z-index:2;
  }
  .cta-copy{max-width:560px;}
  .cta-copy .eyebrow{color:#ffb3ab;}
  .cta-copy .eyebrow::before{background:#ffb3ab;}
  .cta-copy h2{
    font-size:44px;
    text-transform:uppercase;
    margin-bottom:18px;
    text-shadow:0 4px 24px rgba(0,0,0,.5);
  }
  .cta-copy h2 .accent{color:var(--red);}
  .cta-copy p{
    color:#d9b9b9;
    max-width:440px;
    margin-bottom:36px;
    line-height:1.65;
    font-size:15px;
  }
  .cta-perks{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:26px 34px;
    padding:28px 0;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    margin-bottom:36px;
  }
  .perk{display:flex;align-items:center;gap:14px;}
  .perk .icon{
    width:40px;height:40px;
    flex-shrink:0;
    border-radius:50%;
    background:rgba(226,24,44,.18);
    border:1px solid rgba(226,24,44,.35);
    color:var(--red);
    font-size:17px;
    display:flex;align-items:center;justify-content:center;
  }
  .perk b{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px;}
  .perk span{font-size:11.5px;color:#c99f9f;}

  /* ===== FOOTER ===== */
  footer{padding:80px 0 0;background:var(--black-2);}
  .foot-grid{
    display:grid;
    grid-template-columns:1.3fr .8fr .8fr 1fr 1fr;
    gap:30px;
    padding-bottom:60px;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .foot-brand p{color:var(--grey);font-size:13px;line-height:1.7;margin:18px 0 22px;max-width:220px;}
  .foot-social{display:flex;gap:10px;}
  .foot-social a{
    width:36px;height:36px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:14px;
    transition:.2s;
  }
  .foot-social a:hover{background:var(--red);border-color:var(--red);}
  .foot-col h4{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:20px;
  }
  .foot-col ul li{margin-bottom:12px;}
  .foot-col ul li a{
    color:var(--grey);
    font-size:13.5px;
    transition:.2s;
  }
  .foot-col ul li a:hover{color:var(--red);}
  .foot-contact li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:var(--grey);
    font-size:13.5px;
    margin-bottom:16px;
    line-height:1.5;
  }
  .foot-contact li .icon{color:var(--red);margin-top:2px;}
  .foot-banner{
    position:relative;
    border-radius:8px;
    overflow:hidden;
    aspect-ratio:16/10;
  }
  .foot-banner img{width:100%;height:100%;object-fit:cover;}
  .foot-bottom{
    padding:26px 0;
    text-align:center;
    color:#6b6b6b;
    font-size:12.5px;
  }

  /* ===== ICONS (inline svg via mask, simple unicode fallback) ===== */
  .i{display:inline-flex;align-items:center;justify-content:center;}

  /* ===== RESPONSIVE ===== */
  @media(max-width:1080px){
    .hero-top{grid-template-columns:1fr;}
    .hero-media{order:-1;}
    .findus-grid{grid-template-columns:1fr;}
    .about-grid{grid-template-columns:1fr;gap:80px 40px;}
    .fac-grid{grid-template-columns:1fr 1fr;}
    .cta-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:900px){
    .nav-links{display:none;}
    .nav .nav-cta{display:none;}
    .burger{display:block;}
  }
  @media(max-width:720px){
    .container{padding:0 20px;}
    .nav{padding:14px 20px;}

    /* hero */
    .hero{padding:40px 0 30px;}
    .hero-copy h1{font-size:34px;}
    .hero-copy p{max-width:none;font-size:15px;margin-bottom:26px;}
    .hero-actions{flex-direction:column;align-items:stretch;gap:12px;}
    .hero-actions .btn{justify-content:center;}
    .hero-media .frame{width:100%;aspect-ratio:4/3.6;}
    .hero-badge{padding:16px 18px;top:auto;bottom:16px;right:12px;}
    .hero-badge b{font-size:14px;}
    .hero-stats{grid-template-columns:1fr 1fr;margin-top:36px;row-gap:20px;}
    .hero-stats .stat{padding:16px 14px;gap:10px;border-left:none !important;}
    .hero-stats .stat:nth-child(odd){padding-left:0;}
    .hero-stats .stat:nth-child(even){padding-left:14px;border-left:1px solid rgba(255,255,255,.08) !important;}

    /* find us */
    .findus{padding:60px 0;}
    .findus-head h2{font-size:28px;}
    .map-box{min-height:280px;}
    .map-box iframe{min-height:280px;}
    .map-card{position:static;width:auto;margin:14px;}
    .mini-grid{grid-template-columns:1fr;}

    /* about */
    .about{padding:20px 0 60px;}
    .about-copy h2{font-size:28px;}
    .about-copy p{max-width:none;}
    .about-features{grid-template-columns:1fr;}
    .about-badge{position:static;margin:-30px 0 0;max-width:none;}

    /* facilities */
    .facilities{padding:0 0 60px;}
    .facilities-head{margin-bottom:36px;}
    .facilities-head h2{font-size:28px;}
    .fac-grid{grid-template-columns:1fr;}

    /* cta */
    .cta{padding:60px 0;min-height:auto;}
    .cta-copy h2{font-size:30px;}
    .cta-copy p{max-width:none;}
    .cta-perks{grid-template-columns:1fr;gap:20px;}

    /* footer */
    .foot-grid{grid-template-columns:1fr;gap:36px;padding-bottom:40px;}
    footer{padding:50px 0 0;}
    .foot-brand p{max-width:none;}
    .foot-banner{margin-top:6px;}
  }
  @media(max-width:420px){
    .hero-copy h1{font-size:28px;}
    .hero-stats{grid-template-columns:1fr 1fr;}
    .logo-text{font-size:15px;}
    .logo-text small{font-size:7.5px;}
  }
