@font-face {
  font-family: 'Flavors';
  src: url('/templates/shaper_kidzy/webfonts/flavors-regular.woff2') format('woff2'),
       url('/templates/shaper_kidzy/webfonts/flavors-regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: 'Montserrat';
  src: url('../templates/shaper_kidzy/webfonts/montserrat-regular.woff2') format('woff2'),
       url('../templates/shaper_kidzy/webfonts/montserrat-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('../templates/shaper_kidzy/webfonts/montserrat-italic.woff2') format('woff2'),
       url('../wtemplates/shaper_kidzy/webfonts/montserrat-italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/templates/shaper_kidzy/webfonts/montserrat-semibolditalic.woff2') format('woff2'),
       url('/templates/shaper_kidzy/webfonts/montserrat-semibolditalic.woff') format('woff');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('/templates/shaper_kidzy/webfonts/montserrat-bolditalic.woff2') format('woff2'),
       url('/templates/shaper_kidzy/webfonts/montserrat-bolditalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}


@font-face {
  font-family: 'Montserrat';
  src: url('/templates/shaper_kidzy/webfonts/montserrat-extrabolditalic.woff2') format('woff2'),
       url('/templates/shaper_kidzy/webfonts/montserrat-extrabolditalic.woff') format('woff');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}


/* ===========================================
   SECTION: Schrift
   =========================================== */


.sppb-slidehsow-sub-title {
  font-family: 'Flavors', cursive !important;
}


/* Headlines global */
h1, h2, h3, h4, h5, h6 {
 font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-style: italic !important;
  text-transform: none;
}


h1, h2, h3 {
color: #92278f;
}

/* H2 Überschriften Zeilenabstand Blog Artikel  */

.item-page .entry-header h2 {
  color: #92278f!important; /* Violett */
}

.entry-header h2 {
  line-height: 1.4!important;
}

.blog .entry-header h2 {
  line-height: 1.0 !important;
}

.item-page .entry-header h2 {
  line-height: 1.4 !important;
}


h2[itemprop="name"] {
  font-size: 2.4rem !important;
 /* background: red !important;*/
}


/* Blog Artikel Überschrift */

h2[itemprop="name"] a {
  color: #92278f !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

h2[itemprop="name"] a:hover {
  color: #60185b !important;
}



.article-details *,
.article-details *:not(i) {
  font-family: 'Montserrat', sans-serif !important;
}
.sppb-addon-title {
  font-size: 2.0rem;
}

.sppb-addon-title,
.sppb-addon-feature .sppb-feature-box-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-style: italic;
  /* color: #92278f;*/
}

.sppb-person-name {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-style: italic !important;
  /*color: #92278f;*/
}


/* Subheading */
.sppb-title-subheading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-style: italic;
  color: #ababab !important;
}



/* Fließtext */
body, .sppb-addon-content .sppb-title-subheading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.6;
}

body,
body p,
.sppb-addon-text p {
  color: #111 ;
}


.sppb-testimonial-message,
.sppb-testimonial-message p {
  color: #fff !important;
}

/* Buttons */
.sppb-btn, .btn, button {
  text-transform: none !important;
}

.video-placeholder {
  color: #fff;
}

.video-placeholder a {
  color: #fff;
  text-decoration: underline;
}

.pull-left.entry-image.intro-image {
  margin-top: 25px;
}
/* ===========================================
   SECTION: Navigation & Mobile Menu & Suchfeld
   =========================================== */

#sp-menu a {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-style: italic !important;
}
#offcanvas-menu a,
.offcanvas-menu a {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-style: italic !important;
}

/* Schriften für Suchergebnisseite */

@font-face {
  font-family: "Font Awesome 5 Free";
  src: url("/media/vendor/fontawesome-free/webfonts/fa-solid-900.woff2") format("woff2"),
       url("/media/vendor/fontawesome-free/webfonts/fa-solid-900.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Font Awesome 5 Brands";
  src: url("/media/vendor/fontawesome-free/webfonts/fa-brands-400.woff2") format("woff2"),
       url("/media/vendor/fontawesome-free/webfonts/fa-brands-400.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* Icons nicht kursiv */
.social-icons i,
.social-icons i:before,
.sp-contact-info i,
.sp-contact-info i:before {
  font-style: normal !important;
}

/* Solid: Login/User */
.fa-user,
.fa-user:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  content: "\f007";
}

/* Brands */
.social-icons .fa-facebook,
.social-icons .fa-facebook:before,
.social-icons .fa-instagram,
.social-icons .fa-instagram:before,
.social-icons .fa-tiktok,
.social-icons .fa-tiktok:before,
.social-icons .fa-brands,
.social-icons .fa-brands:before {
  font-family: "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
}

/* fehlende Codes erzwingen */
.social-icons .fa-instagram:before {
  content: "\f16d";
}

.social-icons .fa-tiktok:before {
  content: "\e07b";
}

.sp-login i,
.sp-login i:before,
.fa-user,
.fa-user:before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
}


/* Suchfeld kompakt */
.my-custom-search .js-finder-search-query {
  width: 75px !important;
  max-width: 75px !important;
  font-size: 12px;
  padding: 2px 6px !important;
  height: 28px !important;
}



.js-finder-search-query {
  max-width: 100px !important;
  font-size: 12px;
  padding: 2px 6px;
  height: 28px !important;
}



/* Menüzeile nicht umbrechen */
.sp-megamenu-wrapper {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
}


/* ===========================================
   SECTION: Menüpunkte Verkleinere die horizontale Abstände (Margin/Padding)ab 992px
   =========================================== */


@media (max-width: 1199px) {
  #sp-menu .sp-megamenu-parent > li > a {
    padding-left: 0px;
    padding-right: 0px;
    font-size: 14px;
  }

  #sp-menu .sp-megamenu-parent > li::after {
    margin-left: 10px;
    margin-right: 0px;
  }

  /* Menüzeile fest in einer Reihe halten */
  #sp-menu .sp-megamenu-parent {
    flex-wrap: nowrap;
    overflow: visible; /* Wichtig! Dropdowns sollen sichtbar bleiben */
    justify-content: center;
  }
}


