/* myCoachz base theme styles (placeholder). */
:root {
    /* Base theme colors */
    --mc-primary: #0b5ed7;

    /* Surface/glass tokens (global defaults) */
    --mc-surface-bg: rgba(255,255,255,.16);
    --mc-surface-blur: 4px;
    --mc-surface-radius: 20px;
    --mc-surface-shadow: 0 3px 12px rgba(0,0,0,.10);
    --mc-surface-border-color: rgba(255,255,255,.28);
    --mc-surface-border: 1px solid var(--mc-surface-border-color);

    /* Spacing & accent */
    --mc-gap: 16px;
    --mc-accent: #0d6efd;

    /* Focus ring for accessibility */
    --mc-focus-outline: 2px solid var(--mc-accent);
    --mc-focus-ring: 0 0 0 3px rgba(13,110,253,.35);

    /* Button und Hint-Box tokens */
    --mc-button-bg: #f9f6a9;
    --mc-button-border-color: rgba(116,112,82,.45);
    --mc-button-hover-gradient: linear-gradient(120deg, #3fb2ff 0%, #8f5cfe 100%);
    --mc-button-text-hover: #ffffff;
    --mc-button-bg-hover: #fffbe0;
    --mc-button-color: #323232;
    --mc-button-radius: 70px;
    --mc-button-padding: 10px 30px 10px 30px;
    --mc-button-shadow: none;
    --mc-button-shadow-hover: none;
    --mc-hint-alpha: 0.40;
}

/* Optional XL/XXL token tweaks */
@media (min-width: 1200px) {
    :root {
        --mc-gap: 18px;
    }
}
@media (min-width: 1400px) {
    :root {
        --mc-gap: 20px;
        --mc-surface-radius: 24px;
        --mc-surface-shadow: 0 3px 12px rgba(0,0,0,.10);
    }
}

body.mc-theme-initialized { /* keep file present to satisfy library reference */
  visibility: visible;
}

#main-content {
    padding-top: 40px 
    }


/* Keep themed background even though body carries DXPR boxed helper class */
/*
.az-ctnr.container-fluid {
    padding-right: 0;
    padding-left: 0;
}

.az-ctnr.container-fluid img {
    border-radius: 0 0 35px 35px;
    max-width: 1680px;
    margin:auto;
}

*/

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: var(--mc-button-padding);
    border-radius: var(--mc-button-radius);
    background-color: var(--mc-button-bg);
    color: var(--mc-button-color);
    border: 1px solid var(--mc-button-border-color);
    font-weight: 600;
    box-shadow: var(--mc-button-shadow);
    text-decoration: none;
    transition:
        transform 120ms ease,
        box-shadow 120ms ease,
        background-color 120ms ease;
}
.btn-primary:hover,
.btn-primary:focus-visible {
    background: var(--mc-button-hover-gradient);
    color: var(--mc-button-text-hover);
    border-color: transparent;
    box-shadow: var(--mc-button-shadow-hover);
    text-decoration: none;
}
.btn-primary:focus-visible {
    outline: var(--mc-focus-outline);
    outline-offset: 2px;
}

/* Hintergrundbild mobile */
@media (max-width: 767.98px) {	
  body {
    background-attachment: scroll !important; /* darf nicht fixed sein fuer ios mobile */
    background-position-x: center !important;
    background-size: 500%;
    background-position-y: -2000px !important;    
    }
}

/* Startseite Einleitungstext */

#einleitung {
    padding: 40px 20px 20px 20px;
    width: 100%;
    margin: auto;
}

@media (max-width: 767.98px) {	

	.page-node-type-front-page #einleitung h1 {
    font-size: 1.7rem;
    }
    
    .page-node-type-front-page h2 {
    padding: 20px 20px 20px 20px;
    font-size: 1.7rem !important;
    text-align: center;
    }
    
     .taxonomy-term h2 {
    font-size: 1.0rem !important;
    }
    
    .page-node-type-front-page p {
    font-size: 1.2rem;
    padding: 20px 20px 20px 20px;
    text-align: center;
    }
    
    #zwischentitel .az-element {
    padding-top: 0px !important;
    }
    
    .page-node-type-front-page hr {
    padding-top: 0px !important;
    }

    
    
}


