/*
Theme Name: GymRay
Theme URI: jacor.de
Description: Theme für GymRay
Author: jacor.de
Author URI: jacor.de
Template: Divi
Version: v1.2
*/

/*---------- STATIC DESKTOP MENU ----------*/

@media (min-width: 1250px) {
  header.et-l.et-l--header {
    position: fixed;
    z-index: 999999;
    width: 100%;
    margin-top: 0;
  }

/* ============================================ */

/*   #et-main-area {
    margin-top: 92px;
  } */
}

/*---------- ENDE STATIC DESKTOP MENU ----------*/

/* Prevent horizontal scroll from off-canvas menu */
html, body {
  overflow-x: hidden !important;
}

@media (min-width: 1px) {

  :root {
    --mobile-menu-width: min(420px, 88vw);
  }

  /* Rechte Off-Canvas Navigation */
  #mobile_menu1.et_mobile_menu {
    border-top: 0 !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;

    width: var(--mobile-menu-width) !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;

    z-index: 99999 !important;
    margin: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;

    padding:
      calc(120px + env(safe-area-inset-top))
      24px
      calc(24px + env(safe-area-inset-bottom))
      calc(24px + env(safe-area-inset-right)) !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transform: translate3d(100%, 0, 0) !important;
    transition:
      transform .4s ease,
      opacity .4s ease,
      visibility 0s linear .4s !important;

    background-color: #000000 !important;
    box-shadow: 12px 0 30px rgba(0,0,0,.28) !important;

    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform, opacity;
  }

  /* Geöffnet nur über eigene Klasse */
  body.gr-menu-open #mobile_menu1.et_mobile_menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition:
      transform .4s ease,
      opacity .4s ease,
      visibility 0s !important;
  }

  /* Menüeinträge */
  #mobile_menu1.et_mobile_menu li {
    list-style: none !important;
    margin: 0 !important;
    text-align: left !important;
    flex: 0 0 auto !important;
    order: 1 !important;
    width: 100% !important;
  }

  #mobile_menu1.et_mobile_menu li a:before,
  #mobile_menu1.et_mobile_menu li:before {
    display: none !important;
    content: none !important;
  }

  #mobile_menu1.et_mobile_menu li a {
    display: block !important;
    color:#ffffff !important;
    width: 100% !important;
    padding: 14px 8px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #3d3d3d !important;
  }

  #mobile_menu1.et_mobile_menu li aa {
    color: #fbcd22 !important;
  }

  .et_mobile_menu li li {
    padding-left: 0 !important;
  }

  /* Standard Toggle */
  .et_pb_menu .mobile_menu_bar,
  .mobile_menu_bar {
    z-index: 100001 !important;
    pointer-events: auto !important;
    position: relative;
  }

  .mobile_menu_bar:before {
    content: "\2630";
    font-size: 32px;
    line-height: 1;
    color: #1d1d1d;
    transition: transform .2s ease, opacity .2s ease;
  }

  body.gr-menu-open .mobile_menu_bar:before {
    content: "\00d7";
    font-size: 64px !important;
    padding-right: 0 !important;
    top: 8px !important;
  }

  body.gr-menu-open header,
  body.gr-menu-open .et-l--header {
    pointer-events: none;
  }

  body.gr-menu-open .mobile_menu_bar {
    pointer-events: auto !important;
  }
}

@media (max-width: 980px) {
  body.gr-menu-open .mobile_menu_bar:before {
    top: -6px !important;
  }
}

@media (max-width: 767px) {
  :root {
    --mobile-menu-width: min(360px, 92vw);
  }

  #mobile_menu1.et_mobile_menu li a {
    font-size: 18px !important;
    padding: 8px 8px !important;
  }
}

#mobile_menu1.et_mobile_menu li ul.sub-menu li a {
  font-size: 16px !important;
  font-weight: 400 !important;
  padding-left: 40px !important;
  padding-right: 8px !important;
  padding-left: 8px !important;
}

@media(max-width:767px) {
  .menu-drawer-close {
    display:none !important;
  }
  .menu-drawer-close-item {
    display:none !important;
  }
}



/*---------- MENU UX IMPROVEMENTS ----------*/

/* Hide Home link */
#mobile_menu1.et_mobile_menu > li.et_pb_menu_page_id-home {
  display: none !important;
}

/* Close X — top-left inside menu panel */
#mobile_menu1.et_mobile_menu > li.menu-drawer-close-item {
  display: none !important;
  position: absolute !important;
  top: calc(24px + env(safe-area-inset-top)) !important;
  left: 24px !important;
  right: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  z-index: 10 !important;
}
#mobile_menu1.et_mobile_menu > li.menu-drawer-close-item > .menu-drawer-close {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: none !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 50% !important;
  color: #fff !important;
  font-size: 32px !important;
  width: 48px !important;
  height: 48px !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease !important;
  line-height: 1 !important;
}
#mobile_menu1.et_mobile_menu > li.menu-drawer-close-item > .menu-drawer-close:hover {
  border-color: rgba(255,255,255,0.5) !important;
}

/* Visual separator before info section (Über uns) */
#mobile_menu1.et_mobile_menu > li.et_pb_menu_page_id-945 {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
}

/* CTA button — gold accent, pushed to bottom */
#mobile_menu1.et_mobile_menu > li.menubutton {
  margin-top: auto !important;
  padding: 20px 0 0 0 !important;
  order: 99 !important;
  width: 100% !important;
}
#mobile_menu1.et_mobile_menu > li.menubutton > a {
  background: #FBCD22 !important;
  color: #000 !important;
  font-size: 0 !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 16px 24px !important;
  border: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  transition: background 0.2s ease !important;
}
#mobile_menu1.et_mobile_menu > li.menubutton > a::before {
  content: "PROBETRAINING VEREINBAREN" !important;
  display: inline !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 2px !important;
  color: #000 !important;
}

/* Contact info footer */
#mobile_menu1.et_mobile_menu::after {
  content: "0151 53584482 \00B7  post@gymray.de";
  display: block !important;
  order: 100;
  margin-top: 16px;
  padding: 0;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  text-align: center;
  width: 100%;
  letter-spacing: 0.3px;
}

/*---------- ENDE MENU UX IMPROVEMENTS ----------*/

/*---------- COLLAPSE SUB-MENUS ----------*/

