/*
Theme Name: Cross Fitness Gym
Theme URI: https://example.com/cross-fitness-gym
Author: Cross Fitness Gym
Description: Lightweight Elementor-ready WordPress theme for Cross Fitness Gym with gym member login integration.
Version: 1.3.1
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: cross-fitness-gym
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-logo, custom-menu, featured-images, full-width-template, translation-ready, elementor, gym, fitness
*/

:root{--cfg-black:#050505;--cfg-dark:#111;--cfg-yellow:#ffd22e;--cfg-white:#fff;--cfg-muted:#b8b8b8;--cfg-border:#292929;--cfg-max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#151515;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.screen-reader-text{position:absolute;left:-9999px}.cfg-container{width:min(100% - 32px,var(--cfg-max));margin-inline:auto}.site-header{position:relative;z-index:999;background:var(--cfg-black);color:#fff;border-bottom:1px solid #222}.cfg-header-inner{min-height:82px;display:flex;align-items:center;gap:28px}.site-branding{display:flex;align-items:center;min-width:max-content}.custom-logo{max-height:56px;width:auto}.cfg-text-logo{font-size:1.25rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.cfg-text-logo span{color:var(--cfg-yellow)}.cfg-nav{margin-left:auto}.cfg-menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}.cfg-menu a{font-weight:700;font-size:.94rem;color:#fff;transition:.2s}.cfg-menu a:hover,.cfg-menu .current-menu-item>a{color:var(--cfg-yellow)}.cfg-login-button,.cfg-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;background:var(--cfg-yellow);color:#050505;font-weight:900;text-transform:uppercase;border:2px solid var(--cfg-yellow);border-radius:5px;transition:.2s}.cfg-login-button:hover,.cfg-button:hover{background:transparent;color:var(--cfg-yellow)}.cfg-menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px;padding:8px;cursor:pointer}.site-main{min-height:55vh}.cfg-content{padding:70px 0}.cfg-content-narrow{max-width:900px;margin:auto}.entry-title{font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;margin:0 0 25px}.entry-content:after{content:"";display:table;clear:both}.site-footer{background:var(--cfg-black);color:#fff;padding:55px 0 22px;border-top:3px solid var(--cfg-yellow)}.cfg-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px}.cfg-footer-title{color:var(--cfg-yellow);text-transform:uppercase;margin:0 0 14px}.cfg-footer-menu{list-style:none;padding:0;margin:0}.cfg-footer-menu li{margin:7px 0}.cfg-footer-menu a{color:#ddd}.cfg-footer-menu a:hover{color:var(--cfg-yellow)}.cfg-footer-bottom{border-top:1px solid #292929;margin-top:40px;padding-top:20px;text-align:center;color:#aaa;font-size:.9rem}.cfg-404{text-align:center;padding:100px 20px}.cfg-404 strong{display:block;font-size:7rem;color:var(--cfg-yellow);line-height:1}.alignwide{max-width:var(--cfg-max);margin-left:auto;margin-right:auto}.alignfull{width:100vw;margin-left:calc(50% - 50vw)}
body.elementor-page .site-main{min-height:0}body.cfg-elementor-canvas .site-header,body.cfg-elementor-canvas .site-footer{display:none}
@media(max-width:900px){.cfg-header-inner{min-height:72px;flex-wrap:wrap;padding:8px 0;gap:10px}.site-branding{order:1}.cfg-login-button{display:inline-flex;order:2;margin-left:auto;min-height:40px;padding:0 16px;font-size:.82rem;border-radius:4px}.cfg-menu-toggle{display:block;order:3;margin-left:0}.cfg-nav{display:none;order:4;width:100%;margin:0}.cfg-nav.is-open{display:block}.cfg-menu{display:block;padding:10px 0 18px}.cfg-menu li{border-top:1px solid #252525}.cfg-menu a{display:block;padding:12px 4px}.cfg-footer-grid{grid-template-columns:1fr}.custom-logo{max-height:48px}}
@media(max-width:480px){.cfg-container{width:min(100% - 20px,var(--cfg-max))}.cfg-text-logo{font-size:1rem}.cfg-login-button{min-height:38px;padding:0 12px;font-size:.76rem}.cfg-menu-toggle{font-size:25px;padding:6px}}


/* Starter gym homepage */
.cfg-hero{min-height:690px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.78) 52%,rgba(0,0,0,.35) 100%),radial-gradient(circle at 78% 42%,#383838 0,#171717 34%,#050505 72%);position:relative;overflow:hidden}.cfg-hero:after{content:"";position:absolute;right:-120px;bottom:-160px;width:620px;height:620px;border:80px solid rgba(255,210,46,.08);border-radius:50%}.cfg-hero-inner{position:relative;z-index:2}.cfg-hero h1{font-size:clamp(3.2rem,8vw,7.3rem);line-height:.88;letter-spacing:-.055em;margin:18px 0 26px;max-width:950px}.cfg-hero h1 em{font-style:normal;color:var(--cfg-yellow)}.cfg-hero p{font-size:1.12rem;max-width:650px;color:#d7d7d7}.cfg-kicker{display:inline-block;color:var(--cfg-yellow);font-size:.82rem;font-weight:900;letter-spacing:.2em}.cfg-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}.cfg-button-outline{background:transparent;color:#fff;border-color:#fff}.cfg-button-outline:hover{border-color:var(--cfg-yellow)}.cfg-stats{background:var(--cfg-yellow);padding:24px 0}.cfg-stat-grid{display:grid;grid-template-columns:repeat(4,1fr)}.cfg-stat-grid>div{text-align:center;border-right:1px solid rgba(0,0,0,.2)}.cfg-stat-grid>div:last-child{border:0}.cfg-stat-grid strong{display:block;font-size:1.85rem;line-height:1;color:#050505}.cfg-stat-grid span{font-weight:700;font-size:.85rem}.cfg-section{padding:100px 0}.cfg-section h2{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1;letter-spacing:-.045em;margin:14px 0 38px}.cfg-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cfg-card{background:#f3f3f3;padding:38px;border-bottom:4px solid var(--cfg-yellow);min-height:250px;transition:.25s}.cfg-card:hover{transform:translateY(-6px);background:#0b0b0b;color:#fff}.cfg-card>span{font-size:.8rem;font-weight:900;color:#888}.cfg-card h3{font-size:1.5rem;margin:45px 0 12px}.cfg-card p{margin:0;color:#666}.cfg-card:hover p{color:#bbb}.cfg-section-dark{background:#0a0a0a;color:#fff}.cfg-split{display:grid;grid-template-columns:1.35fr .8fr;gap:80px;align-items:center}.cfg-section-dark p{color:#bbb;max-width:680px}.cfg-cta-box{background:#171717;border-left:5px solid var(--cfg-yellow);padding:42px}.cfg-cta-box h3{font-size:1.65rem;margin-top:0}.cfg-center{text-align:center}.cfg-center p{margin:-18px auto 28px;color:#666}
@media(max-width:900px){.cfg-hero{min-height:580px}.cfg-stat-grid{grid-template-columns:repeat(2,1fr);gap:20px}.cfg-stat-grid>div:nth-child(2){border-right:0}.cfg-card-grid,.cfg-split{grid-template-columns:1fr}.cfg-section{padding:72px 0}.cfg-split{gap:35px}}
@media(max-width:560px){.cfg-hero h1{font-size:3.25rem}.cfg-stat-grid{grid-template-columns:1fr}.cfg-stat-grid>div{border-right:0;border-bottom:1px solid rgba(0,0,0,.18);padding:10px}.cfg-card{padding:28px}.cfg-section{padding:58px 0}}


/* Premium gym member login experience */
body.cfg-gym-login-page{background:#0a0a0a}
body.cfg-gym-login-page .site-main{background:
radial-gradient(circle at 15% 25%,rgba(255,210,46,.12),transparent 28%),
radial-gradient(circle at 85% 70%,rgba(255,210,46,.08),transparent 26%),
linear-gradient(135deg,#070707 0%,#151515 55%,#080808 100%);position:relative;overflow:hidden}
body.cfg-gym-login-page .site-main:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.025) 47% 49%,transparent 49% 100%);pointer-events:none}
body.cfg-gym-login-page article{position:relative;z-index:1}
body.cfg-gym-login-page .cfg-content{padding:72px 16px 90px}
body.cfg-gym-login-page .cfg-content-narrow{max-width:520px}
body.cfg-gym-login-page .entry-title{text-align:center;color:#fff;font-size:clamp(2rem,4vw,3.15rem);margin:0 0 28px;letter-spacing:-.035em}
body.cfg-gym-login-page .entry-title:before{content:"STAFF & ADMIN ACCESS";display:block;color:var(--cfg-yellow);font-size:.76rem;letter-spacing:.22em;margin-bottom:10px;font-weight:900}
body.cfg-gym-login-page .entry-content{background:rgba(255,255,255,.97);border:1px solid rgba(255,210,46,.24);border-radius:18px;padding:38px 42px 34px;box-shadow:0 28px 80px rgba(0,0,0,.48);position:relative}
body.cfg-gym-login-page .entry-content:before{content:"";position:absolute;left:42px;right:42px;top:0;height:4px;background:var(--cfg-yellow);border-radius:0 0 5px 5px}
body.cfg-gym-login-page .entry-content form{margin:0;width:100%}
body.cfg-gym-login-page .entry-content form p,
body.cfg-gym-login-page .entry-content form>div{margin:0 0 20px}
body.cfg-gym-login-page .entry-content label{display:block;font-size:.86rem;font-weight:800;color:#242424;margin:0 0 8px}
body.cfg-gym-login-page .entry-content input[type="text"],
body.cfg-gym-login-page .entry-content input[type="email"],
body.cfg-gym-login-page .entry-content input[type="password"]{display:block;width:100%!important;min-height:52px;padding:12px 15px;border:1px solid #d6d6d6;border-radius:8px;background:#fafafa;color:#111;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
body.cfg-gym-login-page .entry-content input[type="text"]:focus,
body.cfg-gym-login-page .entry-content input[type="email"]:focus,
body.cfg-gym-login-page .entry-content input[type="password"]:focus{border-color:#d8aa00;box-shadow:0 0 0 4px rgba(255,210,46,.2);background:#fff}
body.cfg-gym-login-page .entry-content input[type="checkbox"]{width:17px;height:17px;margin:0 8px 0 0;vertical-align:-3px;accent-color:#111}
body.cfg-gym-login-page .entry-content input[type="submit"],
body.cfg-gym-login-page .entry-content button[type="submit"],
body.cfg-gym-login-page .entry-content .button,
body.cfg-gym-login-page .entry-content input[type="button"]{width:100%!important;min-height:54px;border:0!important;border-radius:8px!important;background:var(--cfg-yellow)!important;color:#090909!important;font-size:1rem!important;font-weight:900!important;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px rgba(255,210,46,.22);transition:transform .2s,box-shadow .2s,background .2s}
body.cfg-gym-login-page .entry-content input[type="submit"]:hover,
body.cfg-gym-login-page .entry-content button[type="submit"]:hover,
body.cfg-gym-login-page .entry-content .button:hover{transform:translateY(-2px);background:#ffe16c!important;box-shadow:0 14px 30px rgba(255,210,46,.3)}
body.cfg-gym-login-page .entry-content a{color:#555;text-decoration:none;font-weight:700;font-size:.9rem}
body.cfg-gym-login-page .entry-content a:hover{color:#000;text-decoration:underline}
body.cfg-gym-login-page .entry-content br{display:none}
body.cfg-gym-login-page .site-footer{border-top:1px solid #282828;padding-top:40px}
body.cfg-gym-login-page .cfg-footer-grid{grid-template-columns:1fr 1fr}
body.cfg-gym-login-page .cfg-footer-grid>div:last-child{display:none}
body.cfg-gym-login-page .cfg-footer-bottom{margin-top:26px}
@media(max-width:600px){body.cfg-gym-login-page .cfg-content{padding:48px 14px 65px}body.cfg-gym-login-page .entry-content{padding:32px 22px 28px;border-radius:14px}body.cfg-gym-login-page .entry-content:before{left:22px;right:22px}body.cfg-gym-login-page .cfg-footer-grid{grid-template-columns:1fr}}