@media (min-width: 768px) {	
	
	#einleitung {
	padding: 40px 20px 60px 20px;
    width: 80%;
    margin: auto;	
	}
	
	#zwischentitel h2 {
    padding: 20px 20px 20px 20px;
    width: 80%;
    margin: auto;
    }

}

/* Kategorien mit Filter */


.view-uebergeordnete-kategorien {
	text-align: center;
	width: 80%;
	margin: auto;
	padding-top: 60px;
    }

.page-node-type-front-page .view-uebergeordnete-kategorien {
		padding-top: 0px;
    }

.view-uebergeordnete-kategorien .views-row,
.view-uebergeordnete-kategorien .taxonomy-term {
    display: inline-flex;
    flex-wrap: wrap; /* erlaubt Umbruch nach 3 Elementen */
    justify-content: center; /* zentriert die Zeilen */
    gap: 10px; /* Abstand zwischen Elementen (horizontal & vertikal) */
}


.view-uebergeordnete-kategorien .taxonomy-term h2 {
    padding: 10px 60px 10px 40px;
    border-radius: 70px;  /* oder 12px coaching card? */ 
    
    background-image: url('../assets/pfeil.png'); /* Hintergrundbild Pfeil */
    background-repeat: no-repeat;
    background-size: 36px;
    background-position: right 10px center; /* rechts, aber 10px nach innen */
    
     /* Weicher Rand-Effekt */
    box-shadow:
        3px 3px 10px rgba(0, 0, 0, 0.15),   /* dunkler Schatten unten rechts */
        -3px -3px 10px rgba(255, 255, 255, 0.4); /* heller Schatten oben links */    
    background-color: rgba(255, 255, 255, 0.4); 
    border: none;
    /* box-shadow: 0 3px 12px rgba(0, 0, 0, .10); */
}



/* Coaches online filter visibility */
.view.view-id-coaches.view-display-id-page_1.filter-online-active .coach-offline {
	display: none !important;
}

/* Active chip highlighting reused across pages - auf dunkles Grau gesetzt btb */
.view-uebergeordnete-kategorien .coach-filter__chip.is-active h2,
.view-uebergeordnete-kategorien .coach-filter__chip[aria-pressed="true"] h2 {
	background-color: rgba(50, 50, 50, 1.0);
	color: rgba(255, 255, 255, 0.9);
}

/* Coaches: Abstand zwischen Filter-Chips und erster Kartenreihe erhöhen */
.view-id-coaches.view-display-id-page_1 .coach-filter-toolbar {
	margin-bottom: 32px; /* ~ doppelt so hoch wie vorher */
}

/* Fallback/Spezifisch: direkt auf das Toolbar-Element anwenden */
.view-uebergeordnete-kategorien.coach-filter-toolbar {
	margin-bottom: 32px;
}

/* Startseite 3 Steps zur Anmeldung */

#anmeldeSteps {
	display: flex;
	flex-wrap: wrap; /* erlaubt Umbruch, falls Bildschirm zu klein */
  	justify-content: space-between; /* verteilt Boxen gleichmäßig */
  	align-items: stretch; /* alle gleich hoch */
  	text-align: center;
	width: calc(100% + 20px);
	margin: auto;
	padding-bottom: 40px;
	margin-left:-10px;
		    }

@media (min-width: 576px) {	
		    
#anmeldeSteps .az-button,
#anmeldeSteps .az-column {
	display: flex;
	align-items: stretch; /* alle gleich hoch */
	flex: 1 1 0;       /* alle gleich breit 1 darf wachsen 1 darf schrumpfen 0 basis gleichmäßig verteilt */
  	min-width: 0;	    
  	}
  	
}