ul.et_mobile_menu li.menu-item-has-children > a::after,
ul.et_mobile_menu li.page_item_has_children > a::after {
  content: "\25BC";
  position: absolute;
  left: auto;
  right: 16px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  font-size: 0.8em;
  color: #ffffff !important;
  transition: transform 0.3s ease, color 0.3s ease;
  pointer-events: none;
}

ul.et_mobile_menu li.menu-item-has-children > a,
ul.et_mobile_menu li.page_item_has_children > a {
  position: relative;
  padding-right: 40px !important;
}

ul.et_mobile_menu li.dt-open > a::after {
  transform: translateY(-50%) rotate(180deg);
  color: #ffffff !important;
}

ul.et_mobile_menu li.menu-item-has-children > .sub-menu,
ul.et_mobile_menu li.page_item_has_children > .children {
  display: none !important;
}

ul.et_mobile_menu li.dt-open > .sub-menu,
ul.et_mobile_menu li.dt-open > .children {
  display: block !important;
  padding-bottom: 0;
}

/*---------- ENDE COLLAPSE SUB-MENUS ----------*/

/*---------- OVERLAY ----------*/

.menu-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.3);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility 0s linear .3s;
  z-index: 1;
}

body.gr-menu-open .menu-drawer-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .3s ease, visibility 0s;
}

/*---------- EXTRA CLOSE BUTTON IM MENÜ ----------*/

.menu-drawer-close-item {
  list-style: none !important;
  width: 100% !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom:1px solid #3d3d3d !important;
}

.menu-drawer-close-item:before,
.menu-drawer-close-item a:before {
  display: none !important;
  content: none !important;
}

.menu-drawer-close {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  color: #ffffff;
  font-size: 42px;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
  display: block;
}

.menu-drawer-close:hover {
  opacity: .8;
}

/*---------- TIMETABLE ----------*/

.tt_wrapper .tt_navigation_wrapper {
	display:none !important;
}

.tt_wrapper {
	background-color:#e1e1e1;
	padding:30px;
	font-family:'Inter',Helvetica,Arial,Lucida,sans-serif;
	font-size:20px !important;
}

.tt_timetable h3 {
	font-weight:600;
}

.tt_timetable.small .tt_items_list li {
	margin-left:20px !important;
}

.tt_timetable.small .tt_items_list {
	border-bottom:2px solid #d3d3d3;
}

.tt_timetable.small .tt_items_list:last-child {
	border-bottom:none;
}

.tt_responsive .tt_timetable.small .box_header {
	font-size: 20px !important;
}

.tt_timetable.small .tt_items_list {
	font-size:18px;
}

/*---------- ENDE TIMETABLE ----------*/

/*---------- SINGLE POST ----------*/

.et_pb_post_content p {
	font-weight:400;
}


/*---------- ENDE SINGLE POST ----------*/

/*---------- TEAMMEMBER ----------*/

.gr_teammember {
  display: flex !important;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 30px; /* Abstand zwischen Bild und Beschreibung */
  flex-wrap: nowrap;
}

.gr_teammember .et_pb_team_member_image {
  flex: 0 0 35%;
  max-width: 35%;
}

.gr_teammember .et_pb_team_member_description {
  flex: 1;
  max-width: 65%;
}

.gr_teammember .et_pb_team_member_description li {
	color:#666666;
}

.et_pb_member_position {
	font-size:16px;
	padding-bottom:10px !important;
	color:#000000 !important;
}

ul {
	padding-left:0px !important;
}

ul li {
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
  font-weight:400;
  color:#000000;
  line-height:1.3em;
  list-style-type: none !important;
  padding-bottom:5px;
}

ul li:before {
	content:"+";
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
	font-weight: 700;
	color:#e1b71b;
	font-size:30px;
	position: relative;
	margin-top:2px;
	margin-right:5px;
}

.gr_teammember .et_pb_team_member_description li {
  padding-left:30px;
}

.gr_teammember .et_pb_team_member_description li:before {
  margin-left:-20px;
  top:3px;
}


@media (max-width: 767px) {
  .gr_teammember {
    flex-direction: column;
    align-items: center;
  }

  .gr_teammember .et_pb_team_member_image,
  .gr_teammember .et_pb_team_member_description {
    max-width: 100%;
    flex: 0 0 100%;
  }

  .gr_teammember .et_pb_team_member_description {
    text-align: center;
  }
}
.gr_teammember .et_pb_team_member_description h2 {
	color:#000000;
}

.gr_name {
	font-family: 'Inter',Helvetica,Arial,Lucida,sans-serif;
	font-weight:600;
}

.gr_name .et_pb_text_inner p {
	font-weight:600 !important;
}

.gr_name .et_pb_text_inner p:before  {
	content: "//";
	background-color: #e1b71b;
	color: #000000;
	font-weight: 600;
	top: 6px;
  font-size: 30px;
  margin-right:5px;
}

.gr_ausbildung {
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
	font-weight: 400;
  font-size: 14px;
  margin-top: 10px;
  padding-top: 5px;
  display: block;
  border-top: 2px solid #000000;
}

.gr_teammember .et_pb_team_member_description{
  position: relative;
  max-height: 250px;
  overflow: hidden;
  transition: max-height .6s ease;
}

.gr_teammember .et_pb_team_member_description::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  margin-bottom:-1px;
  height: 140px;
  font-weight:400;
  background: linear-gradient(
	  to bottom,
	  rgba(255, 255, 255, 0) 0%,
	  rgba(255, 255, 255, 0.9) 80%,
	  #fff 100%
	);
  pointer-events:none;
  transition: opacity .3s ease;
}


.gr_teammember.is-expanded .et_pb_team_member_description{
  max-height: 2000px; 
}
.gr_teammember.is-expanded .et_pb_team_member_description::after{
  opacity:0;
}

.gr_tm_toggle{
  position: absolute;
  left: 0; right: 0; bottom: 5px;
  width: fit-content;
  color:#000000;
  font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
  font-weight:500;
  cursor: pointer;
  z-index: 2;
  text-decoration: underline;
}
.gr_teammember.is-expanded .gr_tm_toggle{
  position: absolute;
  margin-top: 10px;
  display:block;
  left: 0; right: 0; bottom: 0px;
}


