/*
Theme Name: SYKOZONE Battlefield 6
Theme URI: https://sykozone.gg/
Author: SYKOZONE ESPORTS
Author URI: https://sykozone.gg/
Description: A hard-edged, HUD-inspired esports team theme built for competitive Battlefield 6 squads. Ships with Operator (roster) and Match custom post types, a deployment-status homepage, tactical graphics, and one-click demo content. Gunmetal + Battlefield-orange palette, Rajdhani / Share Tech Mono typography.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sykozone-bf6
Tags: esports, gaming, custom-post-types, full-width-template, custom-menu, featured-images, dark, sports
*/

/* ===================================================================
   0. TOKENS
   =================================================================== */
:root{
  --ink:#0e1113;        /* gunmetal black    */
  --steel:#1a1f22;      /* tactical steel    */
  --steel-2:#242b2f;    /* raised panel      */
  --line:#2f373b;       /* hairline          */
  --khaki:#b3a179;      /* muted khaki       */
  --olive:#5a5f45;
  --orange:#ff6a13;     /* battlefield orange*/
  --orange-d:#c44a08;
  --red:#d33333;
  --bone:#e8e6e0;       /* off-white         */
  --bone-dim:#9aa09b;
  --font-display:'Rajdhani','Arial Narrow',sans-serif;
  --font-body:'Barlow',system-ui,sans-serif;
  --font-mono:'Share Tech Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --wrap:1240px;
}

/* ===================================================================
   1. RESET / BASE
   =================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ink);color:var(--bone);
  font-family:var(--font-body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:
    linear-gradient(rgba(255,106,19,.02) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,106,19,.02) 1px,transparent 1px);
  background-size:44px 44px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--bone)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.02;
  text-transform:uppercase;letter-spacing:.01em;margin:0 0 .4em}
h1{font-size:clamp(2.6rem,7vw,5.5rem)}
h2{font-size:clamp(1.9rem,4vw,3rem)}
h3{font-size:1.4rem}
p{margin:0 0 1.1em}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link{position:absolute;left:-999px;top:0;z-index:200;background:var(--orange);
  color:var(--ink);padding:10px 18px;font-family:var(--font-display);font-weight:700}
.skip-link:focus{left:8px;top:8px}

/* utility text tokens */
.eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.35em;
  color:var(--orange);text-transform:uppercase;display:inline-block;margin-bottom:.9rem}
.eyebrow::before{content:"// "}
.mono{font-family:var(--font-mono)}
.khaki{color:var(--khaki)}

/* hard-edge / clip shapes */
.clip{clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}

/* ===================================================================
   2. BUTTONS
   =================================================================== */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-display);
  font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;
  padding:15px 30px;border:2px solid var(--orange);background:var(--orange);color:var(--ink);
  cursor:pointer;transition:all .18s var(--ease);
  clip-path:polygon(0 0,100% 0,100% 100%,10px 100%,0 calc(100% - 10px))}
.btn:hover{background:transparent;color:var(--orange);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--bone);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--bone);color:var(--bone);background:rgba(255,255,255,.04)}

/* ===================================================================
   3. HEADER / NAV
   =================================================================== */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,12,13,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header::after{content:"";display:block;height:3px;
  background:linear-gradient(90deg,var(--orange),transparent 60%)}
.header-inner{display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:14px 24px;max-width:var(--wrap);margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand img{height:44px;width:auto}
.brand .brand-text{font-family:var(--font-display);font-weight:700;font-size:1.5rem;
  text-transform:uppercase;letter-spacing:.04em;color:var(--bone);line-height:1}
.brand .brand-text small{display:block;font-family:var(--font-mono);font-size:.62rem;
  letter-spacing:.28em;color:var(--orange);margin-top:3px}
.main-nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;align-items:center}
.main-nav a{display:block;font-family:var(--font-display);font-weight:600;font-size:1rem;
  text-transform:uppercase;letter-spacing:.05em;color:var(--bone);padding:10px 14px;position:relative}
.main-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;
  background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}
.main-nav a:hover::after,.main-nav .current-menu-item>a::after{transform:scaleX(1)}
.main-nav .current-menu-item>a{color:var(--orange)}
.header-cta{flex-shrink:0}
.nav-toggle{display:none;background:none;border:2px solid var(--line);color:var(--bone);
  width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;
  width:22px;height:2px;background:var(--bone);position:relative;transition:.2s}
