.gymtv-home{--gt-bg:#0c1016;--gt-card:#19212c;--gt-text:#f5f7fb;--gt-muted:#b8c3d2;--gt-accent:#b6f34a;background:var(--gt-bg);color:var(--gt-text);font-family:Arial,sans-serif;line-height:1.65;border-radius:24px;overflow:hidden}.gymtv-home *{box-sizing:border-box}.gymtv-home .gt-wrap{max-width:1160px;margin:auto;padding:0 32px}.gymtv-home .gt-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid #ffffff18}.gymtv-home .gt-logo{font-size:23px;font-weight:900;letter-spacing:-1px}.gymtv-home .gt-logo span{color:var(--gt-accent)}.gymtv-home a{color:inherit}.gymtv-home .gt-navlinks{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.gymtv-home .gt-navlinks a{text-decoration:none;font-size:14px}.gymtv-home section{padding:70px 0}.gymtv-home h1,.gymtv-home h2,.gymtv-home h3{color:var(--gt-text);font-family:inherit;font-weight:800;line-height:1.15;margin:0 0 20px}.gymtv-home h1{font-size:clamp(34px,4.4vw,60px);letter-spacing:-2px}.gymtv-home h2{font-size:clamp(28px,3vw,40px);letter-spacing:-1px}.gymtv-home h3{font-size:21px}.gymtv-home p{margin:0 0 18px;color:var(--gt-muted)}.gymtv-home .gt-kicker{font-size:12px;font-weight:800;color:var(--gt-accent);letter-spacing:2px;text-transform:uppercase}.gymtv-home .gt-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center}.gymtv-home .gt-lead{font-size:19px;max-width:600px}.gymtv-home .gt-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.gymtv-home .gt-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;background:var(--gt-accent);color:#101319;font-weight:700;border-radius:9px;text-decoration:none;border:1px solid transparent}.gymtv-home .gt-btn-alt{color:var(--gt-text);background:transparent;border-color:#526073}.gymtv-home a:focus-visible,.gymtv-home summary:focus-visible{outline:3px solid var(--gt-accent);outline-offset:5px}.gymtv-home .gt-screen{background:#030508;border:8px solid #2b3544;border-radius:16px;box-shadow:0 25px 65px #0006;aspect-ratio:16/10;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-2deg)}.gymtv-home .gt-screen strong{font-size:clamp(27px,3vw,44px);line-height:1.15}.gymtv-home .gt-screen small{color:var(--gt-muted)}.gymtv-home .gt-course{background:#b6f34a;color:#101319;padding:15px;border-radius:8px}.gymtv-home .gt-course b{font-size:20px}.gymtv-home .gt-example{font-size:12px;margin-top:15px;text-align:center}.gymtv-home .gt-strip{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:25px 0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;font-size:14px;font-weight:700}.gymtv-home .gt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.gymtv-home .gt-card{padding:27px;background:var(--gt-card);border:1px solid #ffffff12;border-radius:15px}.gymtv-home .gt-card p:last-child{margin:0}.gymtv-home .gt-number{color:var(--gt-accent);font-size:30px;font-weight:800;display:block;margin-bottom:16px}.gymtv-home .gt-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.gymtv-home ul{padding-left:20px;color:var(--gt-muted)}.gymtv-home li{margin:10px 0}.gymtv-home .gt-panel{border-top:1px solid #ffffff18}.gymtv-home .gt-price{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:34px;background:var(--gt-card);border-radius:18px;border:1px solid #b6f34a55;margin-top:28px}.gymtv-home .gt-price-label{font-size:30px;font-weight:800;color:var(--gt-accent)}.gymtv-home details{border-bottom:1px solid #ffffff20;padding:20px 0}.gymtv-home summary{cursor:pointer;font-weight:700;font-size:18px}.gymtv-home details p{margin:15px 0 0}.gymtv-home .gt-contact{background:linear-gradient(120deg,#253425,#18212c);border-radius:18px;padding:40px}.gymtv-home .gt-small{font-size:13px}.gymtv-home .gt-contact-note{padding:12px 16px;border:1px dashed #85936d;border-radius:8px}.gymtv-home .gt-end{padding:24px 0;color:var(--gt-muted);font-size:13px;border-top:1px solid #ffffff18}@media(max-width:850px){.gymtv-home .gt-hero,.gymtv-home .gt-split,.gymtv-home .gt-price{grid-template-columns:1fr}.gymtv-home .gt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gymtv-home section{padding:45px 0}.gymtv-home .gt-screen{transform:none;max-width:550px}.gymtv-home .gt-nav{align-items:flex-start}.gymtv-home .gt-navlinks{gap:12px}}@media(max-width:550px){.gymtv-home .gt-wrap{padding:0 20px}.gymtv-home .gt-grid{grid-template-columns:1fr}.gymtv-home .gt-nav{flex-direction:column}.gymtv-home .gt-contact,.gymtv-home .gt-price{padding:24px}.gymtv-home h1{letter-spacing:-1px}}
/* Abstand unter dem Joomla-Seiten-/Beitragstitel */
.gymtv-home{margin-top:28px}
/* Eigenes HTML-Modul in der bestehenden Kopf-/Menueposition */
.gt-header-menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 22px;padding:12px 0;font-family:Arial,sans-serif}
.gt-header-menu a{color:#f5f7fb;text-decoration:none;font-size:15px}
.gt-header-menu a:hover{color:#b6f34a}
.gt-header-menu a:focus-visible{outline:3px solid #b6f34a;outline-offset:4px}
@media(max-width:600px){.gt-header-menu{justify-content:center;gap:12px 16px}.gymtv-home{margin-top:22px}}

/* Abstand unter dem Joomla-Seiten-/Beitragstitel */
.gymtv-home{margin-top:28px}
/* Eigenes HTML-Modul in der bestehenden Kopf-/Menueposition */
.gt-header-menu{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 22px;padding:12px 0;font-family:Arial,sans-serif}
.gt-header-menu a{color:#f5f7fb;text-decoration:none;font-size:15px}
.gt-header-menu a:hover{color:#b6f34a}
.gt-header-menu a:focus-visible{outline:3px solid #b6f34a;outline-offset:4px}
@media(max-width:600px){.gt-header-menu{justify-content:center;gap:12px 16px}.gymtv-home{margin-top:22px}}


/* 1. Nur Erfolgsmeldungen ausblenden */

.alert-success, 
.alert-info {
    display: none !important;
}


/* 1. Alle Systemmeldungen komplett ausblende */
#system-message-container {
    display: none !important;
}


/* 1. Header-Breite und Ausrichtung exakt an den Inhalts-Container anpassen */
.header {
  max-width: 1300px; /* Anpassen, falls dein Container eine andere Max-Breite hat */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

/* 2. Logo bündig an den linken Rand setzen */
.header .navbar-brand,
.header .brand-logo,
.header .logo {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* 3. Menü direkt mit Abstand neben das Logo setzen */
.header .container-nav,
.header .mod-menu,
.header nav {
  margin-left: 30px !important; /* Gewünschter Abstand zwischen Logo und Menü */
  margin-right: 0 !important;
  padding-left: 0 !important;
}

/* 4. Hamburger-Menü für Smartphones (unter 992px) rechtsbündig halten */
@media (max-width: 991.98px) {
  .header {
    justify-content: space-between !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .header .container-nav {
    margin-left: auto !important;
  }
}
/* Container und Basis der Joomla-Alerts */
#system-message-container joomla-alert {
    background-color: transparent !important;
}

/* Der weiße Innenbereich (.alert-wrapper) auf dunkel umstellen */
#system-message-container joomla-alert .alert-wrapper {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border: 1px solid #333333 !important;
}

/* Text in der Nachricht selbst */
#system-message-container joomla-alert .alert-message {
    color: #ffffff !important;
}

/* --- Spezifische Farben je nach Nachrichtentyp --- */

/* Success (Erfolgsmeldung wie im Screenshot) */
#system-message-container joomla-alert[type="success"] .alert-wrapper {
    background-color: #0f2b1a !important;
    border-color: #1b4d2e !important;
    color: #85e89d !important;
}
#system-message-container joomla-alert[type="success"] .alert-heading {
    background-color: #1b4d2e !important;
}
#system-message-container joomla-alert[type="success"] .alert-message {
    color: #85e89d !important;
}

/* Warning (Warnung/Hinweis) */
#system-message-container joomla-alert[type="warning"] .alert-wrapper {
    background-color: #2a2000 !important;
    border-color: #b88600 !important;
    color: #ffcc00 !important;
}
#system-message-container joomla-alert[type="warning"] .alert-heading {
    background-color: #b88600 !important;
}
#system-message-container joomla-alert[type="warning"] .alert-message {
    color: #ffcc00 !important;
}