@media (max-width: 767px){
  .gr_teammember .et_pb_team_member_description{ max-height: 260px; }
  .gr_tm_toggle{margin:0 auto;}
}

/*---------- ENDE TEAMMEMBER----------*/

@media (max-width: 980px){
	.ti-widget[data-layout-id='109'][data-set-id='light-minimal'][data-pid='6415443567b96984966602a8bc2'] {
		text-align:center !important;
	}
}


.rank-math-contact-info a {
	color:#000000;
}

.rank-math-contact-info a:hover {
	text-decoration:underline;
}


.et_pb_menu.custommenu .et_pb_menu__menu {
	display:none !important;
}

.et_pb_menu.custommenu .et_mobile_nav_menu {
	display:block !important;
}

/* Desktop: Show nav menu, hide hamburger */
@media (min-width: 1025px) {
	.et_pb_menu.custommenu .et_pb_menu__menu {
		display: flex !important;
	}
	.et_pb_menu.custommenu .et_mobile_nav_menu {
		display: none !important;
	}
}

.et_pb_menu.custommenu .et_pb_menu__wrap {
	justify-content:flex-end;
}

.et_pb_menu.custommenu .mobile_menu_bar:before {
	top:23px;
	font-size:40px;
}

@media(max-width:980px) {
	.et_pb_menu.custommenu .mobile_menu_bar:before {
		top:-3px;
	}
}

.et_pb_menu.custommenu .et_pb_menu__logo-wrap {
	padding-top:20px;
	padding-bottom:20px;
}

.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button, .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button {
	color:#ffffff !important;
}

body .cta_fo.cta_fo {
	background-color:#fbcd22;
	color:#000000;
	border: none !important;
	padding: 18px 36px !important;
	font-family: 'Inter',Helvetica,Arial,Lucida,sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 1em !important;
	text-transform: uppercase;
	letter-spacing: 2px !important;
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: all .2s ease;
	border-radius: 3px !important;
}

body .cta_fo.cta_fo:hover {
	background-color: #ffc900; /* leichter Hintergrund-Shift beim Hover */
}

body .cta_fo.cta_fo:before {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 80%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(0, 0, 0, 0.04) 50%, /* sehr dezenter dunkler Glanz */
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
}

.cta_fo:hover::before {
	animation: shine_fo 0.8s ease forwards;
}

/*    CTA 2. Ordnung – Ghost/Outline Button
   ============================================ */
body .cta_sec.cta_sec {
	display: inline-block;
	position: relative;
	padding: 18px 36px !important;
	font-family: 'Inter',Helvetica,Arial,Lucida,sans-serif !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 1em !important;
	text-transform: uppercase;
	letter-spacing: 2px !important;
	color: #000000 !important;
	background: transparent;
	border: 3px solid #000000 !important;
	border-radius: 3px !important;
	transition: all .2s ease;
	text-decoration: none;
}

body .cta_sec.cta_sec:hover {
	background: #000000;
	color: #ffffff;
}

body .cta_sec.cta_sec::before {
	content: "\2192\00a0";
	font-weight: 600;
}

body .cta_sec.cta_sec.white {
	color: #ffffff !important;
	border-color: #ffffff !important;
}

body .cta_sec.cta_sec.white:hover {
	background: #ffffff;
	color: #000000;
}

@keyframes shine_fo {
	100% {
		left: 125%;
	}
}

.cta_so {
	background-color:transparent;
	border:3px solid #000000;
	color:#000000;
	padding:17px 17px;
	font-family: 'Inter',Helvetica,Arial,Lucida,sans-serif;
	font-weight:600;
	font-size:25px;
	line-height: 1em !important;
	text-transform: uppercase;
	letter-spacing: .1em;
	display: inline-block;
	position: relative;
	overflow: hidden;
	transition: all .2s ease;
}

.cta_so:hover {
	background-color: #f1f1f1; /* leichter Hintergrund-Shift beim Hover */
}

.cta_so:before {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 80%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(0, 0, 0, 0.04) 50%, /* sehr dezenter dunkler Glanz */
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
}

.cta_so:hover::before {
	animation: shine_so 0.8s ease forwards;
}

@keyframes shine_so {
	100% {
		left: 125%;
	}
}

@media(max-width:767px) {
	.cta_fo {
		font-size:20px;
	}
	.cta_so {
		font-size:20px;
	}
}

.et_pb_text_inner p, .et_pb_toggle_content p, .et_pb_text_inner li {
	font-weight:400 !important;
	line-height:1.5em !important;
}

.et_pb_text_inner h2 {
	padding-bottom:20px;
}

.h2_top {
	color:#e1b71b;
	text-transform: uppercase;
	font-weight:600;
	line-height: 1em;
	font-size:20px;
	padding-bottom:0px;
}

.divider_cta_before:before {
	content:"";
	background-color:#e1b71b;
	position: absolute;
	left:0px;
	top:-80px;
	bottom:-80px;
	width:2px;
}

.et_pb_with_border .et_pb_image {
  position: relative;
  overflow: hidden;
}

.et_pb_with_border .et_pb_image img {
  transition: transform 1s ease;
  transform-origin: center center;
}

.et_pb_with_border:hover .et_pb_image img {
  transform: scale(1.25) rotate(-2deg);
}

.gr_custommap .et_pb_code_inner {
	line-height: 0;
}

.gr_footer {
	color:#ffffff;
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
	font-size:16px;
}

.gr_footer li {
	padding-left:0px;
}

.gr_footer li:before {
	content:none;
}

.gr_footer a {
	color:#ffffff;
}

.gr_footer_h {
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
    text-transform: uppercase;
    font-size: 20px;
    color: #ffffff !important;
}

.gr_footer_menu li {
	list-style: none;
}

.gr_footer_menu ul {
	padding-left:0px;
}

.et_pb_blog_grid h2 {
	text-transform: uppercase;
    font-size: 24px;
    line-height: 1.2em;
    color: #000000;
    font-weight: 500;
}

.gr_sub_blog article {
	margin-bottom:10px;
}

.gr_sub_blog article a {
	text-decoration: none;
	transition: all .3s ease;
}

.gr_sub_blog article a:before {
	content:"➞";
	padding-right:5px;
}

.gr_sub_blog article a:hover {
	text-decoration: underline;
}

.gr_breadcrumb p {
	padding-bottom:0px;
}

