/* ============================================================
   LUXURY FOOTBALL ELITE — global.css
   One file for all pages.
   Upload to: /public_html/assets/css/global.css
   ============================================================ */

/* ─── FONTS ───────────────────────────────────────────────── */
/* Preconnect hints live in <head>; actual load via display=swap */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&display=swap');
}
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ─── TOKENS ──────────────────────────────────────────────── */
:root {
  --forest:      #0b1f14;
  --forest-mid:  #12291b;
  --forest-soft: #1a3826;
  --gold:        #c4a245;
  --gold-light:  #dfc06e;
  --gold-dim:    rgba(196,162,69,.10);
  --cream:       #f8f6f1;
  --cream-dark:  #f0ece4;
  --ink:         #18181b;
  --ink-soft:    #3f3f46;
  --ink-muted:   #71717a;
  --white:       #ffffff;
  --border:      rgba(196,162,69,.18);
  --border-solid:#e4e0d7;
  --shadow-xs:   0 1px  4px rgba(0,0,0,.04);
  --shadow-sm:   0 2px 10px rgba(0,0,0,.05);
  --shadow-md:   0 6px 24px rgba(0,0,0,.08);
  --shadow-lg:   0 16px 48px rgba(0,0,0,.12);
  --radius:      12px;
  --radius-lg:   20px;
  --ease:        cubic-bezier(.22,1,.36,1);
  --ease-out:    cubic-bezier(0,.55,.45,1);
}

/* ─── RESET ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;height:auto}
svg{overflow:visible}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}

/* Scoped SVG resets */
.card-icon svg,.link-arrow svg,.tab-bar__item svg,
.sport-block__icon svg,.sport-block__link svg,.fcard__icon svg,
.blog-cta__icon svg,.btn svg,.hero svg,.prose-block svg,
.cta-section svg{
  display:inline-block!important;max-width:none!important;
  fill:none!important;flex-shrink:0;
}

/* ─── LAYOUT ──────────────────────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.header-spacer{height:90px}

/* ─── TYPOGRAPHY HELPERS ──────────────────────────────────── */
.text-gold  {color:var(--gold)}
.text-muted {color:var(--ink-soft)}
.font-bold  {font-weight:600}

.h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.15}
.h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.35rem;font-weight:700;line-height:1.2}

.prose-link{
  color:var(--forest);font-weight:600;
  border-bottom:1px solid rgba(196,162,69,.35);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.prose-link:hover{color:var(--gold);border-color:var(--gold)}

/* ─── EYEBROW LABEL ───────────────────────────────────────── */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--gold);font-size:.7rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;
}
.eyebrow::before,.eyebrow::after{
  content:'';width:24px;height:1px;background:var(--gold);opacity:.5;
}

/* ─── GOLD LINE ───────────────────────────────────────────── */
.gold-line{
  width:56px;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:18px auto 0;
}

/* ─── HERO ────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:700px;display:flex;align-items:center;
  background:var(--forest);overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;
  background-image:url('https://luxuryfootballelite.com/wp-content/uploads/2025/07/NFL.jpg');
  background-size:cover;background-position:center top;
  opacity:.08;transform:scale(1.05);will-change:transform;
}
.hero__overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 30% 40%, rgba(11,31,20,.97), transparent),
    linear-gradient(170deg, rgba(11,31,20,.92) 0%, rgba(18,41,27,.75) 60%, rgba(26,56,38,.5) 100%);
}
.hero__fade-bottom{
  position:absolute;bottom:0;left:0;right:0;height:140px;
  background:linear-gradient(to top,var(--cream),transparent);z-index:1;
}
.hero__content{
  position:relative;z-index:2;width:100%;max-width:760px;
  margin:0 auto;padding:110px 24px 150px;text-align:center;
}

/* Hero badge */
.hero__badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 22px;background:rgba(196,162,69,.1);
  border:1px solid rgba(196,162,69,.3);border-radius:50px;margin-bottom:36px;
}
.hero__badge span{
  font-size:.72rem;font-weight:600;color:var(--gold-light);
  letter-spacing:.2em;text-transform:uppercase;
}
.pulse-dot{
  width:6px;height:6px;border-radius:50%;background:var(--gold);
  animation:pulse-glow 2.4s ease-in-out infinite;
}
@keyframes pulse-glow{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(196,162,69,.4)}
  50%{opacity:.5;box-shadow:0 0 0 6px rgba(196,162,69,0)}
}

/* Hero title */
.hero__title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2.8rem,6.5vw,5.2rem);font-weight:700;
  color:var(--white);line-height:1.04;margin-bottom:26px;
  letter-spacing:-.02em;
}
.hero__title em{
  font-style:normal;
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 5s linear infinite;
}
@keyframes shimmer{to{background-position:200% center}}