/* ===========================================
   SECTION: Logo Sticky-Header
   =========================================== */

#sp-header[style*="position: fixed"] .logo {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}




/* ===========================================
   SECTION: FOOTER
   =========================================== */

#sp-bottom3 {
  width: 80px;
}


/* Abstand zwischen den beiden Modulen in sp-bottom2 verringern */
#sp-bottom2 .sp-module + .sp-module {
  margin-top: -0px;
}

/* Optional: Stil für Link im zweiten Modul anpassen */
#sp-bottom2 .sp-module + .sp-module a {
  font-size: 0.9rem !important;
  color: #fff;
}

.cookie-modul a {
  position: relative;
  display: inline-block;
  font-size: 0.9rem;
  color: #fff;
  text-decoration: none;
  padding-left: 0;
  transition: all 0.3s ease;
}

.cookie-modul a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900; /* für solid style */
  content: "\f054"; /* Unicode für fa-angle-right */
  font-size: 0.8rem;
  position: absolute;
  left: 0;
  opacity: 0;
  transform: translateX(-6px);
  transition: all 0.3s ease;
  color: #fff;
}

.cookie-modul a:hover::before {
  opacity: 1;
  transform: translateX(0);
}

.cookie-modul a:hover {
  padding-left: 0.7rem;
}


#sp-bottom::before {
	background-image: none !important;
	 background-image: url('/images/footer/clevies-footer-band.webp') !important;
  	background-size: cover;
  	background-position: bottom center;
}


/* ===========================================
   SECTION: MEDIA * MEDIA * MEDIA
   =========================================== */

@media (max-width: 767px) {
  .sppb-addon-title {
    font-size: 28px;      /* größer oder kleiner nach Wunsch */
    line-height: 1.4!important;     /* typischer Zeilenabstand */
  }
}

/* ===========================================
   SECTION: Slideshow
   =========================================== */

/* Slideshow */
@media (max-width: 1024px) {
  .sppb-slideshow-fullwidth .sppb-addon-content img {
    margin-top: 60px;
  }
}

/* ===========================================
   SECTION: Media Logo Position
   =========================================== */

/* Smartphones (Hochformat & Querformat) */
@media (max-width: 767px) {
  body:not(.is-sticky) .sp-default-logo {
    margin-top: -2px !important;
	/* border: 2px solid red !important; */ /* Testfarbe für Phone */

  }

  body.is-sticky .sp-default-logo {
    margin-top: 0 !important; /* oder was vorher richtig war */
  }
}