.gr_breadcrumb .rank-math-breadcrumb a {
	color:#828282;
}

.et-search-form, blockquote {
	border-color: #e1b71b;
}


@media (max-width: 980px) {
	.et_pb_text_inner, .et_pb_code_inner {
		text-align: center;
	}
	.divider_cta_before:before {
		content:none;
	}
	.divider_cta_before .et_pb_code {
		padding-top:20px;
		padding-bottom:20px;
	}
	.gr_dreibox .et_pb_column_1_3 .et_pb_text_inner {
		padding:20px;
	}
	.gr_footer .et_pb_text_inner, .gr_footer .et_pb_code_inner {
		text-align: left;
	}
}

@media(max-width:767px) {
	.gr_footer .et_pb_text_inner, .gr_footer .et_pb_code_inner {
		text-align: center;
	}
	.gr_footer .et_pb_image_0_tb_footer.et_pb_module {
		margin-left:auto !important;
	}
	.gr_footer .et_pb_column_1_4 {
		width:100% !important;
		margin-right:0px !important;
	}
	.gr_social_footer .et_pb_social_media_follow {
		text-align:center;
	}
}

.gr_quote_text {
	background-color:#ffffff;
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
  font-size: 20px;
  font-weight:400;
  color:#000000;
  line-height: 1.5em;
}

.gr_quote_author {
	width:100%;
	display:block;
	font-family: 'Inter', Helvetica, Arial, Lucida, sans-serif;
	color:#000000;
	font-weight:600;
	padding-top:10px;
}

@media(max-width:767px) {
	.et_pb_text_3 h2, .et_pb_text_3 h3, .et_pb_text_3 h4, .et_pb_text_3 h5, .et_pb_text_3 h6, .et_pb_text_4 h2, .et_pb_text_4 h3, .et_pb_text_4 h4, .et_pb_text_4 h5, .et_pb_text_4 h6, .et_pb_text_5 h2, .et_pb_text_5 h3, .et_pb_text_5 h4, .et_pb_text_5 h5, .et_pb_text_5 h6, .et_pb_text_6 h2, .et_pb_text_6 h3, .et_pb_text_6 h4, .et_pb_text_6 h5, .et_pb_text_6 h6, .et_pb_text_7 h2, .et_pb_text_7 h3, .et_pb_text_7 h4, .et_pb_text_7 h5, .et_pb_text_7 h6, .et_pb_text_8 h2, .et_pb_text_8 h3, .et_pb_text_8 h4, .et_pb_text_8 h5, .et_pb_text_8 h6, .et_pb_text_9 h2, .et_pb_text_9 h3, .et_pb_text_9 h4, .et_pb_text_9 h5, .et_pb_text_9 h6, .et_pb_text_11 h2, .et_pb_text_11 h3, .et_pb_text_11 h4, .et_pb_text_11 h5, .et_pb_text_11 h6, .et_pb_text_12 h2, .et_pb_text_12 h3, .et_pb_text_12 h4, .et_pb_text_12 h5, .et_pb_text_12 h6 {
		font-size:40px !important;
	}
	.et_pb_post_content h2 {
		font-size:40px !important;
	}
}

.rank-math-contact-info .rank-math-contact-map,
.rank-math-contact-info .rank-math-name,
.rank-math-contact-info .rank-math-contact-organization_description,
.rank-math-contact-info .rank-math-contact-hours
 {
	display:none;
}

@media(max-width:767px) {
	.ti-widget.ti-goog .ti-col-1 .ti-reviews-container, .ti-widget.ti-goog .ti-col-1 .ti-footer {
		margin-bottom:0px !important;
	}
}


/* =============================================
   BLOG POST STYLING
   ============================================= */

/* --- Blog List Bullets: Clean gold dots instead of oversized "+" --- */
.et_pb_post_content ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.et_pb_post_content ul li {
  position: relative !important;
  padding-left: 36px !important;
  padding-bottom: 8px !important;
  line-height: 1.7 !important;
  list-style: none !important;
}

.et_pb_post_content ul li::before {
  content: "\2713" !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 22px !important;
  height: 22px !important;
  background: #FBCD22 !important;
  border-radius: 50% !important;
  color: #000 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 22px !important;
  text-align: center !important;
  margin: 0 !important;
}

/* Ordered lists keep numbers */
.et_pb_post_content ol {
  padding-left: 24px !important;
}

.et_pb_post_content ol li::before {
  content: none !important;
  display: none !important;
}

/* --- Autorenbox: Light gray redesign with social icons --- */
.gymray-autorenbox {
  background: #f5f5f5 !important;
  border-left: 3px solid #FBCD22 !important;
  border-radius: 8px !important;
  padding: 28px 32px !important;
  margin: 48px 0 0 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 20px !important;
}

.gymray-autorenbox-avatar {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  border: 2px solid #FBCD22 !important;
}

.gymray-autorenbox-avatar img {
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
}

.gymray-autorenbox-info {
  flex: 1 !important;
  min-width: 0 !important;
}

.gymray-autorenbox-label {
  font-family: "Inter", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  color: #999 !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
}

.gymray-autorenbox-name {
  font-family: "Inter", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #000 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
}

.gymray-autorenbox-name a {
  color: #000 !important;
  text-decoration: none !important;
}

.gymray-autorenbox-name a:hover {
  color: #FBCD22 !important;
}

.gymray-autorenbox-bio {
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  color: #555 !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.6 !important;
}

.gymray-autorenbox-social {
  display: flex !important;
  gap: 10px !important;
  margin-top: 8px !important;
}

.gymray-autorenbox-social a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  background: #000 !important;
  border-radius: 50% !important;
  transition: background 0.2s ease !important;
}

.gymray-autorenbox-social a:hover {
  background: #FBCD22 !important;
}

.gymray-autorenbox-social a svg {
  width: 16px !important;
  height: 16px !important;
  fill: #fff !important;
}

.gymray-autorenbox-social a:hover svg {
  fill: #000 !important;
}

@media (max-width: 767px) {
  .gymray-autorenbox {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 24px 20px !important;
  }
  .gymray-autorenbox-social {
    justify-content: center !important;
  }
}

