@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/effra-light.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/effra-light-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/effra-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/effra-regular-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/effra-medium.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/effra-medium-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/effra-bold.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/effra-bold-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Effra';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/effra-heavy.woff2') format('woff2');
}

:root,
[data-bs-theme="light"] {
  --bs-body-font-family: 'Effra', Arial, sans-serif;

  --kline-primary-soft-bg: rgba(var(--bs-kline-primary-rgb), 0.08);

  --kline-dark: #262626;
  --kline-dark-rgb: 38, 38, 38;

  --bs-dark-rgb: var(--kline-dark-rgb);

  /* deutlich dunkleres Hover-Rot */
  --kline-primary-hover: #a81820;
  --kline-primary-hover-rgb: 168, 24, 32;

  --bs-nav-link-hover-color: var(--bs-kline-primary);

  /* Buttons – abgestuft dunkler */
  --kline-primary-btn-hover: #c01b24;
  --kline-primary-btn-hover-border: #9f151d;

  --kline-primary-btn-active: #8b1119;
  --kline-primary-btn-active-border: #780e15;

  /* Sekundär / Dunkel */
  --kline-secondary: #363636;
  --kline-secondary-rgb: 54, 54, 54;

  --kline-secondary-btn-hover: #2b2b2b;
  --kline-secondary-btn-hover-border: #222222;
  --kline-secondary-btn-active: #1e1e1e;
  --kline-secondary-btn-active-border: #141414;

  --kline-navbar-dark-bg: #22252a;

  /* Neutrale Flächen */
  --kline-body-bg: #f2f2f2;
  --kline-surface-bg: #ffffff;
  --kline-surface-border: #dee2e6;
  --kline-surface-border-soft: rgba(0, 0, 0, 0.08);

  /* Abgeleitete Farben / Effekte */
  --kline-primary-soft-bg: rgba(var(--bs-kline-primary-rgb), 0.08);
  --kline-primary-focus-shadow-rgb: var(--bs-kline-primary-rgb);

  /* Bootstrap-Mapping auf K•Line */
  --bs-primary: var(--bs-kline-primary);
  --bs-primary-rgb: var(--bs-kline-primary-rgb);
  --bs-secondary: var(--bs-kline-secondary);
  --bs-secondary-rgb: var(--kline-secondary-rgb);

  --bs-primary-rgb: var(--bs-kline-primary-rgb);
  --bs-secondary-rgb: var(--kline-secondary-rgb);

  --bs-pax-primary: var(--bs-kline-primary);
  --bs-pax-secondary: var(--bs-kline-secondary);

  /* Linkfarben */
  --bs-link-color-rgb: var(--bs-kline-primary-rgb);
  --bs-link-color: var(--bs-kline-primary);

  --bs-link-hover-color-rgb: var(--kline-primary-hover-rgb);
  --bs-link-hover-color: var(--kline-primary-hover);

  --bs-link-decoration: underline;
  --bs-link-hover-decoration: none;
  
}

body {
  background: var(--kline-body-bg);
  font-family: 'Effra', Arial, sans-serif !important;
  font-size: 1.1rem;
}

/*
.ajax-progress.ajax-progress-fullscreen {
    background-color: rgba(var(--kline-secondary-rgb),.75);
}
*/

nav.navbar .navbar-brand img { 
    width: 190px; 
}

@media (min-width: 992px) {
    nav.navbar .navbar-brand img {
        width: 260px;
    }
}

.mm-navbars--top .mm-navbar:first-child {
  background: var(--bs-kline-primary);
  min-height: 65px;
}

.mm-menu a.is-active,
.mm-menu--selected-parent .mm-listitem__btn:hover,
.mm-menu--selected-parent .mm-listitem__text:hover,
.mm-menu--selected-parent .mm-listitem__btn:focus,
.mm-menu--selected-parent .mm-listitem__text:focus {
  color: var(--bs-kline-primary) !important;
}

.mm-menu-logo img {
  opacity: 0; /* oder display:none, aber opacity ist sauberer */
}

.mm-navbars--top .mm-navbar:first-child .mm-btn.mm-hidden + .mm-menu-logo {
  display: flex;
  margin-left: 1rem;
  align-self: center;
}

.mm-menu-logo {
  display: inline-block;
  width: 110px;            /* gewünschte Breite */
  height: 18px;            /* gewünschte Höhe */
  background-image: url('/themes/custom/kline_radix/K-Line-Logo_weiss_ohne_Schrift.svg');
  background-repeat: no-repeat;
  background-size: contain;
}

a {
  color: var(--kline-primary-hover);
  text-decoration: none; /* optional */
  color: var(--bs-kline-primary);
}

a:hover,
a:focus,
a:focus-visible {
  color: var(--bs-kline-primary);
}

.modal-backdrop {
  --bs-backdrop-bg: var(--bs-kline-secondary);
  --bs-backdrop-opacity: 0.85;
  background-color: var(--bs-backdrop-bg);
}

