.elementor-kit-8{--e-global-color-primary:#242429;--e-global-color-secondary:#242429;--e-global-color-text:#242429;--e-global-color-accent:#FA6B6B;--e-global-color-0d1f28c:#FA6B6BD6;--e-global-color-0c6c884:#F8F8F8;--e-global-color-ae7ab98:#E4E9E9;--e-global-color-c0a1184:#D4D6DD;--e-global-color-c2fa2f3:#949CA2;--e-global-color-de1b9b0:#797A88;--e-global-color-ac46972:#F3F3F3;--e-global-color-c798801:#FCFCFC;--e-global-color-45408bb:#B9BECD;--e-global-color-53bd778:#F8F4FF;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:42px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:44px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:36px;--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4rem;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-106e2fe-font-family:"Montserrat";--e-global-typography-106e2fe-font-size:24px;--e-global-typography-106e2fe-font-weight:800;--e-global-typography-d248eb8-font-family:"Montserrat";--e-global-typography-d248eb8-font-size:12px;--e-global-typography-d248eb8-font-weight:500;--e-global-typography-263d914-font-family:"Montserrat";--e-global-typography-263d914-font-size:16px;--e-global-typography-263d914-font-weight:800;--e-global-typography-b670933-font-family:"Montserrat";--e-global-typography-b670933-font-size:16px;--e-global-typography-b670933-font-weight:700;}.elementor-kit-8 h1{line-height:2.2rem;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-family:var( --e-global-typography-d248eb8-font-family ), Sans-serif;font-size:var( --e-global-typography-d248eb8-font-size );font-weight:var( --e-global-typography-d248eb8-font-weight );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}@media(max-width:1366px){.elementor-kit-8{--e-global-typography-primary-font-size:36px;--e-global-typography-secondary-font-size:24px;--e-global-typography-b670933-font-size:16px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-d248eb8-font-size );}}@media(max-width:1024px){.elementor-kit-8{--e-global-typography-primary-font-size:32px;--e-global-typography-secondary-font-size:28px;--e-global-typography-106e2fe-font-size:22px;--e-global-typography-b670933-font-size:16px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-d248eb8-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8{--e-global-typography-primary-font-size:24px;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-size:32px;--e-global-typography-text-font-size:16px;--e-global-typography-b670933-font-size:14px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-size:var( --e-global-typography-d248eb8-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===========================
   Google Reviews – Card Layout
   =========================== */

.wp-gr .wp-google-review,
.wp-google-place .wp-google-review {
  border-radius: 8px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
  padding: 20px !important;
  margin-bottom: 25px !important;
  background-color: #fff !important;
  display: flex !important;
  gap: 15px !important;
  flex-direction: row !important;
  align-items: flex-start !important;
}

.wp-gr .wp-google-left img,
.wp-google-place .wp-google-left img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.wp-gr .wp-google-right,
.wp-google-place .wp-google-right {
  flex: 1 !important;
}

.wp-gr .wp-google-name,
.wp-google-place .wp-google-name {
  font-weight: 600 !important;
  font-size: 16px !important;
  color: #1a1a1a !important;
  display: block !important;
  margin-bottom: 5px !important;
  text-decoration: none !important;
}

.wp-gr .wp-google-time,
.wp-google-place .wp-google-time {
  font-size: 13px !important;
  color: #888 !important;
  margin-bottom: 10px !important;
}

.wp-gr .wp-google-stars,
.wp-google-place .wp-google-stars {
  margin-bottom: 10px !important;
}

.wp-gr .wp-google-text,
.wp-google-place .wp-google-text {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: #333 !important;
}

/* Buttons */
.ts-btn,
.ts-btn-1,
.ts-btn-2,
.ts-icon-btn {
  font-size: 12px !important;
}

/* Elementor */
.elementor-slideshow__description {
  display: none;
}

/* ===========================
   Google Rating – Stable Star Styling
   (fix: works across ALL pages/contexts)
   =========================== */

/* Rating text (e.g., "4.6") */
.wp-gr .wp-google-rating,
.wp-google-place .wp-google-rating {
  color: #1a1a1a !important;
  font-size: 14px !important;
}

/*
  IMPORTANT:
  Your markup uses .rpi-stars with CSS variables (e.g. --rating, --star-color).
  Some instances set inline: style="--star-color:#fa6b6b;"
  We override variables here so stars always look identical everywhere.
*/
.wp-gr .rpi-stars,
.wp-google-place .rpi-stars {
  --rpi-star-size: 16px !important;
  --star-size: 16px !important;
  --rpi-rating-color: #000 !important;
  --star-color: #fb8e28 !important;
}

/* Safety net if plugin uses SVG stars in some layouts */
.wp-gr .wp-star svg,
.wp-google-place .wp-star svg {
  fill: #fb8e28 !important;
  width: 14px !important;
  height: auto !important;
  vertical-align: middle !important;
}

/* Hide "powered by Google" in your specified widgets */
.location-star .wp-google-powered,
.dienstleister-star .wp-google-powered {
  display: none !important;
}

/* ===========================
   Icons Grid – Layout
   =========================== */

.iconsgrid .post-feed-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 0.8rem;
  align-items: flex-start;
}

