/* BARON COURSE PAGES V1 */

.course-page {
    background:#090909;
    color:#fff;
}

.course-hero {
    position:relative;
    min-height:82vh;
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:flex-end;
    padding:180px 7vw 90px;
    box-sizing:border-box;
}

.course-hero::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        0deg,
        rgba(0,0,0,.75) 0%,
        transparent 55%
    );
}

.course-hero-content {
    position:relative;
    z-index:2;
    max-width:1100px;
}

.course-hero .eyebrow {
    color:#fff;
    opacity:.8;
}

.course-hero h1 {
    color:#fff;
    font-size:clamp(90px,15vw,220px);
    font-weight:900;
    line-height:.72;
    letter-spacing:-.07em;
    text-transform:uppercase;
    margin:35px 0 45px;
}

.course-claim {
    color:#fff;
    font-size:clamp(22px,3vw,40px);
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-.02em;
    margin:0 0 45px;
}


/* CONTENT */

.course-intro {
    background:#f1f1ed;
    color:#111;
    padding:130px 7vw;
    display:grid;
    grid-template-columns:minmax(180px,30%) 1fr;
    gap:70px;
}

.course-title-small {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.16em;
    padding-top:10px;
}

.course-text {
    max-width:900px;
}

.course-text h2 {
    color:#111;
    font-size:clamp(58px,8vw,115px);
    font-weight:900;
    line-height:.84;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:0 0 55px;
}

.course-text p {
    color:#333;
    font-size:19px;
    line-height:1.75;
    max-width:760px;
}

.course-text .lead {
    color:#111;
    font-size:clamp(22px,2.2vw,30px);
    font-weight:700;
    line-height:1.45;
    margin-bottom:30px;
}


/* THREE CARDS */

.course-benefits {
    background:#090909;
    padding:100px 7vw;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px;
}

.course-benefits > div {
    background:#151515;
    padding:55px 42px;
    min-height:300px;
    box-sizing:border-box;
}

.course-benefits span {
    color:#e01b24;
    font-size:14px;
    font-weight:900;
}

.course-benefits h3 {
    color:#fff;
    font-size:clamp(28px,3vw,42px);
    line-height:1;
    text-transform:uppercase;
    margin:65px 0 20px;
}

.course-benefits p {
    color:#aaa;
    font-size:16px;
    line-height:1.65;
    max-width:300px;
}


/* CTA */

.course-cta {
    background:#d71920;
    color:#fff;
    padding:110px 7vw 120px;
}

.course-cta .section-label {
    color:#fff;
}

.course-cta h2 {
    color:#fff;
    font-size:clamp(65px,9vw,135px);
    font-weight:900;
    line-height:.82;
    letter-spacing:-.065em;
    text-transform:uppercase;
    margin:25px 0 55px;
}

.course-cta .light-cta {
    background:#fff;
    color:#111;
}


/* MOBILE */

@media (max-width:800px) {

    .course-hero {
        min-height:72vh;
        padding:150px 6vw 65px;
    }

    .course-hero h1 {
        font-size:clamp(70px,22vw,120px);
    }

    .course-intro {
        grid-template-columns:1fr;
        gap:35px;
        padding:85px 6vw;
    }

    .course-benefits {
        grid-template-columns:1fr;
        padding:60px 6vw;
    }

    .course-benefits > div {
        min-height:230px;
    }

    .course-benefits h3 {
        margin-top:40px;
    }

    .course-cta {
        padding:80px 6vw;
    }
}


/* =====================================================
   COURSES OVERVIEW
   ===================================================== */

.courses-page {
    background:#090909;
    color:#fff;
}

.courses-hero {
    min-height:72vh;
    display:flex;
    align-items:flex-end;
    padding:180px 7vw 90px;
    box-sizing:border-box;

    background:
        linear-gradient(90deg,
            rgba(0,0,0,.95),
            rgba(0,0,0,.45)),
        url('assets/images/original/cross-mma-thaiboxen-boxen.jpg')
        center / cover no-repeat;
}