/* --- Blog Post: Mobile text left-align --- */
@media (max-width: 980px) {
  .et_pb_post_content,
  .et_pb_post_content p,
  .et_pb_post_content ul,
  .et_pb_post_content ol,
  .et_pb_post_content li,
  .et_pb_post_content h1,
  .et_pb_post_content h2,
  .et_pb_post_content h3,
  .et_pb_post_content h4,
  .et_pb_post_content blockquote {
    text-align: left !important;
  }
}

/* --- Eyebrow Highlighter Effect --- */
.h2_top {
  color: #000 !important;
  background-image: linear-gradient(to top, rgba(251, 205, 34, 0.3) 40%, transparent 40%) !important;
  background-position: bottom !important;
  background-repeat: no-repeat !important;
  display: inline !important;
  padding: 0 4px !important;
  font-weight: 700 !important;
}

/* --- Link Styling: nur Textlinks, keine CTAs/Buttons --- */
/* body-Prefix fuer hoehere Spezifitaet als Divi-Core !important Regeln */
body .et_pb_post_content a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header),
body .et_pb_text a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header),
body .et_pb_text_inner a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header) {
  color: #000 !important;
  text-decoration: underline !important;
  text-decoration-color: #000 !important;
  font-weight: normal !important;
  transition: text-decoration-color 0.2s ease !important;
}
body .et_pb_post_content a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header):hover,
body .et_pb_text a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header):hover,
body .et_pb_text_inner a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header):hover {
  color: #000 !important;
  text-decoration: underline !important;
  text-decoration-color: #FBCD22 !important;
  text-underline-offset: 3px !important;
  font-weight: normal !important;
}

/* --- Footer Links (.gr_footer): weiss, keine Unterstreichung, Hover gold + unterstrichen --- */
body .gr_footer .et_pb_text a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header),
body .gr_footer .et_pb_text_inner a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header) {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: inherit !important;
}
body .gr_footer .et_pb_text a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header):hover,
body .gr_footer .et_pb_text_inner a:not(.et_pb_button):not(.gymray-cta-button):not(.cta_fo):not(.cta_so):not(.cta_sec):not(.gr-blog-card):not(.ti-header):hover {
  color: #FBCD22 !important;
  text-decoration: underline !important;
}

/* ===================== Blog-Übersicht ===================== */
/* Blog section background override - light theme */
.page-id-2365 .et_pb_section_0.et_pb_with_background {
    background-color: #f5f5f5 !important;
}

.gr-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1280px;
    margin: 0 auto;
    padding: 20px 0;
}

.gr-blog-card,
.gr-blog-card:hover,
.gr-blog-card:focus,
.gr-blog-card:active,
a.gr-blog-card,
a.gr-blog-card:hover {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    overflow: hidden;
    text-decoration: none !important;
    color: #1a1a1a !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.gr-blog-card *,
.gr-blog-card:hover * {
    text-decoration: none !important;
}

.gr-blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.gr-blog-card-img {
    width: 100%;
    height: 220px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.gr-blog-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.gr-blog-cat {
    display: inline-block;
    background: #fbcd22;
    color: #000;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 4px 12px;
    border-radius: 0;
    margin-bottom: 12px;
    align-self: flex-start;
}

.gr-blog-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.3;
    color: #1a1a1a;
    margin: 0 0 12px 0;
    text-transform: uppercase;
}

.gr-blog-card:hover .gr-blog-title {
    color: #1a1a1a;
}

.gr-blog-excerpt {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #555;
    margin: 0 0 16px 0;
    flex: 1;
}

.gr-blog-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #e5e5e5;
    padding-top: 14px;
    margin-top: auto;
}

.gr-blog-date {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #999;
}