/* Danger / Error (Fehler) */
#system-message-container joomla-alert[type="danger"] .alert-wrapper,
#system-message-container joomla-alert[type="error"] .alert-wrapper {
    background-color: #310c0c !important;
    border-color: #7d1d1d !important;
    color: #ff8e8e !important;
}
#system-message-container joomla-alert[type="danger"] .alert-heading,
#system-message-container joomla-alert[type="error"] .alert-heading {
    background-color: #7d1d1d !important;
}
#system-message-container joomla-alert[type="danger"] .alert-message,
#system-message-container joomla-alert[type="error"] .alert-message {
    color: #ff8e8e !important;
}

/* Schließen-Button (X) auf hellem/dunklem Hintergrund anpassen */
#system-message-container joomla-alert .joomla-alert--close {
    color: #ffffff !important;
    opacity: 0.8;
}


/* =========================================
   1. LOGIN-FORMULAR (Rahmen & Boxen entfernen)
   ========================================= */

.login-initial,
.login,
.card,
.well,
div.card,
.card-body,
.com-users-login,
.com-users-login__login {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
}


/* =========================================
   2. FOOTER (Extrem flach & vertikal zentriert)
   ========================================= */

/* Haupt-Container des Footers */
.container-footer,
footer.footer,
.site-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;

    /* Flexbox für exakte vertikale Zentrierung */
    display: flex !important;
    align-items: center !important;

    /* Symmetrische Abstände oben/unten */
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin: 0 !important;
    min-height: 50px !important;
    height: auto !important;
}