@media (min-width: 769px) {
  .goverlay {
    background-color: rgba(var(--kline-secondary-rgb), 0.85);
  }
}

.screen-darken {
  background: rgba(var(--kline-secondary-rgb), 0.85);
}

.form-check-input:checked {
  background-color: var(--bs-kline-primary);
  border-color: var(--bs-kline-primary);
}

.text-bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-kline-primary-rgb), var(--bs-bg-opacity)) !important;
  color: #fff !important;
}

.text-bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--kline-secondary-rgb), var(--bs-bg-opacity)) !important;
  color: #fff !important;
}

.text-bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--kline-dark-rgb), var(--bs-bg-opacity)) !important;
  color: #fff !important;
}

.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-kline-primary-rgb), var(--bs-bg-opacity)) !important;
}

.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--kline-secondary-rgb), var(--bs-bg-opacity)) !important;
}

.card.card-thema:hover .card-body {
  background-color: var(--bs-kline-secondary);
}

/* globale Defaults für alle Dropdowns */
.dropdown-menu {
  --bs-dropdown-bg: var(--kline-surface-bg);
  --bs-dropdown-border-color: var(--kline-surface-border-soft);
  --bs-dropdown-box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);

  --bs-dropdown-link-color: #212529;
  --bs-dropdown-link-hover-color: var(--bs-kline-primary);
  --bs-dropdown-link-hover-bg: var(--kline-primary-soft-bg);

  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: var(--bs-kline-primary);

  --bs-dropdown-link-disabled-color: #adb5bd;
}

/* z.B. dunkle Nav-Dropdowns speziell */
.navbar-dark .dropdown-menu {
  --bs-dropdown-bg: var(--kline-navbar-dark-bg);
  --bs-dropdown-link-color: #f8f9fa;
  --bs-dropdown-link-hover-color: #ffffff;
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.08);
  --bs-dropdown-link-active-bg: var(--bs-kline-primary);
}

/* Primary Button */
.btn-primary {
  --bs-btn-bg: var(--bs-kline-primary);
  --bs-btn-border-color: var(--bs-kline-primary);

  --bs-btn-hover-bg: var(--kline-primary-btn-hover);
  --bs-btn-hover-border-color: var(--kline-primary-btn-hover-border);

  --bs-btn-active-bg: var(--kline-primary-btn-active);
  --bs-btn-active-border-color: var(--kline-primary-btn-active-border);
}

/* Secondary Button */
.btn-secondary {
  --bs-btn-bg: var(--bs-kline-secondary);
  --bs-btn-border-color: var(--bs-kline-secondary);

  --bs-btn-hover-bg: var(--kline-secondary-btn-hover);
  --bs-btn-hover-border-color: var(--kline-secondary-btn-hover-border);

  --bs-btn-active-bg: var(--kline-secondary-btn-active);
  --bs-btn-active-border-color: var(--kline-secondary-btn-active-border);

  /* Optional, falls Bootstrap dir hier Mist reinschreibt */
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
}

/* Link-Button */
.btn-link {
  --bs-btn-color: var(--bs-kline-primary);
  --bs-btn-hover-color: var(--kline-primary-hover);
  --bs-btn-focus-shadow-rgb: var(--kline-primary-focus-shadow-rgb);
}

/* K•Line Pagination Theme */
.pagination {
  /* Textfarbe der Links */
  --bs-pagination-color: var(--bs-kline-primary);

  /* Hintergrund / Border im Normalzustand */
  --bs-pagination-bg: var(--kline-surface-bg);
  --bs-pagination-border-color: var(--kline-surface-border);

  /* Hover-Zustand */
  --bs-pagination-hover-color: var(--kline-primary-hover);
  --bs-pagination-hover-bg: var(--kline-primary-soft-bg);
  --bs-pagination-hover-border-color: var(--bs-kline-primary);

  /* Fokus-Zustand */
  --bs-pagination-focus-color: var(--kline-primary-hover);
  --bs-pagination-focus-bg: var(--kline-primary-soft-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.2rem rgba(var(--kline-primary-focus-shadow-rgb), 0.35);

  /* Aktive Seite */
  --bs-pagination-active-color: #ffffff;
  --bs-pagination-active-bg: var(--bs-kline-primary);
  --bs-pagination-active-border-color: var(--bs-kline-primary);

  /* Disabled-Zustand */
  --bs-pagination-disabled-color: #adb5bd;
  --bs-pagination-disabled-bg: var(--kline-surface-bg);
  --bs-pagination-disabled-border-color: var(--kline-surface-border);
}

/* Scrollende Nav-Leiste */
#navbar-scrollspy-anzeigenschaltung .nav-link,
.menusubpages .nav-link,
.scrolling-wrapper .nav {
  --bs-nav-link-color: var(--kline-primary-hover) !important;
  --bs-nav-link-hover-color: var(--bs-kline-primary);
  --bs-nav-link-disabled-color: #adb5bd;
}

/* Pills */
.nav-pills {
  --bs-nav-pills-border-radius: 50rem;
  --bs-nav-pills-link-active-color: #ffffff;
  --bs-nav-pills-link-active-bg: var(--bs-kline-primary);
}

/* Tabs */
.nav-tabs {
  --bs-nav-tabs-border-color: var(--kline-surface-border);
  --bs-nav-tabs-link-hover-border-color: rgba(var(--bs-kline-primary-rgb), 0.3);
  --bs-nav-tabs-link-active-color: var(--bs-kline-primary);
  --bs-nav-tabs-link-active-bg: var(--kline-surface-bg);
  --bs-nav-tabs-link-active-border-color: var(--kline-surface-border) var(--kline-surface-border) var(--kline-surface-bg);
}

/* Accordion */
.accordion-button:not(.collapsed) {
  background-color: var(--kline-primary-soft-bg) !important; /* helles Rot */
  color: var(--bs-kline-primary) !important;                   /* kräftiges Rot */
}

/* Underline-Nav */
.nav-underline {
  --bs-nav-underline-link-active-color: var(--bs-kline-primary);
}

.short-headline {
  --bs-pax-secondary: var(--bs-kline-secondary);
}

.table-datasort td:nth-child(2) i {
  background-color: var(--kline-dark) !important;
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-kline-primary-rgb), var(--bs-text-opacity)) !important;
}