.nav-toggle span::before{position:absolute;top:-7px}
.nav-toggle span::after{position:absolute;top:7px}
.nav-open .nav-toggle span{background:transparent}
.nav-open .nav-toggle span::before{top:0;transform:rotate(45deg)}
.nav-open .nav-toggle span::after{top:0;transform:rotate(-45deg)}

/* deployment status ticker */
.status-bar{background:var(--steel);border-bottom:1px solid var(--line);
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;overflow:hidden;white-space:nowrap}
.status-bar .wrap{display:flex;align-items:center;gap:18px;padding-top:7px;padding-bottom:7px}
.status-dot{width:9px;height:9px;background:#3fbf5f;border-radius:50%;flex-shrink:0;
  box-shadow:0 0 0 0 rgba(63,191,95,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,191,95,.6)}70%{box-shadow:0 0 0 8px rgba(63,191,95,0)}100%{box-shadow:0 0 0 0 rgba(63,191,95,0)}}
.status-bar .lbl{color:var(--khaki)}
.status-bar .val{color:var(--bone)}
.status-bar .sep{color:var(--line)}

/* ===================================================================
   4. HERO
   =================================================================== */
.hero{position:relative;min-height:82vh;display:flex;align-items:center;
  background:var(--ink);overflow:hidden;border-bottom:1px solid var(--line)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;
  filter:saturate(.9)}
.hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,12,13,.95) 0%,rgba(10,12,13,.55) 55%,rgba(10,12,13,.85) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:90px;padding-bottom:90px}
.hero h1{margin:0}
.hero h1 .line2{color:var(--orange);display:block}
.hero .lede{max-width:560px;font-size:1.2rem;color:var(--bone-dim);margin:1.4rem 0 2rem}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
/* corner HUD brackets on hero */
.hero .bracket{position:absolute;width:52px;height:52px;border:3px solid var(--orange);z-index:3;opacity:.8}
.hero .bracket.tl{top:26px;left:26px;border-right:0;border-bottom:0}
.hero .bracket.tr{top:26px;right:26px;border-left:0;border-bottom:0}
.hero .bracket.bl{bottom:26px;left:26px;border-right:0;border-top:0}
.hero .bracket.br{bottom:26px;right:26px;border-left:0;border-top:0}
.hero-stats{display:flex;gap:40px;margin-top:2.6rem;flex-wrap:wrap}
.hero-stats .s{border-left:2px solid var(--orange);padding-left:14px}
.hero-stats .n{font-family:var(--font-display);font-weight:700;font-size:2.4rem;line-height:1}
.hero-stats .l{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;color:var(--khaki)}

/* ===================================================================
   5. SECTION SHELL
   =================================================================== */
.section{padding:88px 0;position:relative}
.section--alt{background:var(--steel)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;
  gap:24px;margin-bottom:48px;flex-wrap:wrap}
.section-head .txt{max-width:640px}
.section-head h2{margin:0}
.section-head p{margin:.6rem 0 0;color:var(--bone-dim)}

/* ===================================================================
   6. OPERATOR / ROSTER CARDS
   =================================================================== */
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.op-card{position:relative;background:var(--steel-2);border:1px solid var(--line);
  overflow:hidden;transition:transform .25s var(--ease),border-color .25s}
.op-card:hover{transform:translateY(-6px);border-color:var(--orange)}
.op-card .thumb{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}
.op-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);filter:grayscale(.15)}
.op-card:hover .thumb img{transform:scale(1.06);filter:grayscale(0)}
.op-card .num{position:absolute;top:10px;left:12px;font-family:var(--font-mono);
  font-size:.8rem;color:var(--orange);z-index:2}
.op-card .role{position:absolute;top:10px;right:12px;font-family:var(--font-mono);
  font-size:.66rem;letter-spacing:.18em;color:var(--bone);background:rgba(10,12,13,.8);
  padding:4px 8px;z-index:2;border:1px solid var(--line)}
.op-card .body{padding:14px 16px 18px;border-top:3px solid var(--orange)}
.op-card .body .name{font-family:var(--font-display);font-weight:700;font-size:1.5rem;
  text-transform:uppercase;color:var(--bone);line-height:1;display:block}
