/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==============================
   Barrierefreie Links – Elementor
   ============================== */

/* Alle Links in Elementor-Texten & Navigation */
.elementor-widget a,
.elementor-nav-menu a {
  color: #4E7921;                /* kontrastreiche Farbe */
  /*text-decoration: underline; */   /* gut erkennbar */
  font-weight: 500;              /* leichte Hervorhebung */
  transition: color 0.2s ease, background-color 0.2s ease;
}

/* Hover-Zustand */
.elementor-widget a:hover,
.elementor-nav-menu a:hover {
  color: #4E7921;
  text-decoration: none;
}

/* Fokuszustand für Tastatur-Nutzer */
.elementor-widget a:focus,
.elementor-nav-menu a:focus {
  outline: 3px solid #4E7921;
  outline-offset: 2px;
  background-color: rgba(255, 191, 71, 0.1);
}

/* Kennzeichnung für Links, die neue Fenster öffnen */
.elementor-widget a[target="_blank"]::after,
.elementor-nav-menu a[target="_blank"]::after {
  content: " ↗";
  font-size: 0.9em;
  margin-left: 0;
  margin-right: 0.2em;
}

/* Touchfreundliche Fläche */
.elementor-widget a,
.elementor-nav-menu a {
  /*display: inline-block;
  min-height: 44px;
  padding: 4px 8px;*/
}

/* Optional: Button-Stil für Links, z.B. Call-to-Action */
.elementor-widget a.button-link,
.elementor-nav-menu a.button-link {
  background-color: #005aa7;
  color: #fff;
  /*padding: 8px 16px;*/
  border-radius: 4px;
  text-decoration: none;
}

.elementor-widget a.button-link:hover,
.elementor-nav-menu a.button-link:hover,
.elementor-widget a.button-link:focus,
.elementor-nav-menu a.button-link:focus {
  background-color: #003f7d;
  outline: 3px solid #ffbf47;
}

/* skip link */
.skip-link {
  position: absolute;
  left: -9999px; /* aus dem sichtbaren Bereich */
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.skip-link:focus {
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  z-index: 1000;
}

/* header */
#ptj_social_head .elementor-icon-list-text {
	display: none !important;
}

.ptj_header_mail,
.ptj_header_phone {
	display: inline-block;
}

.ptj_header_mail {
	margin-left: 40px;
}

/* header promo */
#ptj_header_promo a {
	text-decoration: underline;
}

/* footer */
footer .ptj_footer_menu li a {
  padding: 0;
  min-height: 26px;
  color: #fff !important;
}

/* page therapie infobox */
main .ptj_box_info a.elementor-button {
  display: block !important;
  width: 100%;
}

.page-id-8568 main .elementor-element-ab97f62 { /* hide on itself */
	display: none;
}

/* mega menu images */
#mega-menu-6131-0-0 .mega-sub-menu .mega-menu-item img {
  width: 600px !important;
}

/* typo */
main h1,
main h2,
main h3,
main h4 {
	line-height: 1.75em !important;
}

main .elementor-element .elementor-widget-container p {
	line-height: 1.75em !important;
}


@media (max-width: 767px) {
    main h2.elementor-heading-title {
        word-break: break-word;
    }
}

/* feed */
.ptj_feed .elementor-post__card .elementor-post__text,
.ptj_feed .elementor-post .elementor-post__text{
	padding: 6% 9% 9% 9% !important;
}

.ptj_feed .elementor-post__card .elementor-post__thumbnail__link:after {
	background-image: none;
}

/* read more */
.elementor-post.elementor-grid-item {
    display: flex !important;
}

.elementor-post__card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

.elementor-post__text {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.elementor-post__excerpt {
    flex-grow: 1 !important;
}

.elementor-post__read-more {
    margin-top: auto !important;
    display: inline-block !important;
}

/* box individual height on phones */
@media (max-width: 767px) {
  .e-loop-item .e-con-boxed {
    height: auto !important;
    min-height: auto !important;
  }
}

/* box border */
.ptj_info_box,
.ptj_box_info_reha,
.ptj_box_info_physio,
.ptj_box_info {
	border: 0 none !important;
}

/* forms */
#ptj_kontaktformular .elementor-field-type-acceptance .elementor-field-subgroup input,
#ptj_bewerbungsformular .elementor-field-type-acceptance .elementor-field-subgroup input {
	display: none;
	font-weight: 400;
}

.elementor-mark-required .elementor-field-label:after {
	padding-inline-start: 0em;
	font-size: 24px;
	font-weight: bold;
}

/* pricing */
.elementor-price-list .elementor-price-list-item .elementor-price-list-header {
	align-items: start !important;
}
.elementor-price-list-price {
	text-align: right;
	line-height: 1.1em;
}
.elementor-price-list-price .ptj_small {
	font-size: 0.6em !important;
}

.ptj_price ul li {
	list-style-type: disc;
	padding: 0;
	margin-bottom: 5px !important;
}

.elementor-price-list-header .elementor-price-list-price {
	background-color: #4E7921;
	color: #fff !important;
	padding: 3px 8px;
	white-space: nowrap;
}

/* team */
.elementor-testimonial-job {
	padding: 4% 0;
}

/* physio green */
.ptj_green a,
.elementor-widget .elementor-widget-shortcode .ptj_green h3 {
	color: #4e7921 !important;
}

.ptj_box_info_physio .elementor-icon-list-item a,
.ptj_box_info_physio .elementor-widget-text-editor a {
	color: #4e7921 !important;
	font-weight: bold !important;
}