#anmeldeSteps #step1 a,
#anmeldeSteps #step2 a,
#anmeldeSteps #step3 a {	
    display: block;
    width: 100%;
    padding: 90px 20px 30px 40px;
    border-radius: 35px; /* oder 12px coaching card? */   
    background-color: transparent;
    background-repeat: no-repeat;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .10);
    gap: 20px; /* Abstand zwischen Elementen (horizontal & vertikal) */   
        }
     
#anmeldeSteps #step1 a {
    /* background-color: rgba(240, 200, 255, 0.6); violett */
    background-image: url('../assets/pfeil.png'), url('../assets/icon-coach-auswaehlen.png'); /* Pfeil und Icon Coach auswählen */
    background-size: 36px, 48px;
    background-position: right 10px top 10px, left 40px top 18px; /* erster wert pfeil, zweiter wert icon */      
    }

#anmeldeSteps #step2 a {
    /* background-color:  rgba(200, 255, 160, 0.6); grasgruen */
    background-image: url('../assets/pfeil.png'), url('../assets/icon-anmelden.png'); /* Pfeil und Icon Coach auswählen */
    background-size: 36px, 60px;
    background-position: right 10px top 10px, left 40px top 10px; /* erster wert pfeil, zweiter wert icon */   
    }

#anmeldeSteps #step3 a {
    /* background-color:  rgba(180, 240, 220, 0.6); tuerkis */
    background-image: url('../assets/pfeil.png'), url('../assets/icon-sofort-loslegen.png'); /* Pfeil und Icon Coach auswählen */
    background-size: 36px, 60px;
    background-position: right 10px top 10px, left 40px top 10px; /* erster wert pfeil, zweiter wert icon */   
    }

#anmeldeSteps .btn-primary {
	border-color: transparent;
	color: #3c4858;	
	    }

#anmeldeSteps .btn-primary p {
    font-weight: 600;
    text-align: left;
    margin: 0;
}

#anmeldeSteps #step1 a:hover,
#anmeldeSteps #step2 a:hover, 
#anmeldeSteps #step3 a:hover {
	text-decoration: none;
	background-color: rgba(181, 187, 173, .30);	
	    }




/* Alert color for Bookings tab in user account when coach has pending requests */
.dxpr-theme-mini-tabs-wrapper .tabs.tabs--primary li.mc-has-alert > a,
.tabs.tabs--primary li.mc-has-alert > a,
.nav.nav-tabs li.mc-has-alert > a {
  color: #ffa500 !important;
  font-weight: 600;
}

/* Coach-Konto: Sidebar-Blocks wie Footer-Menues stylen */
.region-sidebar-second .block-funds-operations .block-title,
.region-sidebar-second .block-bbb-coach-payout-balance .block-title {
    font-size: 1.5rem;
    font-weight: 400 !important;
}

.region-sidebar-second .block-funds-operations ul,
.region-sidebar-second .block-bbb-coach-payout-balance .item-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.region-sidebar-second .block-funds-operations li,
.region-sidebar-second .block-bbb-coach-payout-balance .item-list li {
    line-height: 1.4286;
    margin: 0;
}

.region-sidebar-second .block-bbb-coach-payout-balance .item-list,
.region-sidebar-second .block-bbb-coach-payout-balance .item-list li,
.region-sidebar-second .block-bbb-coach-payout-balance .item-list li small {
    color: #000;
}

.region-sidebar-second .block-funds-operations a.operation-link {
    background: rgba(0,0,0,0);
    font-size: 0.875rem;
    margin: 0;
    padding: 0;
    text-decoration: none;
}

.region-sidebar-second .block-funds-operations a.operation-link:hover,
.region-sidebar-second .block-funds-operations a.operation-link:focus {
    text-decoration: underline;
}

/* Footer */

.region-footer-first,
.region-footer-second,
.region-footer-third {
    position: relative; 
    z-index: 999;
   }



.dxpr-theme-footer {
    background-color: transparent; 
   }
   
