/*
Theme Name: Vezbajsoana Fitness
Theme URI: https://vezbajsoana.com/
Description: Custom Macedonian fitness theme for Вежбај со Ана, inspired by the layout language of a premium fitness site and rebuilt from scratch.
Version: 2.0.0
Author: Vezbajsoana
Text Domain: vezbajsoana
*/
:root{--ink:#111;--paper:#f3f3f1;--white:#fff;--soft:#e9e9e6;--line:#d5d5d0;--muted:#70706c;--accent:#d8ff00;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 64px),var(--max));margin:auto}.fitness-zone-header{position:absolute;top:0;left:0;right:0;z-index:80;font-family:Arial,Helvetica,sans-serif}.fitness-topbar{height:34px;background:#171717;color:#cfcfcd;font-size:10px;letter-spacing:.15px}.fitness-topbar-inner{height:34px;display:flex;align-items:center;justify-content:space-between}.fitness-topbar strong{color:#fff}.fitness-top-links{display:flex;gap:14px;align-items:center;text-transform:uppercase;letter-spacing:1px}.fitness-top-links a{color:#d7d7d5}.fitness-nav-wrap{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.08)}.fitness-mainnav{height:82px;display:flex;align-items:center;justify-content:space-between}.fitness-logo{display:flex;align-items:center;gap:9px;color:#222;text-decoration:none;min-width:190px}.fitness-logo .custom-logo-link{display:flex;align-items:center}.fitness-logo .custom-logo{max-height:52px;width:auto}.fitness-logo>span:not(.logo-mark){display:flex;flex-direction:column;line-height:.92}.fitness-logo b{font-size:20px;letter-spacing:-1px}.fitness-logo small{font-size:8px;letter-spacing:2.5px;color:#777;margin-top:5px}.logo-mark{display:grid;place-items:center;width:38px;height:38px;border:2px solid #222;font-size:20px;line-height:1}.fitness-menu>ul,.fitness-menu .menu{margin:0;padding:0;list-style:none;display:flex;align-items:stretch;gap:0}.fitness-menu li{list-style:none;position:relative}.fitness-menu a{display:flex;align-items:center;height:82px;padding:0 15px;color:#3b3b39;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.65px;white-space:nowrap}.fitness-menu li.current-menu-item>a,.fitness-menu li.current_page_item>a,.fitness-menu a:hover{color:#9ab500;background:#fafafa}.fitness-menu .sub-menu{display:none;position:absolute;top:82px;left:0;min-width:220px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.12);padding:8px 0}.fitness-menu li:hover>.sub-menu{display:block}.fitness-menu .sub-menu a{height:auto;padding:12px 18px}.fitness-menu-toggle{display:none;background:transparent;border:0;width:42px;height:42px;padding:8px;cursor:pointer}.fitness-menu-toggle span{display:block;height:2px;background:#222;margin:5px 0}.menu{display:none}.mobile-panel{display:none;position:fixed;inset:0;background:#171717;color:#fff;z-index:100;padding:25px}.mobile-panel.open{display:block}.mobile-panel-inner{height:100%;display:flex;align-items:center;justify-content:center;position:relative}.mobile-close{position:absolute;right:0;top:0;background:none;border:0;color:#fff;font-size:45px}.mobile-panel ul{list-style:none;margin:0;padding:0;text-align:center}.mobile-panel li{margin:18px 0}.mobile-panel a{font-size:24px;font-weight:800}.fallback-menu{display:flex;gap:0;list-style:none;margin:0;padding:0}.fallback-menu li{list-style:none}.fallback-menu a{display:flex;align-items:center;height:82px;padding:0 15px;color:#3b3b39;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.65px;white-space:nowrap}.fallback-menu a:hover{color:#9ab500;background:#fafafa}.hero{min-height:800px;background-color:#50504e;background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff;position:relative;overflow:hidden}.hero:after{content:'ВЕЖБАЈ';position:absolute;right:-80px;bottom:35px;font-size:18vw;font-weight:900;letter-spacing:-.09em;color:rgba(255,255,255,.055);white-space:nowrap}.hero-inner{position:relative;z-index:2;padding:170px 0 90px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:3px;font-weight:700;margin-bottom:22px}.hero h1{font-size:clamp(64px,10vw,150px);line-height:.82;letter-spacing:-.075em;margin:0;max-width:1050px}.hero p{font-size:18px;line-height:1.5;max-width:540px;margin:35px 0}.btn{display:inline-flex;padding:17px 28px;background:var(--accent);color:#111;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:1px}.section{padding:105px 0}.intro{background:#fff}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.kicker{font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:800}.section h2{font-size:clamp(52px,8vw,110px);letter-spacing:-.07em;line-height:.85;margin:15px 0 0}.sub{max-width:460px;color:var(--muted);line-height:1.6}.routines{background:#171717;color:#fff}.routine-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #4a4a47}.routine{min-height:410px;padding:28px 22px;border-right:1px solid #4a4a47;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background-color:#6c6c69;background-size:cover;background-position:center}.routine span{position:relative;font-size:12px;letter-spacing:2px;text-transform:uppercase}.routine strong{position:relative;font-size:34px;letter-spacing:-1px;margin-top:8px}.trainer{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.trainer-photo{min-height:620px;background-color:#bfc0bd;background-size:cover;background-position:center}.trainer-copy{padding:80px 7vw;display:flex;flex-direction:column;justify-content:center;background:#ededeb}.trainer-copy h2{font-size:clamp(60px,8vw,120px);line-height:.8;letter-spacing:-.08em;margin:15px 0 30px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:50px}.facts h4{text-transform:uppercase;font-size:11px;letter-spacing:2px}.facts p{font-size:14px;color:#555;line-height:1.5}.text-link{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:1px;margin-top:8px}.split-section{display:grid;grid-template-columns:1fr 1fr;padding:0;background:#fff}.split-photo{min-height:650px;background:#c8c8c5;background-size:cover;background-position:center}.split-copy{display:flex;flex-direction:column;justify-content:center;padding:80px 8vw}.split-copy h2{font-size:clamp(60px,8vw,115px);line-height:.82;letter-spacing:-.08em;margin:15px 0 30px}.plans-section{background:#fff}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d2d2ce}.plan{background:#fff;padding:38px 28px;min-height:380px;display:flex;flex-direction:column;border:1px solid #e4e4e1;margin-left:-1px}.plan.featured{background:#f0f0ed}.plan h3{font-size:24px;margin:0}.amount{font-size:48px;font-weight:900;letter-spacing:-3px;margin:20px 0 0}.plan small{color:#777}.plan ul{list-style:none;padding:0;margin:auto 0 0;line-height:2;color:#666}.faq-strip{background:#e9e9e6;padding:100px 0}.faq-strip h2,.contact h2{font-size:clamp(48px,7vw,100px);letter-spacing:-.07em;line-height:.85;margin:15px 0}.contact{background:#111;color:#fff;padding:75px 0}.contact-grid{display:flex;justify-content:space-between;gap:50px;align-items:end}.contact p{color:#aaa}.footer{background:#111;color:#fff;border-top:1px solid #333;padding:25px 0;font-size:11px;text-transform:uppercase;letter-spacing:1px}.footer-inner{display:flex;justify-content:space-between}.inner-page{padding-top:0}.page-hero{min-height:620px;background:#575754 center/cover;display:flex;align-items:flex-end;color:#fff;padding:0 0 80px}.page-hero h1{font-size:clamp(58px,9vw,130px);letter-spacing:-.08em;line-height:.85;max-width:1000px;margin:18px 0 0}.page-content{padding:100px 0;background:#fff}.content-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:70px}.content-grid article{font-size:18px;line-height:1.8}.photo-upload-hint{min-height:430px;background:#e5e5e2;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:22px;letter-spacing:2px}.photo-upload-hint small{display:block;font-size:10px;letter-spacing:1px;font-weight:400;margin-top:10px}
@media(max-width:1000px){.fitness-menu{display:none}.fitness-menu-toggle{display:block}.hero{min-height:700px}.wrap{width:min(calc(100% - 36px),var(--max))}.routine-grid{grid-template-columns:repeat(2,1fr)}.trainer{grid-template-columns:1fr}.trainer-photo{min-height:500px}.split-section{grid-template-columns:1fr}.split-photo{min-height:450px}.plans{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head .sub{margin-top:25px}.content-grid{grid-template-columns:1fr}.contact-grid{display:block}.contact-grid .btn{margin-top:30px}}@media(max-width:560px){.fitness-topbar{display:none}.fitness-mainnav{height:70px}.fitness-logo{min-width:0}.fitness-logo b{font-size:17px}.fitness-logo small{font-size:7px}.hero h1{font-size:65px}.routine-grid,.plans{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.section{padding:70px 0}.hero-inner{padding-bottom:60px}.footer-inner{display:block}.footer-inner span{display:block;margin:8px 0}.page-hero{min-height:500px}}

/* BMI page */
.bmi-hero{min-height:420px;background:linear-gradient(135deg,#f1f1ef,#ffffff);display:flex;align-items:center}
.bmi-hero h1{color:#171717;max-width:760px}
.bmi-hero p{max-width:650px;color:#666;font-size:18px;line-height:1.7;margin-top:20px}
.bmi-card{max-width:860px;margin:0 auto;padding:70px 0}
.bmi-card h2{font-size:44px;margin:0 0 12px;color:#171717}
.bmi-card>p{color:#666;font-size:17px}
.bmi-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}
.bmi-form label{display:flex;flex-direction:column;gap:10px;font-weight:600;color:#222}
.bmi-form input{width:100%;box-sizing:border-box;padding:17px 18px;border:1px solid #ddd;background:#fff;font-size:16px}
.bmi-form button{grid-column:1/-1;border:0;background:#171717;color:#fff;padding:18px 24px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.bmi-result{min-height:100px;margin-top:25px;background:#f5f5f3;padding:25px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.bmi-result span{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#777}
.bmi-result strong{font-size:42px;color:#171717}
.bmi-result em{font-style:normal;font-weight:600;color:#555}
.bmi-note{font-size:13px!important;color:#888!important;margin-top:25px}
@media(max-width:700px){.bmi-form{grid-template-columns:1fr}.bmi-card h2{font-size:34px}.bmi-hero{min-height:360px}}
.mobile-panel {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #ffffff;
    z-index: 999999;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition: transform .3s ease, opacity .3s ease, visibility .3s ease;
}

.mobile-panel.is-open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateX(0) !important;
}

.mobile-panel-inner {
    position: relative;
    width: 100%;
    min-height: 100vh;
    padding: 90px 25px 40px;
    box-sizing: border-box;
    background: #ffffff;
}

.mobile-close {
    position: absolute;
    top: 25px;
    right: 25px;
    width: 45px;
    height: 45px;
    border: 0;
    background: transparent;
    color: #111111;
    font-size: 42px;
    line-height: 40px;
    cursor: pointer;
    z-index: 1000000;
}

.mobile-panel nav {
    display: block !important;
    width: 100%;
}

.mobile-panel ul {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mobile-panel li {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #eeeeee;
}

.mobile-panel li a {
    display: block !important;
    width: 100%;
    padding: 18px 5px;
    box-sizing: border-box;
    color: #111111 !important;
    background: #ffffff !important;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
}

.mobile-panel li a:hover {
    color: #777777 !important;
}

body.mobile-menu-open {
    overflow: hidden;
}


/* HAMBURGER */

@media (max-width: 991px) {

    .fitness-menu {
        display: none !important;
    }

    .fitness-menu-toggle {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5px;
        width: 45px;
        height: 45px;
        padding: 8px;
        margin-left: auto;
        border: 0;
        background: transparent;
        cursor: pointer;
        position: relative;
        z-index: 100000;
    }

    .fitness-menu-toggle span {
        display: block !important;
        width: 27px;
        height: 3px;
        background: #111111;
        border-radius: 2px;
    }

}


/* DESKTOP */

@media (min-width: 992px) {

    .fitness-menu-toggle {
        display: none !important;
    }

    .mobile-panel {
        display: none !important;
    }

}
@media (max-width: 991px) {
    .fitness-menu-toggle {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px !important;
        width: 44px !important;
        height: 44px !important;
        padding: 8px !important;
        margin-left: auto !important;
        border: 0 !important;
        background: transparent !important;
        position: relative !important;
        z-index: 999999 !important;
        cursor: pointer !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .fitness-menu-toggle span {
        display: block !important;
        width: 27px !important;
        height: 3px !important;
        min-height: 3px !important;
        background: #111 !important;
        border-radius: 2px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}