.gr-blog-more {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #1a1a1a;
    text-transform: none;
    letter-spacing: normal;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.gr-blog-card:hover .gr-blog-more {
    color: #1a1a1a !important;
    text-decoration: underline !important;
    text-decoration-color: #fbcd22 !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 2px !important;
}


/* Blog row wider to match site layout */
.et_pb_section_0 > .et_pb_row_0 {
    max-width: 1280px !important;
}

@media (max-width: 991px) {
    .gr-blog-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 600px) {
    .gr-blog-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .gr-blog-card-img {
        height: 180px;
    }
}

/* Blog CTA Stoerer - Abstand entfernen */
.page-id-2365 .et_pb_section_0 { padding-bottom: 0 !important; }

/* Trustindex Google Widget: keine Unterstreichung bei Hover */
body .et_pb_section .et_pb_row .et_pb_text .ti-widget a.ti-header,
body .et_pb_section .et_pb_row .et_pb_text .ti-widget a.ti-header:hover,
body .et_pb_section .et_pb_row .et_pb_text .ti-widget a.ti-header:focus,
.ti-widget a.ti-header,
.ti-widget a.ti-header:hover,
.ti-widget a.ti-header:focus {
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-style: none !important;
    border-bottom: none !important;
}


/* Override Divi Barlow → Inter sitewide */
h1, h2, h3, h4, h5, h6,
body h1, body h2, body h3, body h4, body h5, body h6,
.et_pb_text_0 h1,
.et_pb_text_1,
.et_pb_text_3,
.et_pb_text_4, .et_pb_text_5, .et_pb_text_6, .et_pb_text_7, .et_pb_text_8, .et_pb_text_9,
.et_pb_text_4 h2, .et_pb_text_5 h2, .et_pb_text_6 h2, .et_pb_text_7 h2, .et_pb_text_8 h2, .et_pb_text_9 h2,
.et_pb_text_6 h3, .et_pb_text_7 h3, .et_pb_text_8 h3,
.et_pb_text_12, .et_pb_text_13,
.page-id-2207 .et_pb_button,
#menu-mainmenu li a,
.et_mobile_menu li a,
.et-menu-nav li a {
    font-family: 'Inter', sans-serif !important;
}

/* Kill ALL remaining Barlow sitewide — KK page, Fluent Forms, Divi globals */
.kk-headline,
.kk-subline,
.kk-diff p,
.fluentform_wrapper_3,
.fluentform_wrapper_3 *,
.form-subline,
.trust-item,
.ff-el-form-check-label,
.ff-el-form-check-label span,
.ff-el-form-check-label span::after,
.ff-el-input--label label,
.ff-el-form-control,
.ff_submit_btn_wrapper .ff-btn-submit,
.page-id-2207 .et_pb_button,
body .et_pb_text_0_tb_body,
body .et_pb_text_0_tb_body h1,
body .et_pb_text_2_tb_body {
    font-family: 'Inter', sans-serif !important;
}

/* Final Barlow kill — higher specificity for inline-style overrides */
body.page-id-2207 .kk-subline,
body.page-id-2207 .form-subline,
body.page-id-2207 input.ff-el-form-control,
body.page-id-2207 .ff-el-phone,
body.page-id-2207 button.ff-btn-submit,
body.page-id-2207 .ff-btn {
    font-family: 'Inter', sans-serif !important;
}

/* Timetable div override */
.gr-tt {
    font-family: 'Inter', sans-serif !important;
}

/* Universal Barlow override — catches ALL remaining Divi inline CSS */
body, body *,
body h1, body h2, body h3, body h4, body h5, body h6,
body p, body span, body a, body li, body div,
body input, body textarea, body select, body button,
body .et_pb_module *, body .et_pb_text *,
body [class*="et_pb_"] {
    font-family: 'Inter', sans-serif !important;
}

/* Divi buttons universal */
.et_pb_button,
a.et_pb_button,
body .et_pb_button {
    font-family: 'Inter', sans-serif !important;
}

/* Trustindex "Eine Bewertung schreiben" Button – light background fix */
.ti-widget.ti-goog .ti-header-write-btn-container .ti-header-write-btn {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* ============================================
   Homepage Blog Cards – Vollkontakt Design
   ============================================ */

/* Card: white bg, flex column, relative for date/readmore positioning */
.et_pb_blog_0 .et_pb_post {
    background: #ffffff !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    padding: 0 !important;
    padding-bottom: 55px !important;
    margin-bottom: 30px !important;
    overflow: hidden;
}

/* Image: flush top, no margin */
.et_pb_blog_0 .et_pb_post .et_pb_image_container {
    order: 1;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.et_pb_blog_0 .et_pb_post .et_pb_image_container a {
    display: block;
    line-height: 0;
}

.et_pb_blog_0 .et_pb_post .et_pb_image_container img {
    display: block;
    width: 100%;
    margin: 0 !important;
}

/* Meta: order 2 = between image and title */
.et_pb_blog_0 .et_pb_post .post-meta {
    order: 2;
    font-size: 0 !important;
    line-height: 0 !important;
    padding: 20px 25px 0 !important;
    margin: 0;
}

/* Category badge – gold/yellow */
.et_pb_blog_0 .et_pb_post .post-meta a {
    display: inline-block !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    background: #e1b71b !important;
    color: #1a1a1a !important;
    padding: 5px 14px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

.et_pb_blog_0 .et_pb_post .post-meta a:hover {
    background: #c9a217 !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Date: absolute position bottom-left */
.et_pb_blog_0 .et_pb_post .post-meta span {
    position: absolute !important;
    bottom: 18px !important;
    left: 25px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    color: #999999 !important;
    font-weight: 400 !important;
}

/* Title: uppercase, bold, order 3 */
.et_pb_blog_0 .et_pb_post .entry-title {
    order: 3;
    padding: 12px 25px 0 !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.3px;
}

.et_pb_blog_0 .et_pb_post .entry-title a {
    color: #1a1a1a !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

.et_pb_blog_0 .et_pb_post .entry-title a:hover {
    color: #e1b71b !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Excerpt: show it, order 4 */
.et_pb_blog_0 .et_pb_post .post-content {
    order: 4;
    padding: 10px 25px 0 !important;
    margin-bottom: 15px !important;
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 15px !important;
}

.et_pb_blog_0 .et_pb_post .post-content .post-content-inner {
    display: block !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: #555555 !important;
}

/* "Weiterlesen" link – bottom-right via pseudo-element */
.et_pb_blog_0 .et_pb_post::after {
    content: "Weiterlesen \2192" !important;
    position: absolute !important;
    bottom: 18px !important;
    right: 25px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    pointer-events: none;
    visibility: visible !important;
    height: auto !important;
    clear: none !important;
    display: block !important;
}

/* Section background – light gray to match Vollkontakt */
.et_pb_blog_0 .et_pb_blog_grid {
    padding: 10px 0 !important;
}

/* ============================================
   Global Body Text – 16px everywhere
   ============================================ */
.et_pb_module p,
.et_pb_module li,
.et_pb_module .et_pb_text_inner,
.et_pb_text_inner p,
.et_pb_toggle_content p,
.et_pb_toggle_content li,
.et_pb_accordion .et_pb_toggle_content p,
.entry-content p,
.entry-content li,
body .et_pb_section p,
body .et_pb_section li {
    font-size: 16px !important;
    line-height: 1.7 !important;
}

/* Blockquotes slightly smaller for visual distinction */
.et_pb_module blockquote,
.et_pb_module blockquote p {
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* ============================================
   Ehrenkodex List – no indent, no underline
   ============================================ */
.et_pb_post_content .sk-kodex-list li,
.sk-kodex-list li {
    padding-left: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    text-decoration: none !important;
}

/* ============================================
   Global Bullet Points – Yellow Circle Checkmark
   ============================================ */
.et_pb_text ul li {
  list-style: none !important;
  position: relative;
  padding-left: 36px !important;
  margin-bottom: 12px;
}

.et_pb_text ul li::before {
  content: "\2713" !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 22px !important;
  height: 22px !important;
  background: #fbcd22 !important;
  border-radius: 50% !important;
  color: #000 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 22px !important;
  text-align: center;
}

/* ============================================
   Global Bullet Points – Yellow Circle Checkmark
   ============================================ */
.et_pb_text ul li {
  list-style: none !important;
  position: relative;
  padding-left: 36px !important;
  margin-bottom: 12px;
}

.et_pb_text ul li::before {
  content: "\2713" !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 22px !important;
  height: 22px !important;
  background: #fbcd22 !important;
  border-radius: 50% !important;
  color: #000 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  line-height: 22px !important;
  text-align: center;
}

/* ============================================
   GYMRAY MEGA MENU  -  v1.0  -  21.06.2026
   ============================================ */

/* Mega Menu: position chain for panels */
.et_pb_section.gr_header,
.et_pb_menu.custommenu,
.et_pb_menu.custommenu .et_pb_menu_inner_container,
.et_pb_menu.custommenu .et_pb_menu__wrap,
.et_pb_menu.custommenu .et_pb_menu__menu,
.et_pb_menu.custommenu .et-menu-nav {
	position: static;
}

/* --- Panel Container --- */
.gr-mega-panel {
    position: absolute;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    margin-left: 0 !important;
    top: 100%;
    background: #17181c !important;
    border-top: 2px solid #FBCD22;
    display: flex;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
    z-index: 99999;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.55);
    padding: 0;
}
.gr-mega-panel.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Panel am Header-Container orientieren */
#menu-mainmenu > .menu-item-has-children {
    position: static !important;
}
.et_pb_menu.custommenu {
    position: static;
}
.et_pb_menu.custommenu .et_pb_menu_inner_container {
    position: static;
}
.et_pb_menu.custommenu .et_pb_menu__wrap {
    position: static;
}
.et_pb_menu.custommenu .et_pb_menu__menu {
    position: static;
}
.et_pb_menu.custommenu .et-menu-nav {
    position: static;
}
.et_pb_row.et_pb_row_0_tb_header {
	position: relative;
}
/* ===== Boxed Dark Bar (nur Desktop) ===== */
@media (min-width: 1025px) {
	.et_pb_row.et_pb_row_0_tb_header {
		padding: 0 22px !important;
	}
	.et_pb_row.et_pb_row_0_tb_header:has(.gr-mega-panel.active) {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	.et_pb_section.gr_header {
		padding: 12px 0 !important;
	}
	.et_pb_row_0_tb_header .et_pb_column_0_tb_header {
		position: static;
	}
	/* Schlankere Leiste: Logo kleiner, weniger Innenabstand */
	.et_pb_menu.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap {
		padding: 10px 0 !important;
	}
	.et_pb_menu.et_pb_menu_0_tb_header .et_pb_menu__logo-wrap img {
		max-height: 36px !important;
		width: auto !important;
	}
}

/* --- Spalten-Layout --- */
.gr-mega-cols {
    flex: 1;
    display: flex;
    padding: 36px 0;
    min-height: 200px;
}
.gr-mega-col {
    flex: 1;
    padding: 0 36px;
}
.gr-mega-col-title {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #E1B71B;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}
.gr-mega-link {
    display: block;
    font-family: 'Inter', sans-serif;
    color: #f5f6f8 !important;
    font-size: 17px;
    font-weight: 500;
    padding: 9px 12px;
    margin: 2px -12px;
    text-decoration: none !important;
    transition: color 0.2s ease, background 0.2s ease;
    border-radius: 5px;
}
.gr-mega-link:hover {
    color: #FBCD22 !important;
    background: #262a31;
}
.gr-mega-link.soon {
    opacity: 0.35;
    pointer-events: none;
}
.gr-mega-link.soon::after {
    content: ' (bald)';
    font-size: 10px;
    font-style: italic;
}

/* --- Promo-Karte (rechts) --- */
.gr-mega-promo {
    width: 280px;
    min-width: 280px;
    background: linear-gradient(135deg, #1a1a1a 0%, #0d0d0d 100%);
    margin: 16px;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #2a2a2a;
}
.gr-mega-promo-img {
    height: 120px;
    background: #222 center/cover no-repeat;
    position: relative;
}
.gr-mega-promo-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #FBCD22;
    color: #000;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 2px;
}
.gr-mega-promo-body {
    padding: 14px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.gr-mega-promo-title {
    font-family: 'Inter', sans-serif;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    line-height: 1.3;
}
.gr-mega-promo-desc {
    font-family: 'Inter', sans-serif;
    color: #888;
    font-size: 11px;
    line-height: 1.5;
    margin-bottom: 12px;
    flex: 1;
}
.gr-mega-promo-cta {
    display: inline-block;
    color: #FBCD22 !important;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none !important;
    transition: opacity 0.15s;
}
.gr-mega-promo-cta::after {
    content: ' \2192';
}
.gr-mega-promo-cta:hover {
    opacity: 0.8;
}

/* --- Divi-Override: Standard-Dropdown weg --- */
#menu-mainmenu > .menu-item-has-children > .sub-menu {
    display: none !important;
}

/* Top-Level Hover: graue Pille */
#menu-mainmenu > li:not(.nav-cta):hover > a {
    background: #2b2f36;
    color: #fff !important;
}
/* Aktiver Punkt: graue Pille + goldene Schrift */
#menu-mainmenu > li.current-menu-item:not(.nav-cta) > a,
#menu-mainmenu > li.current-menu-ancestor:not(.nav-cta) > a,
#menu-mainmenu > li.current-menu-item:not(.nav-cta):hover > a,
#menu-mainmenu > li.current-menu-ancestor:not(.nav-cta):hover > a {
    background: #2b2f36;
    color: #FBCD22 !important;
}

/* Mega-Col-Header im Standard-Menue ausblenden */
#menu-mainmenu .mega-col-header > a {
    pointer-events: none;
}

/* --- Mobile: Mega-Menu komplett aus --- */

/* --- Nav-item Overrides: Divi defaults abschalten --- */
#menu-mainmenu > li::before,
.et-menu > li::before {
	content: none !important;
	display: none !important;
}
#menu-mainmenu > li {
	display: flex !important;
	align-items: center !important;
}
#menu-mainmenu > li > a {
	height: auto !important;
	align-self: center;
	text-transform: uppercase;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px !important;
	color: #fff !important;
	padding: 11px 18px !important;
	border-radius: 3px;
	line-height: 1 !important;
	transition: background 0.18s ease, color 0.18s ease;
}
#menu-mainmenu > .menu-item-has-children > a::after {
	content: ' \25BE';
	font-size: 10px;
	margin-left: 4px;
	opacity: 0.6;
}
/* Mega-Link Overrides gegen Divi-Vererbung */
.et_pb_menu .gr-mega-link,
.gr-mega-panel .gr-mega-link {
	color: #f5f6f8 !important;
	text-transform: none !important;
	font-weight: 500 !important;
	font-size: 17px !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
}
.gr-mega-panel .gr-mega-link:hover {
	color: #FBCD22 !important;
}
.gr-mega-link::before {
	content: none !important;
	display: none !important;
}
.gr-mega-col-title {
	text-transform: uppercase !important;
}

@media (max-width: 1024px) {
    .gr-mega-panel {
        display: none !important;
    }
    #menu-mainmenu > .menu-item-has-children > .sub-menu {
        display: block !important;
    }
}

/* ========== Dark Mega Menu: Override Divi link colors ========== */
.et_pb_menu_0_tb_header.et_pb_menu ul li a.gr-mega-link {
    color: #f5f6f8 !important;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li a.gr-mega-link:hover {
    color: #FBCD22 !important;
    background: #262a31;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li .gr-mega-col-title {
    color: #E1B71B !important;
}

/* Override Divi current-menu-item yellow (#fff455) on active pages */
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item.menu-item-has-children a.gr-mega-link,
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor.menu-item-has-children a.gr-mega-link {
    color: #f5f6f8 !important;
    text-transform: none !important;
    font-weight: 500 !important;
    font-size: 17px !important;
    letter-spacing: 0 !important;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item.menu-item-has-children a.gr-mega-link:hover,
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor.menu-item-has-children a.gr-mega-link:hover {
    color: #FBCD22 !important;
    background: #262a31;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item .gr-mega-col-title,
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor .gr-mega-col-title {
    color: #E1B71B !important;
}

/* Override Divi submenu yellow (#fff455) for mega panel links */
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu a.gr-mega-link,
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li.current-menu-item a.gr-mega-link {
    color: #f5f6f8 !important;
    text-transform: none !important;
    font-weight: 500 !important;
    font-size: 17px !important;
    letter-spacing: 0 !important;
}
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu a.gr-mega-link:hover,
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu li.current-menu-item a.gr-mega-link:hover {
    color: #FBCD22 !important;
    background: #262a31;
}

/* Override Divi current-menu-item yellow (#fff455) */
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a.gr-mega-link,
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor a.gr-mega-link {
    color: #f5f6f8 !important;
    text-transform: none !important;
    font-weight: 500 !important;
    font-size: 17px !important;
    letter-spacing: 0 !important;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a.gr-mega-link:hover,
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor a.gr-mega-link:hover {
    color: #FBCD22 !important;
    background: #262a31;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item .gr-mega-col-title,
.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor .gr-mega-col-title {
    color: #E1B71B !important;
}

/* ========== Nav CTA Button (Probetraining) ========== */
#menu-mainmenu > li.nav-cta {
    margin-left: 12px !important;
    display: flex !important;
    align-items: center !important;
}
#menu-mainmenu > li.nav-cta > a {
    background: #FBCD22 !important;
    color: #000 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 12px 28px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    transition: background 0.2s ease !important;
    white-space: nowrap !important;
    height: auto !important;
    line-height: 1 !important;
    align-self: center !important;
}
#menu-mainmenu > li.nav-cta > a:hover {
    background: #e1b71b !important;
}
#menu-mainmenu > li.nav-cta > a::after {
    content: ' \2197' !important;
    font-size: 12px !important;
    margin-left: 6px !important;
    opacity: 1 !important;
}
/* Hide nav CTA on mobile */
@media (max-width: 1024px) {
    #menu-mainmenu > li.nav-cta {
        display: none !important;
    }
}
/* ========== Hero Section: mehr Abstand zum fixed Header ========== */
body.home .et_pb_section_0 {
    padding-top: 140px !important;
}
@media (min-width: 1250px) {
    body.home #page-container .et_pb_section_0 {
        padding-top: 175px !important;
    }
}