/* Alle inneren Platzhalter, Abstände & Grid-Elemente im Footer zurücksetzen */
.container-footer *,
footer.footer * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

/* Menü-Liste nebeneinander anordnen & zentrieren */
.container-footer .mod-menu,
.container-footer ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 25px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.container-footer .mod-menu li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Links im Footer vertikal ausrichten & vertikale Ränder neutralisieren */
.container-footer a {
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
}


/* =========================================
   3. SEITENABSTAND (Platz für Footer schaffen)
   ========================================= */

body {
    padding-bottom: 50px !important;
}
/* GYM-TV Demovideo */
.gymtv-home .gt-screen.gt-screen-video{padding:0;overflow:hidden;aspect-ratio:16/9;display:block}
.gymtv-home .gt-demo-video{display:block;width:100%;height:100%;object-fit:contain;background:#030508}

/* Groesseres, gerades Demovideo und Smartphone-Anpassungen */
.gymtv-home .gt-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:32px}
.gymtv-home .gt-hero>div{min-width:0}
.gymtv-home .gt-screen.gt-screen-video{transform:none!important;max-width:none!important;width:100%;padding:0!important;aspect-ratio:16/9;border-width:5px}
.gymtv-home .gt-screen.gt-screen-video .gt-demo-video{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:block;object-fit:contain;margin:0!important}
.gymtv-home .gt-price-label{overflow-wrap:anywhere}
.gt-header-menu{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.gt-header-menu a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;text-decoration:none;color:#f5f7fb}
@media(max-width:850px){
 .gymtv-home .gt-hero{grid-template-columns:minmax(0,1fr);gap:28px}
 .gymtv-home .gt-wrap{padding:0 22px}
 .gymtv-home section{padding:40px 0}
 .gymtv-home .gt-screen.gt-screen-video{margin:0 auto}
}
@media(max-width:600px){
 .header{flex-wrap:wrap!important;gap:12px!important;width:100%!important;max-width:100%!important;padding:16px!important;box-sizing:border-box}
 .header .navbar-brand,.header .brand-logo,.header .logo{max-width:100%;margin:0!important}
 .header .container-nav{flex-basis:100%;width:100%;margin:0!important;min-width:0}
 .header nav.gt-header-menu{margin:0!important;padding:0!important;justify-content:flex-start;width:100%;gap:4px 16px}
 .header img{max-width:100%;height:auto}
 .gymtv-home{border-radius:18px}
 .gymtv-home .gt-wrap{padding:0 18px}
 .gymtv-home h1{font-size:clamp(30px,8.5vw,40px);letter-spacing:-1px;overflow-wrap:break-word}
 .gymtv-home h2{font-size:28px;overflow-wrap:break-word}
 .gymtv-home .gt-lead{font-size:17px}
 .gymtv-home .gt-actions{display:grid;grid-template-columns:1fr}
 .gymtv-home .gt-btn{white-space:normal;text-align:center;min-height:44px}
 .gymtv-home .gt-grid{grid-template-columns:minmax(0,1fr)}
 .gymtv-home .gt-card{padding:22px}
 .gymtv-home .gt-contact{padding:24px 20px}
 .gymtv-home summary{font-size:17px;line-height:1.4}
 .gymtv-home .gt-strip{gap:12px;flex-direction:column}
}

/* Monatliche / jaehrliche Abrechnung */
.gymtv-prices [hidden]{display:none!important}
.gt-billing-toggle{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 12px}
.gt-billing-toggle button{border:1px solid #526073;border-radius:9px;background:#19212c;color:#f5f7fb;padding:12px 18px;min-height:44px;font:700 15px Arial;cursor:pointer}
.gt-billing-toggle button[aria-pressed="true"]{background:#b6f34a;color:#101319;border-color:#b6f34a}
.gt-billing-toggle button:focus-visible{outline:3px solid #b6f34a;outline-offset:3px}
@media(max-width:550px){.gt-billing-toggle{display:grid;grid-template-columns:1fr;width:100%}}

/* Prozentuale Ersparnis hervorheben; Vergleichstext unveraendert */
.gymtv-prices .gt-savings-highlight{color:#ffd84d;font-weight:800}

/* Feature presentation and QR & Links */
.gymtv-home .gt-feature-tag{display:inline-block;margin-bottom:16px;padding:5px 10px;border:1px solid #b6f34a33;border-radius:999px;color:var(--gt-accent);font-size:11px;font-weight:700;letter-spacing:.3px}
.gymtv-home .gt-feature-grid .gt-card{background:linear-gradient(145deg,#202b38,var(--gt-card));transition:transform .2s ease,border-color .2s ease}
.gymtv-home .gt-qr-section>.gt-split{align-items:center}
.gymtv-home .gt-qr-journey{padding:28px;border:1px solid #b6f34a44;border-radius:18px;background:linear-gradient(145deg,#253425,#19212c)}
.gymtv-home .gt-qr-journey>div{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-top:1px solid #ffffff18}
.gymtv-home .gt-qr-journey>div>span{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--gt-accent);color:#101319;font-weight:800}
.gymtv-home .gt-qr-journey p{margin:0}.gymtv-home .gt-qr-journey strong{color:var(--gt-text)}
.gymtv-home .gt-qr-insight{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;padding:28px;margin-top:24px;border:1px solid #ffffff20;border-radius:15px;background:#ffffff04}
.gymtv-home .gt-qr-insight p:last-child{margin-bottom:0}
@media(hover:hover){.gymtv-home .gt-feature-grid .gt-card:hover{transform:translateY(-4px);border-color:#b6f34a66}}
@media(max-width:850px){.gymtv-home .gt-qr-insight{grid-template-columns:1fr;gap:16px}}
@media(max-width:550px){.gymtv-home .gt-qr-journey,.gymtv-home .gt-qr-insight{padding:22px}}
@media(prefers-reduced-motion:reduce){.gymtv-home .gt-feature-grid .gt-card{transition:none}.gymtv-home .gt-feature-grid .gt-card:hover{transform:none}}

/* Equal-height price cards with bottom-aligned enquiry buttons. */
.gymtv-prices>.gt-grid{align-items:stretch}
.gymtv-prices>.gt-grid>.gt-card{display:flex;flex-direction:column;min-width:0}
.gymtv-prices .gt-card>[data-inquiry-link]{margin-top:auto;align-self:flex-start;position:relative;isolation:isolate;overflow:hidden;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.gymtv-prices .gt-card>[data-inquiry-link]::after{content:"";position:absolute;inset:-40% auto -40% -75%;width:45%;background:linear-gradient(90deg,transparent,#ffffff38,transparent);transform:skewX(-20deg);pointer-events:none}
.gymtv-prices .gt-card>[data-inquiry-link]:focus-visible{outline:2px solid #b6f34a;outline-offset:4px}
@media(hover:hover){.gymtv-prices .gt-card>[data-inquiry-link]:hover{transform:translateY(-3px);border-color:#b6f34a;background-color:#b6f34a18;box-shadow:0 8px 22px #0003}.gymtv-prices .gt-card>[data-inquiry-link]:hover::after{animation:gt-price-shimmer .6s ease-out}}
@keyframes gt-price-shimmer{to{left:140%}}
@media(prefers-reduced-motion:reduce){.gymtv-prices .gt-card>[data-inquiry-link]{transition:none}.gymtv-prices .gt-card>[data-inquiry-link]:hover{transform:none}.gymtv-prices .gt-card>[data-inquiry-link]:hover::after{animation:none}}