.hero__desc{
  font-size:1.08rem;color:rgba(255,255,255,.82);
  max-width:560px;margin:0 auto 40px;line-height:1.85;font-weight:300;
}

/* Banner inside hero */
.banner-wrap{
  margin-top:40px;padding:22px 28px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(196,162,69,.2);border-radius:var(--radius-lg);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.banner-mobile{display:none}

/* ─── TAB BAR / QUICK NAV ─────────────────────────────────── */
.tab-bar{
  background:var(--white);box-shadow:var(--shadow-md);
  position:relative;z-index:10;display:flex;
  overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;
  border-bottom:1px solid var(--border-solid);
}
.tab-bar::-webkit-scrollbar{display:none}
.tab-bar__item{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:20px 28px;color:var(--ink-muted);
  font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  white-space:nowrap;flex-shrink:0;border-bottom:2px solid transparent;
  transition:color .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease);
}
.tab-bar__item svg{
  width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;
  transition:transform .3s var(--ease);
}
.tab-bar__item:hover,.tab-bar__item.active{
  color:var(--forest);border-bottom-color:var(--gold);background:var(--gold-dim);
}
.tab-bar__item:hover svg{transform:translateY(-2px)}

/* ─── SECTIONS ────────────────────────────────────────────── */
.section        {padding:100px 0;position:relative}
.section--alt   {background:var(--cream-dark)}
.section--dark  {background:var(--forest);color:var(--white)}
.section--white {background:var(--white)}

.section__head  {text-align:center;margin-bottom:64px}
.section__title {
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2rem,4vw,3.1rem);font-weight:700;line-height:1.12;
  color:inherit;margin-bottom:16px;letter-spacing:-.01em;
}
.section__desc{
  max-width:620px;margin:0 auto;color:var(--ink-soft);
  font-size:1.02rem;line-height:1.8;
}
/* Ensure text inside dark sections is always legible */
.section--dark .section__desc{color:rgba(255,255,255,.75)}
.section--dark .eyebrow{color:var(--gold-light)}
.section--dark .text-muted{color:rgba(255,255,255,.7)}

/* ─── GENERIC CARD ────────────────────────────────────────── */
.card{
  background:var(--white);border-radius:var(--radius-lg);
  border:1px solid var(--border-solid);overflow:hidden;position:relative;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}
.card::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(196,162,69,.06) 0%,transparent 50%);
  opacity:0;transition:opacity .4s var(--ease);pointer-events:none;
}
.card:hover{
  transform:translateY(-5px);box-shadow:var(--shadow-lg);
  border-color:rgba(196,162,69,.35);
}
.card:hover::after{opacity:1}
.card__body{padding:36px 32px}

/* Card icon (text fallback) */
.card-icon-text{
  width:52px;height:52px;border-radius:14px;
  background:var(--gold-dim);display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;font-size:1.3rem;color:var(--gold);
  position:relative;z-index:1;
  transition:background .3s var(--ease),transform .3s var(--ease),color .3s var(--ease);
}
.card:hover .card-icon-text{
  background:var(--gold);color:var(--white);transform:scale(1.06);
}

/* Card icon (SVG) */
.card-icon{
  width:52px;height:52px;border-radius:14px;
  background:var(--gold-dim);display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;position:relative;z-index:1;
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.card:hover .card-icon{background:var(--gold);transform:scale(1.06)}
.card-icon svg{width:24px;height:24px;stroke:var(--gold);fill:none;stroke-width:1.8;transition:stroke .3s}
.card:hover .card-icon svg{stroke:var(--white)}

/* Arrow link */
.link-arrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--forest);position:relative;z-index:1;
  transition:color .25s var(--ease),gap .25s var(--ease);
}
.link-arrow:hover{color:var(--gold);gap:10px}

/* ─── GRIDS ───────────────────────────────────────────────── */
.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.grid-3   {display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* ─── SPORT STRIP ─────────────────────────────────────────── */
.sport-strip{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);
}
.sport-block{
  position:relative;padding:48px 36px;background:var(--forest-mid);
  color:var(--white);overflow:hidden;
  transition:background .4s var(--ease);
  border-right:1px solid rgba(255,255,255,.06);
}
.sport-block:last-child{border-right:none}
.sport-block:hover{background:var(--forest-soft)}
.sport-block__num{
  position:absolute;top:16px;right:20px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:5.5rem;font-weight:700;color:rgba(255,255,255,.03);
  line-height:1;user-select:none;pointer-events:none;
}
.sport-block__icon{
  width:46px;height:46px;border-radius:50%;
  background:rgba(196,162,69,.12);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.sport-block__icon svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.8}
