/*
 * FITfactory refinements
 * Customer-focused pricing, a calmer desktop header, a shorter home-page
 * rhythm, and a full-screen mobile navigation.
 */

/* Keep the desktop navigation readable on one line. */
@media (min-width: 1050px) {
  .site-header {
    height: 96px;
  }

  .site-header .logo img {
    width: 250px;
    max-height: 86px;
    object-fit: contain;
  }

  .site-header .logo {
    flex: 0 0 auto;
  }

  .main-nav {
    gap: 2px;
  }

  .main-nav > a:not(.button) {
    padding-inline: 7px;
    font-size: 0.86rem;
    white-space: nowrap;
  }
}

/* Optimise the hero and header for common laptop-sized screens. */
@media (min-width: 1050px) and (max-width: 1320px) {
  .site-header {
    gap: 18px;
    height: 96px;
    padding-inline: 20px;
  }

  .site-header .logo img {
    width: 240px;
    max-height: 84px;
  }

  .main-nav > a:not(.button) {
    padding: 9px 6px;
    font-size: 0.82rem;
  }

  .nav-cta {
    min-height: 44px;
    margin-left: 4px;
    padding: 10px 14px;
    font-size: 0.88rem;
  }

  .home-hero {
    padding: 44px 0 42px;
  }

  .hero-layout {
    grid-template-columns: 0.9fr 1.1fr;
    gap: 42px;
  }

  .hero-copy h1 {
    margin-bottom: 18px;
    font-size: clamp(4.7rem, 7.5vw, 5.6rem);
  }

  .hero-copy .lead {
    line-height: 1.5;
  }

  .hero-media {
    min-height: 560px;
  }

  .fight-hero-link {
    margin-top: 16px;
  }

  .hero-facts {
    margin-top: 18px;
  }
}

/* Keep the enlarged brand mark without crowding very narrow laptops. */
@media (min-width: 1050px) and (max-width: 1179px) {
  .site-header {
    gap: 10px;
    height: 90px;
    padding-inline: 14px;
  }

  .site-header .logo img {
    width: 205px;
    max-height: 76px;
  }

  .main-nav > a:not(.button) {
    padding-inline: 5px;
    font-size: 0.75rem;
  }

  .nav-cta {
    padding-inline: 11px;
    font-size: 0.8rem;
  }
}

/* Turn the mobile menu into a complete, branded screen. */
@media (max-width: 1049px) {
  .site-header .logo,
  .site-header .menu-button {
    position: relative;
    z-index: 102;
  }

  .main-nav.open {
    position: fixed;
    z-index: 101;
    inset: 0;
    display: grid;
    align-content: start;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    padding: 88px 18px 24px;
    overflow-y: auto;
    border: 0;
    background:
      radial-gradient(circle at 85% 8%, rgba(155, 63, 189, 0.3), transparent 28%),
      #111115;
    box-shadow: none;
  }

  .main-nav.open > a:not(.button) {
    padding-block: 10px;
  }

  .main-nav.open .nav-cta {
    margin-top: 12px;
  }
}

/* Make the two starting prices the visual focus of each location card. */
.price-card-grid article {
  position: relative;
  overflow: hidden;
}

.price-card-grid article::before {
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  content: "";
  background: linear-gradient(90deg, var(--purple), var(--purple-light));
}

.price-card-grid ul {
  display: grid;
  gap: 10px;
  padding-left: 0;
  list-style: none;
}

.price-card-grid li {
  margin: 0;
}

.price-card-grid li:nth-child(-n + 2) {
  padding: 14px 16px;
  border: 1px solid rgba(155, 63, 189, 0.28);
  border-radius: 10px;
  background: #f7f1f9;
  color: #2d1733;
  font-weight: 850;
}

.price-card-grid li:nth-child(n + 3) {
  position: relative;
  padding-left: 22px;
}

.price-card-grid li:nth-child(n + 3)::before {
  position: absolute;
  left: 0;
  color: var(--purple);
  content: "✓";
  font-weight: 900;
}

/* Preserve all useful content while making the long home page feel tighter. */
.home-hero + .brand-creed {
  padding-block: 38px;
}

.home-hero ~ .section {
  padding-block: 60px;
}

.home-hero ~ .youth-home,
.home-hero ~ .fight-home {
  padding-block: 64px;
}