.courses-hero h1 {
    font-size:clamp(75px,11vw,165px);
    line-height:.77;
    letter-spacing:-.07em;
    text-transform:uppercase;
    margin:30px 0;
}

.courses-hero p {
    max-width:600px;
    font-size:21px;
    line-height:1.6;
}


.courses-intro {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:30% 70%;
    gap:60px;
}

.courses-intro > span {
    color:#d71920;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:13px;
}

.courses-intro h2 {
    font-size:clamp(55px,8vw,115px);
    line-height:.84;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:0 0 40px;
}

.courses-intro p {
    max-width:700px;
    font-size:21px;
    line-height:1.65;
}


/* COURSE GRID */

.all-courses {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3px;
}

.big-course {
    position:relative;
    min-height:620px;
    background-size:cover;
    background-position:center;

    display:flex;
    align-items:flex-end;

    overflow:hidden;
    color:#fff;
    text-decoration:none;
}

.big-course:first-child {
    grid-column:span 2;
    min-height:720px;
}

.big-course::before {
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            0deg,
            rgba(0,0,0,.95) 0%,
            rgba(0,0,0,.08) 70%
        );

    transition:.35s ease;
}

.big-course:hover::before {
    background:
        linear-gradient(
            0deg,
            rgba(0,0,0,.95),
            rgba(0,0,0,.25)
        );
}

.big-course {
    transition:filter .3s ease;
}

.big-course:hover {
    filter:contrast(1.08);
}

.big-course-overlay {
    position:relative;
    z-index:2;
    padding:50px;
}

.big-course-overlay span {
    color:#e01b24;
    font-weight:900;
}

.big-course-overlay h2 {
    color:#fff;
    font-size:clamp(55px,7vw,110px);
    line-height:.8;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:25px 0 15px;
}

.big-course-overlay p {
    color:#ddd;
    font-size:18px;
    margin-bottom:25px;
}

.big-course-overlay strong {
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.12em;
}


/* BOTTOM CTA */

.courses-bottom {
    background:#d71920;
    padding:110px 7vw;

    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:80px;
}

.courses-bottom span {
    text-transform:uppercase;
    font-size:13px;
    font-weight:900;
    letter-spacing:.12em;
}

.courses-bottom h2 {
    color:#fff;
    font-size:clamp(60px,8vw,120px);
    line-height:.83;
    letter-spacing:-.065em;
    text-transform:uppercase;
    margin:25px 0 0;
}

.courses-bottom > div:last-child {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
}

.courses-bottom p {
    font-size:20px;
    line-height:1.6;
    max-width:500px;
}


@media(max-width:800px) {

    .courses-intro,
    .courses-bottom {
        grid-template-columns:1fr;
    }

    .all-courses {
        grid-template-columns:1fr;
    }

    .big-course:first-child {
        grid-column:auto;
    }

    .big-course,
    .big-course:first-child {
        min-height:500px;
    }

    .big-course-overlay {
        padding:35px;
    }
}



/* =====================================================
   SCHEDULE
   ===================================================== */

.schedule-page {
    background:#090909;
    color:#fff;
}

.schedule-hero {
    min-height:62vh;
    padding:180px 7vw 80px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    background:
        linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.35)),
        url('assets/images/original/Grappling-Wuppertal.jpg')
        center 42% / cover no-repeat;
}

.schedule-hero h1 {
    font-size:clamp(80px,13vw,190px);
    line-height:.72;
    letter-spacing:-.07em;
    margin:30px 0;
}

.schedule-hero p {
    max-width:620px;
    font-size:20px;
    line-height:1.6;
}

.schedule-wrap {
    padding:110px 7vw 120px;
}

.schedule-head {
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:70px;
    align-items:end;
    margin-bottom:80px;
}

.schedule-kicker {
    color:#d71920;
    text-transform:uppercase;
    font-size:13px;
    font-weight:900;
    letter-spacing:.15em;
}