.sport-block__title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.5rem;font-weight:700;margin-bottom:14px;
}
.sport-block__text{font-size:.9rem;color:rgba(255,255,255,.78);line-height:1.75;margin-bottom:24px}
.sport-block__links{display:flex;flex-direction:column;gap:10px}
.sport-block__link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.78rem;font-weight:600;color:var(--gold-light);
  letter-spacing:.03em;transition:color .25s var(--ease),gap .25s var(--ease);
}
.sport-block__link svg{width:12px;height:12px;stroke:currentColor;fill:none;transition:transform .25s var(--ease)}
.sport-block__link:hover{color:var(--white);gap:10px}
.sport-block__link:hover svg{transform:translateX(3px)}

/* ─── PROSE BLOCK ─────────────────────────────────────────── */
.prose-block{
  background:var(--white);border-radius:var(--radius-lg);
  padding:48px 52px;box-shadow:var(--shadow-sm);border:1px solid var(--border-solid);
  max-width:900px;margin:0 auto;
}
.prose-block h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.8rem;font-weight:700;color:var(--ink);
  margin-bottom:22px;text-align:center;
}
.prose-block p{font-size:.98rem;color:var(--ink-soft);line-height:1.9;margin-bottom:14px}
.prose-block p:last-child{margin-bottom:0}
.prose-block a{
  color:var(--forest);font-weight:600;
  border-bottom:1px solid rgba(196,162,69,.35);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.prose-block a:hover{color:var(--gold);border-color:var(--gold)}

/* ─── FANTASY CARDS ───────────────────────────────────────── */
.fcard{
  background:var(--white);border-radius:var(--radius-lg);
  padding:36px;box-shadow:var(--shadow-xs);border:1px solid var(--border-solid);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.fcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(196,162,69,.3)}
.fcard__header{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.fcard__icon{
  width:48px;height:48px;border-radius:12px;
  background:var(--gold-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.fcard__icon svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.8}
.fcard__title{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.35rem;font-weight:700;color:var(--ink);
}
.fcard p{font-size:.9rem;color:var(--ink-soft);line-height:1.8;margin-bottom:12px}
.fcard p:last-child{margin-bottom:0}
.fcard a{
  color:var(--forest);font-weight:600;
  border-bottom:1px solid rgba(196,162,69,.3);
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.fcard a:hover{color:var(--gold);border-color:var(--gold)}

/* ─── BLOG CTA ────────────────────────────────────────────── */
.blog-cta{
  text-align:center;background:var(--white);border-radius:var(--radius-lg);
  padding:60px 48px;box-shadow:var(--shadow-sm);border:1px solid var(--border-solid);
  max-width:660px;margin:0 auto;
}
.blog-cta__icon{
  width:68px;height:68px;border-radius:50%;
  background:var(--gold-dim);display:flex;align-items:center;justify-content:center;
  margin:0 auto 24px;
}
.blog-cta__icon svg{width:28px;height:28px;stroke:var(--gold);fill:none;stroke-width:1.6}
.blog-cta h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.9rem;font-weight:700;color:var(--ink);margin-bottom:16px;
}
.blog-cta p{font-size:.98rem;color:var(--ink-soft);line-height:1.85;margin-bottom:30px}
.blog-cta a.prose-link{color:var(--forest);font-weight:600}

/* ─── BUTTONS ─────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 34px;border-radius:50px;
  font-size:.84rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  white-space:nowrap;cursor:pointer;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),background-position .4s;
}
.btn-gold{
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 50%,var(--gold) 100%);
  background-size:200% auto;color:var(--forest);
  box-shadow:0 4px 18px rgba(196,162,69,.3);
}
.btn-gold:hover{
  transform:translateY(-2px);box-shadow:0 8px 28px rgba(196,162,69,.45);
  background-position:right center;
}
.btn-outline{
  border:2px solid rgba(196,162,69,.45);color:var(--gold-light);background:transparent;
}
.btn-outline:hover{background:rgba(196,162,69,.08);border-color:var(--gold)}
.btn-outline-white{
  border:2px solid rgba(255,255,255,.3);color:var(--white);background:transparent;
}
.btn-outline-white:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.55)}

/* ─── CTA SECTION ─────────────────────────────────────────── */
.cta-section{
  background:var(--forest);padding:100px 0;text-align:center;
  position:relative;overflow:hidden;
}
.cta-section::before{
  content:'';position:absolute;top:-40%;left:-8%;
  width:480px;height:480px;
  background:radial-gradient(circle,rgba(196,162,69,.06) 0%,transparent 70%);
  pointer-events:none;
}
.cta-section::after{
  content:'';position:absolute;bottom:-25%;right:-4%;
  width:380px;height:380px;
  background:radial-gradient(circle,rgba(196,162,69,.05) 0%,transparent 70%);
  pointer-events:none;
}
.cta__inner{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:0 24px}
.cta-section .section__desc{color:rgba(255,255,255,.75)}
.cta-section .eyebrow{color:var(--gold-light)}
.cta-section .text-muted{color:rgba(255,255,255,.7)}
.cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.cta-section a{
  color:var(--gold-light);font-weight:600;
  border-bottom:1px solid rgba(196,162,69,.35);transition:color .2s var(--ease);
}
.cta-section a:hover{color:var(--white)}

/* ─── POPUP ───────────────────────────────────────────────── */
#popup-banner{
  display:none;position:fixed;bottom:24px;right:24px;z-index:9999;
  background:var(--white);border-radius:var(--radius-lg);
  box-shadow:0 12px 48px rgba(0,0,0,.2);border:1.5px solid var(--gold);padding:16px;
}
#popup-close{
  position:absolute;top:-10px;right:-10px;
  width:28px;height:28px;border-radius:50%;
  background:var(--gold);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;font-weight:700;cursor:pointer;
  border:2px solid var(--white);line-height:1;
  transition:transform .25s var(--ease),background .25s var(--ease);
}
#popup-close:hover{transform:rotate(90deg) scale(1.1);background:var(--forest)}

/* ─── SCROLL REVEAL ANIMATIONS ────────────────────────────── */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);
}
.reveal-left{
  opacity:0;transform:translateX(-28px);
  transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);
}
.reveal.visible,.reveal-left.visible{opacity:1;transform:none}