@media (max-width: 699px) {
  .home-hero ~ .section {
    padding-block: 54px;
  }

  .home-hero ~ .youth-home,
  .home-hero ~ .fight-home {
    padding-block: 56px;
  }
}
/* Deutschlandsberg Sommeraktion 2026: passende Kampagnengrafik je Bildschirmformat */
.action-hero-sommer-dlbg::before {
  content: "";
  display: block;
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto 38px;
  aspect-ratio: 9 / 16;
  background-image: url("/photos/sommer-macht-vorsprung-deutschlandsberg-9x16.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

.action-hero-grid > * {
  min-width: 0;
}

.action-status {
  max-width: 100%;
  white-space: normal;
}

@media (min-width: 431px) and (max-width: 699px) {
  .action-hero-sommer-dlbg::before {
    aspect-ratio: 4 / 5;
    background-image: url("/photos/sommer-macht-vorsprung-deutschlandsberg-4x5.webp");
  }
}

@media (min-width: 700px) {
  .action-hero-sommer-dlbg::before {
    width: min(1180px, calc(100% - 48px));
    margin-bottom: 48px;
    aspect-ratio: 1 / 1;
    background-image: url("/photos/sommer-macht-vorsprung-deutschlandsberg-1x1.webp");
  }
}

@media (min-width: 1000px) {
  .action-hero-sommer-dlbg::before {
    aspect-ratio: 16 / 9;
    background-image: url("/photos/sommer-macht-vorsprung-deutschlandsberg-16x9.webp");
  }
}

/* Feldbach Sommeraktion 2026: passende Kampagnengrafik je Bildschirmformat */
.action-hero-sommer-feldbach::before {
  content: "";
  display: block;
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto 38px;
  aspect-ratio: 9 / 16;
  background-image: url("/photos/sommer-macht-vorsprung-feldbach-9x16.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

@media (min-width: 431px) and (max-width: 699px) {
  .action-hero-sommer-feldbach::before {
    aspect-ratio: 4 / 5;
    background-image: url("/photos/sommer-macht-vorsprung-feldbach-4x5.webp");
  }
}

@media (min-width: 700px) {
  .action-hero-sommer-feldbach::before {
    width: min(1180px, calc(100% - 48px));
    margin-bottom: 48px;
    aspect-ratio: 1 / 1;
    background-image: url("/photos/sommer-macht-vorsprung-feldbach-1x1.webp");
  }
}

@media (min-width: 1000px) {
  .action-hero-sommer-feldbach::before {
    aspect-ratio: 16 / 9;
    background-image: url("/photos/sommer-macht-vorsprung-feldbach-16x9.webp");
  }
}

/* Visuelle Vorschau der aktuellen Sommeraktion auf beiden Standortseiten */
.location-action-deutschlandsberg > div,
.location-action-feldbach > div {
  grid-row: 1;
}

.location-action-deutschlandsberg::before,
.location-action-feldbach::before {
  content: "";
  display: block;
  grid-row: 2;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 13px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.3);
}

.location-action-deutschlandsberg::before {
  background-image: url("/photos/sommer-macht-vorsprung-deutschlandsberg-16x9.webp");
}

.location-action-feldbach::before {
  background-image: url("/photos/sommer-macht-vorsprung-feldbach-16x9.webp");
}

.location-action-deutschlandsberg .button,
.location-action-feldbach .button {
  grid-row: 3;
}

/* Die zentrale Aktionsübersicht zeigt beide laufenden Kampagnen direkt. */
.action-overview-card::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 22px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 13px;
  box-shadow: 0 12px 30px rgba(17, 17, 21, 0.16);
}

.action-overview-card:nth-child(1)::before {
  background-image: url("/photos/sommer-macht-vorsprung-deutschlandsberg-16x9.webp");
}

.action-overview-card:nth-child(2)::before {
  background-image: url("/photos/sommer-macht-vorsprung-feldbach-16x9.webp");
}

@media (min-width: 700px) {
  .location-action-deutschlandsberg,
  .location-action-feldbach {
    grid-template-columns: minmax(0, 1fr) 156px auto;
    gap: 24px;
  }

  .location-action-deutschlandsberg > div,
  .location-action-feldbach > div {
    grid-column: 1;
    grid-row: 1;
  }

  .location-action-deutschlandsberg::before,
  .location-action-feldbach::before {
    grid-column: 2;
    grid-row: 1;
    width: 156px;
    aspect-ratio: 1 / 1;
  }

  .location-action-deutschlandsberg::before {
    background-image: url("/photos/sommer-macht-vorsprung-deutschlandsberg-1x1.webp");
  }

  .location-action-feldbach::before {
    background-image: url("/photos/sommer-macht-vorsprung-feldbach-1x1.webp");
  }

  .location-action-deutschlandsberg .button,
  .location-action-feldbach .button {
    grid-column: 3;
    grid-row: 1;
  }
}


/* FITfactory Training v13 */
.training-hero-v13{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(36px,7vw,96px);align-items:center;padding-top:clamp(44px,7vw,90px);padding-bottom:clamp(64px,8vw,110px)}
.training-hero-v13 h1{max-width:760px;margin:12px 0 22px;font-size:clamp(3.2rem,7.4vw,6.8rem);line-height:.95;letter-spacing:-.045em}
.training-hero-v13 h1 em{color:var(--purple);font-style:normal}
.training-hero-v13 .lead{max-width:720px}
.training-hero-media{margin:0}
.training-hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 58%;border-radius:24px;box-shadow:0 28px 70px #11111533}
.training-hero-media figcaption,.method-feature-v13 figcaption,.app-visual-v13 figcaption{margin-top:10px;color:#6b6570;font-size:.82rem}
.section-heading-v13{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:40px;align-items:end;margin-bottom:30px}
.section-heading-v13 h2{max-width:720px;margin:8px 0 0}
.section-heading-v13>p{max-width:620px;margin:0;color:#5f5964}
.training-areas-v13{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.area-card-v13{min-height:230px;padding:26px;border:1px solid #ddd7df;border-radius:16px;background:#fff;box-shadow:0 10px 28px #1111150d}
.area-card-v13.featured{color:#fff;border-color:#85329b;background:linear-gradient(145deg,#5d146c,#8e218f)}
.area-card-v13>span{color:var(--purple);font-family:var(--font-barlow-condensed);font-weight:800}
.area-card-v13.featured>span{color:#f4c9ff}
.area-card-v13 h3{margin:34px 0 8px;font-size:1.75rem}
.area-card-v13 p{margin:0;color:#5f5964}
.area-card-v13.featured p{color:#f8ecfa}
.egym-story-v13{color:#fff;background:radial-gradient(circle at 86% 14%,#8e218f52,transparent 30%),#111115;padding:clamp(72px,9vw,126px) 0}
.egym-story-v13 .eyebrow{color:#d889e1}
.egym-intro-v13{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:clamp(36px,8vw,110px);align-items:start}
.egym-intro-v13 h2{max-width:820px;margin:10px 0 0;font-size:clamp(3rem,6vw,5.7rem);line-height:.9}
.egym-intro-v13 p{color:#d7d1d9}
.egym-process-v13{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:58px}
.egym-process-v13 article{padding:24px;border:1px solid #ffffff2e;border-radius:14px;background:#ffffff0a}
.egym-process-v13 b{color:#d889e1;font-family:var(--font-barlow-condensed)}
.egym-process-v13 h3{margin:25px 0 8px;font-size:1.5rem}
.egym-process-v13 p{margin:0;color:#cfc8d1;font-size:.94rem}
.smart-strength-gallery-v15{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}
.smart-strength-gallery-v15 figure{margin:0;overflow:hidden;border:1px solid #ffffff2e;border-radius:16px;background:#19191f}
.smart-strength-gallery-v15 img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.smart-strength-gallery-v15 figure:first-child img{object-position:center 48%}
.smart-strength-gallery-v15 figure:last-child img{object-position:center 45%}
.smart-strength-gallery-v15 figcaption{padding:13px 16px;color:#cfc8d1;font-size:.82rem}
.program-grid-v13{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.program-grid-v13 article{padding:22px;border-top:4px solid var(--purple);border-radius:4px 4px 14px 14px;background:#f4f1f5}
.program-grid-v13 h3{margin:0 0 8px;font-size:1.45rem}
.program-grid-v13 p{margin:0;color:#5f5964;font-size:.93rem}
.availability-note-v13{margin:22px 0 0;padding:14px 18px;border-left:4px solid var(--purple);background:#f8f4f9;color:#5f5964}
.method-feature-v13{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(42px,8vw,110px);align-items:center}
.method-feature-v13 figure{margin:0;padding:22px;border-radius:22px;background:#f3f0f4}
.method-feature-v13 figure img{width:100%;height:auto;display:block}
.method-feature-v13 h2{margin:10px 0 18px}
.method-list-v13{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px 0}
.method-list-v13>div{padding:15px;border:1px solid #ddd7df;border-radius:11px}
.method-list-v13 dt{font-family:var(--font-barlow-condensed);font-size:1.25rem;font-weight:800}
.method-list-v13 dd{margin:5px 0 0;color:#5f5964;font-size:.9rem}
.egym-app-v13{padding:clamp(72px,9vw,120px) 0;background:linear-gradient(145deg,#f5edf7,#fff 52%,#efeaf1)}
.app-layout-v13{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(46px,8vw,110px);align-items:center}
.app-copy-v13 h2{margin:10px 0 18px;font-size:clamp(3rem,6vw,5.4rem);line-height:.9}
.app-features-v13{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px 0}
.app-features-v13 article{padding:18px;border:1px solid #ddd7df;border-radius:13px;background:#ffffffc9}
.app-features-v13 h3{margin:0 0 6px;font-size:1.35rem}
.app-features-v13 p{margin:0;color:#5f5964;font-size:.9rem}
.app-visual-v13{margin:0;text-align:center}
.app-visual-v13 img{width:min(100%,520px);height:auto;filter:drop-shadow(0 30px 30px #40114b35)}
.app-visual-v13 figcaption{max-width:430px;margin:8px auto 0}
.real-training-gallery-v15{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.real-training-gallery-v15 figure{margin:0;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 18px 45px #11111517}
.real-training-gallery-v15 img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.real-training-gallery-v15 figure:first-child img{object-position:center 48%}
.real-training-gallery-v15 figure:last-child img{object-position:center 50%}
.real-training-gallery-v15 figcaption{padding:13px 16px;color:#6b6570;font-size:.82rem}
@media(max-width:980px){
  .training-hero-v13,.egym-intro-v13,.method-feature-v13,.app-layout-v13,.section-heading-v13{grid-template-columns:1fr}
  .training-hero-media{max-width:720px}
  .training-areas-v13{grid-template-columns:repeat(2,minmax(0,1fr))}
  .program-grid-v13{grid-template-columns:repeat(2,minmax(0,1fr))}
  .egym-process-v13{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-visual-v13{order:-1}
  .app-visual-v13 img{max-height:580px;width:auto;max-width:100%}
}
@media(max-width:620px){
  .training-hero-v13{padding-top:34px}
  .training-hero-v13 h1{font-size:clamp(3rem,16vw,4.5rem)}
  .training-areas-v13,.program-grid-v13,.egym-process-v13,.method-list-v13,.app-features-v13,.smart-strength-gallery-v15,.real-training-gallery-v15{grid-template-columns:1fr}
  .area-card-v13{min-height:0}
  .area-card-v13 h3{margin-top:20px}
  .egym-intro-v13 h2,.app-copy-v13 h2{font-size:clamp(2.8rem,14vw,4.3rem)}
}

/* FITfactory EGYM Fitness Hub v14 */
.fitness-hub-v14{background:#f3f0f4}
.fitness-hub-hero-v14{position:relative;min-height:clamp(430px,49vw,620px);display:flex;align-items:center;overflow:hidden;background:#111115}
.fitness-hub-hero-v14>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.fitness-hub-hero-v14::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,17,21,.97) 0%,rgba(17,17,21,.86) 28%,rgba(17,17,21,.18) 61%,rgba(17,17,21,.04) 100%)}
.fitness-hub-hero-copy-v14{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));margin-inline:auto;padding-top:72px;padding-bottom:72px;color:#fff}
.fitness-hub-hero-copy-v14 .eyebrow{color:#d889e1}
.fitness-hub-hero-copy-v14 h2{max-width:760px;margin:10px 0 20px;font-size:clamp(3rem,6vw,5.7rem);line-height:.88}
.fitness-hub-hero-copy-v14>p:last-child{max-width:650px;margin:0;color:#e4dee6;font-size:1.08rem;line-height:1.62}
.fitness-hub-content-v14{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:clamp(48px,8vw,110px);align-items:center;padding-top:clamp(70px,9vw,120px);padding-bottom:clamp(70px,9vw,120px)}
.fitness-hub-copy-v14>h3{max-width:790px;margin:10px 0 22px;font-size:clamp(2.4rem,4.3vw,4.4rem);line-height:.94}
.fitness-hub-copy-v14>p:not(.eyebrow):not(.availability-note-v13){color:#5f5964}
.fitness-hub-steps-v14{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:30px 0}
.fitness-hub-steps-v14 article{padding:18px;border:1px solid #d8d1da;border-radius:13px;background:#fff}
.fitness-hub-steps-v14 b{color:var(--purple);font-family:var(--font-barlow-condensed)}
.fitness-hub-steps-v14 h4{margin:18px 0 6px;font-family:var(--font-barlow-condensed);font-size:1.3rem}
.fitness-hub-steps-v14 p{margin:0;color:#5f5964;font-size:.9rem}
.fitness-hub-visuals-v14{display:grid;gap:16px}
.fitness-hub-visuals-v14 figure{margin:0;padding:22px;border:1px solid #ddd7df;border-radius:20px;background:#fff;box-shadow:0 18px 45px #11111512}
.fitness-hub-visuals-v14 img{display:block;width:100%;height:auto}
.fitness-hub-visuals-v14 img{aspect-ratio:4/5;object-fit:cover}
.fitness-hub-visuals-v14 figcaption{margin-top:12px;color:#6b6570;font-size:.82rem;line-height:1.45}
@media(max-width:980px){
  .fitness-hub-content-v14{grid-template-columns:1fr}
  .fitness-hub-visuals-v14{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .fitness-hub-hero-v14{min-height:620px;align-items:flex-end}
  .fitness-hub-hero-v14>img{object-position:70% center}
  .fitness-hub-hero-v14::after{background:linear-gradient(0deg,rgba(17,17,21,.98) 3%,rgba(17,17,21,.82) 54%,rgba(17,17,21,.12) 100%)}
  .fitness-hub-hero-copy-v14{padding-top:250px;padding-bottom:52px}
  .fitness-hub-hero-copy-v14 h2{font-size:clamp(2.8rem,14vw,4.3rem)}
  .fitness-hub-steps-v14,.fitness-hub-visuals-v14{grid-template-columns:1fr}
}

/* FITfactory Originalfotos v15 */
.fight-page-photo img{object-position:center 42%}
.fight-photo-section-v15{padding-top:28px}
.fight-photo-grid-v15{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fight-photo-grid-v15 figure{margin:0;overflow:hidden;border:1px solid #ded8e0;border-radius:18px;background:#fff;box-shadow:0 18px 45px #11111517}
.fight-photo-grid-v15 img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.fight-photo-grid-v15 figure:first-child img{object-position:center 46%}
.fight-photo-grid-v15 figure:last-child img{object-position:center 44%}
.fight-photo-grid-v15 figcaption{padding:13px 16px;color:#6b6570;font-size:.82rem}
@media(max-width:620px){
  .fight-photo-grid-v15{grid-template-columns:1fr}
}

/* FIGHTfactory Mitgliedschaft v16 */
.fight-membership-highlight-v16{display:grid;gap:5px;margin:24px 0;padding:18px 20px;border:1px solid #d7a7e780;border-left:5px solid #d889e1;border-radius:12px;background:#ffffff0d}
.fight-membership-highlight-v16 strong{font-family:var(--font-barlow-condensed);font-size:1.55rem;line-height:1;text-transform:uppercase;color:#fff}
.fight-membership-highlight-v16 span{font-size:.92rem;line-height:1.5;color:#ddd6df}
.fight-membership-highlight-v16.compact{margin:20px 0}
.location-fight .fight-membership-highlight-v16{max-width:620px}
.fight-location-benefit-v16{margin:18px 0 0;padding:15px;border-left:4px solid var(--purple);background:#f5eff7;color:#403747}
.closing-copy-v16{max-width:690px;margin:-4px auto 24px;color:#f0e7f3}
.fight-price-highlight-v16{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin:28px 0;padding:30px;border-radius:18px;background:linear-gradient(125deg,#17151a,#4b175a);color:#fff}
.fight-price-highlight-v16 .eyebrow{color:#d889e1}
.fight-price-highlight-v16 h2{margin:8px 0 10px;font-size:clamp(2.4rem,5vw,4.2rem)}
.fight-price-highlight-v16 p{max-width:760px;margin:0;color:#d9d2dc}
@media(max-width:700px){
  .fight-price-highlight-v16{grid-template-columns:1fr}
  .fight-price-highlight-v16 .button{width:100%}
}