.dxpr-theme-footer h2 {
    /* text-transform: uppercase; */
    font-size: 1.5rem;
    font-weight: 400 !important;    
   }


.dxpr-theme-footer .navbar-nav .nav-link {
    padding-bottom: 4px;
   }
   
#footerLogo img {
    width: 60%;
    height: auto;
    margin-bottom: 40px;
   }


@media (min-width: 768px) {	
	
	#footerLogo {
    margin-top: -60px;
   }
   
   #footerLogo img {
    width: 20%;
    height: auto;
    margin-bottom: 60px;
   }



	#logoMinisterium img {
		padding-top: 40px;
	    max-width: 70%;
	   }

}

@media (max-width: 767.98px) {	
    
    #Fl0vpanif p { /* Footer */
    line-height: 1.2rem !important;
        }

}



/* Checkout: highlight selectable payment methods */
.checkout-pane-payment-information .form-radios,
.checkout-pane.payment-information .form-radios {
  display: block !important;
  margin: 0 0 1rem 0;
}
.checkout-pane-payment-information .form-radios .form-item,
.checkout-pane.payment-information .form-radios .form-item {
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 14px;
  margin-bottom: 10px;
  transition: border-color 120ms ease, box-shadow 120ms ease, background 120ms ease;
}
.checkout-pane-payment-information .form-radios .form-item:hover,
.checkout-pane.payment-information .form-radios .form-item:hover {
  border-color: #bcd0ff;
}
.checkout-pane-payment-information .form-radios .form-item input[type="radio"]:focus-visible + label,
.checkout-pane.payment-information .form-radios .form-item input[type="radio"]:focus-visible + label,
.checkout-pane-payment-information .form-radios .form-item input[type="radio"]:focus + label,
.checkout-pane.payment-information .form-radios .form-item input[type="radio"]:focus + label {
  outline: 2px solid #80aaff;
  outline-offset: 2px;
}
.checkout-pane-payment-information .form-radios .form-item input[type="radio"]:checked + label,
.checkout-pane.payment-information .form-radios .form-item input[type="radio"]:checked + label {
  font-weight: 600;
}
/* Add a prominent selected state by styling the container when input is checked */
/* Fallback: add subtle underline to the label when checked (if markup pairs input+label) */

/* Checkout: hide contact information pane for authenticated users */
body.logged-in .checkout-pane-contact-information {
  display: none !important;
}
.checkout-pane-payment-information .form-radios .form-item input[type="radio"]:checked + label,
.checkout-pane.payment-information .form-radios .form-item input[type="radio"]:checked + label {
  text-decoration: underline;
  text-underline-offset: 2px;
}
/* Progressive enhancement for browsers supporting :has() */
@supports(selector(.x:has(.y))) {
  .checkout-pane-payment-information .form-radios .form-item:has(input[type="radio"]:checked),
  .checkout-pane.payment-information .form-radios .form-item:has(input[type="radio"]:checked) {
    border-color: #0b5ed7;
    box-shadow: 0 0 0 3px rgba(11,94,215,0.15);
    background: #f6f9ff;
  }
}

/* Glasbutton als Test, siehe /de/button-testseite (nicht im Theme verwendet) */