.op-card .body .tag{font-family:var(--font-mono);font-size:.78rem;color:var(--khaki)}
.op-card .kd{display:flex;gap:16px;margin-top:12px;font-family:var(--font-mono);font-size:.74rem}
.op-card .kd b{display:block;font-size:1.1rem;color:var(--orange);font-weight:400}
.op-card .kd span{color:var(--bone-dim);letter-spacing:.1em}

/* ===================================================================
   7. MATCHES
   =================================================================== */
.match-list{display:flex;flex-direction:column;gap:14px}
.match-row{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;
  background:var(--steel-2);border:1px solid var(--line);border-left:4px solid var(--orange);
  padding:18px 22px;transition:border-color .2s}
.match-row:hover{border-left-color:var(--bone)}
.match-row .when{font-family:var(--font-mono);font-size:.82rem;color:var(--khaki);line-height:1.4}
.match-row .when b{display:block;color:var(--bone);font-size:1.05rem}
.match-row .teams{display:flex;align-items:center;gap:16px;font-family:var(--font-display);
  font-weight:700;text-transform:uppercase;font-size:1.3rem}
.match-row .teams .vs{color:var(--orange);font-family:var(--font-mono);font-size:.85rem}
.match-row .teams .opp{color:var(--bone-dim)}
.match-row .meta{text-align:right;font-family:var(--font-mono);font-size:.74rem;color:var(--khaki)}
.match-row .badge{display:inline-block;font-family:var(--font-mono);font-size:.68rem;
  letter-spacing:.14em;padding:4px 10px;border:1px solid var(--line);margin-top:6px}
.badge.win{color:#3fbf5f;border-color:#26522f;background:rgba(63,191,95,.08)}
.badge.loss{color:var(--red);border-color:#5a2626;background:rgba(211,51,51,.08)}
.badge.live{color:var(--orange);border-color:var(--orange-d);background:rgba(255,106,19,.1)}
.badge.upcoming{color:var(--khaki)}

/* ===================================================================
   8. NEWS
   =================================================================== */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.post-card{background:var(--steel-2);border:1px solid var(--line);overflow:hidden;
  display:flex;flex-direction:column;transition:transform .25s var(--ease),border-color .25s}
.post-card:hover{transform:translateY(-5px);border-color:var(--orange)}
.post-card .thumb{aspect-ratio:16/9;overflow:hidden;background:var(--ink)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post-card:hover .thumb img{transform:scale(1.05)}
.post-card .pc-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.post-card .cat{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;color:var(--orange)}
.post-card h3{margin:.5rem 0 .5rem;font-size:1.3rem}
.post-card h3 a{color:var(--bone)}
.post-card h3 a:hover{color:var(--orange)}
.post-card .excerpt{color:var(--bone-dim);font-size:.95rem;flex:1}
.post-card .date{font-family:var(--font-mono);font-size:.72rem;color:var(--khaki);margin-top:14px}

/* ===================================================================
   9. SPONSORS
   =================================================================== */
.sponsor-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.sponsor-strip .sp{border:1px solid var(--line);background:var(--steel-2);padding:10px;
  display:flex;align-items:center;justify-content:center;filter:grayscale(1) opacity(.7);
  transition:filter .25s}
.sponsor-strip .sp:hover{filter:grayscale(0) opacity(1)}

/* ===================================================================
   10. CTA STRIP
   =================================================================== */
.recruit{position:relative;background:var(--steel);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);text-align:center;padding:80px 0;overflow:hidden}
.recruit::before{content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 120%,rgba(255,106,19,.18),transparent 60%)}
.recruit .wrap{position:relative}
.recruit h2{font-size:clamp(2rem,5vw,3.6rem)}
.recruit p{max-width:560px;margin:0 auto 2rem;color:var(--bone-dim)}

/* ===================================================================
   11. FOOTER
   =================================================================== */
.site-footer{background:#090b0c;border-top:3px solid var(--orange);padding:64px 0 30px;
  font-size:.95rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-grid h4{font-size:1.1rem;color:var(--bone);margin-bottom:1rem}
.footer-grid a{color:var(--bone-dim)}
.footer-grid a:hover{color:var(--orange)}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:42px;height:42px;border:1px solid var(--line);display:flex;align-items:center;
  justify-content:center;color:var(--bone);font-family:var(--font-display);font-weight:700}
.social a:hover{border-color:var(--orange);color:var(--orange)}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--font-mono);
  font-size:.74rem;color:var(--khaki);letter-spacing:.08em}