.stagger > *{
  opacity:0;transform:translateY(20px);
  transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);
}
.stagger > *.visible,
.stagger.visible > *{opacity:1;transform:none}

/* Stagger delays (up to 9 children) */
.stagger.visible > *:nth-child(1){transition-delay:.05s}
.stagger.visible > *:nth-child(2){transition-delay:.1s}
.stagger.visible > *:nth-child(3){transition-delay:.15s}
.stagger.visible > *:nth-child(4){transition-delay:.2s}
.stagger.visible > *:nth-child(5){transition-delay:.25s}
.stagger.visible > *:nth-child(6){transition-delay:.3s}
.stagger.visible > *:nth-child(7){transition-delay:.35s}
.stagger.visible > *:nth-child(8){transition-delay:.4s}
.stagger.visible > *:nth-child(9){transition-delay:.45s}

/* No-JS / reduced-motion fallback */
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-left,.stagger > *{opacity:1;transform:none;transition:none}
}

/* ─── TOOL BADGES (tools hub page) ────────────────────────── */
.tool-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 14px;border-radius:50px;
  font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.tool-badge--live{
  background:rgba(22,163,74,.10);color:#16a34a;
  border:1px solid rgba(22,163,74,.25);
}
.tool-badge--live i{font-size:6px;animation:pulse-glow 2.4s ease-in-out infinite;}
.tool-badge--soon{
  background:var(--gold-dim);color:var(--gold);
  border:1px solid var(--border);
}

/* ─── COMING SOON CARD STATE ──────────────────────────────── */
.card--coming-soon{
  opacity:.7;
}
.card--coming-soon:hover{
  transform:none;box-shadow:var(--shadow-xs);cursor:not-allowed;
}

/* ─── SIDEBAR BANNER (desktop) ────────────────────────────── */
.sidebar-banner{
  display:none;
  position:fixed;top:128px;right:16px;z-index:40;
  width:160px;background:var(--white);padding:8px;
  border-radius:var(--radius);box-shadow:var(--shadow-lg);
}
@media(min-width:1280px){
  .sidebar-banner{display:block}
}

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1024px){
  .sport-strip           {grid-template-columns:1fr}
  .sport-block           {border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .sport-block:last-child{border-bottom:none}
  .grid-3                {grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .header-spacer {height:70px}
  .section       {padding:72px 0}
  .hero          {min-height:600px}
  .hero__content {padding:80px 20px 120px}
  .grid-auto     {grid-template-columns:1fr}
  .grid-3        {grid-template-columns:1fr}
  .prose-block   {padding:28px 22px}
  .blog-cta      {padding:40px 24px}
  .banner-desktop{display:none}
  .banner-mobile {display:block}
  #popup-banner  {display:none!important}
  .cta__btns     {flex-direction:column;align-items:center}
  .tab-bar__item {padding:16px 20px}
}
@media(max-width:480px){
  .container   {padding:0 16px}
  .hero__title {font-size:2.2rem}
  .btn         {padding:12px 26px;font-size:.8rem}
  .section__title{font-size:1.8rem}
}