.iconsgrid .post-feed-grid .ts-preview {
  flex: 0 0 auto;
}

.iconsgrid .post-feed-grid .ts-preview > a {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  width: auto !important;
  max-width: 100%;
  padding: 0.45rem 0.8rem;
  border: 1px solid #E2E8F0;
  border-radius: 9999px;
  text-decoration: none;
  background: #fff;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.iconsgrid .post-feed-grid .elementor-icon-list-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

.iconsgrid .post-feed-grid .elementor-icon-list-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.iconsgrid .post-feed-grid .elementor-icon-list-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.iconsgrid .post-feed-grid .elementor-icon-list-icon {
  flex: 0 0 auto;
  line-height: 0;
}

.iconsgrid .post-feed-grid .elementor-list-item-link-full_width {
  width: auto !important;
}

/* ===========================
   Textfeld Links
   =========================== */

.textfeld a {
  color: #000;
  text-decoration: none;
  font-weight: bold;
}

.textfeld a:hover {
  text-decoration: underline;
}

/* ===========================
   Ultimate – Gold Border
   =========================== */

.ts-preview:has(.ts-action[data-tooltip="Ultimate"]) {
  border: 3px solid #ffc800;
  border-radius: 18px;
  box-shadow: 0 0px 0px #ffc800;
  overflow: hidden; /* falls innen Elemente überstehen */
}

.ts-preview:has(.ts-action[data-tooltip="Ultimate"])::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 18px;
  pointer-events: none;
  box-shadow: 0 0 0 2px #ffc800 inset;
}

/* WO FEIERN Mobil: Seite nie seitlich verschiebbar (Safari/iPhone). Stand 21.09.2026 */
@media (max-width: 767px) {
  html, body { overflow-x: hidden; overflow-x: clip; }
}

/* WO FEIERN Versuch 21.09.2026: alle Buttons pillenfoermig mit Grow-Effekt (Elementor-Buttons inkl. Formular/CTA, Voxel-Buttons).
   Als CSS, weil viele Buttons ihren Eckenradius einzeln eingestellt haben. Rueckgaengig: diesen Block loeschen. */
.elementor-button,
.ts-btn {
  border-radius: 999px !important;
  transition: transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
@media (hover: hover) {
  .elementor-button:hover,
  .ts-btn:hover { transform: scale(1.05); }
}
.elementor-button:focus-visible,
.ts-btn:focus-visible { transform: scale(1.05); }
/* Suchfelder passend zu den Buttons ebenfalls pillenfoermig: Suchformulare, Schnellsuche, Header-Suchleiste, Such-Popup (Felder im Anfrageformular bleiben) */
.ts-search-widget .ts-filter,
.ts-search-widget .ts-inline-filter input,
.quick-search .ts-filter,
.wf-qs-inline .wf-qs-input,
.ts-quicksearch-popup .qs-top .ts-input-icon input { border-radius: 999px !important; }
/* Schatten hinter den Pillen: Buttons weich, beim Darueberfahren etwas staerker; Suchfelder dezenter (mit Vorrang, weil viele Buttons eigene Schatten eingestellt haben) */
.elementor-button,
.ts-btn { box-shadow: 0 4px 12px rgba(36, 36, 41, 0.14) !important; }
@media (hover: hover) {
  .elementor-button:hover,
  .ts-btn:hover { box-shadow: 0 8px 20px rgba(36, 36, 41, 0.20) !important; }
}
.ts-search-widget .ts-filter,
.quick-search .ts-filter,
.wf-qs-inline .wf-qs-input { box-shadow: 0 2px 8px rgba(36, 36, 41, 0.08) !important; }/* End custom CSS */