/* ===================================================================
   12. GENERIC PAGE / POST / ARCHIVE
   =================================================================== */
.page-hero{background:var(--steel);border-bottom:1px solid var(--line);padding:60px 0 46px;position:relative}
.page-hero::after{content:"";position:absolute;left:0;bottom:-1px;width:180px;height:3px;background:var(--orange)}
.content{padding:70px 0}
.content-grid{display:grid;grid-template-columns:1fr 300px;gap:48px}
@media(max-width:900px){.content-grid{grid-template-columns:1fr}}
.entry{max-width:760px}
.entry img{margin:1.4em 0;border:1px solid var(--line)}
.entry a{text-decoration:underline}
.entry blockquote{border-left:4px solid var(--orange);margin:1.4em 0;padding:.4em 1.4em;
  background:var(--steel-2);font-style:italic;color:var(--bone)}
.entry code{font-family:var(--font-mono);background:var(--steel-2);padding:2px 6px;font-size:.9em}
.entry pre{background:var(--steel-2);border:1px solid var(--line);padding:18px;overflow:auto}
.entry h2,.entry h3{margin-top:1.6em}
.entry ul,.entry ol{padding-left:1.3em}
.post-meta{font-family:var(--font-mono);font-size:.78rem;color:var(--khaki);
  letter-spacing:.1em;margin-bottom:.6rem;text-transform:uppercase}
.widget{background:var(--steel-2);border:1px solid var(--line);padding:22px;margin-bottom:24px}
.widget-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  font-size:1.15rem;border-left:3px solid var(--orange);padding-left:10px;margin-bottom:14px}
.widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.widget a{color:var(--bone-dim)}.widget a:hover{color:var(--orange)}

/* pagination */
.pagination{display:flex;gap:8px;margin-top:48px;flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--font-display);font-weight:700;padding:10px 16px;
  border:1px solid var(--line);color:var(--bone)}
.pagination .current{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.pagination a.page-numbers:hover{border-color:var(--orange);color:var(--orange)}

/* operator single */
.op-single{display:grid;grid-template-columns:420px 1fr;gap:48px;align-items:start}
@media(max-width:820px){.op-single{grid-template-columns:1fr}}
.op-single .portrait{border:1px solid var(--line);position:relative}
.op-single .portrait .num{position:absolute;top:14px;left:16px;font-family:var(--font-mono);color:var(--orange)}
.op-statgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);
  border:1px solid var(--line);margin:24px 0}
.op-statgrid .cell{background:var(--steel-2);padding:18px}
.op-statgrid .cell .n{font-family:var(--font-display);font-weight:700;font-size:2rem;color:var(--orange);line-height:1}
.op-statgrid .cell .l{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;color:var(--khaki)}

/* comments (kept minimal) */
.comments{margin-top:48px;border-top:1px solid var(--line);padding-top:32px}
.comment-list{list-style:none;padding:0}
.comment-list li{background:var(--steel-2);border:1px solid var(--line);padding:16px 18px;margin-bottom:14px}
.comment-form input,.comment-form textarea{width:100%;background:var(--ink);border:1px solid var(--line);
  color:var(--bone);padding:12px;font-family:var(--font-body);margin-bottom:12px}
.comment-form label{font-family:var(--font-mono);font-size:.76rem;color:var(--khaki);display:block;margin-bottom:4px}

/* ===================================================================
   13. RESPONSIVE
   =================================================================== */
@media(max-width:960px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .op-single{gap:32px}
}
@media(max-width:820px){
  .nav-toggle{display:flex}
  .header-cta{display:none}
  .main-nav{position:fixed;inset:64px 0 auto 0;background:var(--ink);
    border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .3s var(--ease);
    max-height:calc(100vh - 64px);overflow:auto}
  .nav-open .main-nav{transform:translateY(0)}
  .main-nav ul{flex-direction:column;align-items:stretch;padding:12px}
  .main-nav a{padding:14px 16px;border-bottom:1px solid var(--line)}
  .main-nav a::after{display:none}
  .match-row{grid-template-columns:1fr;gap:8px}
  .match-row .meta{text-align:left}
  .footer-grid{grid-template-columns:1fr}
  .hero-stats{gap:24px}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