/* Tablets (Querformat & größere Phones) */
@media (min-width: 768px) and (max-width: 1024px) {
  body:not(.is-sticky) .sp-default-logo {
    margin-top: 20px !important;
    /* border: 2px solid green !important; */ /* Testfarbe für Tablets */
  }
}

/* Desktop-Zwischengröße: 1025–1199px */
@media (min-width: 1025px) and (max-width: 1199px) {
  body:not(.is-sticky) .sp-default-logo {
    margin-top: 20px !important;
    /* border: 2px solid orange !important; */ /* zum Testen */
  }
}

/* ===========================================
   SECTION: Media Sticky-Logo Position
   =========================================== */

/* iPhone Hochformat & kleine Geräte */
@media (max-width: 767px) {
  .is-sticky #sp-logo {
    margin-top: -15px;
    /* border: 1px dashed red; */ /* optional für Debugging */
  }
}

/* Tablets & große Smartphones quer */
@media (min-width: 768px) and (max-width: 1024px) {
  .is-sticky #sp-logo {
    margin-top: -10px;
    /* border: 1px dashed green; */
  }
}

/* Kleine Desktopgrößen */
@media (min-width: 1025px) and (max-width: 1199px) {
  .is-sticky #sp-logo {
    margin-top: 0px;
    /* border: 1px dashed blue; */
  }
}

/* ===========================================
   SECTION: Media Sticky Logo Phone Größe
   =========================================== */


@media (max-width: 767px) {
  #sp-logo img,
  .sp-default-logo {
    max-height: 70px;
    height: auto !important;
    width: auto !important;
  }
}


/* ===========================================
   SECTION: Slideshow Text / Bild Anpassungen
   =========================================== */


/* iPhone Hochformat */
@media only screen and (max-width: 767px) and (orientation: portrait) {
  .sppb-slideshow-fullwidth-item .row {
    flex-direction: column-reverse;
  }
  .sppb-slideshow-fullwidth-item-text {
    margin-top: 20px;
    text-align: center;
  }
}

/* iPhone Querformat */
@media only screen and (max-width: 767px) and (orientation: landscape) {
  .sppb-slideshow-fullwidth-item .row {
    flex-direction: column-reverse;
  }
  .sppb-slideshow-fullwidth-item-text {
    margin-top: -300px;
    text-align: center;
  }
}


/* iPhone Max & kleines Tablet untereinander */

@media (min-width: 768px) and (max-width: 1024px) {
  .sppb-slideshow-fullwidth-item .row {
    display: flex !important;
    flex-direction: column-reverse !important;
  }

  .sppb-slideshow-fullwidth-item .col-sm-6 {
    width: 100% !important;
    float: none !important;
  }

  .sppb-slideshow-fullwidth-item-text {
    text-align: left !important;
    padding: 15px 25px;
    margin-top: -300px;
  }

  .slider-img {
    text-align: center;
    margin-bottom: 15px;
  }

 

/*  Tablet nebeneinander */
@media (min-width: 1025px) and (max-width: 1199px) {
  .sppb-slideshow-fullwidth-item .sppb-fullwidth-title {
    font-size: 4.3rem !important;
    line-height: 1.2 !important;
  }

  .sppb-slideshow-fullwidth-item .sppb-slidehsow-sub-title {
    font-size: 3rem !important;
  }

  .sppb-slideshow-fullwidth-item .sppb-slideshow-fullwidth-item-text {
    padding: 10px !important;
	margin-top: 100px;
  }
}
	
/*  YouTube Video mobile Geräte */
.video-consent-hint {
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 16px;
  border-radius: 8px;
  font-size: 1rem;
  line-height: 1.5;
  font-family: 'Montserrat', sans-serif;
}

.video-consent-hint h3 {
  font-size: 1.4rem;
  margin-bottom: 10px;
  font-weight: 800;
}

.video-consent-hint a {
  color: #ff80d5;
  font-weight: bold;
  text-decoration: underline;
}

@media (max-width: 768px) {
  .video-consent-hint {
    font-size: 0.95rem;
    padding: 12px;
  }

  .video-consent-hint h3 {
    font-size: 1.2rem;
  }
}
	