/* ----------- BLOG OVERVIEW PAGE (kampfsportratgeber) ----------- */
body.page-id-2365 .et_pb_section.et_pb_section_0 {
  padding-top: 30px !important;
  padding-bottom: 40px !important;
}
body.page-id-2365 .et_pb_section_0 .et_pb_row {
  padding-top: 0 !important;
}

/* ----------- KURSPLAN: Wochentags-Header weiss statt gold (22.07.2026) ----------- */
.gr-tt-day-header,
.gr-tt-day-header .gr-tt-arrow {
  color: #fff !important;
}

/* Trainingszeiten-Seite: weniger Abstand zwischen Breadcrumb und Kursplan (22.07.2026) */
body.page-id-1635 #page-container .et_pb_section_0 {
  padding-top: 40px !important;
}

/* ----------- CTA-Band (Pre-Footer) + Buttons/Blog-Cards – aus Inline-CSS umgezogen 22.07.2026 ----------- */
.gr-prefooter{background:linear-gradient(rgba(13,14,17,.62),rgba(13,14,17,.85)),url(https://1.gymray.de/wp-content/uploads/2025/10/gymray_head_unterseiten.jpg) center/cover no-repeat,#0d0e11;border-top:2px solid #FBCD22;padding:76px 24px;text-align:center}
.gr-prefooter-inner{max-width:1200px;margin:0 auto}
.gr-prefooter .gr-pf-label{display:inline-block;font-family:Inter,sans-serif!important;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:1.5px;color:#FBCD22;margin:0 0 14px}
.gr-prefooter .gr-pf-headline{font-family:Inter,sans-serif!important;font-size:clamp(26px,4.5vw,38px)!important;font-weight:800!important;text-transform:uppercase!important;color:#f5f6f8!important;margin:0 0 12px!important;padding:0!important;line-height:1.1!important;letter-spacing:-.005em!important}
.gr-prefooter .gr-pf-sub{font-family:Inter,sans-serif!important;font-size:16px!important;color:#9aa2b0!important;margin:0 auto 28px!important;max-width:760px;line-height:1.65}
a.gr-pf-button{display:inline-block;font-family:Inter,sans-serif!important;background:#FBCD22!important;color:#000!important;font-size:14px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:2px!important;padding:16px 34px!important;border-radius:3px!important;text-decoration:none!important;border:none!important;transition:filter .2s ease,transform .2s ease}
a.gr-pf-button::after{content:" \2197"}
a.gr-pf-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
@media(max-width:768px){.gr-pf-headline{font-size:24px!important}.gr-pf-sub{font-size:14px!important}}
#page-container a.cta_fo, #page-container .cta_fo, a.cta_fo, .cta_fo{border:none!important;padding:16px 32px!important}
a.gr-blog-card, a.gr-blog-card:hover, a.gr-blog-card:focus, a.gr-blog-card:active, .gr-blog-card *:not(.gr-blog-more), .gr-blog-card:hover *:not(.gr-blog-more){text-decoration:none!important}
.gr-blog-card:hover .gr-blog-more{text-decoration:underline!important;text-decoration-color:#fbcd22!important}
