/* PulseFit — Fitness Studio Template © KodTree */
:root{
    --pf-bg:#0e0f12;
    --pf-bg-soft:#1a1c22;
    --pf-text:#f0eee9;
    --pf-text-soft:#8a8a92;
    --pf-border:#2a2c34;
    --pf-accent:#d4ff3a;
    --pf-accent-2:#ff5d39;
    --pf-radius:6px;
    --bs-body-font-family:'Inter','Pretendard',-apple-system,sans-serif;
    --pf-display:'Anton','Bebas Neue','Impact',sans-serif;
}
*{-webkit-font-smoothing:antialiased;}
body{font-family:var(--bs-body-font-family);color:var(--pf-text);background:var(--pf-bg);line-height:1.55;}
.display{font-family:var(--pf-display);letter-spacing:.02em;}

/* Topbar */
.topbar{background:var(--pf-accent);color:#0e0f12;text-align:center;padding:.5rem 0;font-weight:700;font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase;}

/* Navbar */
.navbar{background:rgba(14,15,18,.85);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;padding:1rem 0;transition:.25s;}
.navbar.scrolled{border-bottom-color:var(--pf-border);}
.navbar-brand{font-family:var(--pf-display);font-size:1.875rem;color:var(--pf-text)!important;letter-spacing:.02em;line-height:1;}
.navbar-brand::before{content:"⚡";color:var(--pf-accent);margin-right:.25rem;}
.nav-link{font-family:var(--pf-display);font-weight:400;color:var(--pf-text-soft)!important;font-size:1.0625rem;letter-spacing:.05em;}
.nav-link:hover,.nav-link.active{color:var(--pf-accent)!important;}

/* Buttons */
.btn{font-family:var(--pf-display);font-weight:400;padding:.875rem 1.875rem;border-radius:var(--pf-radius);font-size:1.0625rem;letter-spacing:.1em;text-transform:uppercase;transition:.2s;border:1.5px solid transparent;}
.btn-accent{background:var(--pf-accent);color:#0e0f12;border-color:var(--pf-accent);}
.btn-accent:hover{background:#c0eb24;color:#0e0f12;transform:translateY(-1px);}
.btn-outline-light{border-color:var(--pf-border);color:var(--pf-text);background:transparent;}
.btn-outline-light:hover{border-color:var(--pf-accent);color:var(--pf-accent);background:transparent;}
.btn-lg{padding:1rem 2.25rem;font-size:1.125rem;}

/* Hero */
.hero{padding:6rem 0 4rem;position:relative;overflow:hidden;background:var(--pf-bg);}
.hero__title{font-family:var(--pf-display);font-size:clamp(3.5rem,9vw,8rem);font-weight:400;line-height:.9;letter-spacing:-.01em;margin-bottom:1.5rem;}
.hero__title em{font-style:normal;color:var(--pf-accent);}
.hero__title-line{display:block;}
.hero__subtitle{font-size:1.125rem;color:var(--pf-text-soft);max-width:520px;margin-bottom:2rem;}
.hero__visual{aspect-ratio:4/5;background:linear-gradient(135deg,#1a1c22,#0e0f12);border-radius:var(--pf-radius);display:flex;align-items:center;justify-content:center;font-family:var(--pf-display);color:rgba(212,255,58,.15);font-size:6rem;position:relative;overflow:hidden;}
.hero__visual::before{content:"⚡";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14rem;color:rgba(212,255,58,.08);}

/* Section */
section{padding:5rem 0;}
.section-eyebrow{font-family:var(--pf-display);display:inline-block;font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pf-accent);margin-bottom:.75rem;}
.section-eyebrow::before{content:"// ";}
.section-title{font-family:var(--pf-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;line-height:1;letter-spacing:-.01em;margin-bottom:1rem;}
.section-title em{font-style:normal;color:var(--pf-accent);}
.section-lead{font-size:1.0625rem;color:var(--pf-text-soft);max-width:600px;}

/* Class card */
.class-card{background:var(--pf-bg-soft);border:1px solid var(--pf-border);border-radius:var(--pf-radius);overflow:hidden;height:100%;transition:.25s;position:relative;}
.class-card:hover{border-color:var(--pf-accent);transform:translateY(-4px);}
.class-card__image{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;font-family:var(--pf-display);font-size:3.5rem;color:rgba(255,255,255,.15);position:relative;overflow:hidden;}
.class-card__image::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 80% 20%,rgba(0,0,0,0) 50%,rgba(0,0,0,.6) 100%);}
.class-card__image--1{background:linear-gradient(135deg,#ff5d39,#c41b3a);}
.class-card__image--2{background:linear-gradient(135deg,#d4ff3a,#7ab319);}
.class-card__image--3{background:linear-gradient(135deg,#4a5be0,#1c2a8b);}
.class-card__image--4{background:linear-gradient(135deg,#ff5d39,#8a3a3a);}
.class-card__image--5{background:linear-gradient(135deg,#10b981,#1a6e4a);}
.class-card__image--6{background:linear-gradient(135deg,#a855f7,#5b3aa8);}
.class-card__badge{position:absolute;top:.875rem;left:.875rem;padding:.25rem .75rem;background:var(--pf-accent);color:#0e0f12;font-family:var(--pf-display);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border-radius:99px;z-index:1;}
.class-card__intensity{position:absolute;bottom:.875rem;right:.875rem;display:flex;gap:3px;align-items:flex-end;height:24px;z-index:1;}
.class-card__intensity span{width:5px;background:#fff;opacity:.4;border-radius:1px;}
.class-card__intensity span.on{opacity:1;background:var(--pf-accent);}
.class-card__body{padding:1.5rem;}
.class-card__title{font-family:var(--pf-display);font-size:1.75rem;font-weight:400;margin-bottom:.375rem;}
.class-card__meta{font-size:.875rem;color:var(--pf-text-soft);margin-bottom:.75rem;}
.class-card__text{font-size:.9375rem;color:var(--pf-text-soft);}

/* Schedule */
.schedule-row{display:grid;grid-template-columns:120px 1fr auto;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--pf-border);align-items:center;}
.schedule-row__time{font-family:var(--pf-display);font-size:1.375rem;color:var(--pf-accent);font-weight:400;}
.schedule-row__title{font-family:var(--pf-display);font-size:1.25rem;font-weight:400;margin-bottom:.125rem;}
.schedule-row__meta{font-size:.8125rem;color:var(--pf-text-soft);}
.schedule-row__btn{padding:.375rem .875rem;background:transparent;border:1px solid var(--pf-border);color:var(--pf-text);font-family:var(--pf-display);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--pf-radius);cursor:pointer;}
.schedule-row__btn:hover{border-color:var(--pf-accent);color:var(--pf-accent);}

/* Day tabs */
.day-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;}
.day-tab{padding:.625rem 1.25rem;border:1px solid var(--pf-border);background:transparent;color:var(--pf-text-soft);font-family:var(--pf-display);font-size:.9375rem;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--pf-radius);cursor:pointer;}
.day-tab.active{background:var(--pf-accent);color:#0e0f12;border-color:var(--pf-accent);}

/* Trainer card */
.trainer-card{background:var(--pf-bg-soft);border:1px solid var(--pf-border);border-radius:var(--pf-radius);overflow:hidden;height:100%;transition:.25s;}
.trainer-card:hover{transform:translateY(-3px);border-color:var(--pf-accent);}
.trainer-card__photo{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;font-family:var(--pf-display);font-size:4rem;color:rgba(255,255,255,.15);position:relative;}
.trainer-card__photo--1{background:linear-gradient(135deg,#ff5d39,#c41b3a);}
.trainer-card__photo--2{background:linear-gradient(135deg,#4a5be0,#1c2a8b);}
.trainer-card__photo--3{background:linear-gradient(135deg,#10b981,#1a6e4a);}
.trainer-card__photo--4{background:linear-gradient(135deg,#a855f7,#5b3aa8);}
.trainer-card__body{padding:1.25rem;}
.trainer-card__name{font-family:var(--pf-display);font-size:1.5rem;margin-bottom:.125rem;}
.trainer-card__title{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pf-accent);margin-bottom:.5rem;}
.trainer-card__specs{font-size:.8125rem;color:var(--pf-text-soft);}

/* Pricing card */
.price-card{background:var(--pf-bg-soft);border:1.5px solid var(--pf-border);border-radius:var(--pf-radius);padding:2rem;height:100%;display:flex;flex-direction:column;transition:.25s;}
.price-card.featured{border-color:var(--pf-accent);background:linear-gradient(135deg,#d4ff3a,#a3cc1f);color:#0e0f12;}
.price-card.featured .price-card__name,.price-card.featured .price-card__features li{color:#0e0f12;}
.price-card__name{font-family:var(--pf-display);font-size:1.375rem;color:var(--pf-text-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;}
.price-card__price{font-family:var(--pf-display);font-size:4rem;font-weight:400;line-height:1;letter-spacing:-.02em;}
.price-card__price-note{color:inherit;opacity:.7;font-size:.875rem;margin-bottom:1.5rem;}
.price-card__features{list-style:none;padding:0;margin:0 0 1.5rem;flex:1;}
.price-card__features li{padding:.5rem 0;border-bottom:1px solid var(--pf-border);font-size:.9375rem;}
.price-card.featured .price-card__features li{border-color:rgba(14,15,18,.15);}
.price-card__features li::before{content:"▸ ";color:var(--pf-accent);font-weight:700;}
.price-card.featured .price-card__features li::before{color:#0e0f12;}

/* Stats banner */
.stats-row{padding:3rem 0;border-top:1px solid var(--pf-border);border-bottom:1px solid var(--pf-border);}
.stat-block{text-align:center;}
.stat-block__num{font-family:var(--pf-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:400;color:var(--pf-accent);line-height:1;letter-spacing:-.02em;}
.stat-block__label{font-family:var(--pf-display);font-size:.875rem;color:var(--pf-text-soft);text-transform:uppercase;letter-spacing:.15em;margin-top:.5rem;}

/* Form */
.form-control,.form-select{border-radius:var(--pf-radius);border:1px solid var(--pf-border);padding:.75rem 1rem;font-size:.9375rem;background:var(--pf-bg-soft);color:var(--pf-text);}
.form-control:focus,.form-select:focus{border-color:var(--pf-accent);box-shadow:none;background:var(--pf-bg-soft);color:var(--pf-text);}
.form-label{font-family:var(--pf-display);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pf-text-soft);margin-bottom:.375rem;}

/* Footer */
.footer{background:var(--pf-bg);border-top:1px solid var(--pf-border);padding:4rem 0 1.5rem;}
.footer__brand{font-family:var(--pf-display);font-size:2.5rem;margin-bottom:1rem;line-height:1;}
.footer__brand::before{content:"⚡";color:var(--pf-accent);margin-right:.25rem;}
.footer h6{color:var(--pf-text);font-family:var(--pf-display);font-weight:400;margin-bottom:1rem;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;}
.footer a{color:var(--pf-text-soft);text-decoration:none;}
.footer a:hover{color:var(--pf-accent);}
.footer ul{list-style:none;padding:0;}
.footer ul li{padding:.25rem 0;font-size:.9375rem;}
.footer__bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--pf-border);font-size:.875rem;color:var(--pf-text-soft);}

/* Page hero */
.page-hero{padding:6rem 0 3rem;}
.page-hero__title{font-family:var(--pf-display);font-size:clamp(3rem,7vw,6rem);font-weight:400;line-height:1;letter-spacing:-.01em;}
.page-hero__title em{font-style:normal;color:var(--pf-accent);}

@media(max-width:767.98px){
    section{padding:3.5rem 0;}
    .hero{padding:4rem 0;}
    .schedule-row{grid-template-columns:80px 1fr;gap:.5rem;}
    .schedule-row__btn{grid-column:span 2;justify-self:start;}
}