.schedule-head h2 {
    font-size:clamp(55px,7vw,105px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:20px 0 0;
}

.schedule-head p {
    color:#aaa;
    font-size:18px;
    line-height:1.7;
    max-width:500px;
}

.schedule-days {
    border-top:1px solid #333;
}

.schedule-day {
    display:grid;
    grid-template-columns:220px 1fr;
    border-bottom:1px solid #333;
}

.schedule-day > header {
    padding:35px 30px 35px 0;
}

.schedule-day h3 {
    margin:0;
    font-size:25px;
    text-transform:uppercase;
}

.schedule-day header span {
    display:block;
    margin-top:8px;
    color:#666;
    font-size:12px;
    text-transform:uppercase;
}

.day-classes {
    border-left:1px solid #333;
}

.schedule-class {
    min-height:82px;
    padding:20px 25px;
    box-sizing:border-box;
    display:grid;
    grid-template-columns:150px 1fr 30px;
    align-items:center;
    gap:20px;
    border-bottom:1px solid #242424;
    color:#fff;
    text-decoration:none;
    transition:.2s;
}

.schedule-class:last-child {
    border-bottom:0;
}

a.schedule-class:hover {
    background:#151515;
    padding-left:32px;
}

.schedule-class time {
    color:#999;
    font-size:14px;
    font-weight:700;
}

.schedule-class strong {
    display:block;
    font-size:18px;
}

.schedule-class small {
    display:block;
    margin-top:5px;
    color:#777;
    font-size:13px;
}

.schedule-class b {
    color:#d71920;
    font-size:20px;
}

.schedule-off {
    border-left:1px solid #333;
    padding:38px 25px;
    color:#666;
}

.schedule-note {
    margin-top:35px;
    max-width:750px;
    color:#666;
    font-size:12px;
    line-height:1.6;
}

.schedule-trial {
    background:#d71920;
    padding:100px 7vw;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:80px;
}

.schedule-trial span {
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.schedule-trial h2 {
    font-size:clamp(70px,9vw,135px);
    line-height:.8;
    letter-spacing:-.065em;
    margin:25px 0 0;
}

.schedule-trial > div:last-child {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
}

.schedule-trial p {
    max-width:480px;
    font-size:19px;
    line-height:1.6;
}


@media(max-width:800px) {

    .schedule-head,
    .schedule-trial {
        grid-template-columns:1fr;
    }

    .schedule-day {
        grid-template-columns:1fr;
    }

    .schedule-day > header {
        padding:35px 0 20px;
    }

    .day-classes,
    .schedule-off {
        border-left:0;
    }

    .schedule-class {
        grid-template-columns:110px 1fr 20px;
        padding-left:0;
        padding-right:0;
    }

    a.schedule-class:hover {
        padding-left:8px;
    }
}



/* =====================================================
   TEAM
   ===================================================== */

.team-page {
    background:#090909;
    color:#fff;
}

.team-hero {
    min-height:75vh;
    padding:180px 7vw 90px;
    box-sizing:border-box;
    display:flex;
    align-items:flex-end;

    background:
        linear-gradient(90deg,
            rgba(0,0,0,.95),
            rgba(0,0,0,.25)),
        url('assets/images/original/sebastian-baron-nepomuk-minarik-luta-livre-mma-wuppertal.jpg')
        center / cover no-repeat;
}

.team-hero-copy {
    max-width:1100px;
}

.team-hero h1 {
    font-size:clamp(70px,10vw,150px);
    line-height:.78;
    letter-spacing:-.065em;
    text-transform:uppercase;
    margin:30px 0 40px;
}

.team-hero p {
    max-width:600px;
    font-size:20px;
    line-height:1.6;
}


.team-intro {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:30% 70%;
    gap:60px;
}

.team-label {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
}

.team-intro h2 {
    font-size:clamp(55px,8vw,115px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:0 0 45px;
}

.team-intro p {
    max-width:700px;
    font-size:21px;
    line-height:1.65;
}


/* SEBASTIAN */

.sebastian-section {
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:850px;
}

.sebastian-image {
    min-height:850px;
    background:#111;
}

.sebastian-image img {
    width:100%;
    height:100%;
    min-height:850px;
    object-fit:cover;
    object-position:center top;
    display:block;
}

.sebastian-copy {
    padding:100px 7vw 100px 6vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.person-role {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.sebastian-copy h2 {
    font-size:clamp(65px,7vw,115px);
    line-height:.8;
    letter-spacing:-.065em;
    margin:30px 0 50px;
}

.sebastian-copy p {
    max-width:620px;
    color:#aaa;
    font-size:17px;
    line-height:1.75;
}

.sebastian-copy .person-lead {
    color:#fff;
    font-size:23px;
    font-weight:700;
    line-height:1.5;
}

.person-disciplines {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:35px;
}

.person-disciplines a {
    color:#fff;
    border:1px solid #444;
    padding:13px 18px;
    text-decoration:none;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
    transition:.2s;
}

.person-disciplines a:hover {
    background:#d71920;
    border-color:#d71920;
}


/* ACTION IMAGES */

.team-action {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
}

.team-action-image {
    min-height:500px;
    background-size:cover;
    background-position:center;
}


/* COACHES */

.team-coaches {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:30% 70%;
    gap:60px;
}

.team-coaches > span {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
}

.team-coaches h2 {
    font-size:clamp(55px,8vw,115px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:0 0 40px;
}

.team-coaches p {
    max-width:700px;
    font-size:19px;
    line-height:1.7;
}


/* CTA */

.team-trial {
    background:#d71920;
    padding:110px 7vw;

    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:80px;
}

.team-trial span {
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}

.team-trial h2 {
    font-size:clamp(65px,8vw,125px);
    line-height:.82;
    letter-spacing:-.065em;
    margin:25px 0 0;
}

.team-trial > div:last-child {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
}

.team-trial p {
    max-width:480px;
    font-size:19px;
    line-height:1.65;
}


@media(max-width:800px) {

    .team-intro,
    .team-coaches,
    .team-trial,
    .sebastian-section {
        grid-template-columns:1fr;
    }

    .sebastian-image,
    .sebastian-image img {
        min-height:550px;
    }

    .sebastian-copy {
        padding:75px 6vw;
    }

    .team-action {
        grid-template-columns:1fr;
    }

    .team-action-image {
        min-height:400px;
    }
}



/* =====================================================
   WORDPRESS EDITABLE CONTENT
   ===================================================== */

.team-wp-content {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:25% 75%;
    gap:70px;
}

.team-editor-label {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
}

.team-editor-content {
    max-width:900px;
}

.team-editor-content h1,
.team-editor-content h2,
.team-editor-content h3 {
    color:#111;
    text-transform:uppercase;
}

.team-editor-content h1 {
    font-size:clamp(55px,7vw,105px);
    line-height:.84;
    letter-spacing:-.06em;
    margin:0 0 50px;
}

.team-editor-content h2 {
    font-size:clamp(38px,5vw,70px);
    line-height:.9;
    letter-spacing:-.045em;
    margin:90px 0 30px;
}

.team-editor-content h2:first-of-type {
    margin-top:50px;
}

.team-editor-content p {
    max-width:760px;
    font-size:18px;
    line-height:1.75;
    color:#333;
}

.team-editor-content .baron-lead {
    font-size:25px;
    line-height:1.5;
    font-weight:700;
    color:#111;
}

.team-editor-content img {
    max-width:100%;
    height:auto;
}

@media(max-width:800px) {

    .team-wp-content {
        grid-template-columns:1fr;
        gap:30px;
        padding:80px 6vw;
    }

}


/* =====================================================
   EDITABLE COURSE CONTENT
   ===================================================== */

.course-editor-section {
    background:#f1f1ed;
    color:#111;
    padding:120px 7vw;

    display:grid;
    grid-template-columns:25% 75%;
    gap:70px;
}

.course-editor-label {
    color:#d71920;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.15em;
    padding-top:10px;
}

.course-editor-content {
    max-width:900px;
}

.course-editor-content h2 {
    color:#111;
    font-size:clamp(55px,8vw,110px);
    line-height:.84;
    letter-spacing:-.06em;
    text-transform:uppercase;
    margin:0 0 50px;
}

.course-editor-content h3 {
    color:#111;
    font-size:clamp(30px,4vw,55px);
    text-transform:uppercase;
    margin:65px 0 25px;
}

.course-editor-content p {
    color:#333;
    max-width:760px;
    font-size:19px;
    line-height:1.75;
}

.course-editor-content .baron-lead {
    color:#111;
    font-size:clamp(22px,2.2vw,29px);
    line-height:1.5;
    font-weight:700;
}

.course-editor-content img {
    max-width:100%;
    height:auto;
    margin:40px 0;
}

@media(max-width:800px) {

    .course-editor-section {
        grid-template-columns:1fr;
        gap:30px;
        padding:80px 6vw;
    }

}


/* =====================================================
   GYM
   ===================================================== */

.baron-gym-page {
    background:#090909;
    color:#fff;
}

.baron-gym-hero {
    min-height:78vh;
    padding:180px 7vw 90px;
    box-sizing:border-box;
    display:flex;
    align-items:flex-end;
    background-position:center;
    background-size:cover;
}

.baron-gym-hero-copy {
    max-width:1000px;
}

.baron-gym-hero h1 {
    font-size:clamp(85px,12vw,180px);
    line-height:.75;
    letter-spacing:-.07em;
    margin:28px 0 35px;
}

.baron-gym-hero p {
    max-width:650px;
    font-size:20px;
    line-height:1.6;
}

.baron-gym-intro {
    padding:120px 7vw;
    background:#f1f1ed;
    color:#111;
    display:grid;
    grid-template-columns:30% 70%;
    gap:60px;
}

.baron-gym-intro h2 {
    max-width:900px;
    margin:0 0 40px;
    font-size:clamp(55px,8vw,115px);
    line-height:.84;
    letter-spacing:-.06em;
}

.baron-gym-intro p {
    max-width:750px;
    font-size:21px;
    line-height:1.65;
}

.baron-gym-features {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:45px;
}

.baron-gym-features span {
    border:1px solid #bbb;
    padding:12px 17px;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
}

.baron-gym-gallery {
    display:grid;
    grid-template-columns:repeat(12,1fr);
    grid-auto-rows:320px;
    gap:5px;
    padding:5px;
}

.baron-gym-photo {
    margin:0;
    overflow:hidden;
    background:#181818;
}

.baron-gym-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .45s ease;
}

.baron-gym-photo:hover img {
    transform:scale(1.025);
}

.baron-gym-photo-1 {
    grid-column:span 7;
    grid-row:span 2;
}

.baron-gym-photo-2 {
    grid-column:span 5;
}

.baron-gym-photo-3 {
    grid-column:span 5;
}

.baron-gym-photo-4 {
    grid-column:span 5;
}

.baron-gym-photo-5 {
    grid-column:span 7;
}

.baron-gym-trial {
    padding:110px 7vw;
    background:#d71920;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:80px;
}

.baron-gym-trial h2 {
    font-size:clamp(75px,10vw,145px);
    line-height:.8;
    letter-spacing:-.065em;
    margin:25px 0 0;
}

.baron-gym-trial > div:last-child {
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
}

.baron-gym-trial p {
    max-width:500px;
    font-size:19px;
    line-height:1.6;
}


@media(max-width:800px) {

    .baron-gym-hero {
        min-height:70vh;
        padding-top:140px;
    }

    .baron-gym-intro,
    .baron-gym-trial {
        grid-template-columns:1fr;
        gap:40px;
    }

    .baron-gym-gallery {
        display:block;
        padding:4px;
    }

    .baron-gym-photo {
        height:340px;
        margin-bottom:4px;
    }
}

/* =====================================================
   BARON GALLERY V2 — Gutenberg-editierbar, Seite ID 17
   ===================================================== */

.page-id-17 {
    background:#090909;
    color:#fff;
}

.page-id-17 .standard-page {
    max-width:none;
    min-height:100vh;
    padding:190px 0 5px;
    overflow:hidden;
    background:#090909;
    color:#fff;
}

.page-id-17 .standard-page > h1:first-child {
    margin:0;
    padding:0 7vw;
    color:#fff;
    font-size:clamp(72px,12vw,180px);
    font-weight:900;
    line-height:.76;
    letter-spacing:-.07em;
    text-transform:uppercase;
}

/* Der Seitentitel kommt bereits aus dem Theme. */
.page-id-17 .standard-page > h1.wp-block-heading {
    display:none;
}

.page-id-17 .standard-page > p {
    max-width:760px;
    margin:45px 0 90px;
    padding:0 7vw;
    color:#b8b8b8;
    font-size:clamp(18px,2vw,24px);
    line-height:1.6;
}

.page-id-17 .wp-block-gallery.has-nested-images {
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-flow:dense;
    grid-auto-rows:270px;
    gap:5px;
    width:100%;
    max-width:none;
    margin:0;
    padding:0 5px;
}

.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image {
    position:relative;
    grid-column:span 4;
    width:auto !important;
    max-width:none !important;
    min-height:0;
    margin:0 !important;
    overflow:hidden;
    background:#171717;
}

/* Großzügiger, redaktioneller Rhythmus */
.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(8n+1) {
    grid-column:span 8;
    grid-row:span 2;
}

.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(8n+2),
.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(8n+3) {
    grid-column:span 4;
}

.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(8n+4) {
    grid-column:span 5;
}

.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(8n+5) {
    grid-column:span 7;
}

.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image img {
    width:100% !important;
    height:100% !important;
    max-width:none;
    object-fit:cover;
    display:block;
    filter:saturate(.82) contrast(1.04);
    transform:scale(1.002);
    transition:transform .55s ease, filter .4s ease;
}

.page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:hover img {
    filter:saturate(1) contrast(1.02);
    transform:scale(1.035);
}

.page-id-17 .wp-block-gallery.has-nested-images figcaption {
    z-index:2;
    padding:50px 18px 16px;
    color:#fff;
    font-size:12px;
    line-height:1.4;
    text-align:left;
    background:linear-gradient(transparent,rgba(0,0,0,.82));
}

@media(max-width:900px) {
    .page-id-17 .standard-page {
        padding-top:150px;
    }

    .page-id-17 .standard-page > p {
        margin-bottom:65px;
    }

    .page-id-17 .wp-block-gallery.has-nested-images {
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-auto-rows:300px;
        gap:4px;
        padding:0 4px;
    }

    .page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image,
    .page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(n) {
        grid-column:span 1;
        grid-row:span 1;
    }

    .page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(5n+1) {
        grid-column:span 2;
        grid-row:span 2;
    }
}

@media(max-width:560px) {
    .page-id-17 .standard-page {
        padding-top:125px;
    }

    .page-id-17 .standard-page > h1:first-child {
        padding:0 6vw;
        font-size:clamp(60px,22vw,92px);
    }

    .page-id-17 .standard-page > p {
        margin:30px 0 55px;
        padding:0 6vw;
        font-size:17px;
    }

    .page-id-17 .wp-block-gallery.has-nested-images {
        display:block !important;
    }

    .page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image,
    .page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(n) {
        width:100% !important;
        height:310px;
        margin:0 0 4px !important;
    }

    .page-id-17 .wp-block-gallery.has-nested-images > figure.wp-block-image:nth-child(5n+1) {
        height:430px;
    }
}

/* =====================================================
   BARON EDITORIAL PAGES V1 — Jobs, Kontakt, Probetraining
   ===================================================== */

.baron-editorial-page {
    background:#090909;
    color:#fff;
}

.baron-editorial-hero {
    position:relative;
    min-height:68vh;
    padding:180px 7vw 85px;
    display:flex;
    align-items:flex-end;
    background-color:#111;
    background-position:center;
    background-size:cover;
}

.baron-editorial-hero::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 58%);
}

.baron-editorial-hero-content {
    position:relative;
    z-index:1;
    max-width:1200px;
}

.baron-editorial-hero h1 {
    margin:30px 0 0;
    color:#fff;
    font-size:clamp(70px,12vw,175px);
    font-weight:900;
    line-height:.76;
    letter-spacing:-.07em;
    text-transform:uppercase;
}

.baron-editorial-section {
    padding:120px 7vw;
    background:#f1f1ed;
    color:#111;
}

.baron-editorial-content {
    max-width:1050px;
    margin:0 auto;
}

.baron-editorial-content .baron-lead {
    max-width:850px;
    margin:0 0 65px;
    color:#111;
    font-size:clamp(23px,2.5vw,33px);
    font-weight:700;
    line-height:1.48;
}

.baron-editorial-content h2 {
    margin:90px 0 28px;
    color:#111;
    font-size:clamp(40px,6vw,78px);
    line-height:.9;
    letter-spacing:-.05em;
    text-transform:uppercase;
}

.baron-editorial-content h3 {
    margin:45px 0 18px;
    color:#111;
    font-size:clamp(25px,3vw,38px);
    text-transform:uppercase;
}

.baron-editorial-content p,
.baron-editorial-content li {
    color:#333;
    font-size:18px;
    line-height:1.75;
}

.baron-editorial-content a:not(.cta) {
    color:#b51218;
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:4px;
}

.baron-editorial-content .wp-block-separator {
    width:100%;
    margin:80px 0;
    border:0;
    border-top:1px solid #c9c9c4;
}

.baron-facts {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:3px;
    margin:45px 0 20px;
}

.baron-fact {
    padding:38px;
    background:#e5e5e0;
}

.baron-fact strong {
    display:block;
    margin-bottom:10px;
    color:#d71920;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.baron-fact p {
    margin:0;
    color:#111;
    font-size:19px;
}

.baron-contact-number {
    margin:0 0 45px;
    font-size:clamp(42px,7vw,90px) !important;
    font-weight:900;
    line-height:.95 !important;
    letter-spacing:-.05em;
}

.baron-contact-number a {
    color:#111 !important;
    text-decoration:none !important;
}

.baron-trial-form-wrap {
    margin-top:65px;
    padding:55px;
    background:#111;
    color:#fff;
}

.baron-trial-form-wrap p {
    margin:0;
}

.baron-form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}

.baron-form-wide {
    grid-column:1 / -1;
}

.baron-trial-form label {
    display:block;
    margin-bottom:9px;
    color:#ddd;
    font-size:12px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.baron-trial-form input[type="text"],
.baron-trial-form input[type="email"],
.baron-trial-form input[type="tel"],
.baron-trial-form select {
    width:100%;
    min-height:56px;
    padding:13px 15px;
    border:1px solid #c8c8c2;
    border-radius:0;
    background:#f3f3ef;
    color:#111;
    color-scheme:light;
    font:inherit;
}

.baron-trial-form input[type="text"]:hover,
.baron-trial-form input[type="email"]:hover,
.baron-trial-form input[type="tel"]:hover,
.baron-trial-form select:hover {
    border-color:#fff;
    background:#fff;
}

.baron-trial-form input:focus,
.baron-trial-form select:focus {
    border-color:#d71920;
    background:#fff;
    color:#111;
    outline:3px solid rgba(215,25,32,.28);
    outline-offset:2px;
}

.baron-trial-form select option {
    background:#fff;
    color:#111;
}

.baron-trial-form .baron-consent {
    margin:32px 0 26px;
}

.baron-trial-form .baron-consent label {
    display:flex;
    gap:12px;
    align-items:flex-start;
    color:#d7d7d7;
    font-size:13px;
    font-weight:400;
    line-height:1.55;
    letter-spacing:0;
    text-transform:none;
}

.baron-trial-form .baron-consent input {
    margin-top:4px;
}

.baron-trial-form .baron-consent a {
    color:#fff;
}

.baron-required {
    margin-top:14px !important;
    color:#aaa !important;
    font-size:11px !important;
}

.baron-form-message {
    margin-bottom:30px;
    padding:18px 20px;
    border-left:4px solid #d71920;
    background:#222;
    color:#fff;
    line-height:1.55;
}

.baron-form-success {
    border-left-color:#5fa75f;
}

.baron-honeypot {
    position:absolute !important;
    left:-10000px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
}

@media(max-width:800px) {
    .baron-editorial-hero {
        min-height:58vh;
        padding:150px 6vw 65px;
    }

    .baron-editorial-section {
        padding:80px 6vw;
    }

    .baron-facts,
    .baron-form-grid {
        grid-template-columns:1fr;
    }

    .baron-form-wide {
        grid-column:auto;
    }

    .baron-trial-form-wrap {
        margin-left:-6vw;
        margin-right:-6vw;
        padding:45px 6vw;
    }
}


/* ============================================================
   BARON 2.1 – dynamische Trainingszeiten auf Kursseiten
   Datenquelle: WordPress-Seite "Kurszeiten"
   ============================================================ */
.course-times {
    padding:90px 7vw;
    background:#f1f1ed;
    color:#111;
}
.course-times-head {
    display:grid;
    grid-template-columns:minmax(180px,.45fr) 1fr;
    gap:40px;
    align-items:start;
    margin-bottom:50px;
}
.course-times-head h2 {
    margin:0;
    font-size:clamp(48px,7vw,96px);
    line-height:.88;
    letter-spacing:-.055em;
}
.course-times-list {
    border-top:1px solid #bbb;
}
.course-times-day {
    display:grid;
    grid-template-columns:minmax(140px,220px) 1fr;
    border-bottom:1px solid #bbb;
}
.course-times-day h3 {
    margin:0;
    padding:25px 25px 25px 0;
    font-size:17px;
    text-transform:uppercase;
}
.course-times-entries {
    border-left:1px solid #bbb;
}
.course-times-row {
    display:grid;
    grid-template-columns:150px 1fr;
    gap:25px;
    padding:22px 25px;
    border-bottom:1px solid #d5d5cf;
}
.course-times-row:last-child { border-bottom:0; }
.course-times-row strong { font-variant-numeric:tabular-nums; }
.course-times-row span { font-weight:700; }
.course-times-row small {
    display:block;
    margin-top:4px;
    color:#666;
    font-size:13px;
    font-weight:400;
}
.course-times-all {
    margin:28px 0 0;
    font-weight:800;
}
.course-times-all a { color:inherit; }

@media(max-width:700px) {
    .course-times { padding:70px 6vw; }
    .course-times-head { display:block; }
    .course-times-head .section-label { margin-bottom:20px; }
    .course-times-day { display:block; }
    .course-times-day h3 { padding:24px 0 12px; }
    .course-times-entries { border-left:0; }
    .course-times-row {
        grid-template-columns:110px 1fr;
        padding:18px 0;
    }
}


/* BARON 2.3.2 – Listen in Kurstexten typografisch wie Fließtext */
.course-description ul,
.course-description ol,
.course-description li {
    font-size: inherit;
    line-height: inherit;
}

.course-description ul,
.course-description ol {
    margin-top: 1em;
    margin-bottom: 1em;
}

.course-description li {
    margin-bottom: 0.25em;
}


/* BARON 2.3.3 – Listen exakt wie Fließtext in .course-text
   2.3.2 verwendete irrtümlich .course-description. */
.course-text ul,
.course-text ol {
    color:#333;
    font-size:19px;
    line-height:1.75;
    max-width:760px;
    margin-top:1em;
    margin-bottom:1em;
    padding-left:1.6em;
}

.course-text li {
    color:#333;
    font-size:19px;
    line-height:1.75;
    margin:0;
}


/* BARON 2.3.4 – tatsächlicher Gutenberg-Kursinhalt
   page.php: <article class="course-editor-content"> */
.course-editor-content ul,
.course-editor-content ol {
    color:#333;
    max-width:760px;
    font-size:19px;
    line-height:1.75;
    padding-left:1.6em;
    margin-top:1em;
    margin-bottom:1em;
}

.course-editor-content li {
    color:#333;
    font-size:19px;
    line-height:1.75;
    margin:0;
}