/* reha orange */
.ptj_reha h2,
.ptj_reha h3,
#ptj_reha_intro h2,
#ptj_reha_intro h3,
#ptj_reha_leistungen h2,
#ptj_reha_leistungen h3,
#ptj_reha_content_1 h2,
#ptj_reha_content_1 h3,
#ptj_reha_content_2 h2,
#ptj_reha_content_2 h3,
#ptj_reha_content_3 h2,
#ptj_reha_content_3 h3,
#ptj_reha_content_1 a,
#ptj_reha_content_1 a .elementor-icon-list-text,
#ptj_reha_feed .ptj_feed h3 a,
#ptj_reha_feed a {
	color: #b35900 !important;
}
.ptj_box_info_reha .elementor-icon-list-item a,
.ptj_box_info_reha .elementor-widget-text-editor a {
	color: #b35900 !important;
	font-weight: bold !important;
}

/* html typo */
.privacy-policy main h2,
#ptj_wcag_legal h2 {font-size: 32px !important;}


/* wp accessibility */
a.continue {
	display: block;
	margin: 10px 0;
	text-decoration: underline;
}

.elementor-widget .elementor-icon-list-icon {
	display: inline-block;
}

.elementor-widget a .elementor-icon-list-text {
	padding-inline-start: 0px !important;
}

/* mega menu */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
	padding: 0 10px;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link, 
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
	padding: 10px 0px;
}

/* praxis submenu */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > #mega-menu-item-6131 > ul.mega-sub-menu {
	width: 400px !important;
	left: auto !important;
}
/* reha submenu */
#mega-menu-wrap-menu-1 #mega-menu-menu-1 > #mega-menu-item-2242 > ul.mega-sub-menu {
	/*width: auto !important;
	left: auto !important;*/
}
.mega-sub-menu .widget_media_image img {
	margin: 20px 0;
}
/* reha & headlines submenu mobile */
@media only screen and (max-width: 768px) {
	
	#ptj_navigation_bar {
		background-color: transparent !important;
	}
	
	#ptj_header_bar {
		margin-top: -50px;
	}
	

	#mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated {
		margin: 50px 0 0 0 !important;
	} 
	
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column-standard > a.mega-menu-link, 
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
	padding: 0px;
}
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu {
		padding-bottom: 20px;
	}
	
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > #mega-menu-item-media_image-4 {
		text-align: center;
		display: inline-block;
		float: none;
	}
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > .widget_text {
		margin-top: 10px !important;
	}
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > #mega-menu-item-text-27 {
		margin-top: 0px !important;
	}
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row .mega-menu-column > ul.mega-sub-menu > li.mega-menu-item {
		padding: 10px 15px;
	}
	#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
		padding: 10px;
		height: auto !important;
	}
}

/* tel links */
.elementor-widget.elementor-list-item-link-full_width a {
	width: auto !important;
	display: inline-block;
}

/* maps */
#ptj_maps iframe html::after {
	content: ' lang="de" ';
}
.ev-accessible-map {
	height: auto !important;
}

/* padding for intro with box */
#ptj_intro_left {
	padding-top: 50px !important;
}

/* kursplan */
#ptj_kursplan .kursplan {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  margin-bottom: 35px;
}

#ptj_kursplan .kursplan th,
#ptj_kursplan .kursplan td {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}

#ptj_kursplan .kursplan-title {
  font-size: 20px;
  font-weight: 600;
  text-align: left;
  color: #b35900;
  font-family: 'Raleway', sans-serif;
  margin-bottom: 10px;
}

#ptj_kursplan .kursplan thead th {
  background: #fff3d6;
  font-weight: 600;
}

#ptj_kursplan .kurs-reha {
  color: #7a5a00;
  font-weight: 600;
}

#ptj_kursplan .kurs-mtt {
  color: #2e7d32;
  font-weight: 600;
}

#ptj_kursplan .kurs-yoga {
  color: #0077aa;
  font-weight: 600;
}

#ptj_kursplan .kurs-yoga-hybrid {
  color: #0077aa;
  font-weight: 600;
}

#ptj_kursplan .kurs-pilates {
  color: #7b1fa2;
  font-weight: 600;
}

#ptj_kursplan .kurs-hocker {
  color: #8d6e63;
  font-weight: 600;
}

#ptj_kursplan .kurs-nordic {
  color: #444;
  font-weight: 600;
}

/* Hover-Effekt bei Tabellen entfernen */
table.kursplan tr:hover td {
    background-color: inherit !important;
    cursor: default;
}

table.kursplan tr td,
table.kursplan tbody tr:nth-child(odd),
table.kursplan tbody tr:nth-child(even),
table.kursplan tbody tr:nth-child(odd) td,
table.kursplan tbody tr:nth-child(even) td,
table.kursplan tbody tr:nth-child(odd) th,
table.kursplan tbody tr:nth-child(even) th,
table.kursplan tr:hover td,
table.kursplan tbody tr:nth-child(odd):hover,
table.kursplan tbody tr:nth-child(even):hover,
table.kursplan tbody tr:nth-child(odd):hover td,
table.kursplan tbody tr:nth-child(even):hover td,
table.kursplan tbody tr:nth-child(odd):hover th,
table.kursplan tbody tr:nth-child(even):hover th {
    background-color: #fff !important;
    cursor: default;
}

table.kursplan thead tr th {
    text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 400 !important;
	background-color: #f6f7f8 !important;
    cursor: default;
}

table.kursplan {
    table-layout: fixed;
    width: 100%;
}

table.kursplan th:first-child,
table.kursplan td:first-child {
    width: 100px; /* Uhrzeit-Spalte */
}

table.kursplan th:last-child,
table.kursplan td:last-child {
    width: auto; /* Kurs-Spalte füllt den Rest */
}

