:root{
    --fit-prime:#E31E24;
    --fit-prime-10:#FFE9E7;
    --fit-grad:linear-gradient(135deg,#E31E24 0%,#A71730 100%);
    --fit-txt:#141212;
    --fit-sec:#A8A8A8;
    --fit-bg:#F4F4F4;
    --fit-alt:#FFF3E7;
    --fit-line:#ECECEC;
    --fit-r-lg:20px;
    --fit-r-md:16px;
    --fit-r-sm:12px;
    --fit-pill:999px;
    --fit-font:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.fit-page [hidden],
.fit-modal [hidden]{display:none !important}

/* ---------- база (заскоплена на .fit-page) ---------- */
.fit-page{font-family:var(--fit-font);color:var(--fit-txt);line-height:1.4;font-size:16px}
.fit-page *{box-sizing:border-box}
.fit-page img{max-width:100%;display:block}
.fit-page h1,.fit-page h2,.fit-page h3{margin:0;color:var(--fit-txt);font-weight:700;line-height:1.2;letter-spacing:-.02em}
.fit-page h1{font-size:clamp(30px,4vw,48px)}
.fit-page h2{font-size:clamp(26px,3.2vw,42px)}
.fit-page h3{font-size:20px}
.fit-page p{margin:0 0 16px}
.fit-sec{padding:60px 0}
.fit-sec--first{padding-top:24px}
.fit-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.fit-muted{color:var(--fit-sec)}
.fit-lead{font-size:17px;max-width:66ch}
.fit-head h2 {
    font-size: 42px;
    line-height: 120%;
}


/* кнопки и мелкие элементы */
.fit-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:var(--fit-pill);
    font-family:var(--fit-font);font-size:16px;font-weight:500;text-decoration:none;border:0;cursor:pointer;
    background:var(--fit-prime);color:#fff;transition:.2s}
.fit-btn:hover{background:var(--fit-grad);color:#fff}
.fit-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fit-link{color:var(--fit-prime);font-weight:500;text-decoration:none}
.fit-link:hover{text-decoration:underline}
.fit-chip{display:inline-flex;align-items:center;padding:9px 18px;border-radius:var(--fit-pill);background:var(--fit-bg);font-size:14px;font-weight:500}
.fit-sticker{display:inline-flex;align-items:center;padding:9px 18px;border-radius:var(--fit-pill);background:var(--fit-prime);color:#fff;font-size:13px;font-weight:600}
.fit-tag{display:inline-flex;font-size:14px;background:var(--fit-bg);color:var(--fit-txt);padding:8px 16px;border-radius:var(--fit-pill);font-weight:400}
.fit-tags{display:flex;flex-wrap:wrap;gap:8px}
.fit-ico{width:24px;height:24px;flex:0 0 24px;stroke:var(--fit-txt);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 1. шапка арендатора ---------- */
.fit-hero{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.fit-hero__sub{font-size:19px;font-weight:400;margin:12px 0 18px}
.fit-hero__tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.fit-hero__panel{background:var(--fit-bg);border-radius:var(--fit-r-md);padding:26px 30px;margin-top:28px}
.fit-hero__row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.fit-hero__row b{display:block;font-weight:600;margin-bottom:4px}
.fit-hero__links{display:flex;gap:26px;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid #E2E2E2}
.fit-hero__links a{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:500}
.fit-hero__links a:hover{color:var(--fit-prime)}
.fit-hero__media{position:relative}
.fit-hero__photo{aspect-ratio:4/3;border-radius:var(--fit-r-lg);background:var(--fit-bg);overflow:hidden;display:grid;place-items:center;color:var(--fit-sec);font-size:14px;text-align:center;padding:20px}
.fit-hero__photo img{width:100%;height:100%;object-fit:cover}
.fit-hero__logo{position:absolute;left:24px;bottom:24px;width:146px;height:86px;background:#fff;border-radius:var(--fit-r-sm);display:grid;place-items:center;padding:12px;box-shadow:0 6px 24px rgba(0,0,0,.1);font-size:12px;color:var(--fit-sec)}

/* ---------- 2. преимущества ---------- */
.fit-features{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px}
.fit-feature{background:var(--fit-bg);border-radius:var(--fit-r-md);padding:26px 28px}
.fit-feature .fit-ico{width:40px;height:40px;flex:none;margin-bottom:18px}
.fit-feature .fit-ico img {
    max-width: 100%;
    max-height: 100%;
}

.fit-feature__value{color:var(--fit-prime);font-weight:600;font-size:24px;line-height:1.1}
.fit-feature__label{font-weight:600;font-size:17px;line-height:1.25}
.fit-feature__text{font-size:14px;color:var(--fit-sec);margin-top:6px}

/* ---------- 3. залы + карусель ---------- */
.fit-halls{display:grid;gap:32px}
.fit-hall{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.fit-hall:nth-child(even) .fit-slider{order:2}
.fit-hall__desc {
    margin: 20px 0;
    font-size: 18px;
    line-height: 150%;
}
.fit-hall__specs{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px}
.fit-hall__specs li {
    display: flex;
    gap: 12px;
    align-items: center;
    font-weight: 500;
    position: relative;
    padding-left: 18px;
}
.fit-hall__label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--fit-sec);font-weight:600;margin-bottom:12px}

.fit-hall__mark {
    background: #fdf3f4;
    display: inline-flex;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 18px;
    border-radius: 30px;
    line-height: 100%;
    color: #e31e24;
    margin-bottom: 14px;
}
.fit-hall__body h3 {
    font-size: 32px;
    line-height: 120%;
}
.fit-hall__specs li:before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    background: #e31e24;
    border-radius: 50%;
    left: 0;
    top: 6px;
}





.fit-slider{display:grid;gap:10px}
.fit-slider__stage{position:relative;border-radius:var(--fit-r-lg);overflow:hidden;background:var(--fit-bg)}
.fit-slider__track{display:flex;transition:transform .35s ease}
.fit-slider__slide{flex:0 0 100%;aspect-ratio:4/3;display:grid;place-items:center;color:var(--fit-sec);font-size:14px}
.fit-slider__slide img{width:100%;height:100%;object-fit:cover}
.fit-slider__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);cursor:pointer;display:grid;place-items:center;transition:.2s;z-index:2}
.fit-slider__nav:hover{background:var(--fit-prime)}
.fit-slider__nav svg{width:18px;height:18px;stroke:var(--fit-txt);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fit-slider__nav:hover svg{stroke:#fff}
.fit-slider__nav[disabled]{opacity:.35;pointer-events:none}
.fit-slider__nav--prev{left:14px}
.fit-slider__nav--next{right:14px}
.fit-slider__counter{position:absolute;right:14px;bottom:14px;background:rgba(20,18,18,.6);color:#fff;font-size:12px;font-weight:500;padding:5px 11px;border-radius:var(--fit-pill);z-index:2}
.fit-slider__thumbs{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.fit-slider__thumbs::-webkit-scrollbar{display:none}
.fit-slider__thumb{flex:0 0 88px;height:66px;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--fit-bg);padding:0;cursor:pointer;display:grid;place-items:center;font-size:11px;color:var(--fit-sec);transition:.2s}
.fit-slider__thumb img{width:100%;height:100%;object-fit:cover}
.fit-slider__thumb.is-active{border-color:var(--fit-prime)}
.fit-slider--single .fit-slider__thumbs,
.fit-slider--single .fit-slider__nav,
.fit-slider--single .fit-slider__counter{display:none}

/* ---------- 4. удобства ---------- */
.fit-amenities{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fit-amenity{background:var(--fit-bg);border-radius:var(--fit-r-md);padding:26px 28px}
.fit-amenity .fit-ico{width:40px;height:40px;flex:none;margin-bottom:18px}
.fit-amenity b{display:block;font-size:17px;font-weight:600;line-height:1.3}
.fit-amenity span{display:block;font-size:14px;color:var(--fit-sec);margin-top:6px}
.fit-amenity .fit-ico img {
    max-width: 100%;
    max-height: 100%;
}

/* ---------- 5. информация для посетителей ---------- */
.fit-info1{background:var(--fit-bg);border-radius:var(--fit-r-lg);padding:40px}
.fit-info1__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.fit-info1__item .fit-ico{width:26px;height:26px;flex:none;margin-bottom:16px}
.fit-info1__label{font-size:13px;color:var(--fit-sec);font-weight:500;margin-bottom:4px}
.fit-info1__value{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.fit-info1__value--sm{font-size:16px;font-weight:600}
.fit-info1__value--red{color:var(--fit-prime)}
.fit-info1__value a{color:inherit;text-decoration:none}
.fit-info1__value a:hover{color:var(--fit-prime)}
.fit-info1__note{margin-top:32px;background:#fff;border-radius:var(--fit-r-md);padding:26px 30px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.fit-info1__note-ico{width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:var(--fit-prime-10);display:grid;place-items:center}
.fit-info1__note-ico svg{width:22px;height:22px;stroke:var(--fit-prime);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fit-info1__note-body{flex:1 1 380px}
.fit-info1__note-body h3{font-size:19px;font-weight:600}
.fit-info1__note-body p{margin:6px 0 0;font-size:14px;color:#5A5A5A;line-height:1.55}

/* ---------- 6. расписание ---------- */
.fit-sched__scroll{overflow-x:auto;padding:5px}
.fit-sched__cols{display:grid;grid-template-columns:repeat(7,minmax(172px,1fr));gap:12px;min-width:1240px;align-items:start}
.fit-sched__col{border-radius:14px;padding-bottom:10px}
.fit-sched__col.is-today {
    position: relative;
}
.fit-sched__col.is-today:before {
    content: "";
    position: absolute;
    z-index: 1;
    width: calc(100% + 10px);
    height: 100%;
    background: #ffe9e7;
    left: -5px;
    top: 0;
    border-radius: 22px;
}
.fit-sched__head{text-align:center;font-size:16px;font-weight:600;padding:14px 10px;border-bottom:1px solid var(--fit-line);margin-bottom:12px}
.fit-sched__col.is-today .fit-sched__head{border-bottom:2px solid var(--fit-prime)}
.fit-sched__list{display:grid;gap:12px;padding:0 4px}
.fit-sched__col.is-today .fit-sched__head, .fit-sched__col.is-today .fit-sched__list {
    position: relative;
    z-index: 5;
}

.fit-card {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: grid;
    gap: 10px;
    width: 100%;
    text-align: left;
    font-family: var(--fit-font);
    color: var(--fit-txt);
    background: var(--fit-bg);
    border: 0;
    border-radius: var(--fit-r-sm);
    padding: 12px 10px 12px;
    cursor: pointer;
    transition: color .2s;
}
.fit-sched__col.is-today .fit-card {
    background: #ffffff;
}
.fit-card::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fit-grad);opacity:0;transition:opacity .2s}
.fit-card:hover,.fit-card:focus-visible{color:#fff;outline:none}
.fit-card:hover::before,.fit-card:focus-visible::before{opacity:1}
.fit-card__top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fit-card__time{font-size:13px;font-weight:600;color:var(--fit-prime);white-space:nowrap;transition:color .2s}
.fit-card:hover .fit-card__time{color:#fff}
.fit-card__hall{font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--fit-pill);background:var(--fit-prime-10);color:var(--fit-prime);white-space:nowrap;transition:.2s}
.fit-card:hover .fit-card__hall{background:rgba(255,255,255,.24);color:#fff}
.fit-card__name{font-size:14px;font-weight:600;line-height:1.25;padding-bottom:10px;border-bottom:1px solid #E2E2E2;transition:border-color .2s}
.fit-sched__col.is-today .fit-card__name{border-bottom-color:#F2DADA}
.fit-card:hover .fit-card__name{border-bottom-color:rgba(255,255,255,.3)}
.fit-card__foot{display:flex;align-items:center;gap:10px}
.fit-card__ava{width:26px;height:26px;border-radius:50%;flex:0 0 26px;background:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px var(--fit-line);transition:.2s}
.fit-card__ava img{width:100%;height:100%;object-fit:cover}
.fit-card:hover .fit-card__ava{box-shadow:none}
.fit-card__fio{font-size:12px;line-height:1.15}
.fit-card__go{margin-left:auto;width:26px;height:26px;border-radius:50%;flex:0 0 26px;background:#fff;display:grid;place-items:center}
.fit-card__go svg{width:13px;height:13px;stroke:var(--fit-prime);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-left: 1px;}

.fit-acc{display:none;border-top:1px solid var(--fit-line)}
.fit-acc__item{border-bottom:1px solid var(--fit-line)}
.fit-acc__head{width:100%;background:none;border:0;font-family:var(--fit-font);padding:16px 2px;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--fit-txt)}
.fit-acc__name{font-size:16px;font-weight:600}
.fit-acc__cnt{margin-left:auto;font-size:13px;color:var(--fit-sec)}
.fit-acc__arrow{width:20px;height:20px;flex:0 0 20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:.2s}
.fit-acc__head[aria-expanded="true"]{color:var(--fit-prime)}
.fit-acc__head[aria-expanded="true"] .fit-acc__arrow{transform:rotate(180deg)}
.fit-acc__body{display:none;padding:0 0 18px}
.fit-acc__body.is-open{display:grid;gap:12px}

/* ---------- 7. карта ---------- */
.fit-panel{background:var(--fit-bg);border-radius:var(--fit-r-lg);padding:40px}
.fit-map{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.fit-map__shot{position:relative;border-radius:var(--fit-r-md);overflow:hidden;background:#fff;aspect-ratio:16/10;display:grid;place-items:center;color:var(--fit-sec);font-size:14px}
.fit-map__shot img{width:100%;height:100%;object-fit:cover}
.fit-map h2{margin-bottom:14px}
.fit-map__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}

/* ---------- модалка ---------- */
.fit-modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(20,18,18,.6)}
.fit-modal.is-open{display:flex}
.fit-modal__box{position:relative;background:#fff;border-radius:var(--fit-r-lg);width:100%;max-width:720px;max-height:90vh;overflow:auto;display:grid;grid-template-columns:280px 1fr}
.fit-modal__photo{background:var(--fit-bg);min-height:320px;display:grid;place-items:center;color:var(--fit-sec);font-size:13px;overflow:hidden}
.fit-modal__photo img{width:100%;height:100%;object-fit:cover}
.fit-modal__body{padding:32px 36px 36px}
.fit-modal__role{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fit-prime);margin-bottom:8px}
.fit-modal__name{font-size:26px;font-weight:700;margin:0 0 14px}
.fit-modal__tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.fit-modal__tag{font-size:12px;font-weight:500;padding:6px 12px;border-radius:var(--fit-pill);background:var(--fit-prime-10);color:var(--fit-prime)}
.fit-modal__text{font-size:14px;line-height:1.55;color:#5A5A5A;margin:0 0 22px}
.fit-modal__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.14)}
.fit-modal__close svg{width:16px;height:16px;stroke:var(--fit-txt);stroke-width:2;fill:none;stroke-linecap:round}
.fit-modal__box{grid-template-columns:1fr;max-width:560px}   /* было две колонки */
.fit-modal__body{padding:36px 40px 40px}
.fit-modal__time{font-size:14px;font-weight:600;color:var(--fit-prime);}
.fit-modal__name{font-size:26px;font-weight:700;margin:0 0 14px}
.fit-modal__desc{font-size:15px;line-height:1.6;color:#5A5A5A}
.fit-modal__trainer{display:flex;gap:20px;margin-top:26px;padding-top:26px;border-top:1px solid var(--fit-line)}
.fit-modal__trainer-photo{width:104px;height:104px;flex:0 0 104px;border-radius:var(--fit-r-md);overflow:hidden;background:var(--fit-bg)}
.fit-modal__trainer-photo img{width:100%;height:100%;object-fit:cover}
.fit-modal__trainer-role{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fit-prime);margin-bottom:4px}
.fit-modal__trainer-name{font-size:18px;font-weight:600}
.fit-modal__trainer-text{font-size:14px;line-height:1.55;color:#5A5A5A;margin:8px 0 14px}
.fit-modal__meta{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.fit-modal__day{font-size:12px;font-weight:600;padding:5px 12px;border-radius:var(--fit-pill);background:var(--fit-prime-10);color:var(--fit-prime)}
.fit-modal__time{font-size:14px;font-weight:600;color:var(--fit-prime)}
.fit-modal__shedule {
    display: flex;
    margin-bottom: 16px;
    gap: 12px;
    align-items: center;
}
.fit-modal__desc,
.fit-modal__trainer-text{white-space:pre-line}

@media (max-width:600px){ .fit-modal__trainer{flex-direction:column} }


/* ---------- карточка в каталоге ---------- */
.fit-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fit-catalog-card{position:relative;text-decoration:none;display:block;color:var(--fit-txt)}
.fit-catalog-card__img{aspect-ratio:4/3;border-radius:var(--fit-r-lg);background:var(--fit-bg);overflow:hidden;display:grid;place-items:center;color:var(--fit-sec);font-size:13px;margin-bottom:16px}
.fit-catalog-card__sticker{position:absolute;top:16px;left:16px}
.fit-catalog-card__title{font-weight:600;font-size:20px;margin-bottom:6px}
.fit-catalog-card__desc{font-size:15px;margin-bottom:12px}
.fit-catalog-card__loc{font-size:14px;color:var(--fit-sec);display:flex;align-items:center;gap:8px}
.fit-catalog-card__loc .fit-ico{width:17px;height:17px;flex:0 0 17px;stroke:var(--fit-sec)}
.fit-catalog-card:hover .fit-catalog-card__title{color:var(--fit-prime)}


@media (max-width:1439px){
    .fit-info1__value--sm {
        font-size: 15px;
    }

    .fit-sched__cols {
        grid-template-columns: repeat(7, minmax(156px, 1fr));
        min-width: 1170px;
    }
    .fit-card__time {
        font-size: 12px;
    }
    .fit-card__hall {
        font-size: 10px;
    }
    .fit-card {
        padding: 10px 8px 10px;
    }
}
@media (max-width:1080px){
    .fit-features,.fit-amenities{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
    .fit-hero,.fit-hall,.fit-map{grid-template-columns:1fr;gap:30px}
    .fit-info1__grid{grid-template-columns:repeat(2,1fr);gap:24px}
    .fit-hall:nth-child(even) .fit-slider{order:0}
    .fit-cards{grid-template-columns:repeat(2,1fr)}
    .fit-modal__box{grid-template-columns:1fr}
    .fit-modal__photo{min-height:220px}
}
@media (max-width:760px){
    .fit-sched__scroll{display:none}
    .fit-acc{display:block}
}
@media (max-width:600px){
    .fit-sec{padding:40px 0}
    .fit-features,.fit-amenities,.fit-cards{grid-template-columns:1fr}
    .fit-panel{padding:24px}
    .fit-hero__panel,.fit-feature,.fit-amenity{padding:20px}
    .fit-info1{padding:24px}
    .fit-info1__grid{grid-template-columns:1fr}
    .fit-info1__note{padding:22px}
    .fit-modal__body{padding:24px}
    .fit-hero__logo{width:112px;height:66px;left:14px;bottom:14px}

    .fit-feature__value {
        font-size: 20px;
    }
    .fit-head h2 {
        font-size: 28px;
    }
    .fit-hall__body h3 {
        font-size: 22px;

    }
    .fit-hall__desc {
        font-size: 14px;
    }



}