.thumbnail-hover:hover::before {
  background-color: rgba(var(--kline-secondary-rgb), 0.85);
  border: 0.2rem solid rgba(var(--kline-secondary-rgb), 1);
}

.btn-card-outline-primary {
  background-color: rgba(var(--bs-kline-primary-rgb), 0.15);
  border: 2px solid var(--bs-kline-primary);
  border-radius: var(--bs-card-border-radius);
  color: var(--bs-kline-primary);
}
.btn-card-outline-primary:hover {
  background-color: var(--bs-kline-primary);
  color: white;
}

.navbar-collapse ul.nav > li.nav-item > a.nav-link {
  font-size: 1.35rem;
  font-weight: 500;
}

.navbar-nav .nav-link.active:hover, .navbar-nav .nav-link.show:hover,
.nav-link:focus, .nav-link:hover {
  color: var(--bs-kline-primary);
}

.card.card-thema .card-image-wrapper {
    background-color: var(--bs-kline-secondary);
}

.mask-image {
  mask-image: url('/themes/custom/fib_radix/build/assets/images/maske-afr-logo.svg');
  mask-size: 95%, 100%;
  mask-position: center;
  mask-repeat: no-repeat;
}

.glightbox-clean .gslide-description {
    background: var(--bs-kline-primary);
}

.card-footer a:hover {
  background-color: var(--bs-kline-primary);
}




.review-card {
  border-radius: 1.25rem;            /* deutlich runder wie Vorlage */
  overflow: visible;                  /* wichtig für "floating" rating pill */
}

.review-card__body {
  position: relative;
  padding: 2rem 2rem 1.25rem;         /* mehr Luft */
  border-radius: 1.25rem;
  background: var(--bs-body-bg);
}

/* Quote-Marks in den Ecken */
.review-card__body::before,
.review-card__body::after {
  position: absolute;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  opacity: .18;
  pointer-events: none;
  color: currentColor;
}

.review-card__body::before {
  content: "“";
  left: 1.25rem;
  top: 1.1rem;
}

.review-card__body::after {
  content: "”";
  right: 1.25rem;
  bottom: .9rem;
}

/* Floating rating pill (überlappt oben rechts) */
.review-card__rating {
  position: absolute;
  top: 1rem;
  right: 1rem;
  transform: translate(35%, -35%);    /* "über die Ecke hinaus" */
  display: inline-flex;
  align-items: center;
  gap: .5rem;

  background: var(--bs-kline-primary);
  border-radius: 999px;
  padding: .4rem .65rem;

  box-shadow: var(--bs-box-shadow-sm);
  border: 1px solid rgba(0,0,0,.08);
  white-space: nowrap;
}

.review-card__rating-score {
  font-weight: 800;
  font-size: .95rem;
  padding: .15rem .45rem;
  border-radius: .5rem;
  background: rgba(var(--kline-secondary-rgb));
  color: white;
}

.review-card__rating-stars {
  letter-spacing: .08em;
  font-size: .9rem;
  opacity: .9;
  color: white;
  color: #f6b400;
}

/* Avatar */
.review-card__avatar-icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(0,0,0,.05);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: rgba(0,0,0,.4);
}

.review-card__content {
  margin: 2rem 2rem 2rem 2rem;
}

/* Text: eher wie im Beispiel */
.review-card__text {
  font-size: 1.4rem;
  line-height: 1.3;
}

/* Link wie "Zur Google-Bewertung" */
.review-card__footer a {
  text-decoration: none;
}
.review-card__footer a:hover {
  text-decoration: underline;
}