/*
Theme Name: Flex Fitness
Theme URI: https://flex.geekpowered.net
Description: Child theme for Flex Fitness Center — serious-strength gym in Argyle, WI. Sage-green athletic look migrated from the original Wix site.
Author: Geek Powered
Template: twentytwentyfive
Version: 1.0.4
*/

:root{
  --flex-sage:#5E766B;
  --flex-sage-dark:#465a51;
  --flex-ink:#111111;
  --flex-ink-soft:#414141;
  --flex-grey:#6e6e6e;
  --flex-panel:#FAFAFA;
  --flex-panel-2:#C3D1CB;
  --flex-white:#ffffff;
}

/* ---- Typography ---- */
body, p, li, a, button, input, textarea, select{
  font-family:"Oswald","Arial Narrow",Arial,Helvetica,sans-serif;
  letter-spacing:.2px;
}
h1,h2,h3,h4,h5,.flex-display{
  font-family:"Anton","Oswald","Arial Narrow",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:1px;
  line-height:1.02;
  color:var(--flex-ink);
}

/* ---- Header / nav ---- */
header.wp-block-template-part, .wp-block-site-title a{
  text-transform:uppercase;
}
.wp-block-navigation a{
  font-weight:600;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-size:.85rem;
}
.wp-block-navigation a:hover{ color:var(--flex-sage); }

/* ---- Buttons ---- */
.wp-block-button__link, .flex-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit, .woocommerce input.button{
  display:inline-block;
  line-height:1.2;
  text-decoration:none;
  background:var(--flex-sage)!important;
  color:#fff!important;
  border:none!important;
  border-radius:2px!important;
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-weight:600;
  padding:.85em 2em!important;
  transition:background .18s ease;
}
.wp-block-button__link:hover, .flex-btn:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--flex-sage-dark)!important;
}
.flex-btn-outline .wp-block-button__link{
  background:transparent!important;
  border:2px solid #fff!important;
  color:#fff!important;
}

/* ---- Hero ---- */
.flex-hero{
  position:relative;
  min-height:78vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  background:#111 center/cover no-repeat;
  color:#fff;
}
.flex-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.72));}
.flex-hero > *{position:relative;z-index:1;}
.flex-hero h1{color:#fff;font-size:clamp(2.6rem,7vw,5.5rem);}
.flex-hero p{font-size:clamp(1rem,2.2vw,1.35rem);max-width:680px;margin:1rem auto 2rem;letter-spacing:.5px;}

/* ---- Section helpers ---- */
.flex-section{padding:clamp(3rem,7vw,6rem) 1.2rem;}
.flex-section.alt{background:var(--flex-panel);}
.flex-section.sage{background:var(--flex-sage);color:#fff;}
.flex-section.sage h2,.flex-section.sage h3{color:#fff;}
.flex-eyebrow{color:var(--flex-sage);font-weight:700;letter-spacing:3px;text-transform:uppercase;font-size:.8rem;}
.flex-section.sage .flex-eyebrow{color:#dce7e2;}

/* ---- Membership cards ---- */
.flex-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;max-width:1100px;margin:2rem auto 0;}
.flex-plan{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.5rem;background:#fff;border:1px solid #e6e6e6;border-top:4px solid var(--flex-sage);border-radius:4px;padding:1.8rem 1.4rem;text-align:center;}
.flex-plan h3{font-size:1.25rem;margin:0 0 .3rem;}
.flex-plan .price{font-family:"Anton",sans-serif;font-size:2.6rem;color:var(--flex-ink);line-height:1;margin-bottom:.4rem;}
.flex-plan .per{display:block;color:var(--flex-grey);font-size:.8rem;letter-spacing:1px;text-transform:uppercase;margin-top:.3rem;}
.flex-plan p{margin:0;}
.flex-plan .flex-btn{margin-top:auto;}

/* ---- Footer ---- */
.flex-footer{background:var(--flex-ink);color:#cfcfcf;padding:3.5rem 1.2rem 1.5rem;}
.flex-footer-inner{max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:center;}
.flex-footer-info{line-height:1.7;}
.flex-footer strong{color:#fff;display:block;font-family:"Anton",sans-serif;letter-spacing:1px;font-size:1.4rem;margin-bottom:.5rem;text-transform:uppercase;}
.flex-footer a{color:var(--flex-sage);text-decoration:none;}
.flex-footer a:hover{color:#fff;}
.flex-footer-hours{color:#5E766B;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;margin:.8rem 0 0;}
.flex-footer-hosted{text-align:center;}
.flex-footer-hosted span{display:block;color:#8a8a8a;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;margin-bottom:.6rem;}
.flex-footer-hosted img{width:140px;height:auto;opacity:.95;}
.flex-footer-bottom{max-width:1000px;margin:2.5rem auto 0;padding-top:1.2rem;border-top:1px solid #2a2a2a;text-align:center;color:#777;font-size:.78rem;letter-spacing:.5px;}
@media(max-width:640px){.flex-footer-inner{flex-direction:column;text-align:center;}.flex-footer-info{text-align:center;}}

@media (max-width:600px){.flex-plan-grid{grid-template-columns:1fr;}}
@media (max-width:900px){.flex-shop-grid{grid-template-columns:repeat(2,1fr)!important;}}
@media (max-width:520px){.flex-shop-grid{grid-template-columns:1fr!important;}}