/* Deklariert animierbare Custom Properties (nur nötig, wenn Browser @property versteht) */
@property --angle-1 {
    syntax: "<angle>";
    inherits: false;
    initial-value: -75deg;
  }
  @property --angle-2 {
    syntax: "<angle>";
    inherits: false;
    initial-value: -45deg;
  }
  
  /* Scope: alles nur innerhalb von .mcz-fancy-generate */
  .mcz-fancy-generate {
    --global--size: clamp(2rem, 4vw, 5rem);
    --anim--hover-time: 400ms;
    --anim--hover-ease: cubic-bezier(0.25, 1, 0.5, 1);
    display: inline-flex;
    position: relative;
    z-index: 1;
    font-family: "Inter", sans-serif;
  }
  
  /* Button-Wrapper */
  .mcz-fancy-generate .button-wrap {
    position: relative;
    z-index: 2;
    border-radius: 999vw;
    background: transparent;
    pointer-events: none;
    transition: all var(--anim--hover-time) var(--anim--hover-ease);
  }
  
  /* Schatten-Container */
  .mcz-fancy-generate .button-shadow {
    --shadow-cuttoff-fix: 2em;
    position: absolute;
    width: calc(100% + var(--shadow-cuttoff-fix));
    height: calc(100% + var(--shadow-cuttoff-fix));
    top: calc(0% - var(--shadow-cuttoff-fix) / 2);
    left: calc(0% - var(--shadow-cuttoff-fix) / 2);
    filter: blur(clamp(2px, 0.125em, 12px));
    pointer-events: none;
  }
  .mcz-fancy-generate .button-shadow::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999vw;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.1));
    width: calc(100% - var(--shadow-cuttoff-fix) - 0.25em);
    height: calc(100% - var(--shadow-cuttoff-fix) - 0.25em);
    top: calc(var(--shadow-cuttoff-fix) - 0.5em);
    left: calc(var(--shadow-cuttoff-fix) - 0.875em);
    padding: 0.125em;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    transition: all var(--anim--hover-time) var(--anim--hover-ease);
    opacity: 1;
  }
  
  /* Button-Basis */
  .mcz-fancy-generate button {
    --border-width: clamp(1px, 0.0625em, 4px);
    all: unset;
    cursor: pointer;
    position: relative;
    z-index: 3;
    pointer-events: auto;
    border-radius: 999vw;
    background: linear-gradient(-75deg, rgba(255,255,255,0.05), rgba(255,255,255,0.2), rgba(255,255,255,0.05));
    box-shadow:
      inset 0 0.125em 0.125em rgba(0,0,0,0.05),
      inset 0 -0.125em 0.125em rgba(255,255,255,0.5),
      0 0.25em 0.125em -0.125em rgba(0,0,0,0.2),
      0 0 0.1em 0.25em inset rgba(255,255,255,0.2),
      0 0 0 0 rgba(255,255,255,1);
    backdrop-filter: blur(clamp(1px, 0.125em, 4px));
    transition: all var(--anim--hover-time) var(--anim--hover-ease);
  }
  .mcz-fancy-generate button:hover {
    transform: scale(0.975);
    backdrop-filter: blur(0.01em);
    box-shadow:
      inset 0 0.125em 0.125em rgba(0,0,0,0.05),
      inset 0 -0.125em 0.125em rgba(255,255,255,0.5),
      0 0.15em 0.05em -0.1em rgba(0,0,0,0.25),
      0 0 0.05em 0.1em inset rgba(255,255,255,0.5),
      0 0 0 0 rgba(255,255,255,1);
  }
  
  /* Button-Text */
  .mcz-fancy-generate button span {
    position: relative;
    display: block;
    user-select: none;
    font-family: inherit;
    font-weight: 500;
    letter-spacing: -0.05em;
    font-size: 1em;
    color: rgba(50,50,50,1);
    text-shadow: 0em 0.25em 0.05em rgba(0,0,0,0.1);
    transition: all var(--anim--hover-time) var(--anim--hover-ease);
    padding-inline: 1.5em;
    padding-block: 0.875em;
  }
  .mcz-fancy-generate button span::after {
    content: "";
    position: absolute;
    inset: calc(var(--border-width) / 2);
    border-radius: 999vw;
    background: linear-gradient(
      var(--angle-2),
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0.5) 40% 50%,
      rgba(255,255,255,0) 55%
    );
    mix-blend-mode: screen;
    background-size: 200% 200%;
    background-position: 0% 50%;
    transition: background-position calc(var(--anim--hover-time) * 1.25) var(--anim--hover-ease),
                --angle-2 calc(var(--anim--hover-time) * 1.25) var(--anim--hover-ease);
  }
  .mcz-fancy-generate button:hover span::after {
    background-position: 25% 50%;
  }
  .mcz-fancy-generate button:active span::after {
    background-position: 50% 15%;
    --angle-2: -15deg;
  }
  
  /* Outline */
  .mcz-fancy-generate button::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 999vw;
    width: calc(100% + var(--border-width));
    height: calc(100% + var(--border-width));
    top: calc(0% - var(--border-width) / 2);
    left: calc(0% - var(--border-width) / 2);
    padding: var(--border-width);
    box-sizing: border-box;
    background: conic-gradient(
        from var(--angle-1) at 50% 50%,
        rgba(0,0,0,0.5),
        rgba(0,0,0,0) 5% 40%,
        rgba(0,0,0,0.5) 50%,
        rgba(0,0,0,0) 60% 95%,
        rgba(0,0,0,0.5)
      ),
      linear-gradient(180deg, rgba(255,255,255,0.5), rgba(255,255,255,0.5));
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
    transition: all var(--anim--hover-time) var(--anim--hover-ease), --angle-1 500ms ease;
    box-shadow: inset 0 0 0 calc(var(--border-width) / 2) rgba(255,255,255,0.5);
  }
  .mcz-fancy-generate button:hover::after {
    --angle-1: -125deg;
  }
  .mcz-fancy-generate button:active::after {
    --angle-1: -75deg;
  }
  
  /* Hover + Active Effekte */
  .mcz-fancy-generate .button-wrap:has(button:hover) .button-shadow {
    filter: blur(clamp(2px, 0.0625em, 6px));
    transition: filter var(--anim--hover-time) var(--anim--hover-ease);
  }
  .mcz-fancy-generate .button-wrap:has(button:hover) .button-shadow::after {
    top: calc(var(--shadow-cuttoff-fix) - 0.875em);
  }
  .mcz-fancy-generate .button-wrap:has(button:active) {
    transform: rotate3d(1, 0, 0, 25deg);
  }
  .mcz-fancy-generate .button-wrap:has(button:active) .button-shadow::after {
    top: calc(var(--shadow-cuttoff-fix) - 0.5em);
    opacity: 0.75;
  }
  
  /* Touch-Geräte: Hover/Active vereinheitlichen */
  @media (hover: none) and (pointer: coarse) {
    .mcz-fancy-generate button span::after,
    .mcz-fancy-generate button:active span::after {
      --angle-2: -45deg;
    }
    .mcz-fancy-generate button::after,
    .mcz-fancy-generate button:hover::after,
    .mcz-fancy-generate button:active::after {
      --angle-1: -75deg;
    }
  }
  

   /* einfache Seite Ränder */
   
.page-node-type-page .content {
  padding-left: 20px;     
  padding-right: 20px;   
}

 
   /* Listenpunkte kleiner machen */
   
  
.page-node-type-page .content ul li {
  list-style: none;      /* normalen Bullet entfernen */
  position: relative;
  padding-left: 1em;     /* Platz für neuen Bullet */
}

.page-node-type-page .content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;            /* vertikale Ausrichtung anpassen */
  width: 4px;            /* Bullet-Größe */
  height: 4px;
  background-color: black;
  border-radius: 50%;    /* macht ihn rund */
}

@media (max-width: 767.98px) {	
	
  .page-node-type-page .content ul  {
  	padding-left: 0.2rem;
  	}	
	
}

  /* Formatierung AGB */
  
.agb ul,
.agb ul li {
  list-style: none;
}

.agb ul li {
  padding-top: 0.5rem;
}

.agb ul li::before {
  content: none !important;
}

.agb ul.unterliste li {
  list-style: disc !important;
}

@media (max-width: 767.98px) {
    .page-node-type-page .content .agb ul {
        padding-left: 0.0rem;
    }
        
   .page-node-type-page .content .agb ul li {
        padding-left: 0.0rem;
    }
}

/* akkordeon /*
.accordion-item .accordion-button {
  background: transparent;
}
