@charset "UTF-8";
/*!###SETUP###*/
/* links */
/* Theme v2 S2-A2: der Basis-Radius-Hebel. Wortgleiche Quell-Konvertierung -
   ohne Theme-Token traegt der Fallback exakt den bisherigen Wert (.125rem).
   Ueber diese eine Zeile werden rund 40 Template-Deklarationen und der
   komplette Bootstrap-Zweig ($card-, $badge-, $alert-, $list-group-,
   $custom-select-, $nav-pills-, $popover-, Fokusringe, .rounded-*)
   token-getrieben, ohne sie einzeln anzufassen.

   -lg/-sm bleiben bewusst reine Aliase: sie sind hier auf $border-radius
   gesetzt und uebernehmen den var()-Ausdruck automatisch mit.

   Geprueft vor dem Bau (Kartierung §5.2 liess das offen):
   1. valid-radius() im Bootstrap-border-radius-Mixin iteriert per @each und
      ruft max() auf Zahlen. scssphp reicht var() als EINEN unquoted String
      durch (type-of = string, length = 1) - der Ausdruck wird nicht am Komma
      zerlegt und passiert das Mixin unveraendert.
   2. Arithmetik: subtract() trifft $card-/$popover-/$modal-content-inner-
      border-radius. Das ist unkritisch, weil rem und px in Sass nicht
      comparable sind - schon heute steht dort calc(.125rem - 1px) im
      Kompilat. Mit var() wird daraus calc(var(--niu-radius, .125rem) - 1px),
      also derselbe Wert bei fehlendem Token. */
/* RIBBON COLORS*/
/* Theme v2 S2-A2: Familien-Konsum. Die Fallbacks sind wortgleich zu den
   bisherigen Zuweisungen - ohne Theme-Token bleibt jedes Kompilat identisch.
   Ribbons und Preis-Ribbon teilen sich bewusst die Marker-Familie: es sind
   zwei Regler fuer praktisch dieselbe Form (Kartierung K6). */
/* Deckt die gesamte niu-Input-Kette ab (22 Deklarationen in _niu_inputs,
   _niu_sidebar, _niu_csv_importer, _niu_customer_group_upload). Der
   Bootstrap-Zweig $input-border-radius (.form-control) bleibt bewusst
   unangetastet und folgt weiter dem Basiswert - Input-Preset ist S2-B. */
/* Theme v2 C2a: Farben an die Button-Rolle „quickbuy", wortgleicher Fallback.
   Der Knopf ist die Rolle quickbuy (BUTTON_KEYS in deriveTokens.js), trug seine
   Farbe bisher aber als hartes Kompilat aus $quickBuyBtn - er folgte damit als
   einziger Teil des Sofortkaufs NICHT dem Token, waehrend sein Radius es
   laengst tut (Zeile weiter unten). Er sitzt zudem im BILD der Produktkachel
   und kennt so weder Flaeche noch Modus.

   set-text-color() ist eine SCSS-Funktion und kann auf einer CSS-Variablen
   nicht rechnen. Deshalb liefert die Beschriftung das eigene Token
   --niu-btn-quickbuy-text; der Fallback bleibt der bisherige berechnete Wert.

   Ohne emittierte Tokens rendert der Knopf byte-gleich wie vorher. */
/* Theme v2 S2-A2: Bedienelement, wortgleicher Fallback.
   S2-A-Feedback: eigenes Quickbuy-Token vorgeschaltet. Der Quickbuy-Knopf ist
   ein Bedienelement und bleibt es - er sitzt aber als einziger IM Bild der
   Produktkachel und darf deshalb getrennt von den uebrigen Knoepfen stellbar
   sein. Ohne gesetztes Quickbuy-Token faellt er auf die Bedienelement-Familie
   zurueck, ohne Theme-Tokens auf den bisherigen Legacy-Wert. */
/* PRODUCT BOX SETTINGS*/
/* Buttons */
/* Theme v2 S2-A2: Button-Familie an --niu-radius-control, wortgleiche
   Fallbacks. Erreicht .btn (crit + base_crit), Lightbox-Button,
   Modal-Close, Navbar-Toggler und die button-size()-Mixin-Aufrufe. */
/* grid breakpoints */
/* grid containers */
/* links */
/* cards */
/* tables */
/* breadcrumbs */
/* navs */
/* modals */
/* Theme v2 S2-A2: Overlays konsumieren die Karten-Familie (Spec §3.2).
   Der Fallback ist wortgleich der bisherige Ausdruck $border-radius, der
   seinerseits schon auf --niu-radius faellt - die Kette bleibt also
   --niu-radius-card -> --niu-radius -> .125rem. */
/* Muss hier stehen, sonst berechnet Bootstrap es selbst per
   subtract($modal-content-border-radius, $modal-content-border-width). Sobald
   der aeussere Radius ein var()-Ausdruck ist, faellt subtract() in den
   String-Zweig und liefert calc(<laenge> - 0) - und ein einheitenloses 0 als
   Subtrahend ist in calc() ein Typfehler, die Deklaration wuerde verworfen.
   Die Rahmenbreite ist hier ohnehin 0, der innere Radius also gleich dem
   aeusseren. */
/* progress */
/* options */
/* dropdowns */
/* Theme v2 S2-A2: Overlay, Karten-Familie. Der Fallback 0 ist wortgleich -
   ohne Token bleibt das Dropdown eckig wie bisher (Kartierung K7). */
/* Gleiche Begruendung wie beim Modal: verhindert calc(<laenge> - 0) aus
   Bootstraps subtract(). Rahmenbreite ist 0, innen = aussen. */
/* gaps */
/* PRODUCT BOX SETTINGS*/
/* CONTAINER */
/*!###START###*/
/* Theme v2 B2-3: Surface-Roots (Phase-B2-Spec §3).

   Ein Surface-Root ist ein Selektor, der eine Fläche real malt. Er definiert das
   komplette lokale Var-Set --s-* und malt seine eigene Fläche daraus. Generische
   Konsumenten (B2-4) lesen ausschließlich --s-* – "nächstgelegenes Surface gewinnt"
   entsteht durch DOM-Vererbung der Custom Properties.

   Kern (§3b, CSS-Falle "guaranteed-invalid"): Der Legacy-Fallback wandert an die
   Wurzel. Jede lokale Var trägt als var()-Fallback den wortgleichen Wert, der ohne
   aktives Theme v2 an dieser Root gilt (Quelle: die Fallback-Inventare der Pakete
   B-2…B-6a). Damit ist --s-* an einer Root NIE guaranteed-invalid:
     theme2 aus  -> --s-* = Legacy-Wert des Kontexts (Null-Effekt konstruktiv)
     theme2 an   -> --s-* = emittierter Theme-Token
   Wichtig: KEINE Var-Definitionen an Wrappern, die nicht malen (S1-Klasse) –
   insbesondere sind .niu-item-card--is-checkout-Wrapper KEINE Roots (§3c,
   DOM-verifiziert 2026-08-10).

   Die Media-Tokens (--niu-card-media-… und --niu-card-img-blend) bleiben bewusst card-spezifisch
   direkt konsumiert (§3a) und sind nicht Teil des --s-*-Sets.

   Phase C1: 'input-focus' ist die Fokusrolle und damit der 14. Key. Das Token
   --niu-<surface>-input-focus wird von der Engine seit Phase A fuer alle elf
   Surfaces emittiert (deriveTokens.js TOKEN_KEYS) und war bis hierher der
   einzige emittierte Token ohne --s-*-Entsprechung. Legacy-Anker ist $primary:
   Bootstrap leitet JEDEN Fokuszustand daraus ab ($input-focus-border-color,
   $btn-focus-box-shadow, $custom-control-indicator-focus-border-color), und
   kein Surface hat heute einen eigenen Fokuswert (SCSS-geprueft C1). Der
   globale Tastaturring (_base.scss:629, $focus-border-color ==
   lighten($primary,20)) ist bewusst NICHT der Anker - er ist eine eigene,
   flaechenunabhaengige Regel und wird unter theme2 als Ganzes auf die
   Fokusrolle umgestellt, nicht ueber den Fallback nachgebildet. */
/* Stufe 2, Paket "Auswahl-Markierung": 'accent-text' ist die Beschriftung AUF
   der Akzentflaeche und damit der 15. Key. Anlass ist der Stil "Akzent" des
   Auswahl-Schalters (Abschnitt 73 in _niu_theme2_rules.scss): dort wird die
   Akzentrolle erstmals grossflaechig als FUELLUNG benutzt, und die Engine
   rechnet `accent` gegen die eigene Flaeche - nicht gegen sich selbst. Ohne
   eigene Rolle gaebe es keinen verlaesslich lesbaren Text darauf.

   ANGEHAENGT statt logisch einsortiert (neben 'accent'): so gewinnt jeder
   Surface-Root im Baseline-Diff genau EINE zusaetzliche Deklaration am Ende
   seines Blocks, statt dass die halbe Liste verrutscht. Emissionsreihenfolge
   ist kosmetisch, Pruefbarkeit nicht.

   FALLBACK var(--s-bg) statt eines festen Wertes - der einzige Key, dessen
   Default eine andere Rolle liest, und das mit Absicht: Die Engine emittiert
   --niu-<surface>-accent-text erst ab dem Companion-Stand dieses Pakets. Ein
   Shop mit aelterem theme2css hat den Token nicht, und dann greift genau die
   Paarung, die Abschnitt 50 (::selection) seit Phase C fuehrt: Akzent als
   Flaeche, FLAECHENFARBE als Text. Beide Rollen rechnet die Engine gegen
   dieselbe Flaeche, das Paar ist deshalb in jedem Modus lesbar. Gemessen an
   der Werks-Palette dieses Shops: hell 6,8-7,5:1, dunkel 4,7-5,2:1.
   Ein statischer Fallback (#fff) koennte das nicht - er waere im Dunkelmodus
   auf einem aufgehellten Akzent bei 3,5:1. */
/* Definiert an einer Root das lokale Var-Set --s-* aus den Theme-Tokens
   --niu-<surface>-<key> mit den übergebenen Legacy-Fallbacks. Die Defaults sind
   die GLOBALEN Legacy-Gewinner des jeweiligen Elementtyps (§3c-Tabelle); $legacy
   überschreibt sie dort, wo der Kontext eigene Legacy-Werte hat.
   Malen (background/color/box-shadow/border aus --s-*) bleibt Sache der Root-Regel
   selbst – nicht jede Root malt alles (z. B. malt --has-shadow nur Schatten). */
/* Liste aller Surface-Roots als SELEKTOREN (Stufe 2, Nachlese Ledger 105).

   Wozu: Abschnitt 50 (::selection) braucht an jeder Root eine eigene Regel.
   Highlight-Pseudoelemente vererben ihre fertigen Werte an die Pseudoelemente
   der Nachfahren - eine Deklaration AN der Root faerbt also den ganzen
   Teilbaum, und `var(--s-*)` wird dabei genau dort aufgeloest, wo die Rollen
   umgeschaltet werden. Vorher stand dafuer ein Nachfahren-Universalselektor
   (`body.niu-theme2 ::selection`), der jeden Knoten der Seite anfassen musste.

   PFLEGE: Wer oben eine neue `@include niu-surface-root(...)`-Call-Site
   anlegt, traegt ihren Selektor hier nach. Vergisst er es, bricht nichts -
   der Teilbaum erbt dann die Auswahlfarben der naechsten gelisteten
   Elternflaeche statt seiner eigenen. Gegenprobe im Kompilat:
   jede Regel mit einer `--s-bg:`-DEKLARATION ist eine Root.

   Die Liste ist bewusst KUERZER als die Zahl der Call-Sites: wo mehrere
   Roots dieselbe Klasse tragen (`.niu-itembox-option--*`, `.card`,
   `.niu-sidebar`), steht nur die gemeinsame Klasse. Ein Treffer zu viel ist
   folgenlos - an einem Element, das die Rollen NICHT umschaltet, loest
   `var(--s-*)` denselben geerbten Wert auf wie beim Elternteil.
   `body` selbst fehlt absichtlich: das ist `&::selection` in Abschnitt 50. */
/* Geteilte Kontext-Maps (nur Variablen aus match/variables – die Maps werden beim
   Import ausgewertet und müssen in allen drei Entries auflösbar sein).
   Surface-spezifische Einzel-Maps (topbar, header, nav, footer-*) stehen inline
   an ihren Call-Sites, weil sie Companion-Variablen des jeweiligen Files nutzen. */
/*!###PASSWORD###*/
.pass-graybar {
  height: 3px;
  background-color: #ccc;
  width: 100%;
  position: relative;
}
.pass-colorbar {
  height: 3px;
  background-image: url(../../js/password/passwordstrength.jpg);
  position: absolute;
  top: 0;
  left: 0;
}
.pass-percent, .pass-text {
  font-size: 1em;
}
.pass-percent {
  margin-right: 5px;
}
/*!###BOOTSTRAP###*/
/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
/* niu changed 300 to 100 */
/*niu custom was 0.875rem*/
/*niu added grid*/
/* niu added flat variant */
h1, h2, h3, h4, h5, h6, .h1, .h2, .product-matrix .product-matrix-title, .h3, .sidepanel-left .box-normal .box-normal-link, .h4, .h5, .h6 {
  margin-bottom: 1rem;
  font-family: "Open Sans-ps", sans-serif;
  font-weight: 600;
  line-height: 1.2;
  color: #1a2b08;
}
h1, .h1 {
  font-size: 2.0272865295rem;
}
h2, .h2, .product-matrix .product-matrix-title {
  font-size: 1.8020324707rem;
}
h3, .h3, .sidepanel-left .box-normal .box-normal-link {
  font-size: 1.6018066406rem;
}
h4, .h4 {
  font-size: 1.423828125rem;
}
h5, .h5 {
  font-size: 1.265625rem;
}
h6, .h6 {
  font-size: 1.125rem;
}
.lead {
  font-size: 1.25rem;
  font-weight: 300;
}
.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2;
}
.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2;
}
.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2;
}
.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2;
}
hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid #e6e7e4;
}
small, .small {
  font-size: 0.75em;
  font-weight: 400;
}
mark, .mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}
.list-unstyled, .list-icons {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline-item {
  display: inline-block;
}
.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote-footer {
  display: block;
  font-size: 0.75em;
  color: #808778;
}
.blockquote-footer::before {
  content: "— ";
}
.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #26420a;
}
.table th, .table td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #666c60;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 2px solid #666c60;
}
.table tbody + tbody {
  border-top: 2px solid #666c60;
}
.table-sm th, .table-sm td {
  padding: 0.5rem 1rem;
}
.table-bordered {
  border: 1px solid #666c60;
}
.table-bordered th, .table-bordered td {
  border: 1px solid #666c60;
}
.table-bordered thead th, .table-bordered thead td {
  border-bottom-width: 2px;
}
.table-borderless th, .table-borderless td, .table-borderless thead th, .table-borderless tbody + tbody {
  border: 0;
}
.table-striped tbody tr:nth-of-type(even) {
  background-color: #f2f2f2;
}
.table-hover tbody tr:hover {
  color: #26420a;
  background-color: #f2f2f2;
}
.table-primary, .table-primary > th, .table-primary > td {
  background-color: #cacfc6;
}
.table-primary th, .table-primary td, .table-primary thead th, .table-primary tbody + tbody {
  border-color: #9da695;
}
.table-hover .table-primary:hover {
  background-color: #bdc3b8;
}
.table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th {
  background-color: #bdc3b8;
}
.table-secondary, .table-secondary > th, .table-secondary > td {
  background-color: #fde2be;
}
.table-secondary th, .table-secondary td, .table-secondary thead th, .table-secondary tbody + tbody {
  border-color: #fbca86;
}
.table-hover .table-secondary:hover {
  background-color: #fcd7a5;
}
.table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th {
  background-color: #fcd7a5;
}
.table-success, .table-success > th, .table-success > td {
  background-color: #b8e4d4;
}
.table-success th, .table-success td, .table-success thead th, .table-success tbody + tbody {
  border-color: #7bceb0;
}
.table-hover .table-success:hover {
  background-color: #a6ddc9;
}
.table-hover .table-success:hover > td, .table-hover .table-success:hover > th {
  background-color: #a6ddc9;
}
.table-info, .table-info > th, .table-info > td {
  background-color: #b8d1db;
}
.table-info th, .table-info td, .table-info thead th, .table-info tbody + tbody {
  border-color: #7ba9bc;
}
.table-hover .table-info:hover {
  background-color: #a7c6d2;
}
.table-hover .table-info:hover > td, .table-hover .table-info:hover > th {
  background-color: #a7c6d2;
}
.table-warning, .table-warning > th, .table-warning > td {
  background-color: #f5e7cd;
}
.table-warning th, .table-warning td, .table-warning thead th, .table-warning tbody + tbody {
  border-color: #ecd3a3;
}
.table-hover .table-warning:hover {
  background-color: #f1ddb8;
}
.table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th {
  background-color: #f1ddb8;
}
.table-danger, .table-danger > th, .table-danger > td {
  background-color: #edc3cd;
}
.table-danger th, .table-danger td, .table-danger thead th, .table-danger tbody + tbody {
  border-color: #de8fa2;
}
.table-hover .table-danger:hover {
  background-color: #e7afbd;
}
.table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th {
  background-color: #e7afbd;
}
.table-light, .table-light > th, .table-light > td {
  background-color: #f8f8f7;
}
.table-light th, .table-light td, .table-light thead th, .table-light tbody + tbody {
  border-color: #f2f3f1;
}
.table-hover .table-light:hover {
  background-color: #ecece9;
}
.table-hover .table-light:hover > td, .table-hover .table-light:hover > th {
  background-color: #ecece9;
}
.table-dark, .table-dark > th, .table-dark > td {
  background-color: #cdcecc;
}
.table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody {
  border-color: #a2a5a0;
}
.table-hover .table-dark:hover {
  background-color: #c0c2bf;
}
.table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th {
  background-color: #c0c2bf;
}
.table-gray, .table-gray > th, .table-gray > td {
  background-color: #dbddd9;
}
.table-gray th, .table-gray td, .table-gray thead th, .table-gray tbody + tbody {
  border-color: #bdc1b9;
}
.table-hover .table-gray:hover {
  background-color: #ced1cc;
}
.table-hover .table-gray:hover > td, .table-hover .table-gray:hover > th {
  background-color: #ced1cc;
}
.table-gray-light, .table-gray-light > th, .table-gray-light > td {
  background-color: #f8f8f7;
}
.table-gray-light th, .table-gray-light td, .table-gray-light thead th, .table-gray-light tbody + tbody {
  border-color: #f2f3f1;
}
.table-hover .table-gray-light:hover {
  background-color: #ecece9;
}
.table-hover .table-gray-light:hover > td, .table-hover .table-gray-light:hover > th {
  background-color: #ecece9;
}
.table-gray-medium, .table-gray-medium > th, .table-gray-medium > td {
  background-color: #d4d6d2;
}
.table-gray-medium th, .table-gray-medium td, .table-gray-medium thead th, .table-gray-medium tbody + tbody {
  border-color: #afb3ac;
}
.table-hover .table-gray-medium:hover {
  background-color: #c7cac5;
}
.table-hover .table-gray-medium:hover > td, .table-hover .table-gray-medium:hover > th {
  background-color: #c7cac5;
}
.table-gray-dark, .table-gray-dark > th, .table-gray-dark > td {
  background-color: #e2e4e1;
}
.table-gray-dark th, .table-gray-dark td, .table-gray-dark thead th, .table-gray-dark tbody + tbody {
  border-color: #cacdc7;
}
.table-hover .table-gray-dark:hover {
  background-color: #d5d8d4;
}
.table-hover .table-gray-dark:hover > td, .table-hover .table-gray-dark:hover > th {
  background-color: #d5d8d4;
}
.table-gray-darker, .table-gray-darker > th, .table-gray-darker > td {
  background-color: #c6c7c5;
}
.table-gray-darker th, .table-gray-darker td, .table-gray-darker thead th, .table-gray-darker tbody + tbody {
  border-color: #959693;
}
.table-hover .table-gray-darker:hover {
  background-color: #b9bab8;
}
.table-hover .table-gray-darker:hover > td, .table-hover .table-gray-darker:hover > th {
  background-color: #b9bab8;
}
.table-active, .table-active > th, .table-active > td {
  background-color: #f2f2f2;
}
.table-hover .table-active:hover {
  background-color: #e6e6e6;
}
.table-hover .table-active:hover > td, .table-hover .table-active:hover > th {
  background-color: #e6e6e6;
}
.table .thead-dark th {
  color: #ffffff;
  background-color: #343a40;
  border-color: #454d55;
}
.table .thead-light th {
  color: #4d5148;
  background-color: #e9ecef;
  border-color: #666c60;
}
.table-dark {
  color: #ffffff;
  background-color: #343a40;
}
.table-dark th, .table-dark td, .table-dark thead th {
  border-color: #454d55;
}
.table-dark.table-bordered {
  border: 0;
}
.table-dark.table-striped tbody tr:nth-of-type(even) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-hover tbody tr:hover {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.075);
}
@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-sm > .table-bordered {
    border: 0;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-md > .table-bordered {
    border: 0;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-lg > .table-bordered {
    border: 0;
  }
}
@media (max-width: 1299.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .table-responsive-xl > .table-bordered {
    border: 0;
  }
}
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive > .table-bordered {
  border: 0;
}
.form-control {
  display: block;
  width: 100%;
  height: calc(1.5em + 1.25rem + 2px);
  padding: 0.625rem 0.9375rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #26420a;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #c0c3bc;
  border-radius: var(--niu-radius, 0.125rem);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}
.form-control:focus {
  color: #26420a;
  background-color: #ffffff;
  border-color: #435334;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.form-control::placeholder {
  color: #808778;
  opacity: 1;
}
.form-control:disabled, .form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
}
input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control {
  appearance: none;
}
select.form-control:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #26420a;
}
select.form-control:focus::-ms-value {
  color: #26420a;
  background-color: #ffffff;
}
.form-control-file, .form-control-range {
  display: block;
  width: 100%;
}
.col-form-label {
  padding-top: calc(0.625rem + 1px);
  padding-bottom: calc(0.625rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.125rem;
  line-height: 1.5;
}
.col-form-label-sm {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  font-size: 1rem;
  line-height: 1.5;
}
.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.625rem 0;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: #26420a;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}
.form-control-sm {
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: var(--niu-radius, 0.125rem);
}
.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: var(--niu-radius, 0.125rem);
}
select.form-control[size], select.form-control[multiple] {
  height: auto;
}
textarea.form-control {
  height: auto;
}
.form-group {
  margin-bottom: 1rem;
}
.form-text {
  display: block;
  margin-top: 0.25rem;
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px;
}
.form-row > .col, .form-row > [class*="col-"] {
  padding-right: 5px;
  padding-left: 5px;
}
.form-check {
  position: relative;
  display: block;
  padding-left: 1.25rem;
}
.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: -1.25rem;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  color: #808778;
}
.form-check-label {
  margin-bottom: 0;
}
.form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-right: 0.75rem;
}
.form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.75em;
  color: #02A067;
}
.valid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.8888888889rem;
  line-height: 1.5;
  color: white;
  background-color: rgba(2, 160, 103, 0.9);
  border-radius: var(--niu-radius, 0.125rem);
}
.form-row > .col > .valid-tooltip, .form-row > [class*="col-"] > .valid-tooltip {
  left: 5px;
}
.was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip, .is-valid ~ .valid-feedback, .is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #02A067;
  padding-right: calc(1.5em + 1.25rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2302A067' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.3125rem) center;
  background-size: calc(0.75em + 0.625rem) calc(0.75em + 0.625rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: #02A067;
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.25);
}
.was-validated select.form-control:valid, select.form-control.is-valid {
  padding-right: 3.75rem !important;
  background-position: right 1.875rem center;
}
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 1.25rem);
  background-position: top calc(0.375em + 0.3125rem) right calc(0.375em + 0.3125rem);
}
.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #02A067;
  padding-right: calc(0.75em + 3.75rem) !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23c0c3bc' x='0px' y='0px' style='enable-background:new 0 0 32 32;' xml:space='preserve'%3E%3Cpolygon  points='16,18.2 11.8,14.6 12.4,13.8 16,16.8 19.6,13.8 20.2,14.6 '/%3E%3C/svg%3E") no-repeat right center / auto 100%, #ffffff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2302A067' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 2.8125rem / calc(0.75em + 0.625rem) calc(0.75em + 0.625rem) no-repeat;
}
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
  border-color: #02A067;
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #02A067;
}
.was-validated .form-check-input:valid ~ .valid-feedback, .was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip {
  display: block;
}
.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #02A067;
}
.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
  border-color: #02A067;
}
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #03d287;
  background-color: #03d287;
}
.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.25);
}
.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #02A067;
}
.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #02A067;
}
.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #02A067;
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.25);
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.75em;
  color: #C0274C;
}
.invalid-tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.8888888889rem;
  line-height: 1.5;
  color: white;
  background-color: rgba(192, 39, 76, 0.9);
  border-radius: var(--niu-radius, 0.125rem);
}
.form-row > .col > .invalid-tooltip, .form-row > [class*="col-"] > .invalid-tooltip {
  left: 5px;
}
.was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip, .is-invalid ~ .invalid-feedback, .is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #C0274C;
  padding-right: calc(1.5em + 1.25rem) !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23C0274C' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23C0274C' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.3125rem) center;
  background-size: calc(0.75em + 0.625rem) calc(0.75em + 0.625rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: #C0274C;
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.25);
}
.was-validated select.form-control:invalid, select.form-control.is-invalid {
  padding-right: 3.75rem !important;
  background-position: right 1.875rem center;
}
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 1.25rem);
  background-position: top calc(0.375em + 0.3125rem) right calc(0.375em + 0.3125rem);
}
.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #C0274C;
  padding-right: calc(0.75em + 3.75rem) !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23c0c3bc' x='0px' y='0px' style='enable-background:new 0 0 32 32;' xml:space='preserve'%3E%3Cpolygon  points='16,18.2 11.8,14.6 12.4,13.8 16,16.8 19.6,13.8 20.2,14.6 '/%3E%3C/svg%3E") no-repeat right center / auto 100%, #ffffff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23C0274C' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23C0274C' stroke='none'/%3e%3c/svg%3e") center right 2.8125rem / calc(0.75em + 0.625rem) calc(0.75em + 0.625rem) no-repeat;
}
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
  border-color: #C0274C;
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #C0274C;
}
.was-validated .form-check-input:invalid ~ .invalid-feedback, .was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip {
  display: block;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #C0274C;
}
.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
  border-color: #C0274C;
}
.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #d94166;
  background-color: #d94166;
}
.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.25);
}
.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #C0274C;
}
.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #C0274C;
}
.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #C0274C;
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.25);
}
.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}
.form-inline .form-check {
  width: 100%;
}
@media (min-width: 576px) {
  .form-inline label {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0;
  }
  .form-inline .form-group {
    display: flex;
    flex: 0 0 auto;
    flex-flow: row wrap;
    align-items: center;
    margin-bottom: 0;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-plaintext {
    display: inline-block;
  }
  .form-inline .input-group, .form-inline .custom-select {
    width: auto;
  }
  .form-inline .form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding-left: 0;
  }
  .form-inline .form-check-input {
    position: relative;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 0.25rem;
    margin-left: 0;
  }
  .form-inline .custom-control {
    align-items: center;
    justify-content: center;
  }
  .form-inline .custom-control-label {
    margin-bottom: 0;
  }
}
.btn {
  display: inline-block;
  font-weight: 600;
  color: #26420a;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.625rem 0.9375rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: var(--niu-radius-control, 3px);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}
.btn:hover {
  color: #26420a;
  text-decoration: none;
}
.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.btn.disabled, .btn:disabled {
  opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}
a.btn.disabled, fieldset:disabled a.btn {
  pointer-events: none;
}
.btn-primary {
  color: white;
  background-color: #435334;
  border-color: #435334;
}
.btn-primary:hover {
  color: white;
  background-color: #303b25;
  border-color: #2a3420;
}
.btn-primary:focus, .btn-primary.focus {
  color: white;
  background-color: #303b25;
  border-color: #2a3420;
  box-shadow: 0 0 0 0.2rem rgba(95, 109, 82, 0.5);
}
.btn-primary.disabled, .btn-primary:disabled {
  color: white;
  background-color: #435334;
  border-color: #435334;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle, .show > .btn-primary:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #2a3420;
  border-color: #232c1b;
}
.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus, .show > .btn-primary:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(95, 109, 82, 0.5);
}
.btn-secondary {
  color: white;
  background-color: #f89917;
  border-color: #f89917;
}
.btn-secondary:hover {
  color: white;
  background-color: #e28507;
  border-color: #d67e06;
}
.btn-secondary:focus, .btn-secondary.focus {
  color: white;
  background-color: #e28507;
  border-color: #d67e06;
  box-shadow: 0 0 0 0.2rem rgba(249, 168, 58, 0.5);
}
.btn-secondary.disabled, .btn-secondary:disabled {
  color: white;
  background-color: #f89917;
  border-color: #f89917;
}
.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle, .show > .btn-secondary:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #d67e06;
  border-color: #c97706;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus, .show > .btn-secondary:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(249, 168, 58, 0.5);
}
.btn-success {
  color: white;
  background-color: #02A067;
  border-color: #02A067;
}
.btn-success:hover {
  color: white;
  background-color: #027a4f;
  border-color: #016e47;
}
.btn-success:focus, .btn-success.focus {
  color: white;
  background-color: #027a4f;
  border-color: #016e47;
  box-shadow: 0 0 0 0.2rem rgba(40, 174, 126, 0.5);
}
.btn-success.disabled, .btn-success:disabled {
  color: white;
  background-color: #02A067;
  border-color: #02A067;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle, .show > .btn-success:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #016e47;
  border-color: #01613e;
}
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus, .show > .btn-success:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 174, 126, 0.5);
}
.btn-info {
  color: white;
  background-color: #025A7F;
  border-color: #025A7F;
}
.btn-info:hover {
  color: white;
  background-color: #013f59;
  border-color: #01364d;
}
.btn-info:focus, .btn-info.focus {
  color: white;
  background-color: #013f59;
  border-color: #01364d;
  box-shadow: 0 0 0 0.2rem rgba(40, 115, 146, 0.5);
}
.btn-info.disabled, .btn-info:disabled {
  color: white;
  background-color: #025A7F;
  border-color: #025A7F;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle, .show > .btn-info:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #01364d;
  border-color: #012e40;
}
.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus, .show > .btn-info:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 115, 146, 0.5);
}
.btn-warning {
  color: white;
  background-color: #DAAA4E;
  border-color: #DAAA4E;
}
.btn-warning:hover {
  color: white;
  background-color: #d39b2e;
  border-color: #cb942a;
}
.btn-warning:focus, .btn-warning.focus {
  color: white;
  background-color: #d39b2e;
  border-color: #cb942a;
  box-shadow: 0 0 0 0.2rem rgba(224, 183, 105, 0.5);
}
.btn-warning.disabled, .btn-warning:disabled {
  color: white;
  background-color: #DAAA4E;
  border-color: #DAAA4E;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle, .show > .btn-warning:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #cb942a;
  border-color: #c08c28;
}
.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus, .show > .btn-warning:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(224, 183, 105, 0.5);
}
.btn-danger {
  color: white;
  background-color: #C0274C;
  border-color: #C0274C;
}
.btn-danger:hover {
  color: white;
  background-color: #a0213f;
  border-color: #961e3b;
}
.btn-danger:focus, .btn-danger.focus {
  color: white;
  background-color: #a0213f;
  border-color: #961e3b;
  box-shadow: 0 0 0 0.2rem rgba(201, 71, 103, 0.5);
}
.btn-danger.disabled, .btn-danger:disabled {
  color: white;
  background-color: #C0274C;
  border-color: #C0274C;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle, .show > .btn-danger:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #961e3b;
  border-color: #8b1c37;
}
.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus, .show > .btn-danger:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(201, 71, 103, 0.5);
}
.btn-light {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-light:hover {
  color: #26420a;
  background-color: #d3d5d0;
  border-color: #cdcfc9;
}
.btn-light:focus, .btn-light.focus {
  color: #26420a;
  background-color: #d3d5d0;
  border-color: #cdcfc9;
  box-shadow: 0 0 0 0.2rem rgba(201, 206, 195, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle, .show > .btn-light:not(.navbar-toggler)[data-toggle="collapse"] {
  color: #26420a;
  background-color: #cdcfc9;
  border-color: #c7c9c2;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus, .show > .btn-light:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(201, 206, 195, 0.5);
}
.btn-dark {
  color: white;
  background-color: #4d5148;
  border-color: #4d5148;
}
.btn-dark:hover {
  color: white;
  background-color: #3a3d36;
  border-color: #333630;
}
.btn-dark:focus, .btn-dark.focus {
  color: white;
  background-color: #3a3d36;
  border-color: #333630;
  box-shadow: 0 0 0 0.2rem rgba(104, 107, 99, 0.5);
}
.btn-dark.disabled, .btn-dark:disabled {
  color: white;
  background-color: #4d5148;
  border-color: #4d5148;
}
.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle, .show > .btn-dark:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #333630;
  border-color: #2d2f2a;
}
.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus, .show > .btn-dark:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(104, 107, 99, 0.5);
}
.btn-gray {
  color: white;
  background-color: #808778;
  border-color: #808778;
}
.btn-gray:hover {
  color: white;
  background-color: #6d7366;
  border-color: #666c60;
}
.btn-gray:focus, .btn-gray.focus {
  color: white;
  background-color: #6d7366;
  border-color: #666c60;
  box-shadow: 0 0 0 0.2rem rgba(147, 153, 140, 0.5);
}
.btn-gray.disabled, .btn-gray:disabled {
  color: white;
  background-color: #808778;
  border-color: #808778;
}
.btn-gray:not(:disabled):not(.disabled):active, .btn-gray:not(:disabled):not(.disabled).active, .show > .btn-gray.dropdown-toggle, .show > .btn-gray:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #666c60;
  border-color: #60655a;
}
.btn-gray:not(:disabled):not(.disabled):active:focus, .btn-gray:not(:disabled):not(.disabled).active:focus, .show > .btn-gray.dropdown-toggle:focus, .show > .btn-gray:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(147, 153, 140, 0.5);
}
.btn-gray-light {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-gray-light:hover {
  color: #26420a;
  background-color: #d3d5d0;
  border-color: #cdcfc9;
}
.btn-gray-light:focus, .btn-gray-light.focus {
  color: #26420a;
  background-color: #d3d5d0;
  border-color: #cdcfc9;
  box-shadow: 0 0 0 0.2rem rgba(201, 206, 195, 0.5);
}
.btn-gray-light.disabled, .btn-gray-light:disabled {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-gray-light:not(:disabled):not(.disabled):active, .btn-gray-light:not(:disabled):not(.disabled).active, .show > .btn-gray-light.dropdown-toggle, .show > .btn-gray-light:not(.navbar-toggler)[data-toggle="collapse"] {
  color: #26420a;
  background-color: #cdcfc9;
  border-color: #c7c9c2;
}
.btn-gray-light:not(:disabled):not(.disabled):active:focus, .btn-gray-light:not(:disabled):not(.disabled).active:focus, .show > .btn-gray-light.dropdown-toggle:focus, .show > .btn-gray-light:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(201, 206, 195, 0.5);
}
.btn-gray-medium {
  color: white;
  background-color: #666c60;
  border-color: #666c60;
}
.btn-gray-medium:hover {
  color: white;
  background-color: #53584e;
  border-color: #4d5148;
}
.btn-gray-medium:focus, .btn-gray-medium.focus {
  color: white;
  background-color: #53584e;
  border-color: #4d5148;
  box-shadow: 0 0 0 0.2rem rgba(125, 130, 120, 0.5);
}
.btn-gray-medium.disabled, .btn-gray-medium:disabled {
  color: white;
  background-color: #666c60;
  border-color: #666c60;
}
.btn-gray-medium:not(:disabled):not(.disabled):active, .btn-gray-medium:not(:disabled):not(.disabled).active, .show > .btn-gray-medium.dropdown-toggle, .show > .btn-gray-medium:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #4d5148;
  border-color: #464a42;
}
.btn-gray-medium:not(:disabled):not(.disabled):active:focus, .btn-gray-medium:not(:disabled):not(.disabled).active:focus, .show > .btn-gray-medium.dropdown-toggle:focus, .show > .btn-gray-medium:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(125, 130, 120, 0.5);
}
.btn-gray-dark {
  color: white;
  background-color: #999f93;
  border-color: #999f93;
}
.btn-gray-dark:hover {
  color: white;
  background-color: #868d7f;
  border-color: #808778;
}
.btn-gray-dark:focus, .btn-gray-dark.focus {
  color: white;
  background-color: #868d7f;
  border-color: #808778;
  box-shadow: 0 0 0 0.2rem rgba(168, 173, 163, 0.5);
}
.btn-gray-dark.disabled, .btn-gray-dark:disabled {
  color: white;
  background-color: #999f93;
  border-color: #999f93;
}
.btn-gray-dark:not(:disabled):not(.disabled):active, .btn-gray-dark:not(:disabled):not(.disabled).active, .show > .btn-gray-dark.dropdown-toggle, .show > .btn-gray-dark:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #808778;
  border-color: #798072;
}
.btn-gray-dark:not(:disabled):not(.disabled):active:focus, .btn-gray-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-gray-dark.dropdown-toggle:focus, .show > .btn-gray-dark:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(168, 173, 163, 0.5);
}
.btn-gray-darker {
  color: white;
  background-color: #333630;
  border-color: #333630;
}
.btn-gray-darker:hover {
  color: white;
  background-color: #20221e;
  border-color: #1a1b18;
}
.btn-gray-darker:focus, .btn-gray-darker.focus {
  color: white;
  background-color: #20221e;
  border-color: #1a1b18;
  box-shadow: 0 0 0 0.2rem rgba(82, 84, 79, 0.5);
}
.btn-gray-darker.disabled, .btn-gray-darker:disabled {
  color: white;
  background-color: #333630;
  border-color: #333630;
}
.btn-gray-darker:not(:disabled):not(.disabled):active, .btn-gray-darker:not(:disabled):not(.disabled).active, .show > .btn-gray-darker.dropdown-toggle, .show > .btn-gray-darker:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #1a1b18;
  border-color: #131412;
}
.btn-gray-darker:not(:disabled):not(.disabled):active:focus, .btn-gray-darker:not(:disabled):not(.disabled).active:focus, .show > .btn-gray-darker.dropdown-toggle:focus, .show > .btn-gray-darker:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(82, 84, 79, 0.5);
}
.btn-outline-primary {
  color: #435334;
  border-color: #435334;
}
.btn-outline-primary:hover {
  color: white;
  background-color: #435334;
  border-color: #435334;
}
.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.5);
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #435334;
  background-color: transparent;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle, .show > .btn-outline-primary:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #435334;
  border-color: #435334;
}
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus, .show > .btn-outline-primary:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.5);
}
.btn-outline-secondary {
  color: #f89917;
  border-color: #f89917;
}
.btn-outline-secondary:hover {
  color: white;
  background-color: #f89917;
  border-color: #f89917;
}
.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 153, 23, 0.5);
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #f89917;
  background-color: transparent;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle, .show > .btn-outline-secondary:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #f89917;
  border-color: #f89917;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus, .show > .btn-outline-secondary:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 153, 23, 0.5);
}
.btn-outline-success {
  color: #02A067;
  border-color: #02A067;
}
.btn-outline-success:hover {
  color: white;
  background-color: #02A067;
  border-color: #02A067;
}
.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.5);
}
.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #02A067;
  background-color: transparent;
}
.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle, .show > .btn-outline-success:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #02A067;
  border-color: #02A067;
}
.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus, .show > .btn-outline-success:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.5);
}
.btn-outline-info {
  color: #025A7F;
  border-color: #025A7F;
}
.btn-outline-info:hover {
  color: white;
  background-color: #025A7F;
  border-color: #025A7F;
}
.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(2, 90, 127, 0.5);
}
.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #025A7F;
  background-color: transparent;
}
.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle, .show > .btn-outline-info:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #025A7F;
  border-color: #025A7F;
}
.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus, .show > .btn-outline-info:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(2, 90, 127, 0.5);
}
.btn-outline-warning {
  color: #DAAA4E;
  border-color: #DAAA4E;
}
.btn-outline-warning:hover {
  color: white;
  background-color: #DAAA4E;
  border-color: #DAAA4E;
}
.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(218, 170, 78, 0.5);
}
.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #DAAA4E;
  background-color: transparent;
}
.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle, .show > .btn-outline-warning:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #DAAA4E;
  border-color: #DAAA4E;
}
.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus, .show > .btn-outline-warning:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(218, 170, 78, 0.5);
}
.btn-outline-danger {
  color: #C0274C;
  border-color: #C0274C;
}
.btn-outline-danger:hover {
  color: white;
  background-color: #C0274C;
  border-color: #C0274C;
}
.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.5);
}
.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #C0274C;
  background-color: transparent;
}
.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle, .show > .btn-outline-danger:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #C0274C;
  border-color: #C0274C;
}
.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus, .show > .btn-outline-danger:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.5);
}
.btn-outline-light {
  color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-outline-light:hover {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #e6e7e4;
  background-color: transparent;
}
.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle, .show > .btn-outline-light:not(.navbar-toggler)[data-toggle="collapse"] {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus, .show > .btn-outline-light:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.btn-outline-dark {
  color: #4d5148;
  border-color: #4d5148;
}
.btn-outline-dark:hover {
  color: white;
  background-color: #4d5148;
  border-color: #4d5148;
}
.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(77, 81, 72, 0.5);
}
.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #4d5148;
  background-color: transparent;
}
.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle, .show > .btn-outline-dark:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #4d5148;
  border-color: #4d5148;
}
.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus, .show > .btn-outline-dark:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(77, 81, 72, 0.5);
}
.btn-outline-gray {
  color: #808778;
  border-color: #808778;
}
.btn-outline-gray:hover {
  color: white;
  background-color: #808778;
  border-color: #808778;
}
.btn-outline-gray:focus, .btn-outline-gray.focus {
  box-shadow: 0 0 0 0.2rem rgba(128, 135, 120, 0.5);
}
.btn-outline-gray.disabled, .btn-outline-gray:disabled {
  color: #808778;
  background-color: transparent;
}
.btn-outline-gray:not(:disabled):not(.disabled):active, .btn-outline-gray:not(:disabled):not(.disabled).active, .show > .btn-outline-gray.dropdown-toggle, .show > .btn-outline-gray:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #808778;
  border-color: #808778;
}
.btn-outline-gray:not(:disabled):not(.disabled):active:focus, .btn-outline-gray:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray.dropdown-toggle:focus, .show > .btn-outline-gray:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(128, 135, 120, 0.5);
}
.btn-outline-gray-light {
  color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-outline-gray-light:hover {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-outline-gray-light:focus, .btn-outline-gray-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.btn-outline-gray-light.disabled, .btn-outline-gray-light:disabled {
  color: #e6e7e4;
  background-color: transparent;
}
.btn-outline-gray-light:not(:disabled):not(.disabled):active, .btn-outline-gray-light:not(:disabled):not(.disabled).active, .show > .btn-outline-gray-light.dropdown-toggle, .show > .btn-outline-gray-light:not(.navbar-toggler)[data-toggle="collapse"] {
  color: #26420a;
  background-color: #e6e7e4;
  border-color: #e6e7e4;
}
.btn-outline-gray-light:not(:disabled):not(.disabled):active:focus, .btn-outline-gray-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray-light.dropdown-toggle:focus, .show > .btn-outline-gray-light:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.btn-outline-gray-medium {
  color: #666c60;
  border-color: #666c60;
}
.btn-outline-gray-medium:hover {
  color: white;
  background-color: #666c60;
  border-color: #666c60;
}
.btn-outline-gray-medium:focus, .btn-outline-gray-medium.focus {
  box-shadow: 0 0 0 0.2rem rgba(102, 108, 96, 0.5);
}
.btn-outline-gray-medium.disabled, .btn-outline-gray-medium:disabled {
  color: #666c60;
  background-color: transparent;
}
.btn-outline-gray-medium:not(:disabled):not(.disabled):active, .btn-outline-gray-medium:not(:disabled):not(.disabled).active, .show > .btn-outline-gray-medium.dropdown-toggle, .show > .btn-outline-gray-medium:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #666c60;
  border-color: #666c60;
}
.btn-outline-gray-medium:not(:disabled):not(.disabled):active:focus, .btn-outline-gray-medium:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray-medium.dropdown-toggle:focus, .show > .btn-outline-gray-medium:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(102, 108, 96, 0.5);
}
.btn-outline-gray-dark {
  color: #999f93;
  border-color: #999f93;
}
.btn-outline-gray-dark:hover {
  color: white;
  background-color: #999f93;
  border-color: #999f93;
}
.btn-outline-gray-dark:focus, .btn-outline-gray-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(153, 159, 147, 0.5);
}
.btn-outline-gray-dark.disabled, .btn-outline-gray-dark:disabled {
  color: #999f93;
  background-color: transparent;
}
.btn-outline-gray-dark:not(:disabled):not(.disabled):active, .btn-outline-gray-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-gray-dark.dropdown-toggle, .show > .btn-outline-gray-dark:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #999f93;
  border-color: #999f93;
}
.btn-outline-gray-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-gray-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray-dark.dropdown-toggle:focus, .show > .btn-outline-gray-dark:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(153, 159, 147, 0.5);
}
.btn-outline-gray-darker {
  color: #333630;
  border-color: #333630;
}
.btn-outline-gray-darker:hover {
  color: white;
  background-color: #333630;
  border-color: #333630;
}
.btn-outline-gray-darker:focus, .btn-outline-gray-darker.focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 54, 48, 0.5);
}
.btn-outline-gray-darker.disabled, .btn-outline-gray-darker:disabled {
  color: #333630;
  background-color: transparent;
}
.btn-outline-gray-darker:not(:disabled):not(.disabled):active, .btn-outline-gray-darker:not(:disabled):not(.disabled).active, .show > .btn-outline-gray-darker.dropdown-toggle, .show > .btn-outline-gray-darker:not(.navbar-toggler)[data-toggle="collapse"] {
  color: white;
  background-color: #333630;
  border-color: #333630;
}
.btn-outline-gray-darker:not(:disabled):not(.disabled):active:focus, .btn-outline-gray-darker:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-gray-darker.dropdown-toggle:focus, .show > .btn-outline-gray-darker:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(51, 54, 48, 0.5);
}
.btn-link {
  font-weight: 400;
  color: #1a1f14;
  text-decoration: none;
}
.btn-link:hover {
  color: #343e28;
  text-decoration: none;
}
.btn-link:focus, .btn-link.focus {
  text-decoration: none;
}
.btn-link:disabled, .btn-link.disabled {
  color: #808778;
  pointer-events: none;
}
.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: var(--niu-radius-control, 3px);
}
.btn-sm, .btn-group-sm > .btn {
  padding: 0.375rem 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: var(--niu-radius-control, 3px);
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}
input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
  width: 100%;
}
.fade {
  transition: opacity 0.35s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}
.collapse:not(.show) {
  display: none;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.width {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.width {
    transition: none;
  }
}
.dropup, .dropright, .dropdown, .dropleft {
  position: relative;
}
.dropdown-toggle, [data-toggle="collapse"]:not(.navbar-toggler) {
  white-space: nowrap;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #26420a;
  text-align: left;
  list-style: none;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 0 solid rgba(0, 0, 0, 0.15);
  border-radius: var(--niu-radius-card, 0);
}
.dropdown-menu-left {
  right: auto;
  left: 0;
}
.dropdown-menu-right {
  right: 0;
  left: auto;
}
@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1300px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem;
}
.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}
.dropright .dropdown-toggle::after, .dropright :not(.navbar-toggler)[data-toggle="collapse"]::after {
  vertical-align: 0;
}
.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}
.dropleft .dropdown-toggle::before, .dropleft :not(.navbar-toggler)[data-toggle="collapse"]::before {
  vertical-align: 0;
}
.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto;
}
.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef;
}
.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #333630;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}
.dropdown-item:first-child {
  border-top-left-radius: var(--niu-radius-card, 0);
  border-top-right-radius: var(--niu-radius-card, 0);
}
.dropdown-item:last-child {
  border-bottom-right-radius: var(--niu-radius-card, 0);
  border-bottom-left-radius: var(--niu-radius-card, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: #333630;
  text-decoration: none;
  background-color: #e6e7e4;
}
.dropdown-item.active, .dropdown-item:active {
  color: #333630;
  text-decoration: none;
  background-color: #e6e7e4;
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: #999f93;
  pointer-events: none;
  background-color: transparent;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-header {
  display: block;
  padding: 0 1.5rem;
  margin-bottom: 0;
  font-size: 0.8888888889rem;
  color: #808778;
  white-space: nowrap;
}
.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #333630;
}
.btn-group, .btn-group-vertical {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}
.btn-group > .btn, .btn-group-vertical > .btn {
  position: relative;
  flex: 1 1 auto;
}
.btn-group > .btn:hover, .btn-group-vertical > .btn:hover {
  z-index: 1;
}
.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active {
  z-index: 1;
}
.btn-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.btn-toolbar .input-group {
  width: auto;
}
.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) {
  margin-left: -1px;
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
  padding-right: 0.703125rem;
  padding-left: 0.703125rem;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropleft .dropdown-toggle-split::before {
  margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.btn-group-vertical {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.btn-group-vertical > .btn, .btn-group-vertical > .btn-group {
  width: 100%;
}
.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: -1px;
}
.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.btn-group-toggle > .btn, .btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0;
}
.btn-group-toggle > .btn input[type="radio"], .btn-group-toggle > .btn input[type="checkbox"], .btn-group-toggle > .btn-group > .btn input[type="radio"], .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control, .input-group > .form-control-plaintext, .input-group > .custom-select, .input-group > .custom-file {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
  margin-bottom: 0;
}
.input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, .input-group > .form-control-plaintext + .form-control, .input-group > .form-control-plaintext + .custom-select, .input-group > .form-control-plaintext + .custom-file, .input-group > .custom-select + .form-control, .input-group > .custom-select + .custom-select, .input-group > .custom-select + .custom-file, .input-group > .custom-file + .form-control, .input-group > .custom-file + .custom-select, .input-group > .custom-file + .custom-file {
  margin-left: -1px;
}
.input-group > .form-control:focus, .input-group > .custom-select:focus, .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
  z-index: 3;
}
.input-group > .custom-file .custom-file-input:focus {
  z-index: 4;
}
.input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .custom-file {
  display: flex;
  align-items: center;
}
.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .form-control:not(:last-child), .input-group:not(.has-validation) > .custom-select:not(:last-child), .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label, .input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > .form-control:nth-last-child(n + 3), .input-group.has-validation > .custom-select:nth-last-child(n + 3), .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label, .input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group-prepend, .input-group-append {
  display: flex;
}
.input-group-prepend .btn, .input-group-append .btn {
  position: relative;
  z-index: 2;
}
.input-group-prepend .btn:focus, .input-group-append .btn:focus {
  z-index: 3;
}
.input-group-prepend .btn + .btn, .input-group-prepend .btn + .input-group-text, .input-group-prepend .input-group-text + .input-group-text, .input-group-prepend .input-group-text + .btn, .input-group-append .btn + .btn, .input-group-append .btn + .input-group-text, .input-group-append .input-group-text + .input-group-text, .input-group-append .input-group-text + .btn {
  margin-left: -1px;
}
.input-group-prepend {
  margin-right: -1px;
}
.input-group-append {
  margin-left: -1px;
}
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.625rem 0.9375rem;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #26420a;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #c0c3bc;
  border-radius: var(--niu-radius, 0.125rem);
}
.input-group-text input[type="radio"], .input-group-text input[type="checkbox"] {
  margin-top: 0;
}
.input-group-lg > .form-control:not(textarea), .input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px);
}
.input-group-lg > .form-control, .input-group-lg > .custom-select, .input-group-lg > .input-group-prepend > .input-group-text, .input-group-lg > .input-group-append > .input-group-text, .input-group-lg > .input-group-prepend > .btn, .input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  line-height: 1.5;
  border-radius: var(--niu-radius, 0.125rem);
}
.input-group-sm > .form-control:not(textarea), .input-group-sm > .custom-select {
  height: calc(1.5em + 0.75rem + 2px);
}
.input-group-sm > .form-control, .input-group-sm > .custom-select, .input-group-sm > .input-group-prepend > .input-group-text, .input-group-sm > .input-group-append > .input-group-text, .input-group-sm > .input-group-prepend > .btn, .input-group-sm > .input-group-append > .btn {
  padding: 0.375rem 0.5rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: var(--niu-radius, 0.125rem);
}
.input-group-lg > .custom-select, .input-group-sm > .custom-select {
  padding-right: 2.8125rem;
}
.input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text, .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn, .input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text, .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text, .input-group > .input-group-prepend:not(:first-child) > .btn, .input-group > .input-group-prepend:not(:first-child) > .input-group-text, .input-group > .input-group-prepend:first-child > .btn:not(:first-child), .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.custom-control {
  position: relative;
  z-index: 1;
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
  print-color-adjust: exact;
}
.custom-control-inline {
  display: inline-flex;
  margin-right: 1rem;
}
.custom-control-input {
  position: absolute;
  left: 0;
  z-index: -1;
  width: 1rem;
  height: 1.25rem;
  opacity: 0;
}
.custom-control-input:checked ~ .custom-control-label::before {
  color: #ffffff;
  border-color: #435334;
  background-color: #435334;
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #435334;
}
.custom-control-input:not(:disabled):active ~ .custom-control-label::before {
  color: #ffffff;
  background-color: #9cb386;
  border-color: #9cb386;
}
.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {
  color: #808778;
}
.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {
  background-color: #e9ecef;
}
.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
}
.custom-control-label::before {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  pointer-events: none;
  content: "";
  background-color: #ffffff;
  border: 1px solid #999f93;
}
.custom-control-label::after {
  position: absolute;
  top: 0.25rem;
  left: -1.5rem;
  display: block;
  width: 1rem;
  height: 1rem;
  content: "";
  background: 50% / 50% 50% no-repeat;
}
.custom-checkbox .custom-control-label::before {
  border-radius: var(--niu-radius, 0.125rem);
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23ffffff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
  border-color: #435334;
  background-color: #435334;
}
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23ffffff' d='M0 2h4'/%3e%3c/svg%3e");
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(67, 83, 52, 0.5);
}
.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(67, 83, 52, 0.5);
}
.custom-radio .custom-control-label::before {
  border-radius: 50%;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");
}
.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(67, 83, 52, 0.5);
}
.custom-switch {
  padding-left: 2.25rem;
}
.custom-switch .custom-control-label::before {
  left: -2.25rem;
  width: 1.75rem;
  pointer-events: all;
  border-radius: 0.5rem;
}
.custom-switch .custom-control-label::after {
  top: calc(0.25rem + 2px);
  left: calc(-2.25rem + 2px);
  width: calc(1rem - 4px);
  height: calc(1rem - 4px);
  background-color: #999f93;
  border-radius: 0.5rem;
  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-switch .custom-control-label::after {
    transition: none;
  }
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #ffffff;
  transform: translateX(0.75rem);
}
.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(67, 83, 52, 0.5);
}
.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 1.25rem + 2px);
  padding: 0.625rem 2.8125rem 0.625rem 0.9375rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #26420a;
  vertical-align: middle;
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23c0c3bc' x='0px' y='0px' style='enable-background:new 0 0 32 32;' xml:space='preserve'%3E%3Cpolygon  points='16,18.2 11.8,14.6 12.4,13.8 16,16.8 19.6,13.8 20.2,14.6 '/%3E%3C/svg%3E") no-repeat right center / auto 100%;
  border: 1px solid #c0c3bc;
  border-radius: var(--niu-radius, 0.125rem);
  appearance: none;
}
.custom-select:focus {
  border-color: #435334;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.custom-select:focus::-ms-value {
  color: #26420a;
  background-color: #ffffff;
}
.custom-select[multiple], .custom-select[size]:not([size="1"]) {
  height: auto;
  padding-right: 0.9375rem;
  background-image: none;
}
.custom-select:disabled {
  color: #808778;
  background-color: #e9ecef;
}
.custom-select::-ms-expand {
  display: none;
}
.custom-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #26420a;
}
.custom-select-sm {
  height: calc(1.5em + 0.75rem + 2px);
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.5rem;
  font-size: 1rem;
}
.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.125rem;
}
.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 1.25rem + 2px);
  margin-bottom: 0;
}
.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 1.25rem + 2px);
  margin: 0;
  overflow: hidden;
  opacity: 0;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #435334;
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {
  background-color: #e9ecef;
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
  content: "Browse";
}
.custom-file-input ~ .custom-file-label[data-browse]::after {
  content: attr(data-browse);
}
.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 1.25rem + 2px);
  padding: 0.625rem 0.9375rem;
  overflow: hidden;
  font-weight: 400;
  line-height: 1.5;
  color: #26420a;
  background-color: #ffffff;
  border: 1px solid #c0c3bc;
  border-radius: var(--niu-radius, 0.125rem);
}
.custom-file-label::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  height: calc(1.5em + 1.25rem);
  padding: 0.625rem 0.9375rem;
  line-height: 1.5;
  color: #26420a;
  content: "Browse";
  background-color: #e9ecef;
  border-left: inherit;
  border-radius: 0 var(--niu-radius, 0.125rem) var(--niu-radius, 0.125rem) 0;
}
.custom-range {
  width: 100%;
  height: 1.4rem;
  padding: 0;
  background-color: transparent;
  appearance: none;
}
.custom-range:focus {
  outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px white, 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.custom-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px white, 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.custom-range:focus::-ms-thumb {
  box-shadow: 0 0 0 1px white, 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.custom-range::-moz-focus-outer {
  border: 0;
}
.custom-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  background-color: #435334;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-webkit-slider-thumb {
    transition: none;
  }
}
.custom-range::-webkit-slider-thumb:active {
  background-color: #9cb386;
}
.custom-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  background-color: #435334;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-moz-range-thumb {
    transition: none;
  }
}
.custom-range::-moz-range-thumb:active {
  background-color: #9cb386;
}
.custom-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #dee2e6;
  border-color: transparent;
  border-radius: 1rem;
}
.custom-range::-ms-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: 0;
  margin-right: 0.2rem;
  margin-left: 0.2rem;
  background-color: #435334;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}
@media (prefers-reduced-motion: reduce) {
  .custom-range::-ms-thumb {
    transition: none;
  }
}
.custom-range::-ms-thumb:active {
  background-color: #9cb386;
}
.custom-range::-ms-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  border-width: 0.5rem;
}
.custom-range::-ms-fill-lower {
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range::-ms-fill-upper {
  margin-right: 15px;
  background-color: #dee2e6;
  border-radius: 1rem;
}
.custom-range:disabled::-webkit-slider-thumb {
  background-color: #999f93;
}
.custom-range:disabled::-webkit-slider-runnable-track {
  cursor: default;
}
.custom-range:disabled::-moz-range-thumb {
  background-color: #999f93;
}
.custom-range:disabled::-moz-range-track {
  cursor: default;
}
.custom-range:disabled::-ms-thumb {
  background-color: #999f93;
}
.custom-control-label::before, .custom-file-label, .custom-select {
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .custom-control-label::before, .custom-file-label, .custom-select {
    transition: none;
  }
}
.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #ffffff;
  background-clip: border-box;
  border: 1px solid #e6e7e4;
  border-radius: var(--niu-radius, 0.125rem);
}
.card > hr {
  margin-right: 0;
  margin-left: 0;
}
.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}
.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: calc(var(--niu-radius, 0.125rem) - 1px);
  border-top-right-radius: calc(var(--niu-radius, 0.125rem) - 1px);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: calc(var(--niu-radius, 0.125rem) - 1px);
  border-bottom-left-radius: calc(var(--niu-radius, 0.125rem) - 1px);
}
.card > .card-header + .list-group, .card > .list-group + .card-footer {
  border-top: 0;
}
.card-body {
  flex: 1 1 auto;
  min-height: 1px;
  padding: 1.25rem;
}
.card-title {
  margin-bottom: 0.75rem;
}
.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0;
}
.card-text:last-child {
  margin-bottom: 0;
}
.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: 1.25rem;
}
.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: #e6e7e4;
  border-bottom: 1px solid #e6e7e4;
}
.card-header:first-child {
  border-radius: calc(var(--niu-radius, 0.125rem) - 1px) calc(var(--niu-radius, 0.125rem) - 1px) 0 0;
}
.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: #e6e7e4;
  border-top: 1px solid #e6e7e4;
}
.card-footer:last-child {
  border-radius: 0 0 calc(var(--niu-radius, 0.125rem) - 1px) calc(var(--niu-radius, 0.125rem) - 1px);
}
.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0;
}
.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
  border-radius: calc(var(--niu-radius, 0.125rem) - 1px);
}
.card-img, .card-img-top, .card-img-bottom {
  flex-shrink: 0;
  width: 100%;
}
.card-img, .card-img-top {
  border-top-left-radius: calc(var(--niu-radius, 0.125rem) - 1px);
  border-top-right-radius: calc(var(--niu-radius, 0.125rem) - 1px);
}
.card-img, .card-img-bottom {
  border-bottom-right-radius: calc(var(--niu-radius, 0.125rem) - 1px);
  border-bottom-left-radius: calc(var(--niu-radius, 0.125rem) - 1px);
}
.card-deck .card {
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .card-deck {
    display: flex;
    flex-flow: row wrap;
    margin-right: -1rem;
    margin-left: -1rem;
  }
  .card-deck .card {
    flex: 1 0 0%;
    margin-right: 1rem;
    margin-bottom: 0;
    margin-left: 1rem;
  }
}
.card-group > .card {
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top, .card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom, .card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top, .card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom, .card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}
.card-columns .card {
  margin-bottom: 0.75rem;
}
@media (min-width: 576px) {
  .card-columns {
    column-count: 3;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}
.accordion {
  overflow-anchor: none;
}
.accordion > .card {
  overflow: hidden;
}
.accordion > .card:not(:last-of-type) {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.accordion > .card:not(:first-of-type) {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.accordion > .card > .card-header {
  border-radius: 0;
  margin-bottom: -1px;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0.5rem 0;
  margin-bottom: 0;
  list-style: none;
  background-color: transparent;
  border-radius: 0;
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #808778;
  content: "/";
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline;
}
.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none;
}
.breadcrumb-item.active {
  color: #333630;
}
.pagination {
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: var(--niu-radius, 0.125rem);
}
.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: 0;
  line-height: 1.25;
  color: #1a1f14;
  background-color: transparent;
  border: 0 solid #dee2e6;
}
.page-link:hover {
  z-index: 2;
  color: #435334;
  text-decoration: none;
  background-color: transparent;
  border-color: #dee2e6;
}
.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.25);
}
.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: var(--niu-radius, 0.125rem);
  border-bottom-left-radius: var(--niu-radius, 0.125rem);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--niu-radius, 0.125rem);
  border-bottom-right-radius: var(--niu-radius, 0.125rem);
}
.page-item.active .page-link {
  z-index: 3;
  color: #1a1f14;
  background-color: transparent;
  border-color: transparent;
}
.page-item.disabled .page-link {
  color: #999f93;
  pointer-events: none;
  cursor: auto;
  background-color: transparent;
  border-color: #dee2e6;
}
.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.125rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: var(--niu-radius, 0.125rem);
  border-bottom-left-radius: var(--niu-radius, 0.125rem);
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: var(--niu-radius, 0.125rem);
  border-bottom-right-radius: var(--niu-radius, 0.125rem);
}
.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.8888888889rem;
  line-height: 1.5;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: var(--niu-radius, 0.125rem);
  border-bottom-left-radius: var(--niu-radius, 0.125rem);
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: var(--niu-radius, 0.125rem);
  border-bottom-right-radius: var(--niu-radius, 0.125rem);
}
.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--niu-radius, 0.125rem);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .badge {
    transition: none;
  }
}
a.badge:hover, a.badge:focus {
  text-decoration: none;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem;
}
.badge-primary {
  color: white;
  background-color: #435334;
}
a.badge-primary:hover, a.badge-primary:focus {
  color: white;
  background-color: #2a3420;
}
a.badge-primary:focus, a.badge-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.5);
}
.badge-secondary {
  color: white;
  background-color: #f89917;
}
a.badge-secondary:hover, a.badge-secondary:focus {
  color: white;
  background-color: #d67e06;
}
a.badge-secondary:focus, a.badge-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 153, 23, 0.5);
}
.badge-success {
  color: white;
  background-color: #02A067;
}
a.badge-success:hover, a.badge-success:focus {
  color: white;
  background-color: #016e47;
}
a.badge-success:focus, a.badge-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.5);
}
.badge-info {
  color: white;
  background-color: #025A7F;
}
a.badge-info:hover, a.badge-info:focus {
  color: white;
  background-color: #01364d;
}
a.badge-info:focus, a.badge-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(2, 90, 127, 0.5);
}
.badge-warning {
  color: white;
  background-color: #DAAA4E;
}
a.badge-warning:hover, a.badge-warning:focus {
  color: white;
  background-color: #cb942a;
}
a.badge-warning:focus, a.badge-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(218, 170, 78, 0.5);
}
.badge-danger {
  color: white;
  background-color: #C0274C;
}
a.badge-danger:hover, a.badge-danger:focus {
  color: white;
  background-color: #961e3b;
}
a.badge-danger:focus, a.badge-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.5);
}
.badge-light {
  color: #26420a;
  background-color: #e6e7e4;
}
a.badge-light:hover, a.badge-light:focus {
  color: #26420a;
  background-color: #cdcfc9;
}
a.badge-light:focus, a.badge-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.badge-dark {
  color: white;
  background-color: #4d5148;
}
a.badge-dark:hover, a.badge-dark:focus {
  color: white;
  background-color: #333630;
}
a.badge-dark:focus, a.badge-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(77, 81, 72, 0.5);
}
.badge-gray {
  color: white;
  background-color: #808778;
}
a.badge-gray:hover, a.badge-gray:focus {
  color: white;
  background-color: #666c60;
}
a.badge-gray:focus, a.badge-gray.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(128, 135, 120, 0.5);
}
.badge-gray-light {
  color: #26420a;
  background-color: #e6e7e4;
}
a.badge-gray-light:hover, a.badge-gray-light:focus {
  color: #26420a;
  background-color: #cdcfc9;
}
a.badge-gray-light:focus, a.badge-gray-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.badge-gray-medium {
  color: white;
  background-color: #666c60;
}
a.badge-gray-medium:hover, a.badge-gray-medium:focus {
  color: white;
  background-color: #4d5148;
}
a.badge-gray-medium:focus, a.badge-gray-medium.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(102, 108, 96, 0.5);
}
.badge-gray-dark {
  color: white;
  background-color: #999f93;
}
a.badge-gray-dark:hover, a.badge-gray-dark:focus {
  color: white;
  background-color: #808778;
}
a.badge-gray-dark:focus, a.badge-gray-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(153, 159, 147, 0.5);
}
.badge-gray-darker {
  color: white;
  background-color: #333630;
}
a.badge-gray-darker:hover, a.badge-gray-darker:focus {
  color: white;
  background-color: #1a1b18;
}
a.badge-gray-darker:focus, a.badge-gray-darker.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(51, 54, 48, 0.5);
}
.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: var(--niu-radius, 0.125rem);
}
@media (min-width: 576px) {
  .jumbotron {
    padding: 4rem 2rem;
  }
}
.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0;
}
.alert {
  position: relative;
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: var(--niu-radius, 0.125rem);
}
.alert-heading {
  color: inherit;
}
.alert-link {
  font-weight: 700;
}
.alert-dismissible {
  padding-right: 4rem;
}
.alert-dismissible .close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.75rem 1.25rem;
  color: inherit;
}
.alert-primary {
  color: #232b1b;
  background-color: #d9ddd6;
  border-color: #cacfc6;
}
.alert-primary hr {
  border-top-color: #bdc3b8;
}
.alert-primary .alert-link {
  color: #0a0c07;
}
.alert-secondary {
  color: #81500c;
  background-color: #feebd1;
  border-color: #fde2be;
}
.alert-secondary hr {
  border-top-color: #fcd7a5;
}
.alert-secondary .alert-link {
  color: #523308;
}
.alert-success {
  color: #015336;
  background-color: #ccece1;
  border-color: #b8e4d4;
}
.alert-success hr {
  border-top-color: #a6ddc9;
}
.alert-success .alert-link {
  color: #002115;
}
.alert-info {
  color: #012f42;
  background-color: #ccdee5;
  border-color: #b8d1db;
}
.alert-info hr {
  border-top-color: #a7c6d2;
}
.alert-info .alert-link {
  color: #000b10;
}
.alert-warning {
  color: #715829;
  background-color: #f8eedc;
  border-color: #f5e7cd;
}
.alert-warning hr {
  border-top-color: #f1ddb8;
}
.alert-warning .alert-link {
  color: #4c3b1b;
}
.alert-danger {
  color: #641428;
  background-color: #f2d4db;
  border-color: #edc3cd;
}
.alert-danger hr {
  border-top-color: #e7afbd;
}
.alert-danger .alert-link {
  color: #3a0c17;
}
.alert-light {
  color: #787877;
  background-color: #fafafa;
  border-color: #f8f8f7;
}
.alert-light hr {
  border-top-color: #ecece9;
}
.alert-light .alert-link {
  color: #5e5e5e;
}
.alert-dark {
  color: #282a25;
  background-color: #dbdcda;
  border-color: #cdcecc;
}
.alert-dark hr {
  border-top-color: #c0c2bf;
}
.alert-dark .alert-link {
  color: #0e0f0d;
}
.alert-gray {
  color: #43463e;
  background-color: #e6e7e4;
  border-color: #dbddd9;
}
.alert-gray hr {
  border-top-color: #ced1cc;
}
.alert-gray .alert-link {
  color: #292b26;
}
.alert-gray-light {
  color: #787877;
  background-color: #fafafa;
  border-color: #f8f8f7;
}
.alert-gray-light hr {
  border-top-color: #ecece9;
}
.alert-gray-light .alert-link {
  color: #5e5e5e;
}
.alert-gray-medium {
  color: #353832;
  background-color: #e0e2df;
  border-color: #d4d6d2;
}
.alert-gray-medium hr {
  border-top-color: #c7cac5;
}
.alert-gray-medium .alert-link {
  color: #1c1d1a;
}
.alert-gray-dark {
  color: #50534c;
  background-color: #ebece9;
  border-color: #e2e4e1;
}
.alert-gray-dark hr {
  border-top-color: #d5d8d4;
}
.alert-gray-dark .alert-link {
  color: #363834;
}
.alert-gray-darker {
  color: #1b1c19;
  background-color: #d6d7d6;
  border-color: #c6c7c5;
}
.alert-gray-darker hr {
  border-top-color: #b9bab8;
}
.alert-gray-darker .alert-link {
  color: #010101;
}
@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  line-height: 0;
  font-size: 0.75rem;
  background-color: #e6e7e4;
  border-radius: var(--niu-radius, 0.125rem);
}
.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #808778;
  text-align: center;
  white-space: nowrap;
  background-color: #435334;
  transition: width 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}
.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 1rem 1rem;
}
.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}
.media {
  display: flex;
  align-items: flex-start;
}
.media-body {
  flex: 1;
}
.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--niu-radius, 0.125rem);
}
.list-group-item-action {
  width: 100%;
  color: #4d5148;
  text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: #4d5148;
  text-decoration: none;
  background-color: #e6e7e4;
}
.list-group-item-action:active {
  color: #26420a;
  background-color: #e9ecef;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  background-color: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.125);
}
.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}
.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
  color: #808778;
  pointer-events: none;
  background-color: #ffffff;
}
.list-group-item.active {
  z-index: 2;
  color: #ffffff;
  background-color: #435334;
  border-color: #435334;
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: -1px;
  border-top-width: 1px;
}
.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child {
  border-bottom-left-radius: var(--niu-radius, 0.125rem);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child {
  border-top-right-radius: var(--niu-radius, 0.125rem);
  border-bottom-left-radius: 0;
}
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: 1px;
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: -1px;
  border-left-width: 1px;
}
@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child {
    border-bottom-left-radius: var(--niu-radius, 0.125rem);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child {
    border-top-right-radius: var(--niu-radius, 0.125rem);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child {
    border-bottom-left-radius: var(--niu-radius, 0.125rem);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child {
    border-top-right-radius: var(--niu-radius, 0.125rem);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child {
    border-bottom-left-radius: var(--niu-radius, 0.125rem);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child {
    border-top-right-radius: var(--niu-radius, 0.125rem);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
@media (min-width: 1300px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child {
    border-bottom-left-radius: var(--niu-radius, 0.125rem);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child {
    border-top-right-radius: var(--niu-radius, 0.125rem);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: 1px;
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: -1px;
    border-left-width: 1px;
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 1px;
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}
.list-group-item-primary {
  color: #232b1b;
  background-color: #cacfc6;
}
.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: #232b1b;
  background-color: #bdc3b8;
}
.list-group-item-primary.list-group-item-action.active {
  color: #ffffff;
  background-color: #232b1b;
  border-color: #232b1b;
}
.list-group-item-secondary {
  color: #81500c;
  background-color: #fde2be;
}
.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: #81500c;
  background-color: #fcd7a5;
}
.list-group-item-secondary.list-group-item-action.active {
  color: #ffffff;
  background-color: #81500c;
  border-color: #81500c;
}
.list-group-item-success {
  color: #015336;
  background-color: #b8e4d4;
}
.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: #015336;
  background-color: #a6ddc9;
}
.list-group-item-success.list-group-item-action.active {
  color: #ffffff;
  background-color: #015336;
  border-color: #015336;
}
.list-group-item-info {
  color: #012f42;
  background-color: #b8d1db;
}
.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: #012f42;
  background-color: #a7c6d2;
}
.list-group-item-info.list-group-item-action.active {
  color: #ffffff;
  background-color: #012f42;
  border-color: #012f42;
}
.list-group-item-warning {
  color: #715829;
  background-color: #f5e7cd;
}
.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: #715829;
  background-color: #f1ddb8;
}
.list-group-item-warning.list-group-item-action.active {
  color: #ffffff;
  background-color: #715829;
  border-color: #715829;
}
.list-group-item-danger {
  color: #641428;
  background-color: #edc3cd;
}
.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: #641428;
  background-color: #e7afbd;
}
.list-group-item-danger.list-group-item-action.active {
  color: #ffffff;
  background-color: #641428;
  border-color: #641428;
}
.list-group-item-light {
  color: #787877;
  background-color: #f8f8f7;
}
.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: #787877;
  background-color: #ecece9;
}
.list-group-item-light.list-group-item-action.active {
  color: #ffffff;
  background-color: #787877;
  border-color: #787877;
}
.list-group-item-dark {
  color: #282a25;
  background-color: #cdcecc;
}
.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: #282a25;
  background-color: #c0c2bf;
}
.list-group-item-dark.list-group-item-action.active {
  color: #ffffff;
  background-color: #282a25;
  border-color: #282a25;
}
.list-group-item-gray {
  color: #43463e;
  background-color: #dbddd9;
}
.list-group-item-gray.list-group-item-action:hover, .list-group-item-gray.list-group-item-action:focus {
  color: #43463e;
  background-color: #ced1cc;
}
.list-group-item-gray.list-group-item-action.active {
  color: #ffffff;
  background-color: #43463e;
  border-color: #43463e;
}
.list-group-item-gray-light {
  color: #787877;
  background-color: #f8f8f7;
}
.list-group-item-gray-light.list-group-item-action:hover, .list-group-item-gray-light.list-group-item-action:focus {
  color: #787877;
  background-color: #ecece9;
}
.list-group-item-gray-light.list-group-item-action.active {
  color: #ffffff;
  background-color: #787877;
  border-color: #787877;
}
.list-group-item-gray-medium {
  color: #353832;
  background-color: #d4d6d2;
}
.list-group-item-gray-medium.list-group-item-action:hover, .list-group-item-gray-medium.list-group-item-action:focus {
  color: #353832;
  background-color: #c7cac5;
}
.list-group-item-gray-medium.list-group-item-action.active {
  color: #ffffff;
  background-color: #353832;
  border-color: #353832;
}
.list-group-item-gray-dark {
  color: #50534c;
  background-color: #e2e4e1;
}
.list-group-item-gray-dark.list-group-item-action:hover, .list-group-item-gray-dark.list-group-item-action:focus {
  color: #50534c;
  background-color: #d5d8d4;
}
.list-group-item-gray-dark.list-group-item-action.active {
  color: #ffffff;
  background-color: #50534c;
  border-color: #50534c;
}
.list-group-item-gray-darker {
  color: #1b1c19;
  background-color: #c6c7c5;
}
.list-group-item-gray-darker.list-group-item-action:hover, .list-group-item-gray-darker.list-group-item-action:focus {
  color: #1b1c19;
  background-color: #b9bab8;
}
.list-group-item-gray-darker.list-group-item-action.active {
  color: #ffffff;
  background-color: #1b1c19;
  border-color: #1b1c19;
}
.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000000;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.5;
}
.close:hover {
  color: #000000;
  text-decoration: none;
}
.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 0.75;
}
button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
}
a.close.disabled {
  pointer-events: none;
}
.toast {
  flex-basis: 350px;
  max-width: 350px;
  font-size: 0.875rem;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
  opacity: 0;
  border-radius: 0.25rem;
}
.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}
.toast.showing {
  opacity: 1;
}
.toast.show {
  display: block;
  opacity: 1;
}
.toast.hide {
  display: none;
}
.toast-header {
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  color: #808778;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px);
}
.toast-body {
  padding: 0.75rem;
}
.modal-open {
  overflow: hidden;
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}
@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}
.modal-dialog-scrollable {
  display: flex;
  max-height: calc(100% - 1rem);
}
.modal-dialog-scrollable .modal-content {
  max-height: calc(100vh - 1rem);
  overflow: hidden;
}
.modal-dialog-scrollable .modal-header, .modal-dialog-scrollable .modal-footer {
  flex-shrink: 0;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem);
}
.modal-dialog-centered::before {
  display: block;
  height: calc(100vh - 1rem);
  height: min-content;
  content: "";
}
.modal-dialog-centered.modal-dialog-scrollable {
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
.modal-dialog-centered.modal-dialog-scrollable .modal-content {
  max-height: none;
}
.modal-dialog-centered.modal-dialog-scrollable::before {
  content: none;
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 0 solid rgba(0, 0, 0, 0.2);
  border-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 1;
}
.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px solid #666c60;
  border-top-left-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
  border-top-right-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
}
.modal-header .close {
  padding: 0.5rem 0;
  margin: -0.5rem 0 -0.5rem auto;
}
.modal-title {
  margin-bottom: 0;
  line-height: 1.5;
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1rem 0;
}
.modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: 1rem 0 - 0.25rem;
  border-top: 1px solid #666c60;
  border-bottom-right-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
  border-bottom-left-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
}
.modal-footer > * {
  margin: 0.25rem;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 576px) {
  .modal-dialog {
    max-width: 700px;
    margin: 1.75rem auto;
  }
  .modal-dialog-scrollable {
    max-height: calc(100% - 3.5rem);
  }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 3.5rem);
  }
  .modal-dialog-centered {
    min-height: calc(100% - 3.5rem);
  }
  .modal-dialog-centered::before {
    height: calc(100vh - 3.5rem);
    height: min-content;
  }
  .modal-sm {
    max-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg, .modal-xl {
    max-width: 800px;
  }
}
@media (min-width: 1300px) {
  .modal-xl {
    max-width: 1140px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0.5rem;
  font-family: "Open Sans-ps", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: 0.8888888889rem;
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: 0.9;
}
.tooltip .arrow {
  position: absolute;
  display: block;
  width: 0.88rem;
  height: 0.45rem;
}
.tooltip .arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.45rem 0;
}
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
  bottom: 0;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
  top: 0;
  border-width: 0.45rem 0.44rem 0;
  border-top-color: #333630;
}
.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.45rem;
}
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
  left: 0;
  width: 0.45rem;
  height: 0.88rem;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
  right: 0;
  border-width: 0.44rem 0.45rem 0.44rem 0;
  border-right-color: #333630;
}
.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.45rem 0;
}
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
  top: 0;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
  bottom: 0;
  border-width: 0 0.44rem 0.45rem;
  border-bottom-color: #333630;
}
.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.45rem;
}
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
  right: 0;
  width: 0.45rem;
  height: 0.88rem;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
  left: 0;
  border-width: 0.44rem 0 0.44rem 0.45rem;
  border-left-color: #333630;
}
.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #333630;
  text-align: center;
  background-color: #ffffff;
  border-radius: var(--niu-radius, 0.125rem);
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: "Open Sans-ps", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: 0.8888888889rem;
  word-wrap: break-word;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: var(--niu-radius, 0.125rem);
}
.popover .arrow {
  position: absolute;
  display: block;
  width: 1rem;
  height: 0.5rem;
  margin: 0 var(--niu-radius, 0.125rem);
}
.popover .arrow::before, .popover .arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem;
}
.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
  bottom: calc(-0.5rem - 1px);
}
.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
  bottom: 0;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
  bottom: 1px;
  border-width: 0.5rem 0.5rem 0;
  border-top-color: #ffffff;
}
.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem;
}
.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
  left: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: var(--niu-radius, 0.125rem) 0;
}
.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
  left: 0;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
  left: 1px;
  border-width: 0.5rem 0.5rem 0.5rem 0;
  border-right-color: #ffffff;
}
.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem;
}
.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
  top: calc(-0.5rem - 1px);
}
.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
  top: 0;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
  top: 1px;
  border-width: 0 0.5rem 0.5rem 0.5rem;
  border-bottom-color: #ffffff;
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 1rem;
  margin-left: -0.5rem;
  content: "";
  border-bottom: 1px solid #f7f7f7;
}
.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem;
}
.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
  right: calc(-0.5rem - 1px);
  width: 0.5rem;
  height: 1rem;
  margin: var(--niu-radius, 0.125rem) 0;
}
.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
  right: 0;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
  right: 1px;
  border-width: 0.5rem 0 0.5rem 0.5rem;
  border-left-color: #ffffff;
}
.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1rem;
  color: #1a2b08;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(var(--niu-radius, 0.125rem) - 1px);
  border-top-right-radius: calc(var(--niu-radius, 0.125rem) - 1px);
}
.popover-header:empty {
  display: none;
}
.popover-body {
  padding: 0.5rem 0.75rem;
  color: #26420a;
}
.carousel {
  position: relative;
}
.carousel.pointer-event {
  touch-action: pan-y;
}
.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}
.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}
.carousel-item.active, .carousel-item-next, .carousel-item-prev {
  display: block;
}
.carousel-item-next:not(.carousel-item-left), .active.carousel-item-right {
  transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-right), .active.carousel-item-left {
  transform: translateX(-100%);
}
.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}
.carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right {
    transition: none;
  }
}
.carousel-control-prev, .carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #ffffff;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev, .carousel-control-next {
    transition: none;
  }
}
.carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}
.carousel-control-prev {
  left: 0;
}
.carousel-control-next {
  right: 0;
}
.carousel-control-prev-icon, .carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: 50% / 100% 100% no-repeat;
}
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}
.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}
.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none;
}
.carousel-indicators li {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #ffffff;
  background-clip: padding-box;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-indicators li {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #ffffff;
  text-align: center;
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  border: 0.25em solid currentcolor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: 0.75s linear infinite spinner-border;
}
.spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.2em;
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: -0.125em;
  background-color: currentcolor;
  border-radius: 50%;
  opacity: 0;
  animation: 0.75s linear infinite spinner-grow;
}
.spinner-grow-sm {
  width: 1rem;
  height: 1rem;
}
@media (prefers-reduced-motion: reduce) {
  .spinner-border, .spinner-grow {
    animation-duration: 1.5s;
  }
}
@media print {
  *, *::before, *::after {
    text-shadow: none !important;
    box-shadow: none !important;
  }
  a:not(.btn) {
    text-decoration: underline;
  }
  abbr[title]::after {
    content: " (" attr(title) ")";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre, blockquote {
    border: 1px solid #999f93;
    page-break-inside: avoid;
  }
  tr, img {
    page-break-inside: avoid;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
  body {
    min-width: 992px !important;
  }
  .container {
    min-width: 992px !important;
  }
  .navbar {
    display: none;
  }
  .badge {
    border: 1px solid #000000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td, .table th {
    background-color: #ffffff !important;
  }
  .table-bordered th, .table-bordered td {
    border: 1px solid #dee2e6 !important;
  }
  .table-dark {
    color: inherit;
  }
  .table-dark th, .table-dark td, .table-dark thead th, .table-dark tbody + tbody {
    border-color: #666c60;
  }
  .table .thead-dark th {
    color: inherit;
    border-color: #666c60;
  }
}
select.bs-select-hidden, .bootstrap-select > select.bs-select-hidden, select.selectpicker {
  display: none !important;
}
.bootstrap-select {
  width: 220px;
  /*IE9 and below*/
}
.bootstrap-select > .dropdown-toggle, .bootstrap-select > [data-toggle="collapse"]:not(.navbar-toggler) {
  position: relative;
  width: 100%;
  z-index: 1;
  text-align: right;
  white-space: nowrap;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder, .bootstrap-select > .bs-placeholder:not(.navbar-toggler)[data-toggle="collapse"], .bootstrap-select > .dropdown-toggle.bs-placeholder:hover, .bootstrap-select > .bs-placeholder:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder:focus, .bootstrap-select > .bs-placeholder:not(.navbar-toggler)[data-toggle="collapse"]:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder:active, .bootstrap-select > .bs-placeholder:not(.navbar-toggler)[data-toggle="collapse"]:active {
  color: #808778;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary, .bootstrap-select > .bs-placeholder.btn-primary:not(.navbar-toggler)[data-toggle="collapse"], .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:hover, .bootstrap-select > .bs-placeholder.btn-primary:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:focus, .bootstrap-select > .bs-placeholder.btn-primary:not(.navbar-toggler)[data-toggle="collapse"]:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-primary:active, .bootstrap-select > .bs-placeholder.btn-primary:not(.navbar-toggler)[data-toggle="collapse"]:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary, .bootstrap-select > .bs-placeholder.btn-secondary:not(.navbar-toggler)[data-toggle="collapse"], .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:hover, .bootstrap-select > .bs-placeholder.btn-secondary:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:focus, .bootstrap-select > .bs-placeholder.btn-secondary:not(.navbar-toggler)[data-toggle="collapse"]:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-secondary:active, .bootstrap-select > .bs-placeholder.btn-secondary:not(.navbar-toggler)[data-toggle="collapse"]:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success, .bootstrap-select > .bs-placeholder.btn-success:not(.navbar-toggler)[data-toggle="collapse"], .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:hover, .bootstrap-select > .bs-placeholder.btn-success:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:focus, .bootstrap-select > .bs-placeholder.btn-success:not(.navbar-toggler)[data-toggle="collapse"]:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-success:active, .bootstrap-select > .bs-placeholder.btn-success:not(.navbar-toggler)[data-toggle="collapse"]:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger, .bootstrap-select > .bs-placeholder.btn-danger:not(.navbar-toggler)[data-toggle="collapse"], .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:hover, .bootstrap-select > .bs-placeholder.btn-danger:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:focus, .bootstrap-select > .bs-placeholder.btn-danger:not(.navbar-toggler)[data-toggle="collapse"]:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-danger:active, .bootstrap-select > .bs-placeholder.btn-danger:not(.navbar-toggler)[data-toggle="collapse"]:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info, .bootstrap-select > .bs-placeholder.btn-info:not(.navbar-toggler)[data-toggle="collapse"], .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:hover, .bootstrap-select > .bs-placeholder.btn-info:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:focus, .bootstrap-select > .bs-placeholder.btn-info:not(.navbar-toggler)[data-toggle="collapse"]:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-info:active, .bootstrap-select > .bs-placeholder.btn-info:not(.navbar-toggler)[data-toggle="collapse"]:active, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark, .bootstrap-select > .bs-placeholder.btn-dark:not(.navbar-toggler)[data-toggle="collapse"], .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:hover, .bootstrap-select > .bs-placeholder.btn-dark:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:focus, .bootstrap-select > .bs-placeholder.btn-dark:not(.navbar-toggler)[data-toggle="collapse"]:focus, .bootstrap-select > .dropdown-toggle.bs-placeholder.btn-dark:active, .bootstrap-select > .bs-placeholder.btn-dark:not(.navbar-toggler)[data-toggle="collapse"]:active {
  color: rgba(255, 255, 255, 0.5);
}
.bootstrap-select > select {
  position: absolute !important;
  bottom: 0;
  left: 50%;
  display: block !important;
  width: 0.5px !important;
  height: 100% !important;
  padding: 0 !important;
  opacity: 0 !important;
  border: none;
}
.bootstrap-select > select.mobile-device {
  top: 0;
  left: 0;
  display: block !important;
  width: 100% !important;
  z-index: 2;
}
.has-error .bootstrap-select .dropdown-toggle, .has-error .bootstrap-select [data-toggle="collapse"]:not(.navbar-toggler), .error .bootstrap-select .dropdown-toggle, .error .bootstrap-select [data-toggle="collapse"]:not(.navbar-toggler), .bootstrap-select.is-invalid .dropdown-toggle, .bootstrap-select.is-invalid [data-toggle="collapse"]:not(.navbar-toggler), .was-validated .bootstrap-select .selectpicker:invalid + .dropdown-toggle, .was-validated .bootstrap-select .selectpicker:invalid + [data-toggle="collapse"]:not(.navbar-toggler) {
  border-color: #b94a48;
}
.bootstrap-select.is-valid .dropdown-toggle, .bootstrap-select.is-valid [data-toggle="collapse"]:not(.navbar-toggler), .was-validated .bootstrap-select .selectpicker:valid + .dropdown-toggle, .was-validated .bootstrap-select .selectpicker:valid + [data-toggle="collapse"]:not(.navbar-toggler) {
  border-color: #28a745;
}
.bootstrap-select.fit-width {
  width: auto !important;
}
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn) {
  width: 220px;
}
.bootstrap-select .dropdown-toggle:focus, .bootstrap-select :not(.navbar-toggler)[data-toggle="collapse"]:focus {
  outline: thin dotted #333333 !important;
  outline: 5px auto -webkit-focus-ring-color !important;
  outline-offset: -2px;
}
.bootstrap-select.form-control {
  margin-bottom: 0;
  padding: 0;
  border: none;
}
:not(.input-group) > .bootstrap-select.form-control:not([class*="col-"]) {
  width: 100%;
}
.bootstrap-select.form-control.input-group-btn {
  z-index: auto;
}
.bootstrap-select.form-control.input-group-btn:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.bootstrap-select:not(.input-group-btn), .bootstrap-select[class*="col-"] {
  float: none;
  display: inline-block;
  margin-left: 0;
}
.bootstrap-select.dropdown-menu-right, .bootstrap-select[class*="col-"].dropdown-menu-right, .row .bootstrap-select[class*="col-"].dropdown-menu-right {
  float: right;
}
.form-inline .bootstrap-select, .form-horizontal .bootstrap-select, .form-group .bootstrap-select {
  margin-bottom: 0;
}
.form-group-lg .bootstrap-select.form-control, .form-group-sm .bootstrap-select.form-control {
  padding: 0;
}
.form-group-lg .bootstrap-select.form-control .dropdown-toggle, .form-group-lg .bootstrap-select.form-control [data-toggle="collapse"]:not(.navbar-toggler), .form-group-sm .bootstrap-select.form-control .dropdown-toggle, .form-group-sm .bootstrap-select.form-control [data-toggle="collapse"]:not(.navbar-toggler) {
  height: 100%;
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}
.bootstrap-select.form-control-sm .dropdown-toggle, .bootstrap-select.form-control-sm [data-toggle="collapse"]:not(.navbar-toggler), .bootstrap-select.form-control-lg .dropdown-toggle, .bootstrap-select.form-control-lg [data-toggle="collapse"]:not(.navbar-toggler) {
  font-size: inherit;
  line-height: inherit;
  border-radius: inherit;
}
.bootstrap-select.form-control-sm .dropdown-toggle, .bootstrap-select.form-control-sm [data-toggle="collapse"]:not(.navbar-toggler) {
  padding: 0.375rem 0.5rem;
}
.bootstrap-select.form-control-lg .dropdown-toggle, .bootstrap-select.form-control-lg [data-toggle="collapse"]:not(.navbar-toggler) {
  padding: 0.5rem 1rem;
}
.form-inline .bootstrap-select .form-control {
  width: 100%;
}
.bootstrap-select.disabled, .bootstrap-select > .disabled {
  cursor: not-allowed;
}
.bootstrap-select.disabled:focus, .bootstrap-select > .disabled:focus {
  outline: none !important;
}
.bootstrap-select.bs-container {
  position: absolute;
  top: 0;
  left: 0;
  height: 0 !important;
  padding: 0 !important;
}
.bootstrap-select.bs-container .dropdown-menu {
  z-index: 1060;
}
.bootstrap-select .dropdown-toggle:before, .bootstrap-select :not(.navbar-toggler)[data-toggle="collapse"]:before {
  content: "";
  display: inline-block;
}
.bootstrap-select .dropdown-toggle .filter-option, .bootstrap-select [data-toggle="collapse"]:not(.navbar-toggler) .filter-option {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: inherit;
  padding-right: inherit;
  padding-bottom: inherit;
  padding-left: inherit;
  height: 100%;
  width: 100%;
  text-align: left;
}
.bootstrap-select .dropdown-toggle .filter-option-inner, .bootstrap-select [data-toggle="collapse"]:not(.navbar-toggler) .filter-option-inner {
  padding-right: inherit;
}
.bootstrap-select .dropdown-toggle .filter-option-inner-inner, .bootstrap-select [data-toggle="collapse"]:not(.navbar-toggler) .filter-option-inner-inner {
  overflow: hidden;
}
.bootstrap-select .dropdown-toggle .caret, .bootstrap-select [data-toggle="collapse"]:not(.navbar-toggler) .caret {
  position: absolute;
  top: 50%;
  right: 12px;
  margin-top: -2px;
  vertical-align: middle;
}
.input-group .bootstrap-select.form-control .dropdown-toggle, .input-group .bootstrap-select.form-control [data-toggle="collapse"]:not(.navbar-toggler) {
  border-radius: 1px;
}
.bootstrap-select[class*="col-"] .dropdown-toggle, .bootstrap-select[class*="col-"] [data-toggle="collapse"]:not(.navbar-toggler) {
  width: 100%;
}
.bootstrap-select .dropdown-menu {
  min-width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bootstrap-select .dropdown-menu > .inner:focus {
  outline: none !important;
}
.bootstrap-select .dropdown-menu.inner {
  position: static;
  float: none;
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.bootstrap-select .dropdown-menu li {
  position: relative;
}
.bootstrap-select .dropdown-menu li.active small {
  color: rgba(255, 255, 255, 0.5) !important;
}
.bootstrap-select .dropdown-menu li.disabled a {
  cursor: not-allowed;
}
.bootstrap-select .dropdown-menu li a {
  cursor: pointer;
  user-select: none;
}
.bootstrap-select .dropdown-menu li a.opt {
  position: relative;
  padding-left: 2.25em;
}
.bootstrap-select .dropdown-menu li a span.check-mark {
  display: none;
}
.bootstrap-select .dropdown-menu li a span.text {
  display: inline-block;
}
.bootstrap-select .dropdown-menu li small {
  padding-left: 0.5em;
}
.bootstrap-select .dropdown-menu .notify {
  position: absolute;
  bottom: 5px;
  width: 96%;
  margin: 0 2%;
  min-height: 26px;
  padding: 3px 5px;
  background: whitesmoke;
  border: 1px solid #e3e3e3;
  pointer-events: none;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bootstrap-select .no-results {
  padding: 3px;
  background: #f5f5f5;
  margin: 0 5px;
  white-space: nowrap;
}
.bootstrap-select.fit-width .dropdown-toggle .filter-option, .bootstrap-select.fit-width [data-toggle="collapse"]:not(.navbar-toggler) .filter-option {
  position: static;
  display: inline;
  padding: 0;
}
.bootstrap-select.fit-width .dropdown-toggle .filter-option-inner, .bootstrap-select.fit-width [data-toggle="collapse"]:not(.navbar-toggler) .filter-option-inner, .bootstrap-select.fit-width .dropdown-toggle .filter-option-inner-inner, .bootstrap-select.fit-width [data-toggle="collapse"]:not(.navbar-toggler) .filter-option-inner-inner {
  display: inline;
}
.bootstrap-select.fit-width .dropdown-toggle .caret, .bootstrap-select.fit-width [data-toggle="collapse"]:not(.navbar-toggler) .caret {
  position: static;
  top: auto;
  margin-top: -1px;
}
.bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
  position: absolute;
  display: inline-block;
  right: 15px;
  top: 5px;
}
.bootstrap-select.show-tick .dropdown-menu li a span.text {
  margin-right: 34px;
}
.bootstrap-select .bs-ok-default:after {
  content: "";
  display: block;
  width: 0.5em;
  height: 1em;
  border-style: solid;
  border-width: 0 0.26em 0.26em 0;
  transform: rotate(45deg);
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle, .bootstrap-select.show-menu-arrow.open > [data-toggle="collapse"]:not(.navbar-toggler), .bootstrap-select.show-menu-arrow.show > .dropdown-toggle, .bootstrap-select.show-menu-arrow.show > [data-toggle="collapse"]:not(.navbar-toggler) {
  z-index: 1061;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:before {
  content: "";
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid rgba(204, 204, 204, 0.2);
  position: absolute;
  bottom: -4px;
  left: 9px;
  display: none;
}
.bootstrap-select.show-menu-arrow .dropdown-toggle .filter-option:after, .bootstrap-select.show-menu-arrow [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:after {
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid white;
  position: absolute;
  bottom: -4px;
  left: 10px;
  display: none;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.dropup [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:before {
  bottom: auto;
  top: -4px;
  border-top: 7px solid rgba(204, 204, 204, 0.2);
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after, .bootstrap-select.show-menu-arrow.dropup [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:after {
  bottom: auto;
  top: -4px;
  border-top: 6px solid white;
  border-bottom: 0;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.pull-right [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:before {
  right: 12px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle .filter-option:after, .bootstrap-select.show-menu-arrow.pull-right [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:after {
  right: 13px;
  left: auto;
}
.bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.open > [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:before, .bootstrap-select.show-menu-arrow.open > .dropdown-toggle .filter-option:after, .bootstrap-select.show-menu-arrow.open > [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:after, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:before, .bootstrap-select.show-menu-arrow.show > [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:before, .bootstrap-select.show-menu-arrow.show > .dropdown-toggle .filter-option:after, .bootstrap-select.show-menu-arrow.show > [data-toggle="collapse"]:not(.navbar-toggler) .filter-option:after {
  display: block;
}
.bs-searchbox, .bs-actionsbox, .bs-donebutton {
  padding: 4px 8px;
}
.bs-actionsbox {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bs-actionsbox .btn-group button {
  width: 50%;
}
.bs-donebutton {
  float: left;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.bs-donebutton .btn-group button {
  width: 100%;
}
.bs-searchbox + .bs-actionsbox {
  padding: 0 8px 4px;
}
.bs-searchbox .form-control {
  margin-bottom: 0;
  width: 100%;
  float: none;
}
/*!###ANIMATE###*/
/*!###COMPATIBILITY###*/
.noUi-target, .noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -ms-touch-action: none;
  touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.noUi-target {
  position: relative;
}
.noUi-base, .noUi-connects {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.noUi-connects {
  overflow: hidden;
  z-index: 0;
}
.noUi-connect, .noUi-origin {
  will-change: transform;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  -ms-transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
  -webkit-transform-style: preserve-3d;
  transform-origin: 0 0;
  transform-style: flat;
}
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}
.noUi-vertical .noUi-origin {
  top: -100%;
  width: 0;
}
.noUi-horizontal .noUi-origin {
  height: 0;
}
.noUi-handle {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
}
.noUi-touch-area {
  height: 100%;
  width: 100%;
}
.noUi-state-tap .noUi-connect, .noUi-state-tap .noUi-origin {
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}
.noUi-state-drag * {
  cursor: inherit !important;
}
.noUi-horizontal {
  height: 18px;
}
.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  right: -17px;
  top: -6px;
}
.noUi-vertical {
  width: 18px;
}
.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  right: -6px;
  bottom: -17px;
}
.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto;
}
.noUi-target {
  background: #FAFAFA;
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}
.noUi-connects {
  border-radius: 3px;
}
.noUi-connect {
  background: #3FB8AF;
}
.noUi-draggable {
  cursor: ew-resize;
}
.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}
.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}
.noUi-active {
  box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}
.noUi-handle:after, .noUi-handle:before {
  content: "";
  display: block;
  position: absolute;
  height: 14px;
  width: 1px;
  background: #E8E7E6;
  left: 14px;
  top: 6px;
}
.noUi-handle:after {
  left: 17px;
}
.noUi-vertical .noUi-handle:after, .noUi-vertical .noUi-handle:before {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}
.noUi-vertical .noUi-handle:after {
  top: 17px;
}
[disabled] .noUi-connect {
  background: #B8B8B8;
}
[disabled] .noUi-handle, [disabled].noUi-handle, [disabled].noUi-target {
  cursor: not-allowed;
}
.noUi-pips, .noUi-pips * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.noUi-pips {
  position: absolute;
  color: #999;
}
.noUi-value {
  position: absolute;
  white-space: nowrap;
  text-align: center;
}
.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}
.noUi-marker {
  position: absolute;
  background: #CCC;
}
.noUi-marker-sub {
  background: #AAA;
}
.noUi-marker-large {
  background: #AAA;
}
.noUi-pips-horizontal {
  padding: 10px 0;
  height: 80px;
  top: 100%;
  left: 0;
  width: 100%;
}
.noUi-value-horizontal {
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
}
.noUi-rtl .noUi-value-horizontal {
  -webkit-transform: translate(50%, 50%);
  transform: translate(50%, 50%);
}
.noUi-marker-horizontal.noUi-marker {
  margin-left: -1px;
  width: 2px;
  height: 5px;
}
.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}
.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}
.noUi-pips-vertical {
  padding: 0 10px;
  height: 100%;
  top: 0;
  left: 100%;
}
.noUi-value-vertical {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding-left: 25px;
}
.noUi-rtl .noUi-value-vertical {
  -webkit-transform: translate(0, 50%);
  transform: translate(0, 50%);
}
.noUi-marker-vertical.noUi-marker {
  width: 5px;
  height: 2px;
  margin-top: -1px;
}
.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}
.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}
.noUi-tooltip {
  display: block;
  position: absolute;
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #fff;
  color: #000;
  padding: 5px;
  text-align: center;
  white-space: nowrap;
}
.noUi-horizontal .noUi-tooltip {
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  left: 50%;
  bottom: 120%;
}
.noUi-vertical .noUi-tooltip {
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  top: 50%;
  right: 120%;
}
.noUi-horizontal .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(50%, 0);
  transform: translate(50%, 0);
  left: auto;
  bottom: 10px;
}
.noUi-vertical .noUi-origin > .noUi-tooltip {
  -webkit-transform: translate(0, -18px);
  transform: translate(0, -18px);
  top: auto;
  right: 28px;
}
.slick-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: black;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
.slick-lightbox .slick-loading .slick-list {
  background-color: transparent;
}
.slick-lightbox .slick-prev {
  left: 15px;
}
.slick-lightbox .slick-next {
  right: 15px;
}
.slick-lightbox-hide {
  opacity: 0;
}
.slick-lightbox-hide.slick-lightbox-ie {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.slick-lightbox-hide-init {
  position: absolute;
  top: -9999px;
  opacity: 0;
}
.slick-lightbox-hide-init.slick-lightbox-ie {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}
.slick-lightbox-inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slick-lightbox-slick-item {
  text-align: center;
  overflow: hidden;
}
.slick-lightbox-slick-item:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}
.slick-caption-bottom .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: center;
  width: 100%;
  margin-bottom: 20px;
}
.slick-caption-dynamic .slick-lightbox-slick-item .slick-lightbox-slick-item .slick-lightbox-slick-caption {
  display: block;
  text-align: center;
}
.slick-lightbox-slick-item-inner {
  display: inline-block;
  vertical-align: middle;
  max-width: 90%;
  max-height: 90%;
}
.slick-lightbox-slick-img {
  margin: 0 auto;
  display: block;
  max-width: 90%;
  max-height: 90%;
}
.slick-lightbox-slick-caption {
  margin: 10px 0 0;
  color: white;
}
.slick-lightbox-close {
  position: absolute;
  top: 15px;
  right: 15px;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0;
  font-size: 0;
  cursor: pointer;
  background: transparent;
  color: transparent;
  padding: 0;
  border: none;
}
.slick-lightbox-close:focus {
  outline: none;
}
.slick-lightbox-close:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.85;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "×";
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2px;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
/*
 * jQuery Nivo Slider v3.1
 * http://nivo.dev7studios.com
 *
 * Copyright 2012, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
*/
/* The Nivo Slider styles */
.nivoSlider {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.nivoSlider img {
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
}
.nivo-main-image {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto;
}
/* If an image is wrapped in a link */
.nivoSlider a.nivo-imageLink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  margin: 0;
  z-index: 6;
  display: none;
  background-color: #fff;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
}
/* The slices and boxes in the Slider */
.nivo-slice {
  display: block;
  position: absolute;
  z-index: 5;
  height: 100%;
  top: 0;
}
.nivo-box {
  display: block;
  position: absolute;
  z-index: 5;
  overflow: hidden;
}
.nivo-box img {
  display: block;
}
/* Caption styles */
.nivo-caption {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #000;
  color: #fff;
  width: 100%;
  z-index: 8;
  padding: 5px 10px;
  opacity: 0.8;
  overflow: hidden;
  display: none;
  -moz-opacity: 0.8;
  filter: alpha(opacity=8);
  -webkit-box-sizing: border-box;
  /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;
  /* Firefox, other Gecko */
  box-sizing: border-box;
  /* Opera/IE 8+ */
}
.nivo-caption p {
  margin: 0;
}
.nivo-caption a {
  display: inline !important;
}
.nivo-html-caption {
  display: none;
}
/* Direction nav styles (e.g. Next & Prev) */
.nivo-directionNav a {
  position: absolute;
  top: 45%;
  z-index: 9;
  cursor: pointer;
}
.nivo-prevNav {
  left: 0;
}
.nivo-nextNav {
  right: 0;
}
/* Control nav styles (e.g. 1,2,3...) */
.nivo-controlNav {
  text-align: center;
  padding: 15px 0;
}
.nivo-controlNav a {
  cursor: pointer;
}
.nivo-controlNav a.active {
  font-weight: bold;
}
/*
Skin Name: Nivo Slider Light Theme
Skin URI: http://nivo.dev7studios.com
Description: A light skin for the Nivo Slider.
Version: 1.0
Author: Gilbert Pellegrom
Author URI: http://dev7studios.com
Supports Thumbs: true
*/
.theme-light.slider-wrapper {
  background: #fff;
  padding: 10px;
}
.theme-light .nivoSlider {
  position: relative;
  background: #fff url(../../../NOVA/themes/base/images/slider/light/loading.gif) no-repeat 50% 50%;
  margin-bottom: 10px;
  overflow: visible;
}
.theme-light .nivoSlider img {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}
.theme-light .nivoSlider a {
  border: 0;
  display: block;
}
.theme-light .nivo-controlNav {
  text-align: left;
  padding: 0;
  position: relative;
  z-index: 10;
}
.theme-light .nivo-controlNav a {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url(../../../NOVA/themes/base/images/slider/light/bullets.png) no-repeat;
  text-indent: -9999px;
  border: 0;
  margin: 0 2px;
}
.theme-light .nivo-controlNav a.active {
  background-position: 0 100%;
}
.theme-light .nivo-directionNav a {
  display: block;
  width: 30px;
  height: 30px;
  background: url(../../../NOVA/themes/base/images/slider/light/arrows.png) no-repeat;
  text-indent: -9999px;
  border: 0;
  top: auto;
  bottom: -36px;
  z-index: 11;
}
.theme-light .nivo-directionNav a:hover {
  background-color: #eee;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}
.theme-light a.nivo-nextNav {
  background-position: 160% 50%;
  right: 0;
}
.theme-light a.nivo-prevNav {
  background-position: -60% 50%;
  left: auto;
  right: 35px;
}
.theme-light .nivo-caption {
  font-family: Helvetica, Arial, sans-serif;
}
.theme-light .nivo-caption a {
  color: #fff;
  border-bottom: 1px dotted #fff;
}
.theme-light .nivo-caption a:hover {
  color: #fff;
}
.theme-light .nivo-controlNav.nivo-thumbs-enabled {
  width: 80%;
}
.theme-light .nivo-controlNav.nivo-thumbs-enabled a {
  width: auto;
  height: auto;
  background: none;
  margin-bottom: 5px;
}
.theme-light .nivo-controlNav.nivo-thumbs-enabled img {
  display: block;
  width: 120px;
  height: auto;
}
/*
Skin Name: Nivo Slider Default Theme
Skin URI: http://nivo.dev7studios.com
Description: The default skin for the Nivo Slider.
Version: 1.3
Author: Gilbert Pellegrom
Author URI: http://dev7studios.com
Supports Thumbs: true
*/
.theme-default .nivoSlider {
  position: relative;
  background: #fff url(../../../NOVA/themes/base/images/slider/default/loading.gif) no-repeat 50% 50%;
  margin-bottom: 10px;
  -webkit-box-shadow: 0 1px 5px 0 #4a4a4a;
  -moz-box-shadow: 0 1px 5px 0 #4a4a4a;
  box-shadow: 0 1px 5px 0 #4a4a4a;
}
.theme-default .nivoSlider img {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}
.theme-default .nivoSlider a {
  border: 0;
  display: block;
}
.theme-default .nivo-controlNav {
  text-align: center;
  padding: 20px 0;
}
.theme-default .nivo-controlNav a {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../../../NOVA/themes/base/images/slider/default/bullets.png) no-repeat;
  text-indent: -9999px;
  border: 0;
  margin: 0 2px;
}
.theme-default .nivo-controlNav a.active {
  background-position: 0 -22px;
}
.theme-default .nivo-directionNav a {
  display: block;
  width: 30px;
  height: 30px;
  background: url(../../../NOVA/themes/base/images/slider/default/arrows.png) no-repeat;
  text-indent: -9999px;
  border: 0;
  opacity: 0;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.theme-default:hover .nivo-directionNav a {
  opacity: 1;
}
.theme-default a.nivo-nextNav {
  background-position: -30px 0;
  right: 15px;
}
.theme-default a.nivo-prevNav {
  left: 15px;
}
.theme-default .nivo-caption {
  font-family: Helvetica, Arial, sans-serif;
}
.theme-default .nivo-caption a {
  color: #fff;
  border-bottom: 1px dotted #fff;
}
.theme-default .nivo-caption a:hover {
  color: #fff;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled {
  width: 100%;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled a {
  width: auto;
  height: auto;
  background: none;
  margin-bottom: 5px;
}
.theme-default .nivo-controlNav.nivo-thumbs-enabled img {
  display: block;
  width: 120px;
  height: auto;
}
/*
Skin Name: Nivo Slider Dark Theme
Skin URI: http://nivo.dev7studios.com
Description: A dark skin for the Nivo Slider.
Version: 1.0
Author: Gilbert Pellegrom
Author URI: http://dev7studios.com
Supports Thumbs: true
*/
.theme-dark.slider-wrapper {
  background: #222;
  padding: 10px;
}
.theme-dark .nivoSlider {
  position: relative;
  background: #fff url(../../../NOVA/themes/base/images/slider/dark/loading.gif) no-repeat 50% 50%;
  margin-bottom: 10px;
  overflow: visible;
}
.theme-dark .nivoSlider img {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}
.theme-dark .nivoSlider a {
  border: 0;
  display: block;
}
.theme-dark .nivo-controlNav {
  text-align: left;
  padding: 0;
  position: relative;
  z-index: 10;
}
.theme-dark .nivo-controlNav a {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url(../../../NOVA/themes/base/images/slider/dark/bullets.png) no-repeat 0 2px;
  text-indent: -9999px;
  border: 0;
  margin: 0 2px;
}
.theme-dark .nivo-controlNav a.active {
  background-position: 0 100%;
}
.theme-dark .nivo-directionNav a {
  display: block;
  width: 30px;
  height: 30px;
  background: url(../../../NOVA/themes/base/images/slider/dark/arrows.png) no-repeat;
  text-indent: -9999px;
  border: 0;
  top: auto;
  bottom: -36px;
  z-index: 11;
}
.theme-dark .nivo-directionNav a:hover {
  background-color: #333;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
}
.theme-dark a.nivo-nextNav {
  background-position: -16px 50%;
  right: 0;
}
.theme-dark a.nivo-prevNav {
  background-position: 11px 50%;
  left: auto;
  right: 35px;
}
.theme-dark .nivo-caption {
  font-family: Helvetica, Arial, sans-serif;
}
.theme-dark .nivo-caption a {
  color: #fff;
  border-bottom: 1px dotted #fff;
}
.theme-dark .nivo-caption a:hover {
  color: #fff;
}
.theme-dark .nivo-controlNav.nivo-thumbs-enabled {
  width: 80%;
}
.theme-dark .nivo-controlNav.nivo-thumbs-enabled a {
  width: auto;
  height: auto;
  background: none;
  margin-bottom: 5px;
}
.theme-dark .nivo-controlNav.nivo-thumbs-enabled img {
  display: block;
  width: 120px;
  height: auto;
}
/*
Skin Name: Nivo Slider Bar Theme
Skin URI: http://nivo.dev7studios.com
Description: The bottom bar skin for the Nivo Slider.
Version: 1.0
Author: Gilbert Pellegrom
Author URI: http://dev7studios.com
Supports Thumbs: false
*/
.theme-bar.slider-wrapper {
  position: relative;
  border: 1px solid #333;
  overflow: hidden;
}
.theme-bar .nivoSlider {
  position: relative;
  background: #fff url(../../../NOVA/themes/base/images/slider/bar/loading.gif) no-repeat 50% 50%;
}
.theme-bar .nivoSlider img {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}
.theme-bar .nivoSlider a {
  border: 0;
  display: block;
}
.theme-bar .nivo-controlNav {
  position: absolute;
  left: 0;
  bottom: -51px;
  z-index: 10;
  width: 100%;
  height: 50px;
  text-align: center;
  padding: 5px 0;
  border-top: 1px solid #333;
  background: #333;
  background: -moz-linear-gradient(top, #565656 0%, #333333 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #565656), color-stop(100%, #333333));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #565656 0%, #333333 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #565656 0%, #333333 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #565656 0%, #333333 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #565656 0%, #333333 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#565656", endColorstr="#333333",GradientType=0);
  /* IE6-9 */
  opacity: 0.5;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.theme-bar:hover .nivo-controlNav {
  bottom: 0;
  opacity: 1;
}
.theme-bar .nivo-controlNav a {
  display: inline-block;
  width: 22px;
  height: 22px;
  background: url(../../../NOVA/themes/base/images/slider/bar/bullets.png) no-repeat;
  text-indent: -9999px;
  border: 0;
  margin: 5px 2px 0 2px;
}
.theme-bar .nivo-controlNav a.active {
  background-position: 0 -22px;
}
.theme-bar .nivo-directionNav a {
  display: block;
  border: 0;
  color: #fff;
  text-transform: uppercase;
  top: auto;
  bottom: 10px;
  z-index: 11;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 20px;
  opacity: 0.5;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.theme-bar a.nivo-nextNav {
  right: -250px;
}
.theme-bar a.nivo-prevNav {
  left: -250px;
}
.theme-bar:hover a.nivo-nextNav {
  right: 15px;
  opacity: 1;
}
.theme-bar:hover a.nivo-prevNav {
  left: 15px;
  opacity: 1;
}
.theme-bar .nivo-directionNav a:hover {
  color: #ddd;
}
.theme-bar .nivo-caption {
  font-family: Helvetica, Arial, sans-serif;
  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
  -o-transition: all 200ms ease-in-out;
  transition: all 200ms ease-in-out;
}
.theme-bar:hover .nivo-caption {
  bottom: 49px;
}
.theme-bar .nivo-caption a {
  color: #fff;
  border-bottom: 1px dotted #fff;
}
.theme-bar .nivo-caption a:hover {
  color: #fff;
}
.theme-bar .nivo-controlNav.nivo-thumbs-enabled {
  width: 100%;
}
.theme-bar .nivo-controlNav.nivo-thumbs-enabled a {
  width: auto;
  height: auto;
  background: none;
  margin-bottom: 5px;
}
.theme-bar .nivo-controlNav.nivo-thumbs-enabled img {
  display: block;
  width: auto;
  height: 30px;
}
.slider-wrapper .nivoSlider.loaded {
  background-image: none;
}
/*
 * This combined file was created by the DataTables downloader builder:
 *   https://datatables.net/download
 *
 * To rebuild or modify this file with the latest versions of the included
 * software please visit:
 *   https://datatables.net/download/#bs4/dt-1.12.0/r-2.3.0
 *
 * Included libraries:
 *   DataTables 1.12.0, Responsive 2.3.0
 */
table.dataTable td.dt-control {
  text-align: center;
  cursor: pointer;
}
table.dataTable td.dt-control:before {
  height: 1em;
  width: 1em;
  margin-top: -9px;
  display: inline-block;
  color: white;
  border: 0.15em solid white;
  border-radius: 1em;
  box-shadow: 0 0 0.2em #444;
  box-sizing: content-box;
  text-align: center;
  text-indent: 0 !important;
  font-family: "Courier New", Courier, monospace;
  line-height: 1em;
  content: "+";
  background-color: #31b131;
}
table.dataTable tr.dt-hasChild td.dt-control:before {
  content: "-";
  background-color: #d33333;
}
table.dataTable thead > tr > th.sorting, table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting_asc_disabled, table.dataTable thead > tr > th.sorting_desc_disabled, table.dataTable thead > tr > td.sorting, table.dataTable thead > tr > td.sorting_asc, table.dataTable thead > tr > td.sorting_desc, table.dataTable thead > tr > td.sorting_asc_disabled, table.dataTable thead > tr > td.sorting_desc_disabled {
  cursor: pointer;
  position: relative;
  padding-right: 26px;
}
table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > td.sorting:before, table.dataTable thead > tr > td.sorting:after, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_asc:after, table.dataTable thead > tr > td.sorting_desc:before, table.dataTable thead > tr > td.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_asc_disabled:after, table.dataTable thead > tr > td.sorting_desc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:after {
  position: absolute;
  display: block;
  opacity: 0.125;
  right: 10px;
  line-height: 9px;
  font-size: 0.9em;
}
table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > td.sorting:before, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_desc:before, table.dataTable thead > tr > td.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:before {
  bottom: 50%;
  content: "▴";
}
table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > td.sorting:after, table.dataTable thead > tr > td.sorting_asc:after, table.dataTable thead > tr > td.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc_disabled:after, table.dataTable thead > tr > td.sorting_desc_disabled:after {
  top: 50%;
  content: "▾";
}
table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_desc:after {
  opacity: 0.6;
}
table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:after, table.dataTable thead > tr > td.sorting_asc_disabled:before {
  display: none;
}
table.dataTable thead > tr > th:active, table.dataTable thead > tr > td:active {
  outline: none;
}
div.dataTables_scrollBody table.dataTable thead > tr > th:before, div.dataTables_scrollBody table.dataTable thead > tr > th:after, div.dataTables_scrollBody table.dataTable thead > tr > td:before, div.dataTables_scrollBody table.dataTable thead > tr > td:after {
  display: none;
}
div.dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -26px;
  text-align: center;
  padding: 2px;
}
div.dataTables_processing > div:last-child {
  position: relative;
  width: 80px;
  height: 15px;
  margin: 1em auto;
}
div.dataTables_processing > div:last-child > div {
  position: absolute;
  top: 0;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: rgba(2, 117, 216, 0.9);
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
div.dataTables_processing > div:last-child > div:nth-child(1) {
  left: 8px;
  animation: datatables-loader-1 0.6s infinite;
}
div.dataTables_processing > div:last-child > div:nth-child(2) {
  left: 8px;
  animation: datatables-loader-2 0.6s infinite;
}
div.dataTables_processing > div:last-child > div:nth-child(3) {
  left: 32px;
  animation: datatables-loader-2 0.6s infinite;
}
div.dataTables_processing > div:last-child > div:nth-child(4) {
  left: 56px;
  animation: datatables-loader-3 0.6s infinite;
}
@keyframes datatables-loader-1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes datatables-loader-3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes datatables-loader-2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
  white-space: nowrap;
}
table.dataTable th.dt-left, table.dataTable td.dt-left {
  text-align: left;
}
table.dataTable th.dt-center, table.dataTable td.dt-center, table.dataTable td.dataTables_empty {
  text-align: center;
}
table.dataTable th.dt-right, table.dataTable td.dt-right {
  text-align: right;
}
table.dataTable th.dt-justify, table.dataTable td.dt-justify {
  text-align: justify;
}
table.dataTable th.dt-nowrap, table.dataTable td.dt-nowrap {
  white-space: nowrap;
}
table.dataTable thead th, table.dataTable thead td, table.dataTable tfoot th, table.dataTable tfoot td {
  text-align: left;
}
table.dataTable thead th.dt-head-left, table.dataTable thead td.dt-head-left, table.dataTable tfoot th.dt-head-left, table.dataTable tfoot td.dt-head-left {
  text-align: left;
}
table.dataTable thead th.dt-head-center, table.dataTable thead td.dt-head-center, table.dataTable tfoot th.dt-head-center, table.dataTable tfoot td.dt-head-center {
  text-align: center;
}
table.dataTable thead th.dt-head-right, table.dataTable thead td.dt-head-right, table.dataTable tfoot th.dt-head-right, table.dataTable tfoot td.dt-head-right {
  text-align: right;
}
table.dataTable thead th.dt-head-justify, table.dataTable thead td.dt-head-justify, table.dataTable tfoot th.dt-head-justify, table.dataTable tfoot td.dt-head-justify {
  text-align: justify;
}
table.dataTable thead th.dt-head-nowrap, table.dataTable thead td.dt-head-nowrap, table.dataTable tfoot th.dt-head-nowrap, table.dataTable tfoot td.dt-head-nowrap {
  white-space: nowrap;
}
table.dataTable tbody th.dt-body-left, table.dataTable tbody td.dt-body-left {
  text-align: left;
}
table.dataTable tbody th.dt-body-center, table.dataTable tbody td.dt-body-center {
  text-align: center;
}
table.dataTable tbody th.dt-body-right, table.dataTable tbody td.dt-body-right {
  text-align: right;
}
table.dataTable tbody th.dt-body-justify, table.dataTable tbody td.dt-body-justify {
  text-align: justify;
}
table.dataTable tbody th.dt-body-nowrap, table.dataTable tbody td.dt-body-nowrap {
  white-space: nowrap;
}
table.dataTable {
  clear: both;
  margin-top: 6px !important;
  margin-bottom: 6px !important;
  max-width: none !important;
  border-collapse: separate !important;
  border-spacing: 0;
}
table.dataTable td, table.dataTable th {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
table.dataTable td.dataTables_empty, table.dataTable th.dataTables_empty {
  text-align: center;
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
  white-space: nowrap;
}
table.dataTable.table-striped > tbody > tr:nth-of-type(2n+1) {
  background-color: transparent;
}
table.dataTable > tbody > tr {
  background-color: transparent;
}
table.dataTable > tbody > tr.selected > * {
  box-shadow: inset 0 0 0 9999px rgba(2, 117, 216, 0.9);
  color: white;
}
table.dataTable.table-striped > tbody > tr.odd > * {
  box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.05);
}
table.dataTable.table-striped > tbody > tr.odd.selected > * {
  box-shadow: inset 0 0 0 9999px rgba(2, 117, 216, 0.95);
}
table.dataTable.table-hover > tbody > tr:hover > * {
  box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.075);
}
table.dataTable.table-hover > tbody > tr.selected:hover > * {
  box-shadow: inset 0 0 0 9999px rgba(2, 117, 216, 0.975);
}
div.dataTables_wrapper div.dataTables_length label {
  font-weight: normal;
  text-align: left;
  white-space: nowrap;
}
div.dataTables_wrapper div.dataTables_length select {
  width: auto;
  display: inline-block;
}
div.dataTables_wrapper div.dataTables_filter {
  text-align: right;
}
div.dataTables_wrapper div.dataTables_filter label {
  font-weight: normal;
  white-space: nowrap;
  text-align: left;
}
div.dataTables_wrapper div.dataTables_filter input {
  margin-left: 0.5em;
  display: inline-block;
  width: auto;
}
div.dataTables_wrapper div.dataTables_info {
  padding-top: 0.85em;
}
div.dataTables_wrapper div.dataTables_paginate {
  margin: 0;
  white-space: nowrap;
  text-align: right;
}
div.dataTables_wrapper div.dataTables_paginate ul.pagination {
  margin: 2px 0;
  white-space: nowrap;
  justify-content: flex-end;
}
div.dataTables_wrapper div.dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  margin-left: -100px;
  margin-top: -26px;
  text-align: center;
  padding: 1em 0;
}
div.dataTables_scrollHead table.dataTable {
  margin-bottom: 0 !important;
}
div.dataTables_scrollBody > table {
  border-top: none;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
div.dataTables_scrollBody > table > thead .sorting:before, div.dataTables_scrollBody > table > thead .sorting_asc:before, div.dataTables_scrollBody > table > thead .sorting_desc:before, div.dataTables_scrollBody > table > thead .sorting:after, div.dataTables_scrollBody > table > thead .sorting_asc:after, div.dataTables_scrollBody > table > thead .sorting_desc:after {
  display: none;
}
div.dataTables_scrollBody > table > tbody tr:first-child th, div.dataTables_scrollBody > table > tbody tr:first-child td {
  border-top: none;
}
div.dataTables_scrollFoot > .dataTables_scrollFootInner {
  box-sizing: content-box;
}
div.dataTables_scrollFoot > .dataTables_scrollFootInner > table {
  margin-top: 0 !important;
  border-top: none;
}
@media screen and (max-width: 767px) {
  div.dataTables_wrapper div.dataTables_length, div.dataTables_wrapper div.dataTables_filter, div.dataTables_wrapper div.dataTables_info, div.dataTables_wrapper div.dataTables_paginate {
    text-align: center;
  }
  div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    justify-content: center !important;
  }
}
table.dataTable.table-sm > thead > tr > th:not(.sorting_disabled) {
  padding-right: 20px;
}
table.dataTable.table-sm .sorting:before, table.dataTable.table-sm .sorting_asc:before, table.dataTable.table-sm .sorting_desc:before {
  top: 5px;
  right: 0.85em;
}
table.dataTable.table-sm .sorting:after, table.dataTable.table-sm .sorting_asc:after, table.dataTable.table-sm .sorting_desc:after {
  top: 5px;
}
table.table-bordered.dataTable {
  border-right-width: 0;
}
table.table-bordered.dataTable th, table.table-bordered.dataTable td {
  border-left-width: 0;
}
table.table-bordered.dataTable th:last-child, table.table-bordered.dataTable td:last-child {
  border-right-width: 1px;
}
table.table-bordered.dataTable tbody th, table.table-bordered.dataTable tbody td {
  border-bottom-width: 0;
}
div.dataTables_scrollHead table.table-bordered {
  border-bottom-width: 0;
}
div.table-responsive > div.dataTables_wrapper > div.row {
  margin: 0;
}
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:first-child {
  padding-left: 0;
}
div.table-responsive > div.dataTables_wrapper > div.row > div[class^=col-]:last-child {
  padding-right: 0;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child, table.dataTable.dtr-inline.collapsed > tbody > tr > th.child, table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
  cursor: default !important;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before, table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before, table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
  display: none !important;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control, table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
}
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before, table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
  top: 50%;
  left: 5px;
  height: 1em;
  width: 1em;
  margin-top: -9px;
  display: block;
  position: absolute;
  color: white;
  border: 0.15em solid white;
  border-radius: 1em;
  box-shadow: 0 0 0.2em #444;
  box-sizing: content-box;
  text-align: center;
  text-indent: 0 !important;
  font-family: "Courier New", Courier, monospace;
  line-height: 1em;
  content: "+";
  background-color: #0275d8;
}
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before, table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control:before {
  content: "-";
  background-color: #d33333;
}
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control, table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control {
  padding-left: 27px;
}
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control:before, table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control:before {
  left: 4px;
  height: 14px;
  width: 14px;
  border-radius: 14px;
  line-height: 14px;
  text-indent: 3px;
}
table.dataTable.dtr-column > tbody > tr > td.dtr-control, table.dataTable.dtr-column > tbody > tr > th.dtr-control, table.dataTable.dtr-column > tbody > tr > td.control, table.dataTable.dtr-column > tbody > tr > th.control {
  position: relative;
  cursor: pointer;
}
table.dataTable.dtr-column > tbody > tr > td.dtr-control:before, table.dataTable.dtr-column > tbody > tr > th.dtr-control:before, table.dataTable.dtr-column > tbody > tr > td.control:before, table.dataTable.dtr-column > tbody > tr > th.control:before {
  top: 50%;
  left: 50%;
  height: 0.8em;
  width: 0.8em;
  margin-top: -0.5em;
  margin-left: -0.5em;
  display: block;
  position: absolute;
  color: white;
  border: 0.15em solid white;
  border-radius: 1em;
  box-shadow: 0 0 0.2em #444;
  box-sizing: content-box;
  text-align: center;
  text-indent: 0 !important;
  font-family: "Courier New", Courier, monospace;
  line-height: 1em;
  content: "+";
  background-color: #0275d8;
}
table.dataTable.dtr-column > tbody > tr.parent td.dtr-control:before, table.dataTable.dtr-column > tbody > tr.parent th.dtr-control:before, table.dataTable.dtr-column > tbody > tr.parent td.control:before, table.dataTable.dtr-column > tbody > tr.parent th.control:before {
  content: "-";
  background-color: #d33333;
}
table.dataTable > tbody > tr.child {
  padding: 0.5em 1em;
}
table.dataTable > tbody > tr.child:hover {
  background: transparent !important;
}
table.dataTable > tbody > tr.child ul.dtr-details {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li {
  border-bottom: 1px solid #efefef;
  padding: 0.5em 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
  padding-top: 0;
}
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
  border-bottom: none;
}
table.dataTable > tbody > tr.child span.dtr-title {
  display: inline-block;
  min-width: 75px;
  font-weight: bold;
}
div.dtr-modal {
  position: fixed;
  box-sizing: border-box;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 100;
  padding: 10em 1em;
}
div.dtr-modal div.dtr-modal-display {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 50%;
  height: 50%;
  overflow: auto;
  margin: auto;
  z-index: 102;
  overflow: auto;
  background-color: #f5f5f7;
  border: 1px solid black;
  border-radius: 0.5em;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
}
div.dtr-modal div.dtr-modal-content {
  position: relative;
  padding: 1em;
}
div.dtr-modal div.dtr-modal-close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 22px;
  height: 22px;
  border: 1px solid #eaeaea;
  background-color: #f9f9f9;
  text-align: center;
  border-radius: 3px;
  cursor: pointer;
  z-index: 12;
}
div.dtr-modal div.dtr-modal-close:hover {
  background-color: #eaeaea;
}
div.dtr-modal div.dtr-modal-background {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 101;
  background: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 767px) {
  div.dtr-modal div.dtr-modal-display {
    width: 95%;
  }
}
div.dtr-bs-modal table.table tr:first-child td {
  border-top: none;
}
/*!###MAIN###*/
/* consent */
/* colors */
/* prefix */
/* z-index */
.consent-hidden {
  display: none !important;
}
.consent-no-space {
  margin: 0 !important;
}
.consent-btn {
  display: inline-block;
  border-radius: var(--niu-radius, 0.125rem);
  border: 0;
  padding: 0.45rem 0.85rem;
  font-size: 0.75rem;
  outline: 0;
  transition: all 0.2s;
  cursor: pointer;
  border: 0.0625rem solid transparent;
}
@media (min-width: 768px) {
  .consent-btn {
    padding: 0.65rem 1.25rem;
    font-size: 0.875rem;
  }
}
.consent-btn-primary {
  background-color: #435a6b;
  border-color: #435a6b;
  color: white;
}
.consent-btn-primary:hover {
  background-color: #344653;
  border-color: #344653;
  color: white;
}
.consent-btn-primary:focus {
  background-color: #2f404c;
  border-color: #2f404c;
  color: white;
  box-shadow: 0 0 0 0.1875rem rgba(47, 64, 76, 0.5);
}
.consent-btn-outline-primary {
  background-color: transparent;
  border-color: #435a6b;
  color: #435a6b;
}
.consent-btn-outline-primary:hover {
  background-color: #344653;
  border-color: #344653;
  color: white;
}
.consent-btn-outline-primary:focus {
  background-color: #2f404c;
  border-color: #2f404c;
  color: white;
  box-shadow: 0 0 0 0.1875rem rgba(47, 64, 76, 0.5);
}
.consent-btn-secondary {
  background-color: #fff;
  border-color: #fff;
  color: #26420a;
}
.consent-btn-secondary:hover {
  background-color: #ececec;
  border-color: #ececec;
  color: #26420a;
}
.consent-btn-secondary:focus {
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  color: #26420a;
  box-shadow: 0 0 0 0.1875rem rgba(230, 230, 230, 0.5);
}
.consent-btn-outline-secondary {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
.consent-btn-outline-secondary:hover {
  background-color: #ececec;
  border-color: #ececec;
  color: #26420a;
}
.consent-btn-outline-secondary:focus {
  background-color: #e6e6e6;
  border-color: #e6e6e6;
  color: #26420a;
  box-shadow: 0 0 0 0.1875rem rgba(230, 230, 230, 0.5);
}
.consent-btn-tertiary {
  background-color: #397c26;
  border-color: #397c26;
  color: white;
}
.consent-btn-tertiary:hover {
  background-color: #2c5f1d;
  border-color: #2c5f1d;
  color: white;
}
.consent-btn-tertiary:focus {
  background-color: #27551a;
  border-color: #27551a;
  color: white;
  box-shadow: 0 0 0 0.1875rem rgba(39, 85, 26, 0.5);
}
.consent-btn-outline-tertiary {
  background-color: transparent;
  border-color: #397c26;
  color: #397c26;
}
.consent-btn-outline-tertiary:hover {
  background-color: #2c5f1d;
  border-color: #2c5f1d;
  color: white;
}
.consent-btn-outline-tertiary:focus {
  background-color: #27551a;
  border-color: #27551a;
  color: white;
  box-shadow: 0 0 0 0.1875rem rgba(39, 85, 26, 0.5);
}
.consent-btn-helper {
  margin: -0.25rem;
  display: flex;
  flex-wrap: wrap;
}
.consent-btn-helper > div {
  padding: 0 0.25rem;
  width: 100%;
}
.consent-btn-helper > div > .consent-btn {
  margin: 0.25rem 0;
  flex-grow: 1;
  font-weight: 600;
}
.consent-btn-helper .consent-accept {
  width: 100%;
}
@media (max-width: 991.98px) {
  .consent-btn-helper > div {
    width: 100%;
  }
  .consent-btn-helper > div > .consent-btn {
    width: 100%;
    font-size: 1rem;
    display: block;
    padding: 0.85rem;
  }
}
.consent-btn-block {
  width: 100%;
}
.consent-btn-sm {
  padding: 0.45rem 0.85rem;
  font-size: 0.75rem;
  font-weight: 600;
}
.consent-btn-holder {
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  align-items: start;
}
.consent-btn-holder > div:last-child {
  margin: 0 0 0 auto;
}
.consent-btn-holder > div:first-child {
  -webkit-box-flex: 1;
  flex-grow: 1;
}
@media (min-width: 768px) {
  .consent-btn-holder {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-box-align: center;
    align-items: center;
  }
}
@media (max-width: 991.98px) {
  .consent-btn-holder > div:last-child {
    margin: 1rem 0 0;
  }
}
@media (min-width: 768px) {
  .consent-switch {
    padding-left: 3.5rem;
  }
}
.consent-switch .consent-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.consent-switch .consent-input:checked ~ .consent-label::before {
  background-color: #324350;
}
.consent-switch .consent-input:checked ~ .consent-label::after {
  left: 1.375rem;
}
.consent-switch .consent-input:disabled ~ .consent-label::before {
  opacity: 0.25;
}
.consent-switch .consent-input:focus {
  outline: none;
}
.consent-switch .consent-input:focus + .consent-label::before {
  outline: 2px solid #76925b;
}
.consent-switch .consent-label {
  padding-left: 3.5rem;
  display: inline-block;
  position: relative;
  font-weight: 600;
  color: #435a6b;
  margin-bottom: 0.25rem;
}
.consent-switch .consent-label::before, .consent-switch .consent-label::after {
  content: "";
  float: left;
  margin-top: 0.125rem;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.2s;
  cursor: pointer;
}
.consent-switch .consent-label::before {
  background-color: #dddddd;
  border-radius: 10rem;
  width: 2.5rem;
  height: 1.25rem;
}
.consent-switch .consent-label::after {
  border-radius: 50%;
  background-color: #ffffff;
  height: calc(1.25rem - .25rem);
  width: calc(1.25rem - .25rem);
  top: 0.125rem;
  left: 0.125rem;
}
@media (min-width: 768px) {
  .consent-switch .consent-label {
    margin-left: -3.5rem;
    margin-bottom: 0;
  }
}
.consent-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  overflow-x: hidden;
  overflow-y: auto;
  transition: all 0.2s;
  padding: 1rem;
  /*niu added */
}
.consent-modal.full {
  background-color: rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.consent-modal:not(.full) {
  background-color: rgba(21, 28, 33, 0.9);
}
.consent-modal:not(.show) {
  opacity: 0;
  visibility: hidden;
}
.consent-modal:not(.active) {
  display: none;
}
.consent-modal-content {
  margin: 2rem auto 0;
  max-width: 40rem;
  padding: 1rem;
  background: #ffffff;
  border-radius: var(--niu-radius, 0.125rem);
  position: relative;
}
.consent-modal-content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 90%;
  height: 2rem;
  margin: auto;
  box-shadow: 0px 0.25rem 0.625rem rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .consent-modal-content {
    padding: 2rem;
  }
}
.consent-modal-close {
  border: 0;
  background: transparent;
  color: #525252;
  position: absolute;
  right: 0;
  top: 0;
  outline: 0;
  cursor: pointer;
  padding: 1rem;
  transition: all 0.2s;
}
.consent-modal-close i.fa {
  font-size: 1.375rem;
}
.consent-modal-close:hover, .consent-modal-close:focus {
  color: #435334;
}
.consent-modal-icon {
  width: 4.0625rem;
  height: 4.0625rem;
  border-radius: 50%;
  background-color: inherit;
  color: #435a6b;
  padding: 1rem;
  margin: -1rem auto -2rem;
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .consent-modal-icon {
    margin-top: -2rem;
  }
}
#consent-manager {
  font-family: "Proxima Nova", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  color: #525252;
  font-size: 0.875rem;
  line-height: 1.5;
  position: fixed;
  z-index: 1050;
  /*niu added*/
  /*niu added end*/
}
#consent-manager.full.active:not(.mini) {
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 0.2s ease;
}
#consent-manager:not(.full) {
  bottom: 2rem;
  left: 1rem;
  right: 1rem;
}
#consent-manager, #consent-manager *, #consent-manager *::before, #consent-manager *::after {
  box-sizing: border-box;
}
#consent-manager a {
  color: inherit;
  color: #435a6b;
}
#consent-manager a:hover {
  text-decoration: none;
}
#consent-manager p {
  margin: 0 0 1rem;
}
#consent-manager p:last-child {
  margin-bottom: 0;
}
#consent-manager img, #consent-manager svg {
  vertical-align: baseline;
}
#consent-manager strong {
  font-weight: 600;
  color: #435a6b;
}
#consent-manager hr {
  height: 0;
  border: 0;
  border-bottom: 0.0625rem solid #dddddd;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
#consent-manager ul {
  margin: 1rem 0;
  padding-left: 2em;
}
#consent-manager ul li {
  margin: 0;
}
#consent-manager:not(.active) {
  display: none;
}
.consent-icon {
  display: inline-block;
  vertical-align: -0.2em;
  width: 1em;
  height: 1em;
  margin-left: 0.25em;
}
.consent-help {
  color: #525252;
  font-size: 0.9em;
  margin-top: 0.5rem;
  display: block;
}
.consent-display-1, .consent-display-2, .consent-display-3 {
  font-weight: 600;
  color: #435a6b;
  margin-bottom: 1rem;
  display: block;
}
.consent-display-1 {
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .consent-display-1 {
    font-size: 1.5rem;
  }
}
.consent-display-2 {
  font-size: 1.1rem;
}
.consent-display-3 {
  font-size: 0.85rem;
}
#consent-banner {
  border: 0.0625rem solid #dddddd;
  border-radius: var(--niu-radius, 0.125rem);
  padding: 2rem 1rem 1rem;
  color: #525252;
  background-color: #ffffff;
  width: 100%;
  max-width: 75rem;
  margin: auto;
  transition: all 0.2s;
}
:not(.fading) > #consent-banner {
  position: relative;
}
:not(.fading) > #consent-banner::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 90%;
  height: 2rem;
  margin: auto;
  box-shadow: 0px 0.25rem 0.625rem rgba(0, 0, 0, 0.45);
  border-radius: 50%;
  z-index: -1;
}
.mini > #consent-banner {
  display: none;
}
.fading > #consent-banner {
  transform: translateY(50%);
  opacity: 0;
}
@media (min-width: 768px) {
  #consent-banner {
    padding: 1rem 2rem;
  }
}
.consent-banner-icon {
  border-radius: 10rem;
  padding: 0.75rem;
  width: 3.4375rem;
  height: 3.4375rem;
  background-color: inherit;
  border: 0.0625rem solid #dddddd;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  color: #435a6b;
}
.consent-banner-icon::before {
  content: "";
  background-color: inherit;
  width: calc(100% + 0.125rem);
  height: calc(50% + 0.125rem);
  position: absolute;
  left: -0.0625rem;
  top: 50%;
}
.consent-banner-icon svg {
  z-index: 1;
  position: relative;
}
@media (min-width: 992px) {
  .consent-banner-icon {
    left: 0;
    top: 50%;
  }
  .consent-banner-icon::before {
    width: calc(50% + 0.125rem);
    height: calc(100% + 0.125rem);
    left: 50%;
    top: -0.0625rem;
  }
}
.consent-banner-body {
  display: flex;
  align-items: center;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .consent-banner-body {
    flex-direction: row-reverse;
  }
}
.consent-banner-description {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}
.consent-banner-actions {
  margin-top: 1rem;
  width: 100%;
}
@media (min-width: 768px) {
  .consent-banner-actions {
    margin-top: 0;
    margin-left: 2rem;
    width: 16.875rem;
  }
}
.consent-show-more {
  text-align: right;
  display: block;
  margin: 0;
}
@media (min-width: 768px) {
  .consent-show-more {
    float: right;
  }
}
@media (max-width: 991.98px) {
  .consent-show-more {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    font-size: 0.8rem;
    margin: 1rem 0;
  }
}
.consent-more-description {
  background: #fff;
  padding: 1rem;
  border-radius: var(--niu-radius, 0.125rem);
  margin-top: 1rem;
}
.consent-info {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  border: 0.0625rem solid #dddddd;
  border-radius: var(--niu-radius, 0.125rem);
  padding: 0.5rem 1rem;
}
#consent-settings-btn {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 1050;
  background: #ffffff;
  border-radius: 10rem;
  padding: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  outline: 0;
  transition: all 0.2s;
  cursor: pointer;
  transition: all 0.2s;
}
#consent-settings-btn:hover, #consent-settings-btn:focus {
  background: #435a6b;
}
:not(.mini) > #consent-settings-btn {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(100%);
}
#consent-settings-btn .consent-icon {
  margin: 0;
  width: 100%;
  height: 100%;
}
a.give-consent-preview:focus-visible {
  color: #343e28;
  text-decoration: none;
}
/*!
 * bootstrap-fileinput v5.5.4
 * http://plugins.krajee.com/file-input
 *
 * Krajee default styling for bootstrap-fileinput.
 *
 * Author: Kartik Visweswaran
 * Copyright: 2014 - 2024, Kartik Visweswaran, Krajee.com
 *
 * Licensed under the BSD-3-Clause
 * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md
 */
.file-loading input[type=file], input[type=file].file-loading {
  width: 0;
  height: 0;
}
.kv-hidden, .hide-content .kv-file-content, .file-caption-icon, .file-zoom-dialog .modal-header:before, .file-zoom-dialog .modal-header:after, .file-input-new .file-preview, .file-input-new .close, .file-input-new .glyphicon-file, .file-input-new .fileinput-remove-button, .file-input-new .fileinput-upload-button, .file-input-new .no-browse .input-group-btn, .file-input-ajax-new .fileinput-remove-button, .file-input-ajax-new .fileinput-upload-button, .file-input-ajax-new .no-browse .input-group-btn {
  display: none;
}
.file-no-browse, .btn-file input[type=file], .file-caption-icon, .file-preview .fileinput-remove, .krajee-default .file-thumb-progress, .file-zoom-dialog .btn-navigate, .file-zoom-dialog .floating-buttons {
  position: absolute;
}
.file-input, .file-loading:before, .btn-file, .file-caption, .file-preview, .krajee-default.file-preview-frame, .krajee-default .file-thumbnail-footer, .file-zoom-dialog .modal-dialog {
  position: relative;
}
.file-error-message pre, .file-error-message ul, .krajee-default .file-actions, .krajee-default .file-other-error {
  text-align: left;
}
.file-error-message pre, .file-error-message ul {
  margin: 0;
}
.krajee-default .file-drag-handle, .krajee-default .file-upload-indicator {
  float: left;
  margin-top: 10px;
  width: 16px;
  height: 16px;
}
.krajee-default .file-thumb-progress .progress, .krajee-default .file-thumb-progress .progress-bar {
  height: 11px;
  font-size: 9px;
}
.krajee-default .file-caption-info, .krajee-default .file-size-info {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 160px;
  height: 15px;
  margin: auto;
}
.file-zoom-content > .file-object.type-video, .file-zoom-content > .file-object.type-flash, .file-zoom-content > .file-object.type-image {
  max-width: 100%;
  max-height: 100%;
  width: auto;
}
.file-zoom-content > .file-object.type-video, .file-zoom-content > .file-object.type-flash {
  height: 100%;
}
.file-zoom-content > .file-object.type-pdf, .file-zoom-content > .file-object.type-html, .file-zoom-content > .file-object.type-text, .file-zoom-content > .file-object.type-default {
  width: 100%;
}
.file-no-browse {
  left: 50%;
  bottom: 20%;
  width: 1px;
  height: 1px;
  font-size: 0;
  opacity: 0;
  border: none;
  background: none;
  outline: none;
  box-shadow: none;
}
.file-loading:before {
  content: " Loading...";
  display: inline-block;
  padding-left: 20px;
  line-height: 16px;
  font-size: 13px;
  font-variant: small-caps;
  color: #999;
  background: transparent url(../base/images/loading.gif) top left no-repeat;
}
.file-object {
  margin: 0 0 -5px 0;
  padding: 0;
}
.btn-file {
  overflow: hidden;
}
.btn-file input[type=file] {
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  text-align: right;
  opacity: 0;
  background: none repeat scroll 0 0 transparent;
  cursor: inherit;
  display: block;
}
.btn-file ::-ms-browse {
  font-size: 10000px;
  width: 100%;
  height: 100%;
}
.file-caption .file-caption-name {
  margin: 0;
  box-shadow: none;
  background: none;
}
.file-caption.icon-visible .file-caption-icon {
  display: inline-block;
}
.file-caption.icon-visible .file-caption-name {
  padding-left: 1.875rem;
}
.file-caption.icon-visible > .input-group-lg .file-caption-name {
  padding-left: 2.1rem;
}
.file-caption.icon-visible > .input-group-sm .file-caption-name {
  padding-left: 1.5rem;
}
.file-caption-icon {
  left: 8px;
  padding: 0.5rem;
}
.input-group-lg .file-caption-icon {
  font-size: 1.25rem;
}
.input-group-sm .file-caption-icon {
  font-size: 0.875rem;
  padding: 0.25rem;
}
.file-error-message {
  color: #a94442;
  background-color: #f2dede;
  margin: 5px;
  border: 1px solid #ebccd1;
  border-radius: 4px;
  padding: 15px;
}
.file-error-message pre {
  margin: 5px 0;
}
.file-caption-disabled {
  background-color: #eee;
  cursor: not-allowed;
  opacity: 1;
}
.file-preview {
  border-radius: 5px;
  border: 1px solid #ddd;
  padding: 8px;
  width: 100%;
  margin-bottom: 5px;
}
.file-preview .btn-xs {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
.file-preview .fileinput-remove {
  top: 1px;
  right: 1px;
  line-height: 10px;
}
.file-preview .clickable {
  cursor: pointer;
}
.file-preview .kv-zoom-cache {
  display: none;
}
.file-preview-image {
  font: 40px Impact, Charcoal, sans-serif;
  color: #397c26;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.krajee-default.file-preview-frame {
  margin: 8px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
  padding: 6px;
  float: left;
  text-align: center;
}
.krajee-default.file-preview-frame .kv-file-content {
  width: 213px;
  height: 160px;
}
.krajee-default.file-preview-frame .kv-file-content.kv-pdf-rendered {
  width: 400px;
}
.krajee-default.file-preview-frame .file-thumbnail-footer {
  height: 70px;
}
.krajee-default.file-preview-frame:not(.file-preview-error):hover {
  border: 1px solid rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
}
.krajee-default.file-preview-frame[data-template="audio"] .kv-file-content {
  width: 240px;
  height: 55px;
}
.krajee-default .file-preview-text {
  display: block;
  color: #428bca;
  border: 1px solid #ddd;
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
  outline: none;
  padding: 8px;
  resize: none;
}
.krajee-default .file-preview-html {
  border: 1px solid #ddd;
  padding: 8px;
  overflow: auto;
}
.krajee-default .file-other-icon {
  font-size: 6em;
  line-height: 1;
}
.krajee-default .file-footer-buttons {
  float: right;
}
.krajee-default .file-footer-caption {
  display: block;
  text-align: center;
  padding-top: 4px;
  font-size: 11px;
  color: #999;
  margin-bottom: 15px;
}
.krajee-default .file-preview-error {
  opacity: 0.65;
  box-shadow: none;
}
.krajee-default .file-thumb-progress {
  height: 11px;
  top: 37px;
  left: 0;
  right: 0;
}
.krajee-default .file-thumb-progress .progress {
  color: #ccc;
}
.krajee-default .file-thumb-progress .progress-bar {
  font-family: Verdana, Helvetica, sans-serif;
}
.krajee-default.kvsortable-ghost {
  background: #e1edf7;
  border: 2px solid #a1abff;
}
.krajee-default .file-preview-other:hover {
  opacity: 0.8;
}
.krajee-default .file-preview-frame:not(.file-preview-error) .file-footer-caption:hover {
  color: #000000;
}
.file-upload-stats {
  font-size: 9px;
  text-align: center;
  width: 100%;
}
.kv-upload-progress .progress {
  height: 20px;
  line-height: 20px;
  margin: 10px 0;
  overflow: hidden;
  color: #ccc;
}
.kv-upload-progress .progress-bar {
  height: 20px;
  font-family: Verdana, Helvetica, sans-serif;
}
.kv-upload-progress .file-upload-stats {
  font-size: 11px;
  margin: -10px 0 5px;
}
.file-thumb-progress .progress {
  background-color: #ccc;
}
.file-thumb-progress .progress-bar {
  font-size: 0.7rem;
  font-family: Verdana, Helvetica, sans-serif;
}
.file-zoom-dialog .file-other-icon {
  font-size: 22em;
  font-size: 50vmin;
}
.file-zoom-dialog .modal-dialog {
  width: auto;
}
.file-zoom-dialog .modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.file-zoom-dialog .btn-navigate {
  margin: -1.2rem 0.1rem 0;
  padding: 0;
  font-size: 1.2rem;
  width: 2.4rem;
  height: 2.4rem;
  top: 50%;
  border-radius: 50%;
  text-align: center;
}
.file-zoom-dialog .btn-navigate * {
  width: auto;
}
.file-zoom-dialog .floating-buttons {
  top: 5px;
  right: 10px;
}
.file-zoom-dialog .btn-kv-prev {
  left: 0;
}
.file-zoom-dialog .btn-kv-next {
  right: 0;
}
.file-zoom-dialog .kv-zoom-header {
  padding: 0.5rem;
}
.file-zoom-dialog .kv-zoom-body {
  padding: 0.25rem 0.5rem 0.25rem 0;
}
.file-zoom-dialog .kv-zoom-description {
  position: absolute;
  opacity: 0.8;
  font-size: 0.8rem;
  background-color: #1a1a1a;
  padding: 1rem;
  text-align: center;
  border-radius: 0.5rem;
  color: #fff;
  left: 15%;
  right: 15%;
  bottom: 15%;
}
.file-zoom-dialog .kv-desc-hide {
  float: right;
  color: #fff;
  padding: 0 0.1rem;
  background: none;
  border: none;
}
.file-zoom-dialog .kv-desc-hide:hover, .file-zoom-dialog .kv-desc-hide:focus {
  opacity: 0.7;
}
.file-input-new .no-browse .form-control {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.file-input-ajax-new .no-browse .form-control {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.file-caption-main {
  width: 100%;
}
.file-thumb-loading {
  background: transparent url(../base/images/loading.gif) no-repeat scroll center center content-box !important;
}
.file-drop-zone {
  border: 1px dashed #aaa;
  border-radius: 4px;
  min-height: 260px;
  text-align: center;
  vertical-align: middle;
  margin: 12px 15px 12px 12px;
  padding: 5px;
}
.file-drop-zone.clickable:hover {
  border: 2px dashed #999;
}
.file-drop-zone.clickable:focus {
  border: 2px solid #5acde2;
}
.file-drop-zone .file-preview-thumbnails {
  cursor: default;
}
.file-drop-zone-title {
  color: #aaa;
  font-size: 1.6em;
  padding: 85px 10px;
  cursor: default;
}
.file-highlighted {
  border: 2px dashed #999 !important;
  background-color: #eee;
}
.file-uploading {
  background: url(../base/images/loading-sm.gif) no-repeat center bottom 10px;
  opacity: 0.65;
}
.file-zoom-fullscreen .modal-dialog {
  min-width: 100%;
  margin: 0;
}
.file-zoom-fullscreen .modal-content {
  border-radius: 0;
  box-shadow: none;
  min-height: 100vh;
}
.file-zoom-fullscreen .kv-zoom-body {
  overflow-y: auto;
}
.floating-buttons {
  z-index: 3000;
}
.floating-buttons .btn-kv {
  margin-left: 3px;
  z-index: 3000;
}
.kv-zoom-actions {
  min-width: 140px;
}
.kv-zoom-actions .btn-kv {
  margin-left: 3px;
}
.file-zoom-content {
  min-height: 300px;
  text-align: center;
  white-space: nowrap;
}
.file-zoom-content .file-preview-image {
  max-height: 100%;
}
.file-zoom-content .file-preview-video {
  max-height: 100%;
}
.file-zoom-content > .file-object.type-image {
  height: auto;
  min-height: inherit;
}
.file-zoom-content > .file-object.type-audio {
  width: auto;
  height: 30px;
}
.file-zoom-content:hover {
  background: transparent;
}
@media (min-width: 576px) {
  .file-zoom-dialog .modal-dialog {
    max-width: 500px;
  }
}
@media (min-width: 992px) {
  .file-zoom-dialog .modal-lg {
    max-width: 800px;
  }
}
@media (max-width: 767px) {
  .file-preview-thumbnails {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .file-zoom-dialog .modal-header {
    flex-direction: column;
  }
}
@media (max-width: 350px) {
  .krajee-default.file-preview-frame:not([data-template="audio"]) .kv-file-content {
    width: 160px;
  }
}
@media (max-width: 420px) {
  .krajee-default.file-preview-frame .kv-file-content.kv-pdf-rendered {
    width: 100%;
  }
}
.file-loading[dir=rtl]:before {
  background: transparent url(../base/images/loading.gif) top right no-repeat;
  padding-left: 0;
  padding-right: 20px;
}
.clickable .file-drop-zone-title {
  cursor: pointer;
}
.file-sortable .file-drag-handle {
  cursor: grab;
  opacity: 1;
}
.file-sortable .file-drag-handle:hover {
  opacity: 0.7;
}
.file-grabbing, .file-grabbing * {
  cursor: not-allowed !important;
}
.file-grabbing .file-preview-thumbnails * {
  cursor: grabbing !important;
}
.file-preview-initial.sortable-chosen {
  background-color: #d9edf7;
  border-color: #17a2b8;
  box-shadow: none;
}
.file-preview-other-frame, .file-preview-object, .kv-file-content, .kv-zoom-body {
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-kv-rotate {
  display: none;
}
.kv-file-rotate {
  display: none;
}
.rotatable:not(.hide-rotate) .btn-kv-rotate {
  display: inline-block;
}
.rotatable:not(.hide-rotate) .kv-file-rotate {
  display: inline-block;
}
.rotatable .file-zoom-detail {
  transform-origin: center center;
}
.rotatable .kv-file-content {
  transform-origin: center center;
}
.rotatable .kv-file-content > :first-child {
  transform-origin: center center;
}
.rotate-animate {
  transition: transform 0.3s ease;
}
.kv-overflow-hidden {
  overflow: hidden;
}
.container-fluid-xl {
  max-width: 103.125rem;
}
.row-sm {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.row-sm > .col, .row-sm > [class*="col-"] {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.row-lg {
  margin-left: -2rem;
  margin-right: -2rem;
}
.row-lg > .col, .row-lg > [class*="col-"] {
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 576px) {
  .sm-row-sm {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .sm-row-sm > .col, .sm-row-sm > [class*="col-"] {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .sm-row-lg {
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .sm-row-lg > .col, .sm-row-lg > [class*="col-"] {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 768px) {
  .md-row-sm {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .md-row-sm > .col, .md-row-sm > [class*="col-"] {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .md-row-lg {
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .md-row-lg > .col, .md-row-lg > [class*="col-"] {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 992px) {
  .lg-row-sm {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .lg-row-sm > .col, .lg-row-sm > [class*="col-"] {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .lg-row-lg {
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .lg-row-lg > .col, .lg-row-lg > [class*="col-"] {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 1300px) {
  .xl-row-sm {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .xl-row-sm > .col, .xl-row-sm > [class*="col-"] {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .xl-row-lg {
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .xl-row-lg > .col, .xl-row-lg > [class*="col-"] {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 576px) {
  .container {
    max-width: 97vw;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1300px) {
  .container {
    max-width: 1250px;
  }
}
.yt-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.yt-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.yt-container .give-consent-preview {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 10%;
  text-decoration: none;
  background-size: cover;
  background-position: center;
}
.yt-container .give-consent-preview:not(:hover) {
  color: #fff;
}
.container-plus-sidebar {
  padding: 0;
  max-width: none;
}
.badge {
  border: 1px solid transparent;
  text-decoration: none;
  word-break: break-word;
  white-space: normal;
}
.badge-outline-primary {
  border-color: #435334;
  color: #435334;
}
a.badge-outline-primary:hover, a.badge-outline-primary:focus {
  color: white;
  background-color: #2a3420;
}
a.badge-outline-primary:focus, a.badge-outline-primary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(67, 83, 52, 0.5);
}
.badge-outline-secondary {
  border-color: #f89917;
  color: #f89917;
}
a.badge-outline-secondary:hover, a.badge-outline-secondary:focus {
  color: white;
  background-color: #d67e06;
}
a.badge-outline-secondary:focus, a.badge-outline-secondary.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(248, 153, 23, 0.5);
}
.badge-outline-success {
  border-color: #02A067;
  color: #02A067;
}
a.badge-outline-success:hover, a.badge-outline-success:focus {
  color: white;
  background-color: #016e47;
}
a.badge-outline-success:focus, a.badge-outline-success.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(2, 160, 103, 0.5);
}
.badge-outline-info {
  border-color: #025A7F;
  color: #025A7F;
}
a.badge-outline-info:hover, a.badge-outline-info:focus {
  color: white;
  background-color: #01364d;
}
a.badge-outline-info:focus, a.badge-outline-info.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(2, 90, 127, 0.5);
}
.badge-outline-warning {
  border-color: #DAAA4E;
  color: #DAAA4E;
}
a.badge-outline-warning:hover, a.badge-outline-warning:focus {
  color: white;
  background-color: #cb942a;
}
a.badge-outline-warning:focus, a.badge-outline-warning.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(218, 170, 78, 0.5);
}
.badge-outline-danger {
  border-color: #C0274C;
  color: #C0274C;
}
a.badge-outline-danger:hover, a.badge-outline-danger:focus {
  color: white;
  background-color: #961e3b;
}
a.badge-outline-danger:focus, a.badge-outline-danger.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(192, 39, 76, 0.5);
}
.badge-outline-light {
  border-color: #e6e7e4;
  color: #e6e7e4;
}
a.badge-outline-light:hover, a.badge-outline-light:focus {
  color: #26420a;
  background-color: #cdcfc9;
}
a.badge-outline-light:focus, a.badge-outline-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.badge-outline-dark {
  border-color: #4d5148;
  color: #4d5148;
}
a.badge-outline-dark:hover, a.badge-outline-dark:focus {
  color: white;
  background-color: #333630;
}
a.badge-outline-dark:focus, a.badge-outline-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(77, 81, 72, 0.5);
}
.badge-outline-gray {
  border-color: #808778;
  color: #808778;
}
a.badge-outline-gray:hover, a.badge-outline-gray:focus {
  color: white;
  background-color: #666c60;
}
a.badge-outline-gray:focus, a.badge-outline-gray.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(128, 135, 120, 0.5);
}
.badge-outline-gray-light {
  border-color: #e6e7e4;
  color: #e6e7e4;
}
a.badge-outline-gray-light:hover, a.badge-outline-gray-light:focus {
  color: #26420a;
  background-color: #cdcfc9;
}
a.badge-outline-gray-light:focus, a.badge-outline-gray-light.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(230, 231, 228, 0.5);
}
.badge-outline-gray-medium {
  border-color: #666c60;
  color: #666c60;
}
a.badge-outline-gray-medium:hover, a.badge-outline-gray-medium:focus {
  color: white;
  background-color: #4d5148;
}
a.badge-outline-gray-medium:focus, a.badge-outline-gray-medium.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(102, 108, 96, 0.5);
}
.badge-outline-gray-dark {
  border-color: #999f93;
  color: #999f93;
}
a.badge-outline-gray-dark:hover, a.badge-outline-gray-dark:focus {
  color: white;
  background-color: #808778;
}
a.badge-outline-gray-dark:focus, a.badge-outline-gray-dark.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(153, 159, 147, 0.5);
}
.badge-outline-gray-darker {
  border-color: #333630;
  color: #333630;
}
a.badge-outline-gray-darker:hover, a.badge-outline-gray-darker:focus {
  color: white;
  background-color: #1a1b18;
}
a.badge-outline-gray-darker:focus, a.badge-outline-gray-darker.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(51, 54, 48, 0.5);
}
.badge-secondary {
  background-color: #333630;
}
.badge-light {
  color: #333630;
}
.badge-outline-secondary {
  border-color: #f89917;
  color: #f89917;
}
.bubble {
  font-size: 1.125rem;
  border: 2px solid #e6e7e4;
  border-radius: 50%;
  padding: 12px;
  background: #fff;
  margin-top: -1.5rem;
}
.badge-check {
  border: 2px solid #435334;
}
.badge-check .badge-circle {
  display: flex;
  background-color: #435334;
  border-color: #435334;
  color: #fff;
  opacity: 1;
  align-items: center;
  position: absolute;
  top: -20px;
  right: -22px;
}
.variation .badge {
  display: inline-flex;
  align-items: center;
}
.badge-not-available {
  margin-left: auto;
}
.badge-right ~ .badge-not-available {
  margin-left: 0.5rem;
}
.banner {
  position: relative;
}
.banner > .area {
  display: block;
  position: absolute;
  border: 0 solid #fff;
  border-radius: var(--niu-radius, 0.125rem);
}
.banner > a.area {
  position: absolute;
  display: block;
}
.banner > .area-desc {
  display: none;
}
.banner > a {
  border: 0 solid #ffffff;
  border-radius: 2px;
}
.popover-min-width {
  min-width: 15rem;
}
.alert-dismissible .close, .close {
  position: static;
  float: right;
  background: none;
  padding: 0;
  border: 0;
}
.alert-dismissible .close:not(:disabled):not(.disabled):hover, .alert-dismissible .close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
  opacity: 1;
}
.alert-dismissible .close:hover, .close:hover {
  cursor: pointer;
}
.nav-dividers .nav-item {
  position: relative;
  /*NIU*/
  /*&:not(:last-child)::after { content: ''; position: absolute; right: 0; top: $nav-link-padding-y; height: calc(100% - 1rem); border-right: rem(1px) solid currentColor; }*/
}
.nav-link {
  text-decoration: none;
}
.navbar-toggler {
  font-size: 0;
  border: 0;
  height: 1.5625rem;
  padding: 0;
}
.navbar-toggler:focus, .navbar-toggler.focus {
  outline: 0;
}
.navbar-toggler .navbar-toggler-icon {
  background-image: none;
  height: 0.125rem;
  background-color: transparent;
  width: 1.25rem;
  display: inline-block;
  position: relative;
  transition: all 0.2s;
  border-radius: 1rem;
}
.navbar-toggler .navbar-toggler-icon:before, .navbar-toggler .navbar-toggler-icon:after {
  content: "";
  height: inherit;
  width: inherit;
  transform-origin: center;
  background-color: currentColor;
  display: inherit;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.2s;
  border-radius: inherit;
}
.navbar-toggler .navbar-toggler-icon:before {
  transform: translateX(-50%) rotate(45deg);
}
.navbar-toggler .navbar-toggler-icon:after {
  transform: translateX(-50%) rotate(-45deg);
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon {
  background-color: currentColor;
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:before {
  transform: translateX(-50%) translateY(-0.375rem);
}
.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:after {
  transform: translateX(-50%) translateY(0.375rem);
}
@media (min-width: 992px) {
  .navbar-toggler {
    display: none;
  }
}
.nav-scrollbar {
  overflow: hidden;
  display: flex;
  align-items: center;
}
.nav-scrollbar .nav, .nav-scrollbar .navbar-nav {
  flex-wrap: nowrap;
}
.nav-scrollbar .nav-item {
  white-space: nowrap;
}
/* niu removed is in crit */
/*.nav-scrollbar-inner { overflow-x: auto; padding-bottom: 0; margin-bottom: -(map-get($spacers, 4)); align-self: flex-start; }*/
.nav-scrollbar-arrow {
  width: 3rem;
  cursor: pointer;
  transition: opacity 0.2s;
  font-size: 1.125rem;
  z-index: 1;
}
.nav-scrollbar-arrow.left {
  background-image: linear-gradient(to right, white 30%, rgba(255, 255, 255, 0.01) 100%);
  background-repeat: repeat-x;
  left: 0;
  padding-right: 2rem;
  margin-right: -3rem;
}
.nav-scrollbar-arrow.right {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.01) 0%, white 70%);
  background-repeat: repeat-x;
  right: 0;
  padding-left: 2rem;
  margin-left: -3rem;
}
.nav-scrollbar-arrow.disabled {
  pointer-events: none;
  opacity: 0;
}
#shop-nav .nav-link i {
  position: relative;
}
#shop-nav .nav-item .table-responsive {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.nav-panel .nav .nav {
  padding-left: 0.5rem;
}
.nav-scrollbar-item .nav-mobile-heading {
  display: block;
  padding-right: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 992px) {
  .nav-scrollbar-item .nav-mobile-heading {
    padding-right: 0;
  }
}
.nav-scrollbar-item .dropdown-body {
  padding: 0;
}
@media (min-width: 992px) {
  .nav-scrollbar-item .dropdown-body {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
  }
}
/*.breadcrumb-wrapper {*/
/*niu moved to clean_crit*/
/*align-items: center;*/
/*niu removed */
/*margin-bottom: map-get($spacers, 4);*/
/*niu moved to clean_crit*/
/*margin-top: map-get($spacers, 4);*/
/*niu removed */
/*@include media-breakpoint-up(lg) {
		border-style: none;
		border-color: $gray-medium;
		border-width: $border-width 0;
		margin-bottom: map-get($spacers, 5);
	}*/
/*}*/
.breadcrumb {
  font-size: 0.8125rem;
}
.breadcrumb a {
  text-decoration: none;
}
.breadcrumb-item {
  display: none;
}
@media (min-width: 768px) {
  .breadcrumb-item {
    display: flex;
  }
}
.breadcrumb-item.active {
  font-weight: 700;
}
.breadcrumb-item.first {
  padding-left: 0;
}
.breadcrumb-item.first::before {
  display: none;
}
.breadcrumb-arrow {
  display: flex;
}
@media (min-width: 768px) {
  .breadcrumb-arrow {
    display: none;
  }
}
.breadcrumb-arrow:first-child::before {
  content: '\f053' !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  margin-right: 6px;
}
.breadcrumb-arrow:not(:first-child) {
  padding-left: 0;
}
.breadcrumb-arrow:not(:first-child)::before {
  content: none;
}
.breadcrumb-back {
  padding-right: 1rem;
  margin-right: 1rem;
  border-right: 1px solid #666c60;
}
/*niu moved to clean_crit*/
/*.navigation-arrows {
	display: none;
	@include media-breakpoint-up(md) { display: flex; justify-content: flex-end;}
	.btn {
		float: right;
	}
}*/
.has-left-sidebar .breadcrumb-container {
  padding-left: 0;
  padding-right: 0;
}
.breadcrumb-backtolist {
  display: flex;
}
.breadcrumb-backtolist::after {
  content: "|";
  margin-left: 6px;
  margin-right: 6px;
}
.btn {
  text-decoration: none;
  font-family: Open Sans-ps !important;
  text-transform: none;
}
/*niu div-alike button */
.divbtn {
  background: unset;
  border: unset;
}
.as-div {
  /*all:unset;*/
  background: unset;
  padding-inline-start: unset;
  padding-inline-end: unset;
  border: unset;
  display: block;
  width: 100%;
  color: inherit;
  text-align: left;
}
.as-span {
  /*all:unset;*/
  color: inherit;
  background: unset;
  padding-inline-start: unset;
  padding-inline-end: unset;
  border: unset;
  display: inline;
  text-align: left;
}
.btn-primary {
  overflow: hidden;
  position: relative;
}
@media (hover) {
  .btn-primary:hover {
    background-color: #576c44;
    border-color: #576c44;
    color: white;
  }
}
.btn-primary.disabled, .btn-primary:disabled {
  background-color: #666c60;
  color: #808778;
  border-color: #666c60;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle, .show > .btn-primary:not(.navbar-toggler)[data-toggle="collapse"] {
  background-color: #435334;
  border-color: #435334;
  color: white;
}
.btn-outline-primary {
  border-color: #435334;
  background-color: transparent;
  color: #26420a;
  position: relative;
  overflow: hidden;
}
@media (hover) {
  .btn-outline-primary:hover {
    background-color: #435334;
    color: white;
  }
}
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  background-color: transparent;
  color: #666c60;
  border-color: #666c60;
}
.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle, .show > .btn-outline-primary:not(.navbar-toggler)[data-toggle="collapse"] {
  border-color: #435334;
  background-color: #435334;
  color: white;
}
.btn-outline-primary:not(:disabled):not(.disabled):active::after, .btn-outline-primary:not(:disabled):not(.disabled).active::after, .show > .btn-outline-primary.dropdown-toggle::after, .show > .btn-outline-primary:not(.navbar-toggler)[data-toggle="collapse"]::after {
  width: 300%;
}
@media (hover) {
  .btn-secondary:hover {
    background-color: #f9aa3f;
    border-color: #f9aa3f;
  }
}
.btn-outline-secondary {
  border-color: #f89917;
  background-color: transparent;
  color: #26420a;
}
@media (hover) {
  .btn-outline-secondary:hover {
    border-color: #f89917;
    background-color: #666c60;
    color: white;
  }
}
.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  background-color: transparent;
  color: #666c60;
  border-color: #666c60;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle, .show > .btn-outline-secondary:not(.navbar-toggler)[data-toggle="collapse"] {
  border-color: #f89917;
  background-color: #666c60;
  color: white;
}
.btn-icon {
  padding: 0.6696428571rem 0.6696428571rem;
  font-size: 1.15rem;
  line-height: 1;
  border-radius: 50%;
  border-width: 0.125rem;
}
.btn-icon > [class*="fa-"] {
  width: 1.25em;
  height: 1.25em;
  line-height: 1.25em;
}
.btn-icon.btn-sm, .btn-group-sm > .btn-icon.btn {
  padding: 0.3571428571rem 0.3571428571rem;
  font-size: 1.15rem;
  line-height: 1;
  border-radius: 50%;
  border-width: 0.0625rem;
}
.btn-icon.btn-lg, .btn-group-lg > .btn-icon.btn {
  padding: 0.7142857143rem 0.7142857143rem;
  font-size: 1.29375rem;
  line-height: 1;
  border-radius: 50%;
}
.btn-icon-primary {
  border-color: #999f93;
  color: #999f93;
  background-color: #ffffff;
}
@media (hover) {
  .btn-icon-primary:hover {
    border-color: #435334;
    color: #435334;
  }
}
.btn-icon-primary.disabled, .btn-icon-primary:disabled {
  background-color: #666c60;
  color: #ffffff;
  border-color: #666c60;
}
.btn-icon-primary:not(:disabled):not(.disabled):active, .btn-icon-primary:not(:disabled):not(.disabled).active, .show > .btn-icon-primary.dropdown-toggle, .show > .btn-icon-primary:not(.navbar-toggler)[data-toggle="collapse"] {
  border-color: #435334;
  background-color: #435334;
  color: #ffffff;
}
.btn-icon-secondary {
  border-color: #f89917;
  color: #f89917;
  background-color: transparent;
}
@media (hover) {
  .btn-icon-secondary:hover {
    border-color: #f89917;
    color: #ffffff;
    background-color: #f89917;
  }
}
.btn-icon-secondary.disabled, .btn-icon-secondary:disabled {
  background-color: #666c60;
  color: #ffffff;
  border-color: #666c60;
}
.btn-icon-secondary:not(:disabled):not(.disabled):active, .btn-icon-secondary:not(:disabled):not(.disabled).active, .show > .btn-icon-secondary.dropdown-toggle, .show > .btn-icon-secondary:not(.navbar-toggler)[data-toggle="collapse"] {
  border-color: #435334;
  background-color: #435334;
  color: #ffffff;
}
.btn-animated .btn-primary {
  overflow: hidden;
  position: relative;
}
.btn-animated .btn-primary::before {
  content: "";
  display: block;
  position: absolute;
  width: 2.5rem;
  height: 300%;
  left: -100%;
  top: -100%;
  background: rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 1.875rem rgba(255, 255, 255, 0.5);
  transform: rotate(-30deg);
  transition: all 0.6s ease-in-out;
}
@media (hover) {
  .btn-animated .btn-primary:hover {
    background-color: #435334;
    border-color: #435334;
  }
  .btn-animated .btn-primary:hover::before {
    left: 150%;
  }
}
.btn-animated .btn-outline-primary {
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.btn-animated .btn-outline-primary::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 0%;
  height: 100%;
  top: 0;
  left: -100%;
  transform: skew(50deg);
  transition: all 0.6s ease-in-out;
  background-color: #435334;
}
@media (hover) {
  .btn-animated .btn-outline-primary:hover {
    border-color: #435334;
    background-color: transparent;
  }
  .btn-animated .btn-outline-primary:hover::after {
    width: 300%;
    background: #435334;
  }
}
/* add to cart btn */
#add-to-cart .btn .btn-basket-check span {
  margin-right: 0.25rem;
  display: inline-block;
  /*niu changed was none */
}
@media (min-width: 576px) {
  #add-to-cart .btn .btn-basket-check span {
    display: inline-block;
  }
}
#add-to-cart .btn svg {
  /* this is the check icon */
  position: absolute;
  left: 0;
  width: 100%;
  /* move the icon on the right - outside the button */
}
#add-to-cart .btn.is-added .btn-basket-check {
  /* product added to the cart - hide text message on the left with no transition*/
  color: transparent;
  top: 50%;
  transform: translateY(-50%);
}
#add-to-cart .btn.is-added svg {
  /* product added to the cart - move the svg back inside the button */
  top: 50%;
  transform: translateY(-50%);
}
.btn-light {
  color: #26420a;
  background-color: #fff;
  border-color: #4d5148;
  color: #4d5148;
  text-decoration: none;
  transition-property: box-shadow;
  transition-duration: 0.3s;
}
.btn-light:hover {
  color: #26420a;
  background-color: #ebebeb;
  border-color: #4d5148;
}
.btn-light:focus, .btn-light.focus {
  color: #26420a;
  background-color: #ebebeb;
  border-color: #4d5148;
  box-shadow: 0 0 0 0.2rem rgba(71, 79, 63, 0.5);
}
.btn-light.disabled, .btn-light:disabled {
  color: #26420a;
  background-color: #fff;
  border-color: #4d5148;
}
.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle, .show > .btn-light:not(.navbar-toggler)[data-toggle="collapse"] {
  color: #26420a;
  background-color: #ebebeb;
  border-color: #4d5148;
}
.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus, .show > .btn-light:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  box-shadow: 0 0 0 0.2rem rgba(71, 79, 63, 0.5);
}
@media (hover) {
  .btn-light:hover {
    color: #4d5148;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
  }
}
.badge-circle {
  background-color: #ffffff;
  -webkit-box-shadow: none;
  box-shadow: none;
  min-width: 44px;
  width: 44px;
  height: 44px;
  border: 2px solid #808778;
  opacity: 0.7;
  color: #808778;
  font-size: 18px !important;
  line-height: 15px !important;
  border-radius: 50% !important;
  padding: 0;
  z-index: 1;
}
.badge-circle::before {
  display: none;
}
.badge-circle.circle-small {
  /* niu changed
    width: 36px;
    height: 36px;
    min-width: 36px;
    font-size: 11px !important;*/
  width: 25px;
  height: 25px;
  min-width: 25px;
  font-size: 11px !important;
  line-height: 12px !important;
}
.badge-circle:hover, .badge-circle:focus {
  background-color: #435334;
  border-color: #435334;
  color: #ffffff;
  opacity: 1;
}
.badge-circle-1 {
  background-color: #ffffff;
  -webkit-box-shadow: none;
  box-shadow: none;
  min-width: 44px;
  width: 44px;
  height: 44px;
  border: 1px solid #808778;
  opacity: 0.8;
  color: #808778;
  font-size: 18px;
  line-height: 15px;
  border-radius: 50% !important;
  transition: all 0.2s;
}
.badge-circle-1::before {
  display: none;
}
.badge-circle-1.badge-circle-no-sizes {
  width: unset;
  height: unset;
  min-width: unset;
}
.badge-circle-1.circle-small {
  width: 36px;
  height: 36px;
  min-width: 36px;
  font-size: 14px !important;
  line-height: 12px !important;
}
.badge-circle-1:hover {
  color: #4d5148;
  border-color: #4d5148;
  opacity: 1 !important;
  background: #fff;
}
.badge-circle-1.on-list {
  animation: size 0.4s;
  color: #fff;
  opacity: 1;
  border: 1px solid #435334;
  background-color: #435334;
}
.btn-danger {
  color: #ffffff;
}
.btn-danger:hover {
  color: #ffffff;
}
.btn-outline-danger:hover:hover {
  color: #ffffff;
}
.btn-scale-small .btn {
  min-width: 25px;
  width: 25px;
  height: 25px;
  font-size: 12px;
}
.btn-white {
  background-color: #ffffff;
}
.btn-filter-box {
  text-decoration: none;
  padding-left: 0;
  padding-right: 0;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.btn-back {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
}
.btn-row {
  margin-top: 2rem;
}
.btn-show-more {
  padding-left: 0;
  padding-bottom: 0;
}
.btn-add {
  padding: 0.2rem 0.3rem 0.1rem 0.3rem;
  font-size: 0.6rem;
  line-height: 1.5;
}
.card {
  border: none;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}
.card-gray {
  background: #e6e7e4;
  border: 0;
}
.card-gray .card-body {
  padding: 1.5rem;
}
.card-products .card-header {
  background: #ffffff;
}
.card-products .card-header .btn {
  background: #e6e7e4;
  padding: 0.9375rem 1.875rem;
}
.card-products .card-body {
  padding: 1rem;
}
.card-header {
  border-bottom: 0;
  background-color: white;
}
.card-columns {
  column-count: 1;
}
.card-columns .card {
  margin-bottom: 0.75rem;
  display: inline-block;
  width: 100%;
}
@media (min-width: 768px) {
  .card-columns {
    column-count: 2;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
}
@media (min-width: 992px) {
  .card-columns {
    column-count: 3;
  }
}
.card-columns.manufacturers-columns {
  column-count: 2;
  column-gap: 1.25rem;
  orphans: 1;
  widows: 1;
}
@media (min-width: 768px) {
  .card-columns.manufacturers-columns {
    column-count: 3;
  }
}
@media (min-width: 992px) {
  .card-columns.manufacturers-columns {
    column-count: 4;
  }
}
@media (min-width: 992px) {
  .card-columns.card-columns-2 {
    column-count: 2;
  }
}
.carousel {
  transition: opacity 0.2s;
}
.carousel:not(.slick-initialized).slick-smooth-loading {
  opacity: 0;
  max-height: 12.5rem;
}
.carousel:not(.slick-initialized).slick-lazy {
  opacity: 1;
  flex-wrap: nowrap;
  display: flex;
  overflow-x: hidden;
  max-height: none;
}
@media (max-width: 991.98px) {
  .carousel:not(.slick-initialized).slick-lazy:not(.slider-no-preview) {
    padding-right: 50px;
  }
}
.carousel:not(.slick-initialized).slick-lazy > div {
  width: 100%;
}
@media (max-width: 767.98px) {
  .carousel:not(.slick-initialized).slick-type-product .product-wrapper {
    width: calc(100% / var(--display-count-sm));
    min-width: calc(100% / var(--display-count-sm));
  }
}
@media (min-width: 768px) {
  .carousel:not(.slick-initialized).slick-type-product .product-wrapper {
    width: calc(100% / var(--display-count-md));
    min-width: calc(100% / var(--display-count-md));
  }
}
@media (min-width: 992px) {
  .carousel:not(.slick-initialized).slick-type-product .product-wrapper {
    width: calc(100% / var(--display-count-lg));
    min-width: calc(100% / var(--display-count-lg));
  }
}
@media (min-width: 1300px) {
  .carousel:not(.slick-initialized).slick-type-product .product-wrapper {
    width: calc(100% / var(--display-count-xl));
    min-width: calc(100% / var(--display-count-xl));
  }
}
.carousel:not(.slick-initialized).slick-type-product {
  --display-count-sm: 2;
  --display-count-md: 3;
  --display-count-lg: 5;
  --display-count-xl: 7;
}
@media (max-width: 767.98px) {
  .carousel:not(.slick-initialized).slick-type-news .product-wrapper {
    width: 100%;
    min-width: 100%;
  }
}
@media (min-width: 768px) {
  .carousel:not(.slick-initialized).slick-type-news .product-wrapper {
    width: calc(100%/2);
    min-width: calc(100%/2);
  }
}
@media (min-width: 992px) {
  .carousel:not(.slick-initialized).slick-type-news .product-wrapper {
    width: calc(100%/3);
    min-width: calc(100%/3);
  }
}
@media (min-width: 1300px) {
  .carousel:not(.slick-initialized).slick-type-news .product-wrapper {
    width: calc(100%/5);
    min-width: calc(100%/5);
  }
}
.carousel:not(.slick-initialized).slick-type-box .product-wrapper {
  width: 100%;
  min-width: 100%;
}
.carousel:not(.slick-initialized).slick-type-half .product-wrapper {
  width: calc(100%/2);
  min-width: calc(100%/2);
}
@media (min-width: 1300px) {
  .carousel:not(.slick-initialized).slick-type-half .product-wrapper {
    width: calc(100%/3);
    min-width: calc(100%/3);
  }
}
@media (max-width: 767.98px) {
  .carousel:not(.slick-initialized).slick-type-three .product-wrapper {
    width: 100%;
    min-width: 100%;
  }
}
@media (min-width: 768px) {
  .carousel:not(.slick-initialized).slick-type-three .product-wrapper {
    width: calc(100%/2);
    min-width: calc(100%/2);
  }
}
@media (min-width: 1300px) {
  .carousel:not(.slick-initialized).slick-type-three .product-wrapper {
    width: calc(100%/3);
    min-width: calc(100%/3);
  }
}
.carousel:not(.slick-initialized) .product-wrapper {
  padding: 0 1rem;
}
.carousel:hover .slick-arrow {
  opacity: 1;
}
.slick-track {
  display: flex;
  flex-wrap: nowrap;
}
.slick-slide {
  max-width: 100%;
  width: 100%;
  float: none;
  height: auto;
  padding: 0 1rem;
}
.slick-arrow {
  font-size: 0;
  border: 0;
  opacity: 0;
  background-color: #666c60;
  padding: 1.5rem 0.75rem;
  z-index: 1;
  transition: all 0.2s ease-in-out;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.slick-arrow::after {
  font-size: 1rem;
}
.slick-arrow:hover {
  background-color: #435334;
  color: #ffffff;
}
.slick-arrow:focus {
  outline: 0;
}
.slick-dotted .slick-arrow {
  margin-top: -1.5rem;
}
.slick-lightbox .slick-arrow {
  opacity: 0.75;
  background: transparent;
}
.slick-lightbox .slick-arrow:hover {
  opacity: 1;
}
.slick-lightbox .slick-arrow:after {
  color: #ccc;
  font-size: 20px;
}
.slick-lightbox .slick-arrow.slick-prev {
  transform: translate(0, -50%);
}
.slick-lightbox .slick-arrow.slick-next {
  transform: translate(0, -50%);
}
.slick-prev {
  left: 1rem;
  transform: translate(-100%, -50%);
}
.slick-prev::after {
  content: '\f053' !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
}
@media (max-width: 1299.98px) {
  .slick-prev {
    transform: translate(50%, -50%);
  }
}
.slick-next {
  right: 1rem;
  transform: translate(100%, -50%);
}
.slick-next::after {
  content: '\f054' !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
}
@media (max-width: 1299.98px) {
  .slick-next {
    transform: translate(-50%, -50%);
  }
}
[data-gallery] .slick-slide {
  cursor: zoom-in;
}
/* utilities */
.carousel-no-gutters {
  margin: 0;
}
.carousel-no-gutters .slick-slide-inner {
  padding: 0;
}
.carousel-arrows-inside .slick-prev {
  transform: translate(50%, -50%);
}
.carousel-arrows-inside .slick-next {
  transform: translate(-50%, -50%);
}
.carousel-arrows-inside.carousel-no-gutters .slick-prev {
  transform: translate(0, -50%);
}
.carousel-arrows-inside.carousel-no-gutters .slick-next {
  transform: translate(0, -50%);
}
.carousel-dots-inside .slick-dots {
  position: absolute;
  left: 0;
  bottom: 2rem;
}
.carousel-dots-inside .slick-arrow {
  margin-top: 0;
}
/* customs */
.carousel-thumbnails {
  margin: 0 -0.5rem;
}
.carousel-thumbnails .slick-slide {
  padding: 0;
  border: 1px solid #333630;
  border-radius: var(--niu-radius, 0.125rem);
  margin: 0 0.5rem;
}
.carousel-thumbnails .slick-slide.slick-current {
  border: 1px solid #435334;
}
.carousel-thumbnails .slick-arrow {
  flex: 0 0 auto;
  transform: none;
  position: static;
  right: auto;
  left: auto;
  margin-top: 0;
  background: transparent;
  opacity: 1;
}
.carousel-thumbnails .slick-arrow:hover {
  background: transparent;
  color: inherit;
}
.carousel-thumbnails .slick-list {
  margin: 0 -0.5rem;
}
.carousel-thumbnails .productbox-image-wrapper {
  border: 1px solid #666c60;
  border-radius: var(--niu-radius, 0.125rem);
  overflow: hidden;
}
.carousel-thumbnails .slick-active .productbox-image-wrapper {
  border-color: #f89917;
}
@media (max-width: 991.98px) {
  .slick-type-product:not(.slider-no-preview) .slick-list, .slick-type-half:not(.slider-no-preview) .slick-list, .slick-type-news:not(.slider-no-preview) .slick-list, .slick-type-three:not(.slider-no-preview) .slick-list, .slick-type-box:not(.slider-no-preview) .slick-list {
    padding-right: 50px;
  }
}
.swatches {
  flex-wrap: wrap;
}
.swatches .variation {
  text-align: center;
  cursor: pointer;
}
.swatches .variation .label-variation, .swatches .variation .label-info {
  line-height: 1rem;
}
.swatches .variation .label-variation > span.label-variation, .swatches .variation .label-info > span.label-variation {
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 50px;
  display: inline-block;
}
.swatches .variation.not-available {
  border: dashed 1px #C0274C;
}
.swatches .variation.not-available .label-variation {
  opacity: 0.5;
}
.swatches-image {
  background: #fff;
  color: #4d5148 !important;
  border: 1px solid #808778;
  box-sizing: content-box;
  border-radius: 2px;
  opacity: 1;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  word-break: break-word;
  text-overflow: ellipsis;
  transition: all 0.5s ease-in-out;
}
.swatches-image img {
  padding: 0.5rem;
  transition: height, width 0.5s ease-in-out;
  width: 5.5rem;
}
.swatches-image img:hover {
  transform: scale(1.2);
}
@media (max-width: 991.98px) {
  .swatches-image img {
    padding: 0.25rem;
  }
}
.swatches-image.active {
  border: 1px solid #435334;
}
.swatches-image.active img {
  filter: grayscale(0);
}
.swatches.imgswatches.radio-selected img {
  filter: grayscale(1);
}
.swatches-text {
  padding: 0.3125rem 0.5rem;
  border: 1px solid #333630;
  transition: all 0.2s ease-in-out;
}
.swatches-text.active {
  border: 1px solid #435334;
  background-color: #e6e7e4;
  font-weight: 700;
}
.swatches-not-in-stock {
  border-color: #4d5148;
  border-style: dashed;
  opacity: 0.5;
}
.swatches-sold-out {
  border-color: #C0274C;
  border-style: dashed;
  opacity: 0.5;
}
.swatches .custom-radio .custom-control-label {
  word-break: break-word;
}
[data-toggle="collapse"]:not(.navbar-toggler) {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}
[data-toggle="collapse"]:not(.navbar-toggler).no-caret {
  display: block;
}
[data-toggle="collapse"]:not(.navbar-toggler).no-caret::after {
  display: none;
}
.btn[data-toggle="collapse"][aria-expanded=true] i.fa-chevron-down {
  transform: rotate(180deg);
}
.dropdown-body, .dropdown-footer {
  padding: 1.5rem;
}
.dropdown-body:first-child, .dropdown-footer:first-child {
  border-top-left-radius: var(--niu-radius-card, 0);
  border-top-right-radius: var(--niu-radius-card, 0);
}
.dropdown-body:last-child, .dropdown-footer:last-child {
  border-bottom-left-radius: var(--niu-radius-card, 0);
  border-bottom-right-radius: var(--niu-radius-card, 0);
}
.dropdown-item {
  background-color: transparent;
  text-decoration: none;
}
.dropdown-item.variation {
  word-break: break-word;
  white-space: normal;
}
.dropdown-divider {
  margin: 0;
}
.dropdown-toggle, [data-toggle="collapse"]:not(.navbar-toggler) {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
}
.dropdown-toggle::after, :not(.navbar-toggler)[data-toggle="collapse"]::after {
  content: '\f078' !important;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900;
  margin-left: 0.5rem;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
  transition: transform 0.2s;
  will-change: transform;
  border-top: 0;
  font-size: 0.75em;
}
.dropdown-toggle[aria-expanded="true"]::after, :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after {
  transform: rotate(180deg);
}
.dropdown-toggle.no-caret, .no-caret:not(.navbar-toggler)[data-toggle="collapse"] {
  display: block;
}
.dropdown-toggle.no-caret::after, .no-caret:not(.navbar-toggler)[data-toggle="collapse"]::after {
  display: none;
}
.dropdown-header {
  padding: 0.5rem 1.5rem;
}
.dropdown-full-width .dropdown-menu {
  width: 100%;
}
.dropdown-toggle, [data-toggle="collapse"]:not(.navbar-toggler), [data-toggle=collapse]:not(.navbar-toggler) {
  white-space: initial;
}
.box .dropdown-menu, .productlist-filter-wrapper .dropdown-menu {
  max-height: 50vh;
  overflow-y: auto;
}
.modal-backdrop.zindex-dropdown {
  z-index: 1020;
}
.slick-slide .square, .slick-slide .productbox-image-wrapper {
  display: flex !important;
}
.square-image {
  position: relative;
  display: flex;
}
.square-image .inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.square-image .inner picture {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  left: 0;
  top: 0;
}
.square-image .inner a {
  width: 100%;
  height: 100%;
  display: block;
}
.square-image .inner img {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: auto;
  width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.square-image .inner img.lazyloading {
  color: transparent;
  width: auto;
  height: auto;
  max-width: 40px;
  max-height: 40px;
}
.square-inner, .productbox-image-wrapper-inner {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.required-info {
  margin: 1rem 0;
}
.required-info .required-star {
  color: #C0274C;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) {
  position: relative;
  /* Theme v2 B2-7: das hochgerutschte Label liegt auf der Input-Oberkante und
	   unterbricht den Rahmen optisch - sein Chip muss der FLAECHE HINTER dem Feld
	   folgen (--s-bg der naechstgelegenen Surface-Root, B2-3), nicht der Input-
	   Flaeche. Legacy-Gewinner war hart $white (== Page-/Karten-Weiss); der
	   var()-Fallback traegt diesen Wert, die Roots liefern je Kontext ihren
	   wortgleichen Legacy-Wert. background-color statt background-Shorthand
	   (B2-Regel). */
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) label {
  display: block;
  background-color: var(--s-bg, #ffffff);
  position: absolute;
  cursor: text;
  top: 0;
  font-size: 0.86rem;
  margin: 0;
  padding: 0 0.3125rem;
  transform: translateY(-50%);
  transition: all 0.2s ease-in-out;
  left: 0.9375rem;
  z-index: 10;
  line-height: 1.3;
  pointer-events: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: calc(100% - (2 * 0.9375rem));
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) label:after {
  background-color: var(--s-bg, #ffffff);
  height: 0.125rem;
  top: 45%;
  z-index: -1;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) .form-control::placeholder {
  transition: all 0.2s ease-in-out;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) .form-control:placeholder-shown:not(:focus)::placeholder {
  opacity: 0;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) .form-control:placeholder-shown:not(:focus) ~ label {
  /* B2-7: im Ruhezustand sitzt das Label IM Feld und spielt den Placeholder -
					   Farbe folgt der Input-Placeholder-Rolle; der Flaechen-Chip entfaellt hier
					   (transparent - Legacy Weiss-auf-Weiss war wirkungslos, wortgleicher Effekt;
					   verhindert die Flaechen-Kachel im Feld, sobald input-bg != bg). */
  top: calc((1.5em + 1.25rem + 2px) / 2);
  font-size: 1rem;
  color: var(--s-input-placeholder, #808778);
  background-color: transparent;
  /*&:after { display: none; }*/
  /* Theme v2 S2-A-Feedback (Christians Befund: dunkler Kasten hinter dem
					   Pflicht-Sternchen, solange das Label IM Feld ruht).

					   B2-7 hat oben den Chip des Labels fuer den Ruhezustand transparent
					   gesetzt, den Chip des ::after aber uebersehen. Das ::after ist hier
					   kein Zierstreifen, sondern der Traeger des Sternchens: die
					   2px-Streifen-Regel (Zeile 21) bringt background-color, Hoehe und
					   z-index mit, das content bekommt es erst von der required-Regel
					   weiter unten - ohne content wird gar kein Pseudoelement erzeugt, es
					   gibt den Streifen also ueberhaupt nur an Pflichtfeldern.

					   Im gefloateten Zustand ist der Flaechen-Chip richtig: das Label liegt
					   dann AUF der Rahmenlinie und maskiert sie. Im Ruhezustand liegt es IM
					   Feld, und --s-bg (Flaeche) steht neben --s-input-bg (Feld) als
					   sichtbarer Kasten. Gemessen 2026-08-17: ::after #141f1e auf Feld
					   #2b3534.

					   Derselbe Grund und derselbe Wert wie oben - Legacy war Weiss auf
					   Weiss und damit wirkungslos, der Effekt ist wortgleich. */
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) .form-control:placeholder-shown:not(:focus) ~ label::after {
  background-color: transparent;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) .form-control:placeholder-shown:not(:focus).form-control-sm ~ label {
  top: calc((1.5em + 0.75rem + 2px) / 2);
  font-size: 1rem;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) .form-control:placeholder-shown:not(:focus).form-control-lg ~ label {
  top: calc((1.5em + 1rem + 2px) / 2);
  font-size: 1.125rem;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox).typeahead-required .col-form-label::after {
  content: "*";
  color: #C0274C;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox).typeahead-required ~ label:not(.focused) {
  /* B2-7: Ruhezustand wie oben - Placeholder-Rolle, kein Flaechen-Chip. */
  top: calc((1.5em + 1.25rem + 2px) / 2);
  font-size: 1rem;
  color: var(--s-input-placeholder, #808778);
  background-color: transparent;
}
.label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) .input-group-prepend + input + label {
  left: 3.5rem;
}
.label-slide input[required] + .col-form-label::after, .label-slide textarea[required] + .col-form-label::after, .label-slide select[required] + .col-form-label::after {
  content: "*";
  color: #C0274C;
}
.label-slide .form-group ~ .valid-feedback, .label-slide .form-group ~ .valid-tooltip {
  display: block;
}
.label-slide .form-group ~ .invalid-feedback, .label-slide .form-group ~ .invalid-tooltip {
  display: block;
}
.form-counter {
  border: 1px solid #c0c3bc;
  border-radius: var(--niu-radius, 0.125rem);
  max-height: calc(1.5em + 1.25rem + 2px);
}
.form-counter .form-control {
  border: 0;
  text-align: center;
  font-family: "Open Sans-ps", sans-serif;
  font-weight: 600;
  height: calc(calc(1.5em + 1.25rem + 2px) - 2px);
  -moz-appearance: textfield;
}
.form-counter .form-control::-webkit-inner-spin-button, .form-counter .form-control::-webkit-outer-spin-button {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
}
.form-counter .input-group-text {
  border: 0;
  background: none;
  font-family: "Open Sans-ps", sans-serif;
  font-weight: 600;
}
.form-counter .btn {
  max-height: calc(calc(1.5em + 1.25rem + 2px) - 2px);
}
.form-counter .btn:hover {
  background-color: #e6e7e4;
}
.custom-control-label-image {
  display: flex;
  align-items: center;
}
.custom-control-label-image::before, .custom-control-label-image::after {
  top: auto;
}
input[type="radio"]:checked + label, input[type="checkbox"]:checked + label {
  font-weight: 700;
}
[data-toggle-password] {
  position: absolute;
  right: 0.9375rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.form-icon-trigger {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.form-icon-trigger .form-control {
  padding-right: 2.875rem;
  transition: all 0.2s ease-in-out;
  width: auto;
}
.form-icon-trigger .form-control:not(:focus) {
  width: 0;
  padding: 0;
  border: 0;
  opacity: 0;
}
.form-icon-trigger .form-control:not(:focus) + .form-icon-trigger-label {
  margin-left: 0;
}
.form-icon-trigger-label {
  margin: 0;
  padding: 0.625rem 0.9375rem;
  width: 2.875rem;
  text-align: center;
  z-index: 1;
  cursor: pointer;
  transition: color 0.2s ease-in-out;
}
.form-icon-trigger-label:hover {
  color: #343e28;
}
.custom-select {
  -webkit-appearance: none;
}
.bootstrap-select.custom-select button.dropdown-toggle, .bootstrap-select.custom-select button:not(.navbar-toggler)[data-toggle="collapse"] {
  height: inherit;
}
.bootstrap-select.custom-select button.dropdown-toggle:hover, .bootstrap-select.custom-select button:not(.navbar-toggler)[data-toggle="collapse"]:hover, .bootstrap-select.custom-select button.dropdown-toggle:focus, .bootstrap-select.custom-select button:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  background: #ffffff;
  outline: 0;
  box-shadow: none;
}
.bootstrap-select.custom-select button.dropdown-toggle:focus, .bootstrap-select.custom-select button:not(.navbar-toggler)[data-toggle="collapse"]:focus {
  border-color: #435334;
}
.bootstrap-select.custom-select.show button.dropdown-toggle, .bootstrap-select.custom-select.show button:not(.navbar-toggler)[data-toggle="collapse"] {
  background: #ffffff;
  border-color: #435334;
  outline: 0;
}
legend {
  font-size: 1rem;
  font-weight: bolder;
  padding-bottom: 5px;
  margin: 10px 0 20px 0;
  border-bottom: solid 1px #ebebeb;
}
label[for="city"], label[for="register-shipping_address-city"] {
  padding: 0;
}
label {
  display: block;
}
.form-control {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form-group.has-error .form-control {
  border: 1px solid #C0274C;
}
.radio-w-100 .custom-control-inline {
  display: block;
  width: 100%;
  padding-bottom: 0.5rem;
}
.price-range-inputs .col:nth-child(2) {
  margin-left: auto;
}
.price-range-inputs .input-group {
  margin-bottom: 1rem;
}
.price-range-inputs .input-group-prepend {
  height: 1.6rem;
}
.price-range-inputs .input-group-prepend .input-group-text {
  border-left: 0;
  font-weight: 700;
  padding: 0.375rem 0.5rem;
}
.price-range-inputs input {
  font-weight: 700;
  height: 1.6rem;
  padding: 0.375rem 0.5rem;
}
.price-range-slide {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.input-group-sm .input-group-prepend {
  height: calc(1.5em + 0.75rem + 2px);
}
.fa-sup {
  position: absolute;
  top: 5px;
  left: 85%;
  margin-left: -0.3em;
  background-color: #C0274C;
  margin-top: -1em;
  padding: 0.04em 0.5em;
  border-radius: 50rem;
  font-size: 0.6rem;
  transform: translateY(3px);
  font-family: "Open Sans-ps", sans-serif;
  font-style: normal;
  color: white;
  max-width: 3em;
  text-overflow: ellipsis;
  overflow: hidden;
}
.cart-icon-dropdown-icon .fa-sup {
  max-width: none;
}
#shop-nav-compare .fa-sup {
  left: 65%;
}
.dropdown-toggle::after, :not(.navbar-toggler)[data-toggle="collapse"]::after, :not(.navbar-toggler)[data-toggle="collapse"]::after {
  content: "" !important;
  font-family: bootstrap-icons !important;
  transform: translateY(1px);
}
.modal-content {
  padding: 1rem 2rem;
}
@media (max-width: 767.98px) {
  .modal-content {
    padding: 1rem;
  }
}
@media (max-width: 991.98px) {
  .modal-content {
    height: 100%;
  }
}
.modal-content .container {
  padding-right: 0;
  padding-left: 0;
}
.modal-title {
  font-size: 1.25rem;
}
.modal-header {
  border-bottom: 1px solid #666c60;
}
.modal-header .close {
  background-color: #666c60;
  color: #808778;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  opacity: 1;
  margin: 0;
  position: absolute;
  right: 50%;
  top: 0;
  transform: translate(50%, -50%);
  outline: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 700;
  border: 0;
}
.modal-header .close:hover {
  background-color: #435334;
  color: #ffffff;
}
@media (min-width: 768px) {
  .modal-header .close {
    right: 0;
    transform: translate(50%, -50%);
  }
}
@media (max-width: 1299.98px) {
  .modal-fullview {
    padding-right: 0 !important;
  }
  .modal-fullview .modal-dialog {
    margin: 0;
    max-width: 100%;
  }
  .modal-fullview .modal-content {
    width: 100%;
  }
  .modal-fullview .close {
    position: fixed;
    top: 1rem;
    right: 1rem;
    transform: none;
    z-index: 1030;
  }
}
.modal-dialog {
  margin-top: 1.75rem;
}
@media (max-width: 991.98px) {
  .modal-dialog {
    height: auto;
  }
}
#productImagesModal .modal-dialog {
  height: auto;
}
#productImagesModal .square-image {
  margin-bottom: 0.25rem;
}
#maintenance button.close {
  display: none;
}
.modal-fullwidth {
  max-width: 96vw;
}
.newsbox {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 2rem;
  position: relative;
}
.newsbox-image {
  height: 15.625rem;
}
.newsbox-image img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
.newsbox-body {
  flex: 1 1 auto;
  padding: 1rem 0;
}
.newsbox-headline {
  font-weight: 700;
  margin: 1rem 0;
  display: block;
}
.newsbox-author {
  vertical-align: middle;
  display: none;
}
@media (min-width: 576px) {
  .newsbox-author {
    display: inline-block;
  }
}
.news-categorylist {
  margin-bottom: 1.5rem;
}
.author-meta {
  text-align: center;
  font-size: 0.8888888889rem;
  color: #808778;
}
.blog-details h1 {
  text-align: center;
}
.blog-details .blog-details-image {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.blog-details .blog-details-content {
  margin-bottom: 1.5rem;
}
.blog-details .blog-details-content .img-fluid {
  height: auto !important;
}
.blog-details .blog-details-save {
  margin-left: auto;
}
.blog-details .blog-details-save .btn {
  float: right;
}
.blog-details .blog-details-hr {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.blog-details .blog-details-comments-list {
  padding: 1rem;
  background-color: #F7FAFB;
}
.blog-details .blog-details-comments-list-item {
  margin: 0;
  background-color: #F7FAFB;
  border-top: 0;
}
.blog-details .review-reply {
  margin-top: 1rem;
  margin-left: 1rem;
}
.blog-details .blockquote-footer {
  margin-top: 1rem;
}
.blog-details .blog-comments-header {
  align-items: center;
  margin-bottom: 1rem;
}
.blog-overview .blog-overview-main {
  align-items: end;
  margin-top: 3rem;
  margin-bottom: 0.5rem;
}
.blog-overview .blog-overview-main .custom-select {
  margin-bottom: 0.5rem;
}
@media (min-width: 1300px) {
  .blog-overview .blog-overview-main .custom-select {
    margin-bottom: 0;
  }
}
.blog-overview .blog-overview-main .blog-overview-pagination {
  margin-left: auto;
}
.blog-overview .blog-overview-preview {
  margin-top: 1.5rem;
}
.blog-overview .blog-overview-preview .blog-overview-preview-item {
  margin-bottom: 2rem;
}
.blog-overview .blog-overview-hr {
  margin-top: -0.25rem;
  margin-bottom: 2rem;
}
.blog-header {
  margin-bottom: 2rem;
}
.blog-preview .blog-preview-comment {
  margin-left: auto;
}
.blog-preview .blog-preview-comment a {
  text-decoration: none;
}
.productbox {
  position: relative;
}
@media (min-width: 768px) {
  .productbox.productbox-hover {
    /*&:hover,
			&:focus,
			&.focus {
				z-index: 1001;
				outline: none;
				.productbox-inner {
					&::before { box-shadow: 0 0 rem(24px) transparentize($black, .8); left: -$spacer; right: -$spacer; top: -$spacer; bottom: -$spacer; }
				}
				.productbox-ribbon.ribbon { top: -(map-get($spacers, 2)); left: -(map-get($spacers, 4)); }
			}*/
  }
  .productbox.productbox-hover .productbox-inner::before {
    content: "";
    background-color: #ffffff;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    transition: all 0.2s ease-in-out;
  }
  .productbox.productbox-hover:focus-visible .productbox-inner::before, .productbox.productbox-hover:focus-within .productbox-inner::before {
    outline: 2px solid #76925b;
    border-radius: var(--niu-radius, 0.125rem);
  }
  .productbox.productbox-hover:not(:hover, :focus, .focus) .productbox-onhover {
    opacity: 0;
  }
  .productbox.productbox-hover.productbox-column {
    width: 100%;
    height: 100%;
  }
  .productbox.productbox-hover.productbox-column:hover .productbox-inner.pos-abs, .productbox.productbox-hover.productbox-column:focus .productbox-inner.pos-abs, .productbox.productbox-hover.productbox-column.focus .productbox-inner.pos-abs {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
  }
  .productbox.productbox-hover.productbox-column:not(:hover, :focus, .focus) .productbox-onhover {
    display: none;
  }
  .productbox.productbox-hover.productbox-column .variations .form-group {
    margin-bottom: 0.25rem;
  }
}
.productbox:not(.productbox-show-variations) .productbox-variations {
  display: none;
}
.productbox .form-counter .btn, .productbox .form-counter .input-group-text {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.productbox textarea {
  height: calc(1.5em + 1.25rem + 2px);
}
.productbox:focus {
  outline: none;
}
.productbox-inner {
  position: relative;
}
.productbox-inner .productbox-title {
  top: 0.5rem;
}
.productbox-quick-actions {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  display: flex;
  z-index: 1;
  justify-content: flex-end;
}
.productbox-quick-actions .btn {
  margin: 0.25rem;
}
.layout-gallery .productbox-show-variations.productbox-hover:hover .productbox-quick-actions {
  right: 1.5rem;
  top: 1.5rem;
}
.productbox-ribbon.ribbon {
  position: absolute;
  z-index: 1;
  top: 1rem;
  left: -0.5rem;
  transition: all 0.2s ease-in-out;
}
@media (max-width: 991.98px) {
  .productbox-ribbon.ribbon {
    font-size: 0.625rem;
  }
}
.productbox-sale-percentage {
  position: relative;
  top: -4rem;
}
.productbox-image {
  position: relative;
}
.productbox-image .productbox-images a {
  display: block;
}
.productbox-image-wrapper-inner a {
  display: block;
  width: 100%;
  height: 100%;
}
.productbox-image-wrapper-inner img {
  position: relative;
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: 100%;
}
.productbox-title {
  display: block;
}
.productbox-variations {
  margin-bottom: 1rem;
}
.productbox-variations .js-slider-wrapper .js-slider-items .js-slider-item:first-child {
  margin-left: 3px;
}
.productbox-variations .js-slider-wrapper .js-slider-items .js-slider-item:last-child {
  margin-right: 3px;
}
.productbox-show-variations .productbox-variations {
  margin-bottom: 0;
}
.productbox-show-variations .productbox-variations .productbox-onhover {
  padding-bottom: 1rem;
}
.productbox-price {
  font-size: 1rem;
}
.productbox-onhover {
  transition: opacity 0.35s linear;
}
.productbox-column .productbox-details {
  display: none;
}
.productbox-row .productbox-title {
  margin-bottom: 1rem;
}
.productbox-row .productbox-details {
  display: none;
}
@media (min-width: 1300px) {
  .productbox-row .productbox-options {
    text-align: left;
  }
  .productbox-row .productbox-details {
    display: block;
  }
  .productbox-row .productbox-details .productlist-item-detail {
    margin-bottom: 0;
  }
}
.layout-list .productbox-options .guarantee-label-wrapper {
  margin-bottom: 1rem;
}
.productbox-mini .productbox-vat, .productbox-mini .productbox-status, .productbox-mini .productbox-delivery, .productbox-mini .productbox-actions {
  display: none;
}
.productbox-sidebar .productbox-title {
  margin-bottom: 0;
}
.productbox-sidebar .productbox-options {
  text-align: left;
}
.productbox-sidebar .productbox-image {
  margin-bottom: 0;
}
.productbox-sidebar .productbox-ribbon.ribbon, .productbox-sidebar .productbox-quick-actions, .productbox-sidebar .productbox-vat, .productbox-sidebar .productbox-details, .productbox-sidebar .productbox-status, .productbox-sidebar .productbox-delivery, .productbox-sidebar .productbox-actions {
  display: none;
}
.formrow-small {
  white-space: nowrap;
}
.formrow-small dd {
  margin-bottom: 0;
}
.tooltip-inner {
  border: 0.0625rem solid #333630;
}
.tooltip {
  padding: 0;
}
.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {
  margin-bottom: 1px;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before, .bs-tooltip-top .arrow::after, .bs-tooltip-auto[x-placement^="top"] .arrow::after, .bs-tooltip-auto[x-placement^=top] .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::after {
  content: "";
  position: absolute;
  border: solid transparent;
  height: 0;
  width: 0;
  pointer-events: none;
  border-color: transparent;
  border-width: 0.375rem;
  transform-origin: center bottom;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
  border-width: 7px;
}
.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {
  top: 100%;
  border-top-color: #333630;
}
.bs-tooltip-top .arrow::after, .bs-tooltip-auto[x-placement^="top"] .arrow::after, .bs-tooltip-auto[x-placement^=top] .arrow::after {
  top: 100%;
  border-top-color: #ffffff;
  margin: 0 1px 2px;
}
.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {
  margin-top: 1px;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .bs-tooltip-bottom .arrow::after, .bs-tooltip-auto[x-placement^="bottom"] .arrow::after, .bs-tooltip-auto[x-placement^=bottom] .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::after {
  content: "";
  position: absolute;
  border: solid transparent;
  height: 0;
  width: 0;
  pointer-events: none;
  border-color: transparent;
  border-width: 0.375rem;
  transform-origin: center bottom;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  border-width: 7px;
}
.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {
  bottom: 100%;
  border-bottom-color: #333630;
}
.bs-tooltip-bottom .arrow::after, .bs-tooltip-auto[x-placement^="bottom"] .arrow::after, .bs-tooltip-auto[x-placement^=bottom] .arrow::after {
  bottom: 100%;
  border-bottom-color: #ffffff;
  margin: 2px 1px 0;
}
.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {
  margin-left: 1px;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before, .bs-tooltip-right .arrow::after, .bs-tooltip-auto[x-placement^="right"] .arrow::after, .bs-tooltip-auto[x-placement^=right] .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::after {
  content: "";
  position: absolute;
  border: solid transparent;
  height: 0;
  width: 0;
  pointer-events: none;
  border-color: transparent;
  border-width: 0.375rem;
  transform-origin: center bottom;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
  border-width: 7px;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before, .bs-tooltip-right .arrow::after, .bs-tooltip-auto[x-placement^="right"] .arrow::after, .bs-tooltip-auto[x-placement^=right] .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::after {
  top: 0;
}
.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {
  right: 100%;
  border-right-color: #333630;
}
.bs-tooltip-right .arrow::after, .bs-tooltip-auto[x-placement^="right"] .arrow::after, .bs-tooltip-auto[x-placement^=right] .arrow::after {
  right: 100%;
  border-right-color: #ffffff;
  margin: 1px 0 1px 2px;
}
.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {
  margin-right: 1px;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before, .bs-tooltip-left .arrow::after, .bs-tooltip-auto[x-placement^="left"] .arrow::after, .bs-tooltip-auto[x-placement^=left] .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::after {
  content: "";
  position: absolute;
  border: solid transparent;
  height: 0;
  width: 0;
  pointer-events: none;
  border-color: transparent;
  border-width: 0.375rem;
  transform-origin: center bottom;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
  border-width: 7px;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before, .bs-tooltip-left .arrow::after, .bs-tooltip-auto[x-placement^="left"] .arrow::after, .bs-tooltip-auto[x-placement^=left] .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::after {
  top: 0;
}
.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {
  left: 100%;
  border-left-color: #333630;
}
.bs-tooltip-left .arrow::after, .bs-tooltip-auto[x-placement^="left"] .arrow::after, .bs-tooltip-auto[x-placement^=left] .arrow::after {
  left: 100%;
  border-left-color: #ffffff;
  margin: 1px 2px 1px 0;
}
.noUi-horizontal {
  height: 0.3em;
}
.noUi-horizontal .noUi-connect {
  background: #435334;
}
.noUi-horizontal .noUi-handle {
  top: -0.2em;
  border-radius: 50%;
  background: #435334;
  border: 0;
  width: 0.7em;
  height: 0.7em;
  box-shadow: 0px 0px 0px 5px rgba(67, 83, 52, 0.5);
}
.noUi-horizontal .noUi-handle::after, .noUi-horizontal .noUi-handle::before {
  content: none;
}
.noUi-target {
  background: #ebebeb;
  box-shadow: none;
  border: 0;
}
html:not([dir=rtl]) .noUi-horizontal .noUi-handle {
  right: -0.35em;
}
.ribbon {
  position: relative;
  display: inline-block;
  padding: 0.25rem 1rem;
  font-size: 0.625rem;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: var(--niu-radius-marker, 5px);
}
.ribbon > [class*="fa-"]:last-child {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  font-size: 1.125rem;
}
.ribbon-1 {
  background-color: #435334;
  color: #f0f0f0;
}
.ribbon-1::before {
  border-right-color: #344028;
}
.ribbon-outline-1 {
  border: 1px solid #435334;
  color: #435334;
}
.ribbon-2 {
  background-color: #02A067;
  color: #f0f0f0;
}
.ribbon-2::before {
  border-right-color: #028254;
}
.ribbon-outline-2 {
  border: 1px solid #02A067;
  color: #02A067;
}
.ribbon-3 {
  background-color: #f89917;
  color: #f0f0f0;
}
.ribbon-3::before {
  border-right-color: #e98a07;
}
.ribbon-outline-3 {
  border: 1px solid #f89917;
  color: #f89917;
}
.ribbon-4 {
  background-color: white;
  color: #172706;
}
.ribbon-4::before {
  border-right-color: #f0f0f0;
}
.ribbon-outline-4 {
  border: 1px solid white;
  color: white;
}
.ribbon-5 {
  background-color: #025A7F;
  color: #f0f0f0;
}
.ribbon-5::before {
  border-right-color: #024561;
}
.ribbon-outline-5 {
  border: 1px solid #025A7F;
  color: #025A7F;
}
.ribbon-6 {
  background-color: white;
  color: #172706;
}
.ribbon-6::before {
  border-right-color: #f0f0f0;
}
.ribbon-outline-6 {
  border: 1px solid white;
  color: white;
}
.ribbon-7 {
  background-color: #C0274C;
  color: #f0f0f0;
}
.ribbon-7::before {
  border-right-color: #a72242;
}
.ribbon-outline-7 {
  border: 1px solid #C0274C;
  color: #C0274C;
}
.ribbon-8 {
  background-color: #02A067;
  color: #f0f0f0;
}
.ribbon-8::before {
  border-right-color: #028254;
}
.ribbon-outline-8 {
  border: 1px solid #02A067;
  color: #02A067;
}
.ribbon-9 {
  background-color: #DAAA4E;
  color: #f0f0f0;
}
.ribbon-9::before {
  border-right-color: #d59e35;
}
.ribbon-outline-9 {
  border: 1px solid #DAAA4E;
  color: #DAAA4E;
}
.ribbon-success {
  background-color: #02A067;
  color: white;
}
.ribbon-success::before {
  border-right-color: #028254;
}
.ribbon-info {
  background-color: #025A7F;
  color: white;
}
.ribbon-info::before {
  border-right-color: #024561;
}
.ribbon-warning {
  background-color: #DAAA4E;
  color: white;
}
.ribbon-warning::before {
  border-right-color: #d59e35;
}
.ribbon-danger {
  background-color: #C0274C;
  color: white;
}
.ribbon-danger::before {
  border-right-color: #a72242;
}
.ribbon-outline-success {
  border: 1px solid #02A067;
  color: #02A067;
}
.ribbon-outline-info {
  border: 1px solid #025A7F;
  color: #025A7F;
}
.ribbon-outline-warning {
  border: 1px solid #DAAA4E;
  color: #DAAA4E;
}
.ribbon-outline-danger {
  border: 1px solid #C0274C;
  color: #C0274C;
}
.ribbon-custom.bg-gray {
  border-right-color: #71776a;
}
.ribbon-custom.bg-gray-light {
  border-right-color: #d7d9d4;
}
.ribbon-custom.bg-gray-medium {
  border-right-color: #575c52;
}
.ribbon-custom.bg-gray-dark {
  border-right-color: #8a9183;
}
.ribbon-custom.bg-gray-darker {
  border-right-color: #242622;
}
.ribbon-custom.bg-primary {
  border-right-color: #344028;
}
.ribbon-custom.bg-secondary {
  border-right-color: #e98a07;
}
.ribbon-custom.bg-success {
  border-right-color: #d7fcee;
}
.ribbon-custom.bg-danger {
  border-right-color: #ffd0dc;
}
.ribbon-custom.bg-warning {
  border-right-color: #ffedcc;
}
.ribbon-custom.bg-info {
  border-right-color: #f0f0f0;
}
.ribbon-custom.bg-light {
  border-right-color: #d7d9d4;
}
.ribbon-custom.bg-dark {
  border-right-color: #242622;
}
.ribbon-custom.bg-white {
  border-right-color: #242622;
}
.ribbon-custom.bg-transparent {
  border-right-color: rgba(0, 0, 0, 0);
}
.ribbon-custom:before {
  border-right-color: inherit;
}
/* Artikel Bilder Slider vertikal */
.slick-down, .slick-up {
  outline: none;
  background: transparent;
  border: none;
  font-size: 20px;
  line-height: 1;
  padding: 0;
  width: 19px;
  height: 19px;
  color: #ccc;
  opacity: 0.75;
}
.slick-down:focus, .slick-up:focus {
  outline: none;
}
.slick-down:hover, .slick-up:hover {
  opacity: 1;
}
#freegift:not(.slick-initialized) {
  padding-top: 25px;
}
#freegift .slick-list {
  padding-top: 25px;
}
.container-fluid .slider-wrapper {
  margin: 0 -1rem;
}
.slider-wrapper.theme-default {
  background-color: #ffffff;
}
.slider-wrapper .splide__slide__caption {
  background: #ebebeb !important;
  color: #4d5148 !important;
  padding-left: 1rem;
  width: 100%;
}
.splide__pagination__pause button {
  border-radius: 100%;
  line-height: 0;
  padding: 0.375rem;
}
.slider-wrapper .splide {
  position: relative;
  margin-bottom: 0;
}
.slider-wrapper .splide.splide--thumbs {
  padding-top: 2px;
}
.slider-wrapper .slider-pause-controls-inside {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  z-index: 10;
}
.slider-wrapper .slider-pause-controls-inside .slider-pause-btn {
  border-radius: 100%;
  line-height: 0;
  padding: 0.375rem;
}
.slider-wrapper .splide__slide {
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: end;
  overflow: hidden;
}
.slider-wrapper .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
}
.slider-wrapper .splide__slide:not(.is-active, .is-visible) img {
  display: none;
}
.slider-wrapper .splide__slide.splide__responsive img {
  display: block;
  height: 100%;
  object-fit: cover;
}
.slider-wrapper .splide--thumbs .splide__slide {
  justify-content: center;
}
.slider-wrapper .splide__pagination__page.is-active {
  border: 1px solid #4d5148;
}
.js-slider-wrapper .js-slider-items {
  display: flex;
  flex-wrap: nowrap;
  overflow: auto hidden;
  scroll-snap-type: x mandatory;
  touch-action: manipulation;
}
.js-slider-wrapper .js-slider-items .js-slider-item {
  pointer-events: auto;
  width: calc(100%/5);
  min-width: calc(100%/5);
  scroll-snap-align: start;
}
@media (min-width: 992px) {
  .js-slider-wrapper .js-slider-items .js-slider-item {
    pointer-events: auto;
    width: calc(100%/6);
    min-width: calc(100%/6);
  }
}
.js-slider-wrapper .js-btn-slider-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.js-slider-wrapper.js-slider-disabled .js-slider-items {
  flex-wrap: wrap;
  overflow: initial;
}
.productbox-variations .js-slider-wrapper .js-slider-items .js-slider-item {
  width: calc(100% / 5);
  min-width: calc(100% / 5);
  padding: 0 2px;
}
.productbox-variations .js-slider-wrapper .js-slider-items .js-slider-item img {
  padding: 0;
}
.productbox-variations .js-slider-wrapper .js-btn-slider-btns .btn {
  padding: 0 0.5rem;
}
.stepper {
  align-items: center;
  border: 1px solid #666c60;
  margin: 0;
  background: #e6e7e4;
  overflow: hidden;
}
.stepper .step {
  position: relative;
}
.stepper .step .step-content {
  min-height: 2.875rem;
  display: flex;
  align-items: center;
  position: relative;
}
.stepper .badge {
  width: 1.5625rem;
  height: 1.5625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.stepper .badge-count {
  font-size: 0.9rem;
}
.stepper .step::after {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-top: 3.125rem solid transparent;
  border-bottom: 3.125rem solid transparent;
  border-left: 1.875rem solid #e6e7e4;
  position: absolute;
  top: 50%;
  margin-top: -3.125rem;
  margin-left: -1rem;
  left: 100%;
  z-index: 2;
}
.stepper .step::before {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-top: 3.125rem solid transparent;
  border-bottom: 3.125rem solid transparent;
  border-left: 1.875rem solid #666c60;
  position: absolute;
  top: 50%;
  margin-top: -3.125rem;
  margin-left: -0.8695652174rem;
  left: 100%;
  z-index: 1;
}
.stepper .step:last-child::after, .stepper .step:last-child::before {
  display: none;
}
.stepper .step-active {
  background: #ffffff;
}
.stepper .step-active .step-content::after {
  content: "";
  position: absolute;
  height: 0.125rem;
  bottom: 0;
  background: #435334;
  z-index: 11;
  left: -1rem;
  right: -1rem;
}
.stepper .step-active::after {
  border-left-color: #ffffff;
}
.stepper .step-active .step-text {
  font-weight: 600;
}
@media (max-width: 991.98px) {
  .stepper {
    background: #ffffff;
    border: 0;
  }
  .stepper .step::after, .stepper .step::before {
    display: none;
  }
  .stepper .step:first-child {
    padding-left: 0;
  }
  .stepper .step:nth-child(2) {
    padding: 0;
  }
  .stepper .step:last-child {
    padding-right: 0;
  }
  .stepper .step-active .step-text {
    font-size: 0.8rem;
  }
  .stepper .step-content::after {
    display: none;
  }
  .stepper .step-current .step-content::after {
    content: "";
    display: block;
    position: absolute;
    height: 0.125rem;
    bottom: 0;
    background: #435334;
    z-index: 11;
    left: 0;
    right: 0;
  }
}
.tabs {
  margin-bottom: 1rem;
}
.tab-navigation .nav-tabs {
  position: relative;
}
.tab-navigation .nav-item:not(:last-child) {
  margin-right: 2rem;
}
.tab-navigation .nav-link {
  border: 0;
  font-size: 1.125rem;
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
.tab-navigation .nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0 0 6px;
  border-color: #435334;
  border-style: solid;
  transition: width 0.4s;
  width: 0;
}
.tab-navigation .nav-link.active::after, .tab-navigation .nav-link:hover::after {
  width: 100%;
}
.tab-navigation .tab-drop {
  margin-right: 0;
  position: absolute !important;
  right: 0;
  bottom: 0;
  display: block;
  width: 25px;
}
.tab-navigation .tab-drop .dropdown-toggle, .tab-navigation .tab-drop [data-toggle="collapse"]:not(.navbar-toggler) {
  margin-right: 0;
  height: 2.7rem;
}
.tab-navigation .tab-drop .dropdown-toggle::after, .tab-navigation .tab-drop :not(.navbar-toggler)[data-toggle="collapse"]::after {
  margin: 0;
  font-size: 1.2rem;
  display: block;
  width: 1.5625rem;
  padding-bottom: 0.625rem;
  text-align: center;
  border-bottom: 0;
}
.tab-content {
  margin: 1.5rem 0;
}
/* #tabAccordion > .card {
	border: 0;
}*/
a[data-toggle="collapse"][aria-expanded=true] i.fa-chevron-down, #tabAccordion div[data-toggle="collapse"][aria-expanded=true] i.fa-chevron-down, #tabAccordion div[data-toggle="collapse"][aria-expanded="1"] i.fa-chevron-down {
  transform: rotate(180deg);
}
.table tbody:first-child tr:first-child td {
  border-top: 0;
}
.table-bordered-outline tr {
  border-width: 0 1px;
  border-style: solid;
  border-color: #666c60;
}
.table-bordered-outline tr:first-child {
  border-top-width: 1px;
}
.table-bordered-outline tr:last-child {
  border-bottom-width: 1px;
}
.table-bordered-outline th, .table-bordered-outline td {
  border-width: 0;
}
.table-vertical-middle {
  margin-bottom: 0;
}
.table-vertical-middle th, .table-vertical-middle td {
  vertical-align: middle;
}
.table-border-medium th, .table-border-medium td {
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #666c60;
  padding: 1.5rem 1rem;
}
.table-dark.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}
.table-dark.table-striped tbody tr:nth-of-type(even) {
  background-color: #343a40;
}
.table-img img {
  width: 45px;
  height: 45px;
  object-fit: contain;
}
table caption {
  caption-side: top;
}
table.dataTable td {
  vertical-align: middle;
}
table.dataTable .dt-address {
  cursor: pointer;
}
table.dataTable.stripe > tbody > tr.odd > *, table.dataTable.display > tbody > tr.odd > * {
  box-shadow: inset 0 0 0 9999px rgba(0, 0, 0, 0.023);
}
.list-icons > li {
  padding-left: 2em;
}
.list-icons [class*="fa-"] {
  text-align: center;
  width: 1.25em;
  margin-left: -2em;
  margin-top: 0.15em;
  float: left;
  line-height: inherit;
}
.smoothscroll-top {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  text-align: center;
  z-index: 1030;
  width: 35px;
  height: 35px;
  line-height: 35px;
  aspect-ratio: 1;
  right: 20px;
  bottom: -20px;
  border-radius: var(--niu-radius, 0.125rem);
  transition: all 0.5s ease-in-out;
  transition-delay: 0.2s;
  background: #ffffff;
  color: #808778;
  box-shadow: 0 0 20px 0 #00000030;
}
.smoothscroll-top.show {
  visibility: visible;
  cursor: pointer;
  opacity: 1;
  bottom: 20px;
}
.smoothscroll-top i.fa {
  line-height: inherit;
}
.jtl-spinner i {
  margin-top: -40px;
  margin-left: -40px;
  position: fixed;
  top: 50%;
  font-size: 80px;
  left: 50%;
  color: #333630;
  z-index: 100000;
}
body > .jtl-spinner {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
}
.modal-body.js-collapse-filter {
  min-height: 100px;
}
aside h4, [data-niu-sidebar-categories-content] h4 {
  margin-bottom: 1rem;
}
aside .card, [data-niu-sidebar-categories-content] .card {
  border: none;
  box-shadow: none;
  background-color: transparent;
}
aside .card .card-title, [data-niu-sidebar-categories-content] .card .card-title {
  margin-bottom: 0.5rem;
  font-size: 1.8020324707rem;
  font-weight: 600;
}
aside .card.card-default .card-heading, [data-niu-sidebar-categories-content] .card.card-default .card-heading {
  border-bottom: none;
  padding-left: 0;
  padding-right: 0;
}
aside .card.card-default > .card-heading > .card-title, [data-niu-sidebar-categories-content] .card.card-default > .card-heading > .card-title {
  color: #26420a;
  font-weight: 600;
  border-bottom: 1px solid #ebebeb;
  padding: 10px 0;
}
aside .card > .card-body, [data-niu-sidebar-categories-content] .card > .card-body {
  padding: 0;
}
aside .card > .card-body .card-title, [data-niu-sidebar-categories-content] .card > .card-body .card-title {
  font-weight: 600;
}
aside .nav-panel .nav, [data-niu-sidebar-categories-content] .nav-panel .nav {
  flex-wrap: initial;
}
aside .nav-panel > .nav > .active > .nav-link, [data-niu-sidebar-categories-content] .nav-panel > .nav > .active > .nav-link {
  border-bottom: 0.375rem solid #435334;
  cursor: pointer;
}
aside .nav-panel .active > .nav-link, [data-niu-sidebar-categories-content] .nav-panel .active > .nav-link {
  font-weight: 700;
}
aside .nav-panel .nav-link[aria-expanded=true] i.fa-chevron-down, [data-niu-sidebar-categories-content] .nav-panel .nav-link[aria-expanded=true] i.fa-chevron-down {
  transform: rotate(180deg);
}
aside .nav-panel .nav-link, aside .nav-panel .nav-item, [data-niu-sidebar-categories-content] .nav-panel .nav-link, [data-niu-sidebar-categories-content] .nav-panel .nav-item {
  clear: left;
}
aside .nav-link, [data-niu-sidebar-categories-content] .nav-link {
  padding-left: 0.5rem;
  padding-right: 0;
}
aside .box .nav-link, aside .box .nav a, aside .box .dropdown-menu .dropdown-item, [data-niu-sidebar-categories-content] .box .nav-link, [data-niu-sidebar-categories-content] .box .nav a, [data-niu-sidebar-categories-content] .box .dropdown-menu .dropdown-item {
  text-decoration: none;
  white-space: normal;
}
aside .box .snippets-categories-nav-link-child, [data-niu-sidebar-categories-content] .box .snippets-categories-nav-link-child {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
aside .box-monthlynews a .value, [data-niu-sidebar-categories-content] .box-monthlynews a .value {
  text-decoration: underline;
}
aside .box-monthlynews a .value:hover, [data-niu-sidebar-categories-content] .box-monthlynews a .value:hover {
  text-decoration: none;
}
.box-categories .dropdown .collapse, .box-linkgroup .dropdown .collapse {
  background: #e6e7e4;
}
.box-categories .nav-link {
  cursor: pointer;
}
.box_login .register {
  text-decoration: underline;
}
.box_login .register:hover {
  text-decoration: none;
}
.box_login .register .fa {
  color: #435334;
}
.box_login .resetpw {
  text-decoration: underline;
}
.box_login .resetpw:hover {
  text-decoration: none;
}
.jqcloud-word.w0 {
  color: #8e9885;
  font-size: 70%;
}
.jqcloud-word.w1 {
  color: #7f8a75;
  font-size: 100%;
}
.jqcloud-word.w2 {
  color: #707c65;
  font-size: 130%;
}
.jqcloud-word.w3 {
  color: #616f54;
  font-size: 160%;
}
.jqcloud-word.w4 {
  color: #526144;
  font-size: 190%;
}
.jqcloud-word.w5 {
  color: #435334;
  font-size: 220%;
}
.jqcloud-word.w6 {
  color: #3e4c30;
  font-size: 250%;
}
.jqcloud-word.w7 {
  color: #38462c;
  font-size: 280%;
}
.jqcloud {
  line-height: normal;
  overflow: hidden;
  position: relative;
}
.jqcloud-word a {
  color: inherit !important;
  font-size: inherit !important;
  text-decoration: none !important;
}
.jqcloud-word a:hover {
  color: #343e28 !important;
}
.searchcloud {
  width: 100%;
  height: 200px;
}
#footer-boxes .card {
  background: transparent;
  border: 0;
}
#footer-boxes .card a {
  text-decoration: none;
}
@media (min-width: 768px) {
  .box-normal {
    margin-bottom: 1.5rem;
  }
}
.box-normal .box-normal-link {
  text-decoration: none;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .box-normal .box-normal-link {
    display: none;
  }
}
.box-filter-hr {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.box-normal-hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  display: flex;
}
@media (min-width: 768px) {
  .box-normal-hr {
    display: none;
  }
}
.box-last-seen .box-last-seen-item {
  margin-bottom: 1rem;
}
.box-nav-item {
  /* margin-top: map-get($spacers, 2);*/
  /*niu removed*/
}
@media (min-width: 768px) {
  .box-nav-item {
    margin-top: 0;
  }
}
.box-login .box-login-resetpw {
  margin-bottom: 0.5rem;
  padding-left: 0;
  padding-right: 0;
  display: block;
}
.box-slider {
  margin-bottom: 1.5rem;
}
.box-link-wrapper {
  align-items: center;
  display: flex;
}
.box-link-wrapper .badge {
  margin-left: auto;
}
.box-delete-button {
  text-align: right;
  white-space: nowrap;
}
.box-delete-button .remove {
  float: right;
}
.box-filter-price .box-filter-price-collapse {
  padding-bottom: 1.5rem;
}
.hr-no-top {
  margin-top: 0;
  margin-bottom: 1rem;
}
.characteristic-collapse-btn-inner img {
  margin-right: 0.25rem;
}
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}
a {
  transition: color 0.2s ease-in-out;
}
.alert .alert-heading {
  margin: -0.75rem -1.25rem;
  padding: 0.75rem 1.25rem;
}
.alert-success {
  color: #02A067;
  background-color: #F3FEFA;
  border-color: #F3FEFA;
}
.alert-success hr {
  border-top-color: #dbfcf0;
}
.alert-success .alert-link {
  color: #016e47;
}
.alert-danger {
  color: #C0274C;
  background-color: #FFEFF3;
  border-color: #FFEFF3;
}
.alert-danger hr {
  border-top-color: #ffd6e0;
}
.alert-danger .alert-link {
  color: #961e3b;
}
.alert-warning {
  color: #DAAA4E;
  background-color: #FFF8EB;
  border-color: #FFF8EB;
}
.alert-warning hr {
  border-top-color: #ffefd2;
}
.alert-warning .alert-link {
  color: #cb942a;
}
.alert-info {
  color: #025A7F;
  background-color: #F7FAFB;
  border-color: #F7FAFB;
}
.alert-info hr {
  border-top-color: #e6eff3;
}
.alert-info .alert-link {
  color: #01364d;
}
.bg-success {
  background-color: #F3FEFA !important;
}
a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus {
  background-color: #c4fae6 !important;
}
.bg-danger {
  background-color: #FFEFF3 !important;
}
a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus {
  background-color: #ffbccd !important;
}
.bg-warning {
  background-color: #FFF8EB !important;
}
a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus {
  background-color: #ffe6b8 !important;
}
.bg-info {
  background-color: #F7FAFB !important;
}
a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus {
  background-color: #d5e5ea !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-truncate-fade {
  position: relative;
  display: inline-block;
  height: 2.4rem;
  overflow: hidden;
}
.text-truncate-fade::after {
  content: "";
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 70%;
  height: 1.2rem;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), white 50%);
}
:focus, .focus {
  box-shadow: none;
  outline: none;
}
button:focus {
  box-shadow: none;
  outline: none;
}
image:focus {
  outline: none;
}
[data-toggle="collapse"][aria-expanded="true"] i.fa-plus:before {
  content: "";
}
/* Theme v2 B2-6: Seiten-Weiß-Anker im MAIN-Entry - dieses Duplikat lag nach dem
   Crit-Inline und war damit der effektive Gewinner für #main-wrapper (deshalb
   blieb die Seite im Dark trotz Crit-Fix weiß). Wie in clean_crit.scss auf die
   geerbte Page-Surface gestellt; background-color statt Shorthand (B2-Regel). */
#main-wrapper {
  background-color: var(--s-bg, #ffffff);
}
ul.config-items, ul.partlist-items {
  padding-left: 15px;
  list-style-position: inside;
}
.control-hidden {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.img-xs {
  width: auto;
  height: 24px;
  object-fit: contain;
}
.searchcloud, .tagcloud {
  width: 100%;
  height: 180px;
}
/* VARIATIONS */
.variations dt {
  font-weight: normal;
  margin-bottom: 8px;
}
/* SIGNAL */
.delivery-status .status-0, .signal_image .status-0 {
  color: #C0274C;
}
.delivery-status .status-1, .signal_image .status-1 {
  color: #DAAA4E;
}
.delivery-status .status-2, .signal_image .status-2 {
  color: #02A067;
}
/* ADR hazard sign */
.adr-table {
  background: #fe9a25;
  text-align: center;
  color: black;
  font-weight: bold;
  font-size: larger;
  display: inline-block;
  vertical-align: middle;
  text-transform: uppercase;
}
.adr-table td {
  padding: 0 8px;
  border: 3px solid black;
}
.review.card {
  border: 0;
}
.freegift .custom-control-label::before, .freegift .custom-control-label::after {
  display: none;
}
.freegift label {
  cursor: pointer;
}
#comments .pagination-wrapper > .text-muted {
  display: none;
}
.parallax-window > * {
  z-index: 2;
  position: relative;
}
/* file preview start*/
.file-preview {
  border-radius: var(--niu-radius, 0.125rem);
  border-style: dashed;
  margin-bottom: 1rem;
  padding: 1.5rem 1.5rem 0;
}
.file-preview .fileinput-remove {
  top: 1rem;
  right: 1rem;
  padding: 0.9375rem 0.625rem;
}
.file-preview .fileinput-remove:focus-visible {
  outline: 2px solid #76925b;
  border-radius: var(--niu-radius, 0.125rem);
  outline-offset: 1px;
}
.file-preview .krajee-default.file-preview-frame {
  border: 0;
  margin: 0;
  box-shadow: none;
  padding: 0;
  float: none;
}
.file-preview .krajee-default.file-preview-frame:hover {
  box-shadow: none;
  border: 0;
}
.file-preview .krajee-default.file-preview-frame .kv-file-content {
  width: 100%;
  height: auto;
}
.file-preview .file-upload-indicator {
  display: none;
}
.file-preview .btn-file:focus-visible {
  outline: 2px solid #76925b;
  border-radius: var(--niu-radius, 0.125rem);
  outline-offset: 1px;
}
.file-drop-zone {
  margin: 0.75rem 0 0;
  padding: 0;
  border: 2px solid transparent;
}
.file-drop-zone.clickable:hover {
  border: 2px solid transparent;
}
.file-drop-zone.clickable:focus {
  border: 2px solid #76925b;
}
.file-drop-zone .file-drop-zone-title {
  padding: 1.5rem 1rem;
  font-size: 1.125rem;
  color: #4d5148;
}
/* file preview end*/
.cart-summary {
  z-index: 999;
}
#cart-form .total, #panel-submit-order .total {
  bottom: 0;
  padding: 1rem 0;
  z-index: 1019;
}
/* wishlist */
input.form-control[name="wishlist-url"] {
  background: #e6e7e4;
}
#wlName button[data-toggle] {
  height: calc(1.5em + 1.25rem + 2px);
}
.wishlist-options .dropdown-item {
  position: relative;
  text-align: center;
}
/* Action buttons */
.action-tip-animation {
  position: absolute;
  bottom: 50px;
  width: 200px;
  right: 0;
  visibility: hidden;
  transition: 0.6s;
  z-index: -2;
  font-size: 2px;
  color: transparent;
  font-weight: 400;
}
.action-tip-animation.press {
  font-size: 16px;
  font-weight: 700;
  visibility: visible;
  animation: fade 1.5s;
}
@keyframes fade {
  0% {
    color: transparent;
  }
  35% {
    color: #4d5148;
  }
  100% {
    color: transparent;
  }
}
@keyframes size {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
#login-dropdown a, .attr-characteristica, .content-wrapper a, a.nice-deco {
  position: relative;
  text-decoration: none;
  display: inline-block;
  color: #525252;
  padding: 0 1px;
  cursor: pointer;
}
#login-dropdown a::before, #login-dropdown a::after, .attr-characteristica::before, .attr-characteristica::after, .content-wrapper a::before, .content-wrapper a::after, a.nice-deco::before, a.nice-deco::after {
  content: "";
  position: absolute;
  background-color: #525252;
  height: 5%;
}
#login-dropdown a::before, .attr-characteristica::before, .content-wrapper a::before, a.nice-deco::before {
  width: 0;
  left: 0;
  bottom: 0;
  transition: width ease 0.4s;
}
#login-dropdown a::after, .attr-characteristica::after, .content-wrapper a::after, a.nice-deco::after {
  width: 100%;
  left: 0;
  bottom: 0;
  transition: all ease 0.6s;
}
#login-dropdown a:hover::before, #login-dropdown a:focus::before, .attr-characteristica:hover::before, .attr-characteristica:focus::before, .content-wrapper a:hover::before, .content-wrapper a:focus::before, a.nice-deco:hover::before, a.nice-deco:focus::before {
  width: 100%;
}
#login-dropdown a:hover::after, #login-dropdown a:focus::after, .attr-characteristica:hover::after, .attr-characteristica:focus::after, .content-wrapper a:hover::after, .content-wrapper a:focus::after, a.nice-deco:hover::after, a.nice-deco:focus::after {
  left: 100%;
  width: 0%;
  transition: all ease 0.2s;
}
.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 999;
}
.sticky-sidebar {
  position: sticky;
  top: 10rem;
  z-index: 1020 -1;
}
.subheadline {
  font-weight: 700;
  margin-bottom: 1rem;
  display: block;
}
/*main section {
  padding: map-get($spacers, 5) 0;
  @include media-breakpoint-up(lg) {
    padding: (map-get($spacers, 1) * 16) 0;
  }
}*/
/*niu remove section padding*/
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.text-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
/* typeahead start */
.tt-dropdown-menu, .tt-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1022 !important;
  min-width: 160px;
  width: 100%;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 1rem;
  color: #26420a;
  background-color: white;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: var(--niu-radius, 0.125rem);
  background-clip: padding-box;
}
.tt-dropdown-menu .tt-suggestion, .tt-menu .tt-suggestion {
  display: block;
  padding: 3px 12px;
  clear: both;
  font-weight: normal;
  line-height: 1.5;
  color: #333630;
}
.tt-dropdown-menu .tt-suggestion.tt-cursor, .tt-dropdown-menu .tt-suggestion:hover, .tt-menu .tt-suggestion.tt-cursor, .tt-menu .tt-suggestion:hover {
  cursor: pointer;
  text-decoration: none;
  outline: 0;
  background-color: #e6e7e4;
  color: #333630;
}
.tt-dropdown-menu .tt-suggestion.tt-cursor a, .tt-dropdown-menu .tt-suggestion:hover a, .tt-menu .tt-suggestion.tt-cursor a, .tt-menu .tt-suggestion:hover a {
  color: #333630;
}
.tt-dropdown-menu .tt-suggestion p, .tt-menu .tt-suggestion p {
  margin: 0;
}
.tt-dropdown-menu.tt-open, .tt-menu.tt-open {
  max-height: 350px;
  overflow-y: auto;
}
input.typeahead::-webkit-input-placeholder {
  color: #999f93 !important;
}
input.typeahead:-moz-placeholder {
  /* Firefox 18- */
  color: #999f93 !important;
}
input.typeahead::-moz-placeholder {
  /* Firefox 19+ */
  color: #999f93 !important;
}
input.typeahead:-ms-input-placeholder {
  color: #999f93 !important;
}
.bg-typeahead-fix {
  background-color: #ffffff !important;
}
/* typeahead end */
.cursor-pointer {
  cursor: pointer;
}
.loading {
  min-height: 140px;
}
.list-group-wrapper.disabled {
  cursor: not-allowed;
}
.list-group-wrapper.disabled .list-group-item {
  padding: 1rem;
  background-color: #e6e7e4;
}
.price .second-range-price {
  display: inline-block;
  white-space: nowrap;
}
.ml-auto-util {
  margin-left: auto;
}
.manufacturer-image-wrapper {
  margin-bottom: 0.25rem;
}
.sitemap-group {
  margin-bottom: 2rem;
}
.sitemap-group li, .sitemap-group .sitemap-group-item {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.sitemap-group .sub-categories {
  padding-left: 1.5rem;
}
.w-100-util {
  width: 100%;
}
.form-error-msg {
  color: #C0274C;
}
.form-warning-msg {
  color: #DAAA4E;
}
.form-success-msg {
  color: #02A067;
}
.form-info-msg {
  color: #025A7F;
}
.img-responsive {
  max-width: 100%;
  height: auto;
}
.icon-mr-2 {
  margin-right: 0.5rem;
}
.page-freegift .page-freegift {
  text-align: center;
}
.simple-captcha-wrapper {
  text-align: center;
}
.link-content {
  margin-bottom: 1rem;
}
.min-h-card {
  min-height: 188px;
}
@media (min-width: 1300px) {
  .min-h-card {
    min-height: 168px;
  }
}
.no-scrollbar {
  scrollbar-width: none;
  scrollbar-height: none;
  -ms-overflow-style: none;
}
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.font-quote::before {
  content: "”";
}
.font-quote::after {
  content: "„";
}
.line-clamp {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: initial;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  -webkit-line-clamp: 3;
}
.line-clamp-4 {
  -webkit-line-clamp: 4;
}
.line-clamp-5 {
  -webkit-line-clamp: 5;
}
.sticky-card {
  position: sticky;
  top: calc(68px + 2rem);
}
button[type="submit"].isLoading:before {
  content: "";
  margin-right: 1.5rem;
  float: right;
}
button[type="submit"].isLoading:after {
  content: "";
  position: absolute;
  margin-left: 0.25rem;
  animation: pointLoader 1.2s linear infinite;
}
@keyframes pointLoader {
  0% {
    content: "";
  }
  25% {
    content: ".";
  }
  50% {
    content: "..";
  }
  75% {
    content: "...";
  }
}
.mw-45 {
  max-width: 45px;
}
.w-45 {
  width: 45px;
}
.limit-rows .limit-rows-row {
  transition: padding 0.1s ease;
}
.limit-rows:not(.open) .limit-rows-row {
  height: 0;
  padding: 0;
  visibility: collapse;
}
.limit-rows .limit-rows-toggle {
  cursor: pointer;
}
.limit-rows:not(.open) .limit-rows-toggle::after {
  content: " ";
  border: solid #1a1f14;
  border-width: 0 3px 3px 0;
  display: block;
  padding: 3px;
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transition: all 0.1s ease;
  float: right;
  margin-top: 9px;
}
.limit-rows .limit-rows-toggle::after {
  content: " ";
  border: solid #1a1f14;
  border-width: 0 3px 3px 0;
  display: block;
  padding: 3px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transition: all 0.1s ease;
  float: right;
  margin-top: 3px;
}
#suche2 {
  margin-bottom: 1rem;
}
.modal-header .close span[aria-hidden], .modal-header .close .fa-times {
  display: none;
}
.modal-header .close::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "";
}
.modal-header .close:focus {
  background: #435334;
  color: #ffffff;
}
/*:focus, .btn:focus,
.focus, .btn:focus,
:focus-visible {
  outline: 3px solid $primary;
  border-radius: $border-radius;
  outline-offset: 1px;
}*/
/* niu custom focus style */
button:focus-visible, .switch-input:focus-visible + .switch-label, .btn:focus-visible, :focus-visible {
  /*outline: 3px solid $primary;
  border-radius: $border-radius;
  outline-offset: -3px;
  box-shadow: none;*/
  box-shadow: 0 0 0 3px #76925b;
}
.opc-Video .video-transcript.focus {
  border: 3px solid #435334;
}
.opc-Video .card-header .btn-link:focus, .opc-Video .btn-link:focus {
  color: #435334;
}
.guarantee-label {
  background: #fff;
  border: 1px solid #7E7E7E;
}
.guarantee-label.guarantee-label-small {
  max-width: 250px;
}
.guarantee-label.guarantee-label-full {
  max-width: 800px;
  margin: 0 auto;
}
/* utilities */
.rounded-top-left {
  border-top-left-radius: var(--niu-radius, 0.125rem) !important;
}
.rounded-top-right {
  border-top-right-radius: var(--niu-radius, 0.125rem) !important;
}
.rounded-bottom-left {
  border-bottom-left-radius: var(--niu-radius, 0.125rem) !important;
}
.rounded-bottom-right {
  border-bottom-right-radius: var(--niu-radius, 0.125rem) !important;
}
.rounded-top-left-0 {
  border-top-left-radius: 0 !important;
}
.rounded-top-right-0 {
  border-top-right-radius: 0 !important;
}
.rounded-bottom-left-0 {
  border-bottom-left-radius: 0 !important;
}
.rounded-bottom-right-0 {
  border-bottom-right-radius: 0 !important;
}
.border-x {
  border-left-style: solid;
  border-left-width: 0.0625rem;
  border-left-color: #666c60;
  border-right-style: solid;
  border-right-width: 0.0625rem;
  border-right-color: #666c60;
}
.border-y {
  border-top-style: solid;
  border-top-width: 0.0625rem;
  border-top-color: #666c60;
  border-bottom-style: solid;
  border-bottom-width: 0.0625rem;
  border-bottom-color: #666c60;
}
.border-w-0 {
  border-width: 0 !important;
}
.border-w-1 {
  border-width: 0.0625rem !important;
}
.border-w-2 {
  border-width: 0.125rem !important;
}
.border-w-3 {
  border-width: 0.1875rem !important;
}
.border-w-4 {
  border-width: 0.25rem !important;
}
.border-w-5 {
  border-width: 0.3125rem !important;
}
@media (min-width: 576px) {
  .border-sm-top-0 {
    border-top: 0 !important;
  }
  .border-sm-right-0 {
    border-right: 0 !important;
  }
  .border-sm-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-sm-left-0 {
    border-left: 0 !important;
  }
  .border-sm {
    border-style: solid;
    border-width: 0.0625rem;
    border-color: #666c60;
  }
  .border-sm-top {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
  }
  .border-sm-right {
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-sm-bottom {
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-sm-left {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
  }
  .border-sm-x {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-sm-y {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-sm-w-0 {
    border-width: 0 !important;
  }
  .border-sm-w-1 {
    border-width: 0.0625rem !important;
  }
  .border-sm-w-2 {
    border-width: 0.125rem !important;
  }
  .border-sm-w-3 {
    border-width: 0.1875rem !important;
  }
  .border-sm-w-4 {
    border-width: 0.25rem !important;
  }
  .border-sm-w-5 {
    border-width: 0.3125rem !important;
  }
}
@media (min-width: 768px) {
  .border-md-top-0 {
    border-top: 0 !important;
  }
  .border-md-right-0 {
    border-right: 0 !important;
  }
  .border-md-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-md-left-0 {
    border-left: 0 !important;
  }
  .border-md {
    border-style: solid;
    border-width: 0.0625rem;
    border-color: #666c60;
  }
  .border-md-top {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
  }
  .border-md-right {
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-md-bottom {
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-md-left {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
  }
  .border-md-x {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-md-y {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-md-w-0 {
    border-width: 0 !important;
  }
  .border-md-w-1 {
    border-width: 0.0625rem !important;
  }
  .border-md-w-2 {
    border-width: 0.125rem !important;
  }
  .border-md-w-3 {
    border-width: 0.1875rem !important;
  }
  .border-md-w-4 {
    border-width: 0.25rem !important;
  }
  .border-md-w-5 {
    border-width: 0.3125rem !important;
  }
}
@media (min-width: 992px) {
  .border-lg-top-0 {
    border-top: 0 !important;
  }
  .border-lg-right-0 {
    border-right: 0 !important;
  }
  .border-lg-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-lg-left-0 {
    border-left: 0 !important;
  }
  .border-lg {
    border-style: solid;
    border-width: 0.0625rem;
    border-color: #666c60;
  }
  .border-lg-top {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
  }
  .border-lg-right {
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-lg-bottom {
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-lg-left {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
  }
  .border-lg-x {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-lg-y {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-lg-w-0 {
    border-width: 0 !important;
  }
  .border-lg-w-1 {
    border-width: 0.0625rem !important;
  }
  .border-lg-w-2 {
    border-width: 0.125rem !important;
  }
  .border-lg-w-3 {
    border-width: 0.1875rem !important;
  }
  .border-lg-w-4 {
    border-width: 0.25rem !important;
  }
  .border-lg-w-5 {
    border-width: 0.3125rem !important;
  }
}
@media (min-width: 1300px) {
  .border-xl-top-0 {
    border-top: 0 !important;
  }
  .border-xl-right-0 {
    border-right: 0 !important;
  }
  .border-xl-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-xl-left-0 {
    border-left: 0 !important;
  }
  .border-xl {
    border-style: solid;
    border-width: 0.0625rem;
    border-color: #666c60;
  }
  .border-xl-top {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
  }
  .border-xl-right {
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-xl-bottom {
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-xl-left {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
  }
  .border-xl-x {
    border-left-style: solid;
    border-left-width: 0.0625rem;
    border-left-color: #666c60;
    border-right-style: solid;
    border-right-width: 0.0625rem;
    border-right-color: #666c60;
  }
  .border-xl-y {
    border-top-style: solid;
    border-top-width: 0.0625rem;
    border-top-color: #666c60;
    border-bottom-style: solid;
    border-bottom-width: 0.0625rem;
    border-bottom-color: #666c60;
  }
  .border-xl-w-0 {
    border-width: 0 !important;
  }
  .border-xl-w-1 {
    border-width: 0.0625rem !important;
  }
  .border-xl-w-2 {
    border-width: 0.125rem !important;
  }
  .border-xl-w-3 {
    border-width: 0.1875rem !important;
  }
  .border-xl-w-4 {
    border-width: 0.25rem !important;
  }
  .border-xl-w-5 {
    border-width: 0.3125rem !important;
  }
}
.min-w-sm {
  min-width: 9.375rem;
}
.min-w {
  min-width: 15.625rem;
}
.min-w-lg {
  min-width: 21.875rem;
}
.min-w-100 {
  min-width: 100%;
}
.max-w-sm {
  max-width: 9.375rem;
}
.max-w-md {
  max-width: 14.0625rem;
}
.max-w {
  max-width: 21.875rem;
}
.max-w-lg {
  max-width: 40.625rem;
}
.min-h-sm {
  min-height: 9.375rem;
}
.min-h {
  min-height: 15.625rem;
}
.min-h-lg {
  min-height: 21.875rem;
}
.min-h-100 {
  min-height: 100%;
}
.max-h-sm {
  max-height: 9.375rem;
}
.max-h {
  max-height: 21.875rem;
}
.max-h-lg {
  max-height: 40.625rem;
}
@media (min-width: 576px) {
  .sm-min-w-sm {
    min-width: 9.375rem;
  }
  .sm-min-w {
    min-width: 15.625rem;
  }
  .sm-min-w-lg {
    min-width: 21.875rem;
  }
  .sm-min-w-100 {
    min-width: 100%;
  }
  .sm-max-w-sm {
    max-width: 9.375rem;
  }
  .sm-max-w-md {
    max-width: 14.0625rem;
  }
  .sm-max-w {
    max-width: 21.875rem;
  }
  .sm-max-w-lg {
    max-width: 40.625rem;
  }
  .sm-min-h-sm {
    min-height: 9.375rem;
  }
  .sm-min-h {
    min-height: 15.625rem;
  }
  .sm-min-h-lg {
    min-height: 21.875rem;
  }
  .sm-min-h-100 {
    min-height: 100%;
  }
  .sm-max-h-sm {
    max-height: 9.375rem;
  }
  .sm-max-h {
    max-height: 21.875rem;
  }
  .sm-max-h-lg {
    max-height: 40.625rem;
  }
}
@media (min-width: 768px) {
  .md-min-w-sm {
    min-width: 9.375rem;
  }
  .md-min-w {
    min-width: 15.625rem;
  }
  .md-min-w-lg {
    min-width: 21.875rem;
  }
  .md-min-w-100 {
    min-width: 100%;
  }
  .md-max-w-sm {
    max-width: 9.375rem;
  }
  .md-max-w-md {
    max-width: 14.0625rem;
  }
  .md-max-w {
    max-width: 21.875rem;
  }
  .md-max-w-lg {
    max-width: 40.625rem;
  }
  .md-min-h-sm {
    min-height: 9.375rem;
  }
  .md-min-h {
    min-height: 15.625rem;
  }
  .md-min-h-lg {
    min-height: 21.875rem;
  }
  .md-min-h-100 {
    min-height: 100%;
  }
  .md-max-h-sm {
    max-height: 9.375rem;
  }
  .md-max-h {
    max-height: 21.875rem;
  }
  .md-max-h-lg {
    max-height: 40.625rem;
  }
}
@media (min-width: 992px) {
  .lg-min-w-sm {
    min-width: 9.375rem;
  }
  .lg-min-w {
    min-width: 15.625rem;
  }
  .lg-min-w-lg {
    min-width: 21.875rem;
  }
  .lg-min-w-100 {
    min-width: 100%;
  }
  .lg-max-w-sm {
    max-width: 9.375rem;
  }
  .lg-max-w-md {
    max-width: 14.0625rem;
  }
  .lg-max-w {
    max-width: 21.875rem;
  }
  .lg-max-w-lg {
    max-width: 40.625rem;
  }
  .lg-min-h-sm {
    min-height: 9.375rem;
  }
  .lg-min-h {
    min-height: 15.625rem;
  }
  .lg-min-h-lg {
    min-height: 21.875rem;
  }
  .lg-min-h-100 {
    min-height: 100%;
  }
  .lg-max-h-sm {
    max-height: 9.375rem;
  }
  .lg-max-h {
    max-height: 21.875rem;
  }
  .lg-max-h-lg {
    max-height: 40.625rem;
  }
}
@media (min-width: 1300px) {
  .xl-min-w-sm {
    min-width: 9.375rem;
  }
  .xl-min-w {
    min-width: 15.625rem;
  }
  .xl-min-w-lg {
    min-width: 21.875rem;
  }
  .xl-min-w-100 {
    min-width: 100%;
  }
  .xl-max-w-sm {
    max-width: 9.375rem;
  }
  .xl-max-w-md {
    max-width: 14.0625rem;
  }
  .xl-max-w {
    max-width: 21.875rem;
  }
  .xl-max-w-lg {
    max-width: 40.625rem;
  }
  .xl-min-h-sm {
    min-height: 9.375rem;
  }
  .xl-min-h {
    min-height: 15.625rem;
  }
  .xl-min-h-lg {
    min-height: 21.875rem;
  }
  .xl-min-h-100 {
    min-height: 100%;
  }
  .xl-max-h-sm {
    max-height: 9.375rem;
  }
  .xl-max-h {
    max-height: 21.875rem;
  }
  .xl-max-h-lg {
    max-height: 40.625rem;
  }
}
/* niu moved to crit */
/*
.font-size-base { font-size: $font-size-base; }
.font-size-sm { font-size: $font-size-sm; }
.font-size-lg { font-size: $font-size-lg; }
.font-size-1\.5x { font-size: $font-size-base * 1.5; }
.font-size-2x { font-size: $font-size-base * 2; }
.font-size-2\.5x { font-size: $font-size-base * 2.5; }
.font-size-3x { font-size: $font-size-base * 3; }
*/
.text-accent, .tab-navigation .nav-link {
  font-family: "Open Sans-ps", sans-serif;
  font-weight: 600;
}
.text-stroke {
  text-decoration: line-through;
}
.text-decoration-underline {
  text-decoration: underline;
}
a.text-decoration-underline:hover, .btn-link.text-decoration-underline:hover {
  text-decoration: none;
}
.text-decoration-none-util {
  text-decoration: none;
}
@media (max-width: 1299.98px) {
  .font-size-2x {
    font-size: 1.5384615385rem;
  }
  .font-size-2\.5x {
    font-size: 1.9230769231rem;
  }
  .font-size-3x {
    font-size: 2.3076923077rem;
  }
}
@media (max-width: 991.98px) {
  .font-size-2x {
    font-size: 1.4285714286rem;
  }
  .font-size-2\.5x {
    font-size: 1.7857142857rem;
  }
  .font-size-3x {
    font-size: 2.1428571429rem;
  }
}
@media (max-width: 767.98px) {
  .font-size-2x {
    font-size: 1.3333333333rem;
  }
  .font-size-2\.5x {
    font-size: 1.6666666667rem;
  }
  .font-size-3x {
    font-size: 2rem;
  }
}
.word-break {
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}
.font-weight-bold-util {
  font-weight: 700;
}
.text-right-util {
  text-align: right;
}
.text-left-util {
  text-align: left;
}
.text-center-util {
  text-align: center;
}
.text-muted-util {
  color: #808778;
}
.align-items-center-util {
  align-items: center;
}
.text-nowrap-util {
  white-space: nowrap;
}
.zindex-dropdown {
  z-index: 1000;
}
.zindex-sticky {
  z-index: 1020;
}
.zindex-fixed {
  z-index: 1030;
}
.zindex-modal-backdrop {
  z-index: 1040;
}
.zindex-modal {
  z-index: 1050;
}
.zindex-popover {
  z-index: 1060;
}
.zindex-tooltip {
  z-index: 1070;
}
@page {
  size: a3;
}
/* selectionwizard */
.selection-wizard-wrapper {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.selection-wizard-wrapper .selection-wizard-desc {
  margin-bottom: 0;
}
.selection-wizard-wrapper .selection-wizard {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.selection-wizard-wrapper .selection-wizard-question .row {
  text-align: center;
}
.selection-wizard-wrapper .selection-wizard-question .selection-wizard-question-item {
  margin-bottom: 1rem;
}
.selection-wizard-wrapper .selection-wizard-answer {
  display: block;
}
/* snippets */
/* filter */
.snippets-filter-item {
  margin-bottom: 0.5rem;
  margin-right: 0.5rem;
}
.snippets-filter-item .snippets-filter-custom .badge {
  float: right;
}
.snippets-filter-item-all {
  text-decoration: none;
  display: inline-block;
}
.snippets-filter-show-all {
  width: 100%;
}
.snippets-filter-show-all .btn {
  padding: 0;
  margin-left: auto;
  margin-top: 0.25rem;
}
.snippets-filter-item-icon-left {
  margin-left: 0.5rem;
}
.snippets-filter-item-icon-right {
  margin-right: 0.5rem;
}
.snippets-filter-mobile-heading {
  margin-top: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border: 0;
}
.snippets-filter-mobile-sorting .snippets-filter-mobile-sorting-collapse {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.snippets-filter-mobile-sorting .snippets-filter-mobile-sorting-collapse .filter-item {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.snippets-filter-mobile-sorting .snippets-filter-mobile-sorting-collapse .dropdown-item {
  background-color: transparent;
  color: #1a1f14;
}
.snippets-filter-mobile-sorting .snippets-filter-mobile-sorting-link {
  text-decoration: none;
  text-align: left;
}
.snippets-filter-mobile-sorting .snippets-filter-mobile-sorting-link > span {
  float: right;
  margin-left: 1rem;
  margin-right: 1rem;
  padding-right: 0.25rem;
  text-align: right;
  width: 40%;
}
.snippets-filter-mobile-item .snippets-filter-mobile-item-collapse {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.snippets-filter-mobile-buttons {
  justify-content: end;
  align-items: center;
}
.snippets-filter-mobile-buttons .btn {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
/* alert */
.alert-wrapper .close {
  margin-left: 1rem;
}
/* author */
.snippets-author .snippets-author-link {
  display: inline-block;
}
.snippets-author-title {
  margin-left: 1rem;
}
/* banner */
.snippets-banner {
  margin-bottom: 2rem;
}
.snippets-banner .snippets-banner-image {
  text-align: center;
  margin-bottom: 1rem;
}
.snippets-banner .snippets-banner-image img {
  margin-left: auto;
  margin-right: auto;
}
/* maintenance */
.maintenance-main-wrapper {
  padding-top: 2rem;
}
.maintenance-main-wrapper .maintenance-main {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.maintenance-main-wrapper .maintenance-main-item {
  margin-bottom: 1rem;
}
.maintenance-main-wrapper .maintenance-main-image {
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
  width: 25%;
}
/* shipping-calculator */
.shipping-calculator-form {
  margin-bottom: 3rem;
}
.shipping-calculator-main .shipping-calculator-main-heading {
  margin-bottom: 1.5rem;
}
.shipping-calculator-hr {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
/* shipping-tax-info */
.vat_info {
  color: #808778;
}
.vat_info .shipping {
  display: inline-block;
}
.vat_info abbr {
  display: inline-block;
}
/* stock-status */
.status-icon {
  margin-right: 0.5rem;
}
/* slider-items */
.product-wrapper.freegift .custom-radio {
  padding-left: 0;
}
.product-wrapper.freegift .inner {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
/* wishlist-button */
.wishlist-button {
  margin-right: 1rem;
  padding: 0 1rem 0 0;
  display: block;
}
@media (min-width: 992px) {
  .wishlist-button {
    display: inline-block;
    border-right: 1px solid #666c60;
  }
}
.wishlist-button .wishlist-button-inner {
  display: flex;
  align-items: baseline;
}
.wishlist-button .wishlist-button-inner .wishlist-icon {
  margin-right: 0.5rem;
}
.wishlist-button .wishlist-button-inner .wishlist-button-text {
  text-decoration: underline;
}
/* uploads */
.upload-scheme-product {
  margin-bottom: 1.5rem;
}
.upload-scheme-cart-hr-before {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.upload-scheme-cart-hr-after {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.upload-scheme-cart .upload-scheme-cart-upload {
  margin-bottom: 1rem;
}
.upload-scheme-cart .upload-scheme-cart-name {
  font-weight: 700;
  margin-bottom: 0.5rem;
}
/* wishlist */
.snippets-wishlist .subheadline {
  margin-bottom: 2rem;
}
.snippets-wishlist .wishlist-search-wrapper {
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .snippets-wishlist .wishlist-search-wrapper {
    margin-top: 0;
  }
}
.snippets-wishlist .wishlist-search-wrapper .wishlist-search-button .wishlist-search-button-text {
  display: none;
}
@media (min-width: 768px) {
  .snippets-wishlist .wishlist-search-wrapper .wishlist-search-button .wishlist-search-button-text {
    display: inline-block;
  }
}
.snippets-wishlist .wishlist-privacy-count {
  align-items: center;
}
.snippets-wishlist .wishlist-url {
  margin-top: 1rem;
}
.snippets-wishlist .wishlist-collapse {
  margin-bottom: 1rem;
}
.snippets-wishlist .has-item {
  margin-top: 3rem;
}
.snippets-wishlist .wishlist-item {
  margin-bottom: 5rem;
}
.snippets-wishlist .wishlist-item .productbox {
  padding: 0.5rem;
}
@media (min-width: 1300px) {
  .snippets-wishlist .wishlist-item .productbox {
    padding: 0;
  }
}
.snippets-wishlist .wishlist-item .productbox .caption {
  text-decoration: none;
}
.snippets-wishlist .wishlist-item .productbox .wishlist-item-buttons .btn {
  margin-top: 1rem;
  align-items: center;
}
.snippets-wishlist .wishlist-item .productbox textarea {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.snippets-wishlist .wishlist-item .productbox .wishlist-pos-delete {
  float: right;
  margin: -0.5rem 0 0 0;
  padding: 0.25rem;
  font-size: 1.125rem;
  text-decoration: none;
}
.snippets-wishlist .wishlist-all-to-cart .col {
  margin-left: auto;
}
.snippets-wishlist .wishlist-actions {
  align-items: center;
}
.snippets-wishlist .wishlist-actions .wishlist-dropdown-name .dropdown-item {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.snippets-wishlist .wishlist-count {
  margin-left: auto;
}
.snippets-wishlist .product-characteristics .col {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* mobile */
.productlist-applied-filter {
  margin-bottom: 2rem;
}
.productlist-applied-filter.productlist-applied-filter-top {
  margin-bottom: 0;
}
.productlist-filter-footer {
  padding-left: 1rem;
  padding-right: 1rem;
  margin-top: auto;
}
.snippets-suggestion a {
  display: block;
}
/* Modal fix */
.modal {
  z-index: 9999;
}
/* Body-Grundflaeche: reboot liegt nur in den Crit-Entries, das async geladene
   Haupt-CSS muss den body-Hintergrund selbst setzen.
   Theme v2 B2-3: body ist die page-Surface-Root (§3c). color ist neu deklariert,
   im Legacy-Fall aber wertgleich zur reboot-Regel (color: $body-color). */
body {
  --s-bg: var(--niu-page-bg, white);
  --s-text: var(--niu-page-text, #26420a);
  --s-text-muted: var(--niu-page-text-muted, #808778);
  --s-heading: var(--niu-page-heading, #1a2b08);
  --s-accent: var(--niu-page-accent, #1a1f14);
  --s-border: var(--niu-page-border, #666c60);
  --s-hover: var(--niu-page-hover, #f2f2f2);
  --s-shadow: var(--niu-page-shadow, transparent);
  --s-input-bg: var(--niu-page-input-bg, white);
  --s-input-text: var(--niu-page-input-text, #26420a);
  --s-input-border: var(--niu-page-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-page-input-placeholder, #808778);
  --s-input-focus: var(--niu-page-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-page-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-page-accent-text, var(--s-bg));
  background: var(--s-bg);
  color: var(--s-text);
}
/*!###PRODUCTLIST###*/
/* productlist */
.modal .productlist-filter-wrapper {
  max-height: 75vh;
  overflow-x: auto;
  padding-right: 10px;
}
.productlist-filter:not(.collapse) {
  display: none;
}
@media (min-width: 992px) {
  .productlist-filter:not(.collapse) {
    display: block;
  }
}
@media (max-width: 767.98px) {
  .productlist-filter#collapseFilter {
    position: fixed;
    width: 100%;
    height: 100vh;
    max-height: calc(var(--vh, 1vh) * 100);
    z-index: 1050;
    background: #ffffff;
    top: 0;
    left: 0;
    transform: translateY(-3rem);
    transition: all 0.2s ease-in-out;
    opacity: 0;
    visibility: hidden;
    display: flex;
    flex-direction: column;
  }
  .productlist-filter#collapseFilter.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
  .productlist-filter#collapseFilter .productlist-filter-wrapper {
    display: flex;
    flex-direction: column;
    padding-right: 1rem;
    padding-left: 1rem;
    overflow: auto;
  }
  .productlist-filter#collapseFilter .productlist-filter-wrapper .dropdown-menu .dropdown-item {
    text-decoration: none;
    white-space: normal;
  }
  .productlist-filter#collapseFilter .productlist-filter-footer {
    background: #ffffff;
    box-shadow: 0 -0.5rem 1rem rgba(0, 0, 0, 0.15);
    padding: 1rem;
  }
}
.filter-item {
  padding: 0.25rem 0;
  display: block;
  text-decoration: none;
  margin: 0 3px;
}
.filter-item .filter-img {
  width: auto;
  height: 42px;
  max-width: 42px;
  margin: 0.2rem;
  border: 3px solid transparent;
  object-fit: contain;
}
.filter-item.active, .filter-item:active {
  color: #4d5148;
  font-weight: 600;
  background-color: transparent;
}
.filter-item.active .filter-img, .filter-item:active .filter-img {
  border: 3px solid #435334;
  border-radius: var(--niu-radius, 0.125rem);
}
.filter-item.dropdown-item {
  padding: 0.25rem 1.5rem;
}
.filter-item .badge {
  word-break: keep-all;
}
.filter-search-wrapper .form-clear {
  bottom: 13px;
  right: 7px;
}
.filter-search-wrapper .input-group-text {
  background-color: #ffffff;
}
.filter-search-wrapper .filter-search {
  margin-bottom: 0.5rem;
  border-left: 0;
}
.filter-search-wrapper .filter-search:focus {
  box-shadow: none;
  border-color: inherit;
}
.filter-search-wrapper.input-group-selected .input-group-text, .filter-search-wrapper.input-group-selected .filter-search {
  transition: none;
  border-color: #435334;
  border-width: 2px;
}
.filter-search-wrapper.input-group-selected .input-group-text {
  border-right-width: 0px;
}
.productlist-filter-categories > .nav-item > .nav-link {
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
.productlist-filter-categories > .nav-item > .nav-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-width: 0 0 0.375rem;
  border-color: #435334;
  border-style: solid;
  transition: width 0.4s ease-in-out;
  width: 0;
}
.productlist-filter-categories > .nav-item > .nav-link.active {
  padding-bottom: 0.875rem;
}
.productlist-filter-categories > .nav-item > .nav-link.active::before {
  width: 100%;
}
.productlist-filter-categories .nav-link {
  padding: 0.5rem 2rem;
}
.productlist-filter-categories .nav-link.active {
  font-weight: 700;
}
.productlist-filter-categories .nav-link.active + .submenu {
  background: #999f93;
}
.productlist-filter-accordion {
  border-left: 0;
  border-right: 0;
  list-style: none;
  padding: 1rem;
}
.productlist-filter-accordion li {
  padding: 1rem 0;
}
.productlist-filter-accordion li:not(:last-child) {
  border-bottom: 1px solid #f2f2f2;
}
.productlist-filter-accordion [data-toggle="collapse"] {
  padding: 1rem 0;
  margin: -1rem 0;
  text-decoration: none;
}
.productlist-filter-accordion .filter-search-wrapper {
  padding-top: 0.5rem;
}
.list-gallery img.first {
  opacity: 1;
  transition: opacity 0.35s linear;
}
.list-gallery img.second {
  opacity: 0;
  transition: opacity 0.35s linear;
}
.list-gallery:hover img.first {
  opacity: 0;
}
.list-gallery:hover img.second {
  opacity: 1;
}
.row.gallery .product-wrapper {
  border-bottom: none;
  border-right: none;
}
.productlist-header-description-image {
  margin-bottom: 2rem;
}
#product-list {
  /*.product-wrapper {
		&:not(:last-child) {
			margin-bottom: map-get($spacers, 7);
		}
	}*/
}
#product-list.layout-gallery .productbox-hover.productbox-show-variations.transition, #product-list.layout-gallery .productbox-hover.productbox-show-variations:focus, #product-list.layout-gallery .productbox-hover.productbox-show-variations.focus {
  position: absolute;
  z-index: 1000;
  padding: 1rem 1rem 0;
  margin: -1rem;
  width: 100%;
}
#product-list.layout-gallery .productbox-hover.productbox-show-variations.show-variation-collapse:hover {
  background-color: #ffffff;
}
#result-wrapper .title {
  margin-bottom: 1.5rem;
}
#result-wrapper .desc {
  margin-bottom: 2rem;
  margin-top: 2rem;
  /*niu added*/
}
#result-wrapper .desc::after {
  display: block;
  clear: both;
  content: "";
}
.content-cats-small {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .content-cats-small > div {
    margin-bottom: 1rem;
  }
}
.content-cats-small .sub-categories {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  flex-basis: auto;
  align-items: stretch;
  justify-content: flex-start;
  height: 100%;
}
.content-cats-small .sub-categories .subcategories-image {
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 1rem;
}
.content-cats-small .sub-categories .badge-light {
  background-color: #f0f0f0 !important;
}
.content-cats-small::after {
  display: block;
  clear: both;
  content: "";
}
.content-cats-small .outer {
  margin-bottom: 0.5rem;
}
.content-cats-small .caption {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .content-cats-small .caption {
    text-align: center;
  }
}
.content-cats-small hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-left: 0;
  list-style: none;
}
.item-delivery-status {
  margin-bottom: 1rem;
}
.item-list-price {
  margin-bottom: 1rem;
}
.item-list-basket-details {
  margin-top: 2rem;
}
.basket-details-add-to-cart {
  margin-top: 1rem;
}
#result-options .col {
  justify-content: space-between;
}
.item-slider.productbox-image {
  margin-bottom: 0;
}
.variations-list {
  margin-bottom: 0;
}
.item-list-description {
  display: none;
  margin-bottom: 0.25rem;
  margin-top: -0.5rem;
}
@media (min-width: 768px) {
  .item-list-description {
    display: block;
  }
}
.active-filters {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.gallery, .list {
  align-items: flex-start;
}
.gallery .image-wrapper, .list .image-wrapper {
  display: block;
  position: relative;
}
.gallery .image-wrapper .yousave, .list .image-wrapper .yousave {
  position: absolute;
  padding: 0.5rem 0.75rem;
  left: 1rem;
}
.list .productbox-details dt {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gallery .image-wrapper .yousave {
  margin-top: -2rem;
}
.list .image-wrapper .yousave {
  margin-top: -1.6rem;
}
.layout-gallery .variations .variation-wrapper .form-group {
  margin-bottom: 0;
}
.is-mobile .show-variation-collapse .productbox-onhover.collapsing {
  -webkit-transition: none;
  transition: none;
  display: none;
}
.swatches-image.focus, .swatches-text.focus {
  outline: 2px solid #76925b;
  border-radius: var(--niu-radius, 0.125rem);
}
/*!###PRODUCTDETAILS###*/
/* productdetails */
.product-detail .product-image {
  cursor: pointer;
}
.product-detail .slick-slide {
  transition: opacity ease-in-out;
}
.product-detail .product-thumbnails-wrapper {
  margin-left: auto;
  margin-right: auto;
}
.product-detail .product-thumbnails-wrapper .product-thumbnails {
  width: 100%;
  margin-bottom: 2rem;
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 992px) {
  .product-detail .product-thumbnails-wrapper .product-thumbnails {
    margin-bottom: 0;
    display: flex;
  }
}
.product-detail .product-thumbnails-wrapper .product-thumbnails .slick-list {
  width: 100%;
}
.product-detail .product-thumbnails-wrapper .product-thumbnails .slick-slide:not(.slick-current) {
  opacity: 0.5;
}
.product-detail .product-thumbnails-wrapper .product-thumbnails .inner {
  padding: 0.25rem;
}
@media (min-width: 992px) {
  .product-detail .product-thumbnails-wrapper .product-thumbnails .inner {
    padding: 0.5rem;
  }
}
.product-detail .product-manufacturer img {
  max-width: 35px;
}
.delivery-status .list-unstyled, .delivery-status .list-icons {
  margin-bottom: 0;
}
#image_wrapper {
  text-align: right;
}
#image_wrapper .slick-list, #image_wrapper .slick-slide, #image_wrapper img {
  outline: none !important;
}
#image_wrapper .gallery-with-action-main {
  height: 100%;
}
#image_wrapper .product-detail-image-topbar {
  margin-bottom: 1.5rem;
}
#image_wrapper.fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background-color: rgba(51, 54, 48, 0.5);
  overflow: hidden;
  padding: 3rem;
}
#image_wrapper.fullscreen .product-actions {
  display: none;
}
#image_wrapper.fullscreen .gallery-with-action-main {
  background: #ffffff;
  border-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
}
#image_wrapper.fullscreen .product-detail-image-preview-bar {
  background: #ffffff;
  border-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
}
#image_wrapper.fullscreen .product-detail-image-topbar {
  background: #ffffff;
  height: 20px;
  display: block;
  margin-bottom: 0;
  border-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
}
#image_wrapper.fullscreen .product-detail-image-topbar #image_fullscreen_close {
  background-color: #666c60;
  color: #808778;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  opacity: 1;
  margin: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(50%, -50%);
  outline: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 700;
  border: 0;
}
#image_wrapper.fullscreen .product-detail-image-topbar #image_fullscreen_close:hover {
  background-color: #435334;
  color: #ffffff;
}
#image_wrapper.fullscreen #gallery {
  margin-bottom: 0;
}
#image_wrapper.fullscreen #gallery .product-image {
  cursor: pointer;
}
#image_wrapper.fullscreen #gallery .square-image .inner img {
  margin: 0 auto;
  left: initial;
  top: initial;
  -webkit-transform: initial;
  transform: initial;
}
#image_wrapper.fullscreen #gallery .slick-arrow {
  display: block !important;
}
#image_wrapper.fullscreen #gallery_preview_wrapper {
  width: 100%;
  padding: 1rem;
  max-width: 760px;
}
@media (min-width: 768px) {
  #image_wrapper.fullscreen #gallery_preview_wrapper {
    width: 80%;
  }
}
#image_wrapper .variation-image-preview {
  position: absolute;
  top: 0;
  /*right: 0;*/
  /*width: 98%;*/
  height: auto;
  background: #ffffff;
  /*border: 3px solid $gray-medium;*/
  opacity: 0;
  transition: opacity 300ms;
  /*border-radius: $border-radius;*/
  /*@include box-shadow($box-shadow);*/
  z-index: -5;
  /*&::before, &::after {
			left: 100%;
			top: 50%;
			content: " ";
			height: 0px;
			width: 0px;
			position: absolute;
			border-width: initial;
			border-style: solid;
			border-color: transparent;
			border-image: initial;
		}*/
}
@media (min-width: 992px) {
  #image_wrapper .variation-image-preview.show {
    z-index: 1070;
    opacity: 1;
  }
}
#image_wrapper .variation-image-preview img {
  object-fit: contain;
}
#image_wrapper .variation-image-preview::before {
  margin-top: -0.25rem;
  border-width: 14px 0px 14px 18px;
  border-color: transparent transparent transparent #666c60;
}
#image_wrapper .variation-image-preview::after {
  margin-top: 0rem;
  border-width: 10px 0px 10px 14px;
  border-color: transparent transparent transparent #ffffff;
}
#image_wrapper .variation-image-preview .variation-image-preview-title {
  margin: 0.5rem 0;
  text-align: center;
}
#image_wrapper .variation-image-preview .variation-image-preview-title .variation-image-preview-title-value {
  color: #02A067;
}
#image_wrapper #gallery:not(.slick-initialized) {
  padding: 0;
}
@media (max-width: 991.98px) {
  #image_wrapper #gallery .slick-list {
    padding-right: 0;
  }
}
#image_wrapper #gallery .slick-slide {
  padding: 0;
}
#image_wrapper #gallery .slick-arrow {
  display: none !important;
  background-color: transparent;
}
#image_wrapper #gallery .slick-arrow:hover {
  background-color: #435334;
}
#image_wrapper .product-thumbnails .square-image {
  margin-bottom: 0;
}
#image_wrapper .product-thumbnails:not(.slick-initialized) div.js-gallery-images {
  width: calc(79%/5);
  min-width: calc(79%/5);
  height: 100%;
  padding: 0;
  border: 1px solid #333630;
  border-radius: var(--niu-radius, 0.125rem);
  margin: 0 0.5rem;
}
#image_wrapper .product-thumbnails:not(.slick-initialized) div.js-gallery-images:not(.preview-first) {
  opacity: 0.5;
}
@media (max-width: 1299.98px) {
  #image_wrapper .product-thumbnails:not(.slick-initialized) div.js-gallery-images {
    width: calc(72%/5);
    min-width: calc(72%/5);
  }
}
#image_wrapper .product-thumbnails:not(.slick-initialized) div.js-gallery-images.first-ml {
  margin-left: auto;
}
#image_wrapper .product-thumbnails:not(.slick-initialized) div.js-gallery-images.last-mr {
  margin-right: auto;
}
#image_wrapper .product-thumbnails:not(.slick-initialized).slick-count-default div.js-gallery-images {
  width: calc(((100%)/5) - 1rem);
  min-width: calc(((100%)/5) - 1rem);
}
#image_wrapper .product-thumbnails:not(.slick-initialized) .slick-prev {
  margin-right: -0.5rem;
  animation: 0.5s fadeIn;
  animation-fill-mode: forwards;
  opacity: 0;
}
#image_wrapper .product-thumbnails:not(.slick-initialized) .slick-next {
  margin-left: -0.5rem;
  animation: 0.5s fadeIn;
  animation-fill-mode: forwards;
  opacity: 0;
}
/*niu added for product-actions in buybox*/
.product-actions-indicator {
  display: none;
}
.on-list .product-actions-indicator {
  display: block;
}
/*niu added end*/
.cfg-item-description {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-grow: 1;
  margin: 0.5rem 0;
}
.product-configuration {
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}
.bg-recommendation {
  background-color: white;
}
#cfg-container {
  margin-bottom: 2rem;
}
#cfg-container .cfg-group .hr-sect {
  margin-bottom: 0;
}
#cfg-container .cfg-group .hr-sect::before {
  max-width: 50%;
}
#cfg-container .cfg-group .h5 {
  background: #ebebeb;
}
#cfg-container .cfg-group .list-group-item {
  border: 0;
}
#cfg-container .cfg-group .custom-control-inline {
  width: 100%;
}
#cfg-container .cfg-group .custom-control-inline .custom-control-label {
  width: 100%;
}
#cfg-container .cfg-group .sticky-bottom .btn {
  margin: auto;
}
@media (max-width: 991.98px) {
  #cfg-container .hr-sect {
    text-align: initial;
    border-top: 0;
    border-bottom: 0;
    padding: initial;
    margin: initial;
  }
  #cfg-container .hr-sect::before {
    margin: 0 30px 0 0;
  }
  #cfg-container .hr-sect::after {
    margin: 0 0 0 30px;
  }
  #cfg-container .hr-sect::before, #cfg-container .hr-sect::after {
    content: "";
    background: #e6e7e4;
    height: 1px;
    font-size: 0;
    line-height: 0;
  }
  #cfg-container .hr-sect a {
    text-decoration: none;
    border-bottom: 0.375rem solid transparent;
    font-weight: 700;
  }
}
#cfg-container .cfg-footnote {
  text-align: center;
  margin-top: 1.8rem;
  color: #808778;
}
#cfg-container .modal-body {
  padding: 1rem 0 0;
}
#cfg-container .cfg-price {
  text-align: right;
  white-space: nowrap;
}
#cfg-container .custom-control:focus > label {
  outline: 2px solid #76925b;
  border-radius: var(--niu-radius, 0.125rem);
  outline-offset: 1px;
}
#cfg-container .custom-control:focus-within > label {
  outline: 2px solid #76925b;
  border-radius: var(--niu-radius, 0.125rem);
  outline-offset: 1px;
}
#cfg-modal-tabs {
  margin-top: auto;
}
#cfg-modal-tabs .nav-link-text {
  display: none;
  margin-left: 0.5rem;
}
@media (min-width: 576px) {
  #cfg-modal-tabs .nav-link-text {
    display: inline-flex;
  }
}
#cfg-tab-summary-finish {
  margin: auto;
}
#configuration-table .vat_info {
  color: #808778;
}
.modal-body .tab-content {
  margin-top: 0;
  margin-bottom: 1rem;
}
#cfg-modal-tabs {
  margin-bottom: -1rem;
}
#cfg-container-tab-panes {
  border-bottom: 2px solid #666c60;
  /*@include media-breakpoint-down(sm) {
		height: calc((var(--vh, 1vh) * 87) - 5rem);
	}*/
}
#cfg-container-tab-panes .input-group.form-counter {
  width: auto;
}
#cfg-container-tab-panes.cfg-gallery {
  height: calc((var(--vh, 1vh) * 78) - 3rem);
  overflow-x: auto;
  padding-right: 17px;
}
#cfg-container-tab-panes.cfg-list .cfg-group .config-item {
  margin: 0;
  padding: 0.625rem;
}
#cfg-container-tab-panes.cfg-list .custom-radio .cfg-item-description {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-grow: 1;
  align-items: center;
}
#cfg-container-tab-panes.cfg-list .custom-checkbox .config-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.cfg-options {
  height: calc((var(--vh, 1vh) * 78) - 4rem);
  position: relative;
  overflow: auto;
  overflow-x: hidden;
}
@media (max-width: 767.98px) {
  .cfg-options {
    height: calc((var(--vh, 1vh) * 87) - 6rem);
  }
}
#cfg-nav {
  height: calc((var(--vh, 1vh) * 78) - 4rem);
  z-index: 1019;
  align-content: flex-start;
}
#cfg-nav .nav {
  width: 100%;
}
.cfg-group .cfg-group-info {
  text-align: center;
  margin-bottom: 1.5rem;
  z-index: 1019;
}
.cfg-group .group-description {
  margin-bottom: 1rem;
}
.cfg-group .group-description img {
  margin-bottom: 1rem;
}
.cfg-group .config-item {
  cursor: pointer;
  display: block;
  padding: 0.75rem;
  outline: 2px solid #f8f8f8;
  border-radius: var(--niu-radius-card, 0);
}
.cfg-group .config-item .badge-circle {
  display: none;
}
@media (max-width: 767.98px) {
  .cfg-group .config-item {
    padding: 0.5rem;
  }
}
.cfg-group .cfg-swatch ~ .custom-control-label::before, .cfg-group .cfg-swatch ~ .custom-control-label::after {
  display: none;
}
.cfg-group .cfg-swatch:disabled ~ .custom-control-label .config-item {
  cursor: default;
  background: #f8f8f8;
  color: #4d5148;
}
.cfg-group .custom-control {
  margin: 2px;
  padding-left: 0;
}
.cfg-group .cfg-swatch:checked ~ .custom-control-label .config-item {
  outline-color: #76925b;
}
.cfg-group .cfg-swatch:checked ~ .custom-control-label .config-item .badge-circle {
  display: flex;
  background-color: #435334;
  border-color: #435334;
  color: #fff;
  opacity: 1;
  align-items: center;
  position: absolute;
  top: -20px;
  right: -22px;
}
.cfg-group .cfg-swatch:checked ~ .custom-control-label .config-item .badge-circle i {
  margin-left: auto;
  margin-right: auto;
}
.cfg-group .cfg-swatch:checked ~ .custom-control-label .config-item .badge-circle.circle-small {
  /* niu changed
				top: -12px;
				right: -14px;*/
  top: 0;
  right: 0;
  /* niu added */
  border-radius: unset !important;
}
.cfg-group .drpdwn_qnt {
  display: none;
}
.cfg-group .config-option-dropdown {
  margin-top: 1rem;
}
.cfg-group .config-option-dropdown .config-option-dropdown-description {
  margin-bottom: 0.5rem;
}
.cfg-group .form-counter .btn {
  background-color: #ffffff;
}
.cfg-group .form-counter .btn:hover {
  background-color: #e6e7e4;
}
.config-table .accent-bg {
  background: #f2f2f2;
}
@media (max-width: 767.98px) {
  #product-configurator .modal-dialog {
    margin: 0;
  }
  #product-configurator .modal-dialog .modal-header {
    padding: 0;
  }
  #product-configurator .modal-dialog .modal-header .close {
    right: 0;
    transform: none;
    background-color: transparent;
    font-size: 2rem;
    top: 8px;
  }
  #product-configurator .modal-dialog .hr-sect::before {
    margin: 0px 10px 0px 0px;
  }
  #product-configurator .modal-dialog .btn-sm, #product-configurator .modal-dialog .btn-group-sm > .btn {
    padding: 0.2rem 0.5rem;
  }
}
.product-detail-video {
  max-width: 100%;
}
.helpful, .not_helpful {
  background: transparent;
  border: 1px solid #999f93;
  border-radius: 50%;
  padding: 0.2rem 0.45rem;
}
.start-configuration i {
  margin-left: 0.25rem;
}
#add-to-cart {
  /*margin-top: map_get($spacers, 5);*/
  /*niu removed */
}
@media print {
  #add-to-cart {
    display: none !important;
  }
}
#add-to-cart .alert .purchase-info {
  margin-top: 0.5rem;
}
.basket-form-inline {
  text-align: center;
  /*margin-bottom: map_get($spacers, 3);*/
  /*niu removed*/
}
.basket-form-inline .col {
  margin-bottom: 1rem;
}
#form_bundles .row {
  /* niu removed useless bottom margin */
  /*margin-bottom: map_get($spacers, 7);*/
  margin-top: -0.5rem;
  align-items: center;
}
@media (min-width: 768px) {
  #form_bundles .row {
    justify-content: center;
  }
}
#form_bundles .bundle-price {
  text-align: center;
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  #form_bundles .bundle-price {
    text-align: right;
    margin-bottom: 0;
  }
}
#form_bundles .bundle-price .text-warning {
  margin-left: 0.25rem;
}
#jump-to-votes-tab {
  text-decoration: none;
}
@media print {
  #jump-to-votes-tab {
    display: none;
  }
}
#tabAccordion, .tab-navigation {
  margin-bottom: 4rem;
}
#tabAccordion > .card, #tab-downloads .card {
  padding-bottom: 1rem;
  padding-top: 1rem;
}
.variations .custom-radio {
  margin-bottom: 0.5rem;
}
.variations .custom-radio:hover, .variations .custom-radio:focus {
  text-decoration: none;
}
.variations .variation-badge {
  white-space: nowrap;
}
.variations .variation-badge.badge-right {
  margin-left: auto;
}
.variations .variation-badge:not(.badge-right) {
  margin-left: 0.25rem;
}
.variations .swatches .variation-badge {
  white-space: initial;
  margin-left: auto;
}
#tabAccordion > .card .card-header {
  margin-bottom: 0;
  font-size: 1.125rem;
}
#tabAccordion > .card .collapse {
  margin-bottom: 2rem;
}
.product-stock-info {
  padding: 1rem 0;
  border-bottom: 1px solid #666c60;
  align-items: flex-end;
}
@media (min-width: 992px) {
  .product-stock-info {
    padding: 1rem;
  }
}
.product-stock-info .product-stock-info-button {
  padding: 0;
  text-decoration: underline;
}
.warehouse-row .warehouse-right {
  margin-left: auto;
  text-align: right;
}
.product-matrix {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.product-matrix .variation-matrix .delivery-status {
  margin: 0 0.5rem;
}
.product-matrix .variation-matrix .configurepos span {
  padding-left: 0.5rem;
  display: none;
}
@media (min-width: 576px) {
  .product-matrix .variation-matrix .configurepos span {
    display: inline-block;
  }
}
.product-matrix .product-matrix-submit {
  margin-top: 1rem;
}
.product-matrix .product-matrix-submit .col {
  margin-left: auto;
}
.product-matrix .matrix-list-wrapper > .matrix-list {
  padding: 0.5rem 0;
  margin-left: 0;
  margin-right: 0;
}
.product-matrix .matrix-list-wrapper > .matrix-list:nth-of-type(odd) {
  background-color: #e6e7e4;
}
.media .card, .reviews-mosthelpful, #reviews-list .review {
  margin-bottom: 1rem;
}
.product-popup {
  display: none;
}
#productImagesModal .modal-header {
  padding: 0;
  border: 0;
}
#pushed-success {
  padding: 0;
  margin-bottom: 2rem;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
#pushed-success .square-image .image, #pushed-success .continue-shopping {
  margin-bottom: 1rem;
}
#pushed-success .x-selling {
  display: none;
  border-left: 1px solid #666c60;
}
@media (min-width: 768px) {
  #pushed-success .x-selling {
    display: block;
  }
}
#pushed-success .card-header {
  text-align: center;
}
#pushed-success .pushed-success-image-wrapper {
  margin-bottom: 1rem;
}
.reviews, #description .desc .h3, #description .desc .sidepanel-left .box-normal .box-normal-link, .sidepanel-left .box-normal #description .desc .box-normal-link {
  margin-top: 1rem;
}
#reviews-overview {
  align-items: center;
}
#reviews-overview .card {
  margin-bottom: 1rem;
}
#ratingDropdown {
  padding-left: 0;
  padding-right: 0;
}
#ratingDropdown span {
  margin: 0 0.5rem;
}
#ratingDropdown .dropdown-menu {
  padding: 0;
}
#ratingDropdown .dropdown-body {
  padding: 1rem;
}
#ratingDropdown .dropdown-body .row {
  margin-bottom: 0.5rem;
}
#article_rating {
  margin-bottom: 1rem;
  width: auto;
}
.review-comment .row {
  margin-top: 0.25rem;
}
.review-comment .review-helpful {
  margin-top: 1rem;
  margin-bottom: 2rem;
  justify-content: space-evenly;
}
.review-comment .review-helpful .col {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
}
.review-comment .review-reply {
  margin-left: 1rem;
}
.product-attributes {
  padding-top: 1rem;
  /*niu changed margin to padding*/
}
.product-attributes tr > td {
  word-break: break-word;
  vertical-align: middle;
}
@media (max-width: 991.98px) {
  .product-attributes tr > td {
    padding: 0.5rem 0.75rem;
  }
  .product-attributes tr > td:first-child {
    width: 40%;
  }
}
.product-attributes .attr-characteristic a {
  vertical-align: top;
}
.product-attributes .attr-characteristic a:last-child {
  margin: 0;
}
.estimated-delivery {
  color: #808778;
  font-size: 0.8888888889rem;
  display: inline-block;
}
.mediafiles .mediafiles-description {
  padding-bottom: 1rem;
}
.attr-characteristic a {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}
.swatches-image input {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
.swatches-image .square-image .inner img {
  width: 100%;
}
.blockquote-divider::before {
  content: "—";
}
.verified-purchase {
  font-weight: 700;
}
.verified-purchase-notice {
  margin-bottom: 1rem;
}
.cfg-layout-list {
  margin-bottom: 1rem;
}
.cfg-layout-list .cfg-group .config-item {
  padding: 0.75rem 0;
}
.cfg-layout-list .cfg-item-description {
  margin: 0;
}
.cfg-layout-list .cfg-item-description dd, .cfg-layout-list .cfg-item-description dl {
  margin-bottom: 0;
}
.cfg-layout-list .cfg-item-qty {
  text-align: right;
}
@media (max-width: 991.98px) {
  .cfg-layout-list .cfg-item-qty {
    margin-top: 0.5rem;
  }
}
.cfg-layout-gallery .product-configuration-sidebar-wrapper table td a {
  text-decoration: none;
  cursor: default;
}
.cfg-layout-gallery .product-configuration-sidebar-wrapper table td a:hover {
  color: #26420a;
}
.product-configuration-sidebar-wrapper {
  z-index: 1019;
}
.cfg-position-details.cfg-layout-list .product-configuration-sidebar-wrapper {
  border: 1px solid #666c60;
  padding: 0.75rem;
}
@media (min-width: 992px) {
  .cfg-position-details.cfg-layout-list .product-configuration-sidebar-wrapper {
    max-height: 90vh;
    overflow-y: auto;
    overflow-x: hidden;
  }
}
.cfg-position-details.cfg-layout-list .product-configuration-sidebar-wrapper .cfg-summary-item .col:not(:first-child) {
  padding-left: 0.5rem;
}
.cfg-position-details.cfg-layout-list .product-configuration-sidebar-wrapper .cfg-summary-item .col:not(:last-child) {
  padding-right: 0.5rem;
}
.cfg-position-details.cfg-layout-list .cfg-group-list-wrapper .cfg-group {
  border: 1px solid #666c60;
  padding: 1rem;
}
@media (max-width: 991.98px) {
  .cfg-position-details.cfg-layout-list .cfg-group-list-wrapper .cfg-group {
    border: none;
    border-bottom: 1px solid #666c60;
    padding: 1.5rem 0;
  }
}
.cfg-item-detail-button .badge {
  margin-top: 0.3rem;
  padding: 0.35rem;
}
#modal-article-dialog .modal-body {
  max-height: 80vh;
  overflow-y: auto;
  overflow-x: hidden;
}
.cfg-group-icon {
  float: right;
}
.cfg-group-check {
  color: #02A067;
}
.cfg-group-missing {
  color: #C0274C;
}
.cfg-group-optional .cfg-group-check {
  color: #DAAA4E;
}
/*!###COMPARELIST###*/
/* comparelist */
#filter-checkboxes {
  margin-bottom: 1.5rem;
}
@media (max-width: 991.98px) {
  #filter-checkboxes .custom-checkbox label {
    max-width: 32vw;
  }
}
#filter-checkboxes .custom-checkbox label, #filter-checkboxes .custom-checkbox ::after {
  cursor: pointer;
}
.delete-link-times {
  position: absolute;
  z-index: 1;
  right: 0.5rem;
  top: 0.5rem;
  font-size: 1.125rem;
}
.comparelist .table tr.comparelist-row td:first-child {
  position: sticky;
  left: 0;
  z-index: 996;
}
.comparelist .table thead th {
  background: #ffffff;
  vertical-align: top;
  z-index: 999;
}
.comparelist .table thead th:first-child {
  z-index: 1000;
  border: 0 none;
  left: -1px;
}
.comparelist .table thead th:not(:first-child) {
  z-index: 998;
}
.comparelist .table tbody td:first-child {
  background-color: #e6e7e4;
  font-weight: 700;
}
@media (max-width: 991.98px) {
  .comparelist .table td {
    padding: 0.3rem;
  }
  .comparelist .table td:first-child > div {
    width: 110px;
  }
  .comparelist .table th {
    padding: 0;
  }
}
.comparelist .stretched {
  display: flex;
  flex-direction: column;
}
.comparelist .comparelist-label-button th {
  padding: 0;
  border: 0;
}
.custom-checkbox + .description {
  margin-left: 1.5rem;
}
.comparelist-checkboxes {
  padding-top: 1rem;
}
.comparelist-checkboxes .comparelist-checkbox-wrapper {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.comparelist-item {
  padding-bottom: 0;
  text-align: center;
}
.comparelist-item .comparelist-item-image {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.comparelist-item .comparelist-item-more {
  padding-left: 0;
}
.comparelist-delete-all {
  float: right;
}
/*!###HEADER###*/
/* header */
.topbar-wrapper {
  position: relative;
  z-index: 1021;
  flex-direction: row-reverse;
}
.sticky-header header {
  position: sticky;
  top: 0;
}
#jtl-nav-wrapper .form-control::placeholder, #jtl-nav-wrapper .form-control:focus::placeholder {
  color: #808778;
}
#jtl-nav-wrapper .label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) label {
  /* Theme v2 B2-7: Header-Label folgte schon im Legacy der Flaeche dahinter
			   ($header-bg-color/$header-color) - jetzt ueber die lokalen Surface-Vars.
			   Innerhalb der header-Root (.niu-nav-color-wrap, B2-3) sind die Anker
			   wortgleich ($header-bg-color/$header-color). */
  background-color: var(--s-bg, white);
  color: var(--s-text, #26420a);
}
header {
  /*box-shadow: 0 rem(16px) rem(9px) rem(-12px) transparentize($black, .94);*/
  box-shadow: none;
  /*border-bottom:1px solid rgba($primary, .1);*/
  /*niu removed*/
  position: relative;
  z-index: 1020;
  /* mobile only */
  /* desktop only */
  /* Colors to be changed more easily by template settings */
}
header .dropdown-menu {
  background-color: white;
  color: #26420a;
}
header .navbar-toggler {
  color: #26420a;
}
header .navbar-brand {
  margin-right: 0 !important;
}
header .navbar-brand img {
  object-fit: contain;
}
@media (max-width: 991.98px) {
  header .navbar-brand img {
    height: 50px;
  }
}
header .nav-right .dropdown-menu {
  margin-top: -0.03125rem;
}
@media (min-width: 992px) {
  header #mainNavigation {
    margin-right: 1rem;
  }
}
@media (max-width: 991.98px) {
  header .navbar-brand img {
    /*max-width: 10vw;
				min-width: 100px;*/
  }
  header .dropup, header .dropright, header .dropdown, header .dropleft, header .col, header [class*="col-"] {
    position: static;
  }
  header .navbar-collapse {
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    height: 100vh !important;
    -webkit-overflow-scrolling: touch;
    max-width: 16.875rem;
    transition: all 0.2s ease-in-out;
    z-index: 1050;
    width: 100%;
    background: white;
  }
  header .navbar-collapse:not(.show) {
    transform: translateX(-100%);
  }
  header .navbar-nav {
    transition: all 0.2s ease-in-out;
  }
  header .navbar-nav .nav-item, header .navbar-nav .nav-link {
    margin-left: 0;
    margin-right: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  header .navbar-nav .nav-link {
    margin-top: -1rem;
    margin-bottom: -1rem;
    margin-left: -1rem;
    margin-right: -1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  header .navbar-nav .nav-link::after {
    content: '\f054' !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
    margin-left: 0.5rem;
    margin-top: 0;
    font-size: 0.75em;
  }
  header .navbar-nav .nav-item.dropdown > .nav-link > .product-count {
    display: none;
  }
  header .navbar-nav .nav-item:not(.dropdown) .nav-link::after {
    display: none;
  }
  header .navbar-nav .dropdown-menu {
    position: absolute;
    left: 100%;
    top: 0;
    box-shadow: none;
    width: 100%;
    padding: 0;
    margin: 0;
  }
  header .navbar-nav .dropdown-menu:not(.show) {
    display: none;
  }
  header .navbar-nav .dropdown-body {
    margin: 0;
  }
  header .navbar-nav .nav {
    flex-direction: column;
  }
  header .nav-mobile-header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  header .nav-mobile-header > .row {
    height: 3.125rem;
  }
  header .nav-mobile-header .nav-mobile-header-hr {
    margin-top: 0;
    margin-bottom: 0;
  }
  header .nav-mobile-body {
    height: calc(100vh - 3.125rem);
    height: calc(var(--vh, 1vh) * 100 - 3.125rem);
    overflow-y: auto;
    position: relative;
  }
  header .nav-scrollbar-inner {
    overflow: visible;
  }
  header .nav-right {
    font-size: 1.125rem;
  }
  header .nav-right .dropdown-menu {
    width: 100%;
  }
}
@media (min-width: 992px) {
  header {
    /*niu removed is in crit */
    /*.navbar-collapse { height: rem(69px); }*/
  }
  header .navbar-nav > .nav-item {
    /*niu removed is in crit*/
  }
  header .navbar-nav > .nav-item > .nav-link {
    /*position: relative; padding: map-get($spacers, 4);*/
  }
  header .navbar-nav > .nav-item > .nav-link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border-width: 3px 0 3px 0;
    border-color: #435334;
    border-style: solid;
    transition: width 0.4s;
    width: 0;
  }
  header .navbar-nav > .nav-item.active > .nav-link::before, header .navbar-nav > .nav-item:hover > .nav-link::before, header .navbar-nav > .nav-item.hover > .nav-link::before {
    width: 100%;
  }
  header .navbar-nav > .nav-item > .dropdown-menu {
    max-height: calc(100vh - 12.5rem);
    overflow: auto;
    margin-top: -0.03125rem;
    /*@include box-shadow(inset 0 rem(16px) rem(9px) rem(-12px) transparentize($black, .94));*/
    border-bottom: 1px solid rgba(67, 83, 52, 0.1);
    border-top: 1px solid rgba(67, 83, 52, 0.1);
    box-shadow: none;
  }
  header .navbar-nav > .nav-item.dropdown-full {
    position: static;
  }
  header .navbar-nav > .nav-item.dropdown-full .dropdown-menu {
    width: 100%;
  }
  header .navbar-nav > .nav-item .product-count {
    display: none;
  }
  header .navbar-nav > .nav-item .nav {
    flex-wrap: wrap;
  }
  header .navbar-nav .nav .nav-link {
    padding: 0;
  }
  header .navbar-nav .nav .nav-link::after {
    display: none;
  }
  header .navbar-nav .dropdown .nav-item {
    width: 100%;
  }
  header .nav-mobile-body {
    align-self: flex-start;
    width: 100%;
  }
  header .nav-scrollbar-inner {
    width: 100%;
  }
  header .nav-right .nav-link {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  header .submenu-headline::after {
    display: none;
  }
  header .submenu-headline-toplevel {
    font-family: "Open Sans-ps", sans-serif;
    font-size: 1.125rem;
    margin-bottom: 1rem;
    font-weight: 900;
    /* Hier standen bis 6.15.0 ZWEI border-bottom im selben Block. Die erste
			   ($border-width solid $border-color) wurde von dieser ueberschrieben und
			   hat nie gemalt - sie ist weg, der sichtbare Wert bleibt unveraendert.

			   Der Trenner bleibt hier bewusst ein fester Wert und wird NICHT auf
			   `var(--s-border, ...)` umgestellt: `--s-border` ist auch ohne Theme v2
			   gesetzt (clean.css, `body { --s-border: var(--niu-page-border, #606c6a) }`),
			   der Rueckfallwert wuerde also nie greifen und der Legacy-Trenner waere
			   still von einem Hauch Primaer auf #606c6a gesprungen - gemessen am
			   Dev-Shop. Die Umstellung auf die Rahmenrolle macht deshalb Abschnitt 85
			   in _niu_theme2_rules.scss, gegatet auf `body.niu-theme2`. */
    border-bottom: 1px solid rgba(67, 83, 52, 0.1);
  }
  header .subcategory-wrapper .categories-recursive-dropdown {
    display: block;
    position: static !important;
    box-shadow: none;
  }
  header .subcategory-wrapper .categories-recursive-dropdown > .nav {
    flex-direction: column;
  }
  header .subcategory-wrapper .categories-recursive-dropdown .categories-recursive-dropdown {
    margin-left: 0.25rem;
  }
}
header .submenu-headline-image {
  margin-bottom: 1rem;
  display: none;
}
@media (min-width: 992px) {
  header .submenu-headline-image {
    display: block;
  }
}
header #burger-menu {
  margin-right: 1rem;
}
header .table, header .dropdown-item, header .btn-outline-primary {
  color: #26420a;
}
header .dropdown-item {
  background-color: transparent;
}
header .dropdown-item:hover {
  background-color: #e6e7e4;
}
header .btn-outline-primary:hover {
  background-color: #435334;
  color: white;
}
@media (min-width: 992px) {
  .nav-item-lg-m {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}
.fixed-search {
  background-color: white;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.fixed-search .form-control {
  background-color: #ffffff;
  color: #26420a;
}
.fixed-search .form-control::placeholder {
  color: #808778;
}
.main-search .twitter-typeahead {
  display: flex;
  flex-grow: 1;
}
.form-clear {
  align-items: center;
  bottom: 8px;
  color: #26420a;
  cursor: pointer;
  display: flex;
  height: 24px;
  justify-content: center;
  position: absolute;
  right: 52px;
  width: 24px;
  z-index: 10;
}
.account-icon-dropdown .account-icon-dropdown-pass {
  margin-bottom: 2rem;
}
.account-icon-dropdown .dropdown-footer {
  background-color: #e6e7e4;
}
.account-icon-dropdown .dropdown-footer a {
  text-decoration: underline;
}
.account-icon-dropdown .account-icon-dropdown-logout {
  padding-bottom: 0.5rem;
}
.cart-dropdown-shipping-notice {
  color: #808778;
}
.is-checkout header, .is-checkout .navbar {
  height: 6.8rem;
}
@media (min-width: 992px) {
  .is-checkout header, .is-checkout .navbar {
    height: 7.2rem;
  }
}
.is-checkout .search-form-wrapper-fixed, .is-checkout .fixed-search {
  display: none;
}
@media (max-width: 991.98px) {
  .nav-icons {
    height: 6.8rem;
  }
}
.search-form-wrapper-fixed {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.search-wrapper .twitter-typeahead {
  flex: 1;
}
.full-width-mega .main-search-wrapper .twitter-typeahead {
  flex: 1;
}
@media (min-width: 992px) {
  .full-width-mega .main-search-wrapper {
    display: block;
  }
}
@media (max-width: 991.98px) {
  .full-width-mega.sticky-top .main-search-wrapper {
    padding-right: 0;
    padding-left: 0;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .full-width-mega.sticky-top .main-search-wrapper + .col, .full-width-mega.sticky-top .main-search-wrapper a {
    padding-left: 0;
  }
  .full-width-mega.sticky-top .main-search-wrapper .nav-link {
    padding-right: 0.7rem;
  }
  .full-width-mega .secure-checkout-icon {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
    margin-left: auto;
  }
  .full-width-mega .toggler-logo-wrapper {
    position: initial;
    width: max-content;
  }
}
.full-width-mega .nav-icons-wrapper {
  /*padding-left: 0;*/
}
.full-width-mega .nav-logo-wrapper {
  /*padding-right: 0;
		margin-right: auto;*/
}
@media (min-width: 992px) {
  .full-width-mega .navbar-expand-lg .nav-multiple-row .navbar-nav {
    flex-wrap: wrap;
  }
  .full-width-mega #mainNavigation.nav-multiple-row {
    height: auto;
    margin-right: 0;
  }
  .full-width-mega .nav-multiple-row .nav-scrollbar-inner {
    padding-bottom: 0;
  }
  .full-width-mega .nav-multiple-row .nav-scrollbar-arrow {
    display: none;
  }
  .full-width-mega .menu-search-position-center .main-search-wrapper {
    margin-right: auto;
  }
  .full-width-mega .menu-search-position-left .main-search-wrapper {
    margin-right: auto;
  }
  .full-width-mega .menu-search-position-left .nav-logo-wrapper {
    margin-right: initial;
  }
  .full-width-mega .menu-center-center.menu-multiple-rows-multiple .nav-scrollbar-inner {
    justify-content: center;
  }
  .full-width-mega .menu-center-space-between.menu-multiple-rows-multiple .nav-scrollbar-inner {
    justify-content: space-between;
  }
}
@media (min-width: 992px) {
  header .nav-multiple-row .navbar-nav > .nav-item > .nav-link {
    padding: 1rem 1.5rem;
  }
}
/*!###FOOTER###*/
/* footer */
#footer {
  /* Stand hier bis 2026-08-27 wortgleich in _productlist.scss und landete dadurch
	   im Part "productlist" – bei aktivem Minify also nur in der Gruppe der
	   Artikellistenseiten. Die Basisregel (.productlist-filter-headline mit
	   Unterstrich und h3-Groesse) liegt dagegen im Crit und damit auf JEDER Seite:
	   In den Footer-Boxen aller Nicht-Listing-Seiten fehlte der Override, die
	   Ueberschrift kam gross und unterstrichen. Regel wortgleich, nur der Part
	   wechselt (footer -> Gruppe main). Audit-Ledger Nr. 103. */
  /* Colors to be changed more easily by template settings */
}
#footer .niu-footer-main-wrapper hr {
  border-color: var(--s-border);
  /* niu changed was $border-color;*/
  /* Theme v2 B2-3: Root-Var (#footer-Root, Anker #e5e5e5) */
}
#footer li {
  margin-bottom: 0.5rem;
}
#footer .footer-additional-wrapper li {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}
#footer .card .card-title {
  /* Theme v2 B2-3: bleibt direkte Token-Regel – klassenbasierte Ausnahme
			   ($gray-dark weicht vom heading-Anker $headings-color der Root ab) */
  color: var(--niu-footer-main-heading, #4d5148);
}
#footer .card .card-body {
  padding: 0;
}
#footer .nav-link {
  padding: 0.2rem 0;
}
#footer .footer-logo {
  width: auto;
  height: 18px;
  vertical-align: bottom;
}
#footer .list-group-item {
  background: transparent;
}
#footer .newsletter-footer {
  text-align: center;
  align-items: center;
}
@media (min-width: 768px) {
  #footer .newsletter-footer {
    text-align: left;
  }
}
#footer .newsletter-footer .newsletter-email-wrapper {
  margin-bottom: 0;
}
#footer.newsletter-active #footer-boxes {
  margin-top: 1.5rem;
}
@media (min-width: 992px) {
  #footer.newsletter-active #footer-boxes {
    margin-top: 4rem;
  }
}
#footer .footer-social-media {
  margin-bottom: 0.5rem;
  margin-top: 2rem;
}
#footer .footer-social-media ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-bottom: 0;
}
#footer .productlist-filter-headline {
  border-bottom: 0 solid #666c60;
  font-size: 1.125rem;
  font-weight: 700;
  font-family: "Open Sans-ps", sans-serif;
  padding-bottom: 0;
}
#footer a:not(.btn), #footer .productlist-filter-headline, #footer .newsletter-footer-heading, #footer .btn-outline-primary {
  color: var(--s-text);
}
#footer .btn-outline-primary:hover {
  background-color: #435334;
  color: white;
}
#footer a:not(.btn):hover {
  color: var(--s-accent);
}
#footer .label-slide .form-group:not(.exclude-from-label-slide):not(.checkbox) label {
  /* Theme v2 B2-7: der $body-color-Override existierte, weil der Label-Chip
			   hart weiss war - jetzt folgt der Chip der Footer-Flaeche (base/_forms) und
			   der Text der Flaechen-Textfarbe. Werks-wortgleich: $footer-color =
			   set-text-color(weisser $footer) = $fontPrimaryShaded = $body-color;
			   bei farbigem Footer bewusste Korrektur (lesbar statt Body-Farbe auf Chip). */
  color: var(--s-text, #26420a);
}
#footer .box-categories .dropdown .collapse, #footer .box-linkgroup .dropdown .collapse {
  background: var(--s-bg);
}
#footer .table-striped tr {
  background-color: var(--s-bg);
}
#footer .link-group-item.dropdown {
  cursor: pointer;
}
#footer .link-group-item.dropdown:has(.collapse:not(.show)) {
  /* Theme v2 B2-3: abweichender Legacy-Wert (0.1er-Schwarz statt #e5e5e5) – direkter Fallback bleibt */
  border-bottom: 1px solid var(--niu-footer-main-border, rgba(0, 0, 0, 0.1));
}
@media (max-width: 991.98px) {
  .sidepanel-left {
    margin-top: 1.5rem;
  }
}
@media (min-width: 992px) {
  .sidepanel-left {
    padding-right: 2rem;
  }
}
@media (min-width: 1300px) {
  .sidepanel-left {
    padding-right: 4rem;
  }
}
/*!###ACCOUNT###*/
/* account */
/* downloads */
.download-item {
  padding-right: 0;
  padding-left: 0;
}
.download-item .card-header {
  text-align: left;
  padding: 0.5rem;
  border-top: 1px solid #666c60;
}
.download-main-body {
  padding: 0;
}
/* login */
.register-wrapper {
  margin-bottom: 0.5rem;
  display: block;
}
@media (min-width: 768px) {
  .register-wrapper {
    display: inline-block;
  }
}
.resetpw-wrapper {
  margin-left: 0;
}
@media (min-width: 768px) {
  .resetpw-wrapper {
    margin-left: 1rem;
  }
}
/* uploads */
#uploads {
  margin-top: 1rem;
}
#uploads th, #uploads td {
  text-align: center;
}
/* order-item */
.order-items .order-item .item-detail-list {
  margin-top: 0.5rem;
}
.order-items .order-item .order-item-image-wrapper {
  padding-right: 0.25rem;
}
.order-items .order-item .order-item-image-wrapper img {
  width: 100%;
  object-fit: contain;
}
.order-items .order-items-total {
  margin-left: auto;
  padding-top: 1.5rem;
  padding-bottom: 1rem;
}
.order-items .price-col {
  text-align: right;
  margin-left: auto;
}
/* order-details */
.order-details {
  margin-bottom: 1rem;
}
.order-details .order-details-status {
  text-align: right;
}
@media (min-width: 992px) {
  .order-details .order-details-status {
    text-align: left;
  }
}
.order-details-data > li {
  margin-bottom: 1.5rem;
}
.order-details-data .order-details-data-item {
  color: #808778;
  display: block;
  font-size: 0.8888888889rem;
}
.order-details-date {
  font-size: 1.125rem;
  font-weight: 700;
}
.order-details-date > span {
  margin-right: 0.5rem;
}
/* my-account */
.account-comparelist .card-body {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.account-head-data > div {
  margin-bottom: 2rem;
}
.account-head-data .account-head-data-credit {
  text-align: center;
  font-weight: 700;
  border: 1px solid #435334;
}
.custom-switch {
  margin-left: 0.5rem;
}
.account-orders-item {
  margin-bottom: 1rem;
}
.account-orders-item a {
  text-decoration: none;
}
.account-data-item {
  margin-bottom: 2rem;
}
.shipping-order-modal .shipping-order-modal-mb {
  margin-bottom: 1rem;
}
/* reviews */
.account-feedback {
  margin-bottom: 1rem;
}
/* shipping-adresses */
.shipping-address-form-wrapper {
  margin-bottom: 1rem;
}
div.dataTables_wrapper div.dataTables_filter input[type=search] {
  margin-left: 0;
  width: 100%;
}
.shipping-address-standard-active tr:first-child {
  background-color: #e6e7e4;
}
/* RMA */
.rma-img {
  width: 100%;
  height: auto;
}
.product-thumbnail {
  max-width: 100px;
}
.list-compressed li.list-group-item {
  display: flex;
}
.list-compressed {
  max-height: 50vh;
  overflow-y: auto;
}
#rmaStickyItems.loadingAJAX .rmaItemContainer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.5) 0%, white 100%);
  z-index: 3;
}
#rmaStickyPositions.loadingAJAX::after, #rmaStickyPositions.loadingAJAX::before {
  content: "";
  position: absolute;
  z-index: 4;
  top: 2rem;
  left: 50%;
  width: 64px;
  height: 64px;
  margin-left: -32px;
  border: 8px solid #435334;
  border-radius: 50%;
  border-color: #435334 #435334 transparent transparent;
  animation: ringLoader 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}
#rmaStickyPositions.loadingAJAX::before {
  animation-delay: -0.25s;
}
@keyframes ringLoader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#rma-positions .custom-select {
  min-width: 63px;
}
/*!###BASKET###*/
/* basket */
/* cart-dropdown */
.cart-dropdown .cart-dropdown-total-item {
  color: #808778;
  margin-bottom: 0.5rem;
  font-size: 0.8888888889rem;
}
.cart-dropdown .cart-dropdown-total-item-price {
  float: right;
  white-space: nowrap;
}
.cart-dropdown .cart-dropdown-next {
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .cart-dropdown .cart-dropdown-next {
    margin-bottom: 0;
  }
}
.cart-dropdown .cart-dropdown-buttons {
  margin-top: 1rem;
}
.cart-dropdown .cart-dropdown-empty {
  padding: 0.5rem;
}
.cart-dropdown .dropdown-cart-items img {
  width: 100%;
  height: auto;
}
.cart-dropdown.dropdown-menu.show {
  overflow-y: auto;
  max-height: calc(90vh - 6.8rem);
}
@media (min-width: 992px) {
  .cart-dropdown.dropdown-menu.show {
    max-height: calc(90vh - 6.8rem);
  }
}
/* cart-dropdown-label */
.cart-icon-dropdown .cart-icon-dropdown-price {
  white-space: nowrap;
  display: none;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .cart-icon-dropdown .cart-icon-dropdown-price {
    display: inline-block;
  }
}
.cart-icon-dropdown.not-empty .cart-icon-dropdown-price {
  margin-left: 1rem;
}
@media (min-width: 768px) {
  .cart-icon-dropdown:not(.not-empty) .cart-icon-dropdown-icon {
    margin-right: 1rem;
  }
}
/* index */
.basket .basket-heading {
  margin-bottom: 1rem;
}
.basket .basket-items {
  /* niu removed */
  /*margin-bottom: map-get($spacers, 7);*/
}
.basket .basket-freegift {
  margin-bottom: 3rem;
}
.basket .basket-empty {
  text-align: center;
}
.basket .basket-empty .alert {
  margin-top: 1.5rem;
  padding-top: 0.5rem;
  padding-bottom: 2rem;
}
.basket .basket-summary {
  margin-top: 1.5rem;
}
.basket .basket-summary .basket-summary-total {
  margin-top: 1rem;
  padding-top: 1rem;
  font-size: 1.125rem;
  border-top: 1px solid #666c60;
}
.basket .basket-summary-top {
  margin-top: 2rem;
}
.basket .basket-summary-notice-weight-wrapper {
  margin-top: 0.5rem;
}
.basket #cart-checkout-btn {
  width: 100%;
  margin-top: 1rem;
}
/* cart-items */
.cart-items-header {
  padding-bottom: 1rem;
}
.cart-items-body {
  padding-bottom: 1rem;
}
.cart-items-body .cart-items-image {
  height: 100%;
}
.cart-items-body .cart-items-single-price {
  margin-left: auto;
  /* niu removed */
  /*margin-bottom: map-get($spacers, 3);*/
  /* niu removed */
  /*white-space: nowrap;*/
}
@media (min-width: 1300px) {
  .cart-items-body .cart-items-single-price {
    margin-bottom: 0;
  }
}
.cart-items-body .cart-items-quantity {
  margin-left: auto;
  margin-bottom: 1.5rem;
  text-align: center;
  white-space: nowrap;
}
@media (min-width: 1300px) {
  .cart-items-body .cart-items-quantity {
    margin-bottom: 0;
  }
}
.cart-items-body .cart-items-quantity .configurepos {
  white-space: normal;
}
.cart-items-body .cart-items-price {
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .cart-items-body .cart-items-price {
    margin-left: auto;
  }
}
@media (min-width: 1300px) {
  .cart-items-body .cart-items-price {
    text-align: right;
  }
}
.cart-items-body .cart-items-price-text {
  margin-right: 1rem;
  display: inline-block;
}
@media (min-width: 1300px) {
  .cart-items-body .cart-items-price-text {
    display: none;
  }
}
.cart-items-body .cart-items-delete {
  margin-left: auto;
  margin-top: 1.5rem;
}
.cart-items-body .cart-items-delete .cart-items-delete-button {
  padding: 0;
  text-decoration: underline;
  white-space: nowrap;
}
.cart-items-body .cart-items-delete .cart-items-delete-button > span {
  margin-right: 0.5rem;
}
.cart-items-body .cart-items-name {
  display: block;
  margin-bottom: 1rem;
  /* Theme v2 B2-9a: Produkttitel-Link auf der Warenkorbseite. Gleiche Stelle,
       gleiche Begruendung und gleicher Legacy-Drift wie
       .niu-item-card--title a (_niu_productbox.scss) - heutiger Gewinner ist
       reboot a { color: $link-color }, Ziel ist der Fliesstext der Flaeche.
       :not(:hover) laesst den reboot-Hover unveraendert. */
}
.cart-items-body .cart-items-name:not(:hover) {
  color: var(--s-text, #1a1f14);
}
.cart-items-body .guarantee-label-wrapper {
  margin-bottom: 1rem;
  cursor: pointer;
}
.cart-items-body .guarantee-label-wrapper:after {
  display: none;
}
.item-overflow-notice {
  padding: 0 0.75rem;
}
.item-overflow-notice a {
  text-decoration: underline;
}
.form-control:focus + .input-group-append .input-group-text {
  border-color: #435334;
}
.freegift.not-available-yet {
  opacity: 0.8;
}
.freegift.not-available-yet label {
  cursor: not-allowed;
}
.freegift.not-available-yet label .square, .freegift.not-available-yet label .productbox-image-wrapper, .freegift.not-available-yet label .caption {
  opacity: 0.5;
}
.freegift.not-available-yet label .progress {
  height: 3px;
}
/*!###CONTACT###*/
/* contact */
.contact-form legend {
  border: 0;
}
.contact-form .contact-form-privacy {
  text-align: left;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .contact-form .contact-form-privacy {
    text-align: right;
  }
}
.contact-form .is-top {
  margin-top: 2rem;
}
.contact-form .contact-form-hr {
  margin-bottom: 2rem;
}
/*!###NEWSLETTER###*/
/* newsletter */
.newsletter-content {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.newsletter-subscribe {
  margin-bottom: 5rem;
}
.newsletter-subscribe .newsletter-subscribe-consent {
  margin-top: 0.25rem;
}
.newsletter-unsubscribe {
  margin-top: 1rem;
}
/*!###CHECKOUT###*/
/* checkout */
/* inc-billing-address-form */
.direct-advertising {
  margin-top: -1rem;
  margin-bottom: 1rem;
  color: #808778;
}
/* inc-order-completed */
.order-confirmation-note {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .order-confirmation-note {
    margin-bottom: 2rem;
  }
}
@media (min-width: 768px) {
  .order-confirmation-details {
    margin-bottom: 3rem;
  }
}
/* inc-payment-method */
.checkout-payment-method {
  margin-bottom: 1rem;
}
.checkout-payment-method .checkout-payment-method-badge {
  margin-left: 1rem;
  float: right;
}
.checkout-payment-method .checkout-payment-method-note {
  width: 100%;
  display: block;
}
/* inc-paymentmodules */
.payment-method-inner {
  margin-bottom: 1rem;
}
.checkout-paymentmodules-alert {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .checkout-paymentmodules-alert {
    margin-bottom: 2rem;
  }
}
/* inc-shipping-address */
.checkout-register-shipping-address {
  margin-top: 2rem;
}
/* inc-steps */
.checkout-steps {
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .checkout-steps .badge-pill {
    margin-left: auto;
  }
}
.checkout-steps .step-text {
  margin-left: 1rem;
  margin-right: auto;
}
.checkout-steps .step-check {
  margin-left: 0.25rem;
  margin-right: auto;
  color: #435334;
}
@media (min-width: 768px) {
  .checkout-steps .step-check {
    margin-left: 1rem;
  }
}
/* step0 */
.checkout-existing-customer {
  margin-bottom: 1rem;
}
.checkout-existing-customer .checkout-existing-customer-hr {
  display: block;
}
@media (min-width: 992px) {
  .checkout-existing-customer .checkout-existing-customer-hr {
    display: none;
  }
}
.checkout-existing-customer .checkout-existing-customer-hr > div {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.checkout-register-form {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.checkout-button-row {
  margin-top: 2rem;
}
.checkout-button-row .checkout-register-form-buttons-privacy {
  margin-bottom: 1rem;
  text-align: left;
}
@media (min-width: 768px) {
  .checkout-button-row .checkout-register-form-buttons-privacy {
    text-align: right;
  }
}
@media (min-width: 768px) {
  .checkout-button-row .checkout-button-row-submit {
    margin-left: auto;
  }
}
/* step3 */
.checkout-shipping-form {
  margin-bottom: 2rem;
}
.checkout-shipping-form fieldset {
  margin-bottom: 2rem;
}
.checkout-shipping-form .checkout-shipping-form-change {
  margin-bottom: 1rem;
}
.checkout-shipping-form .checkout-shipping-form-change .checkout-shipping-form-change-icon {
  margin-left: 0.25rem;
}
.checkout-shipping-form .checkout-shipping-form-options {
  margin-bottom: 1rem;
}
.checkout-shipping-form .checkout-shipping-form-options .checkout-shipping-form-options {
  justify-content: space-between;
}
.checkout-shipping-form .checkout-shipping-form-options .checkout-shipping-form-options-specific-cost {
  width: 100%;
  display: block;
}
.checkout-shipping-form .checkout-shipping-form-packaging {
  margin-bottom: 1rem;
}
.checkout-shipping-form .checkout-shipping-form-packaging .checkout-shipping-form-packaging-cost {
  margin-left: 1rem;
  float: right;
  font-weight: 700;
}
.checkout-shipping-form .checkout-shipping-form-packaging .checkout-shipping-form-packaging-desc {
  width: 100%;
  display: block;
}
.button-row-mb {
  margin-bottom: 1rem;
}
/* step4 additonal payment */
.checkout-additional-payment {
  margin-bottom: 1rem;
}
/* step5 */
.checkout-confirmation .card {
  margin-bottom: 1rem;
}
.checkout-confirmation .card .checkout-confirmation-heading {
  margin-bottom: 0;
}
.checkout-confirmation .card .checkout-confirmation-change {
  margin-right: 0.25rem;
  text-decoration: underline;
  display: none;
}
@media (min-width: 768px) {
  .checkout-confirmation .card .checkout-confirmation-change {
    display: inline-block;
  }
}
.checkout-confirmation .checkout-confirmation-comment {
  border: 0;
  padding: 0;
}
.checkout-confirmation .checkout-confirmation-pre-form-hr {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .checkout-confirmation .checkout-confirmation-pre-form-hr {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
.checkout-confirmation .checkout-confirmation-legal-notice {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.checkout-confirmation .checkout-confirmation-items .card-header {
  text-align: right;
  padding: 0;
}
.checkout-confirmation .checkout-confirmation-items .card-body {
  margin-top: 2rem;
}
/* inc-order-items */
.checkout-items-item > div {
  margin-left: auto;
}
.checkout-items-item .checkout-items-item-title {
  margin-right: 1rem;
  display: inline-flex;
}
@media (min-width: 992px) {
  .checkout-items-item .checkout-items-item-title {
    display: none;
  }
}
.checkout-items-item .checkout-items-item-quantity {
  margin-bottom: 0.5rem;
}
@media (min-width: 992px) {
  .checkout-items-item .checkout-items-item-quantity {
    margin-bottom: 0;
    text-align: center;
  }
}
@media (max-width: 767.98px) {
  .checkout-items-item .checkout-items-item-image-wrapper {
    padding-right: 0;
  }
}
.checkout-items-item .checkout-items-item-image-wrapper img {
  width: 100%;
  object-fit: contain;
}
.checkout-items-item .guarantee-label-wrapper {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.checkout-items-total {
  padding-top: 1.5rem;
  padding-bottom: 1rem;
  margin-left: auto;
}
.checkout-items-total .col-auto {
  margin-left: auto;
  text-align: right;
}
.checkout-payment-options {
  margin-bottom: 1rem;
}
/* credit-form */
.credit-form .credit-amount-description {
  margin-bottom: 1.5rem;
  text-align: center;
}
/* shipping-adresses */
.select-shipping-address {
  margin-top: 1rem;
}
.select-shipping-address .dataTables_wrapper {
  border: 1px solid #e6e7e4;
  padding: 1rem;
  margin-bottom: 1.5rem;
}
.select-shipping-address .dataTables_wrapper td:first-child {
  width: 5%;
}
.new-shipping-address {
  border: 1px solid #e6e7e4;
  padding: 1rem;
}
/*!###REGISTER###*/
/* register */
.register-form-account .register-form-account-unreg, .register-form-account .register-form-account-password, .register-form-account .register-form-account-repeat {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .register-form-account .register-form-account-unreg, .register-form-account .register-form-account-password, .register-form-account .register-form-account-repeat {
    margin-bottom: 0;
  }
}
/* customer-login */
.customer-login-buttons {
  margin-bottom: 0;
}
.customer-login-buttons .customer-login-buttons-forgot {
  width: 100%;
  display: block;
  text-decoration: underline;
}
/*!###NIUCOMPONENTS###*/
/*!###NIUAJAXSEARCH###*/
.lds-ellipsis-dzm-niu-ajax-search {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 20px;
  margin: 0 auto;
  padding: 7px 0px;
  /*text-align: center;*/
  /*transform: translateY(25%);*/
}
.lds-ellipsis-dzm-niu-ajax-search div {
  position: absolute;
  /*top: 33px;*/
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis-dzm-niu-ajax-search div:nth-child(1) {
  left: 8px;
  animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis-dzm-niu-ajax-search div:nth-child(2) {
  left: 8px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis-dzm-niu-ajax-search div:nth-child(3) {
  left: 32px;
  animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis-dzm-niu-ajax-search div:nth-child(4) {
  left: 56px;
  animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes lds-ellipsis3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
@keyframes lds-ellipsis2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(24px, 0);
  }
}
/*!###NIUMAIN###*/
/* Quickbuy */
.dzm-itembox-quickbuy-trigger-wrapper {
  z-index: 99;
}
.dzm-itembox-quickbuy-trigger-wrapper .dzm-itembox-quickbuy-trigger-btn {
  background-color: var(--niu-btn-quickbuy, #435334);
  color: var(--niu-btn-quickbuy-text, white);
  border-radius: var(--niu-radius-quickbuy, var(--niu-radius-control, 3px));
}
.dzm-itembox-quickbuy-trigger-wrapper.dzm-quickbuy--is-permanent, .dzm-itembox-quickbuy-trigger-wrapper.dzm-quickbuy--is-permanent-icon {
  bottom: 0;
  right: 0;
  width: 2rem;
  height: 2rem;
  transition: width 0.2s ease;
}
/* Quickbuy Permanent */
.dzm-quickbuy--is-permanent .dzm-itembox-quickbuy-trigger-text {
  opacity: 0;
  width: 0.01rem;
  height: 0.01rem;
  pointer-events: none;
}
.dzm-quickbuy--is-permanent .dzm-itembox-quickbuy-trigger-btn {
  height: 100%;
  padding-top: 4px;
  padding-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dzm-quickbuy--is-permanent:hover, .dzm-quickbuy--is-permanent.expanded {
  width: 100%;
}
.dzm-quickbuy--is-permanent:hover .dzm-itembox-quickbuy-trigger-btn, .dzm-quickbuy--is-permanent.expanded .dzm-itembox-quickbuy-trigger-btn {
  width: 100%;
}
.dzm-quickbuy--is-permanent:hover .dzm-itembox-quickbuy-trigger-text, .dzm-quickbuy--is-permanent.expanded .dzm-itembox-quickbuy-trigger-text {
  opacity: 1;
  transition: opacity 0.3s ease;
  position: relative;
  width: 100%;
  height: unset;
  color: white;
  margin-left: 5px;
}
.dzm-quickbuy--is-permanent:hover .dzm-itembox-quickbuy-trigger-btn svg, .dzm-quickbuy--is-permanent.expanded .dzm-itembox-quickbuy-trigger-btn svg {
  margin-right: 3px;
}
/* Quickbuy via hover */
.dzm-itembox-quickbuy-trigger-wrapper {
  bottom: 0;
  right: 0;
  width: 100%;
}
.dzm-quickbuy--is-hover .dzm-itembox-quickbuy-trigger-btn {
  transform: translateY(100%);
  overflow: hidden;
  transition: transform 0.1s ease, opacity 1s ease;
  z-index: 9;
  opacity: 0;
}
.productbox-image:hover .dzm-quickbuy--is-hover .dzm-itembox-quickbuy-trigger-btn {
  transform: translateY(0);
  transition: transform 0.3s ease, opacity 0.9s ease;
  opacity: 1;
}
/* Quickbuy mobile */
.dzm-quickbuy--is-mobile.dzm-itembox-quickbuy-trigger-wrapper {
  bottom: 0;
  right: 0;
}
.dzm-quickbuy--is-mobile .dzm-itembox-quickbuy-trigger-btn {
  padding: 4px;
  height: 2rem;
  width: 2rem;
}
/*body.niu-body-backdroped{
  height: 100vh;
  overflow: hidden;
}*/
.niu-popup-container {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100vw;
  height: 100%;
  display: none;
  z-index: 9000;
}
.niu-popup-container.show {
  display: block;
}
.niu-backdrop {
  display: none;
  position: fixed;
  z-index: 9001;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  transition: all 0.3s ease-in-out;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  opacity: 0;
}
.niu-backdrop.show {
  display: block;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  /*filter: brightness(90%);*/
  opacity: 1;
}
/* possible fix for backdrop glitch with scrollbar */
/*html:has(.niu-backdrop.show) {
  padding-right:0 !important;
}*/
.niu-loading-spinner-container {
  position: absolute;
  z-index: 10000;
  backdrop-filter: blur(5px);
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}
.niu-loading-canvas {
  position: relative;
}
.lds-ripple {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}
.lds-ripple div {
  position: absolute;
  border: 4px solid black;
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
  animation-delay: -0.5s;
}
@keyframes lds-ripple {
  0% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  4.9% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  5% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 0px;
    left: 0px;
    width: 72px;
    height: 72px;
    opacity: 0;
  }
}
[data-niu-loading-spinner="false"] {
  display: none;
}
/* Theme v2 S2-A-Feedback (Audit Nr. 60): Shorthand-Eckenfalle. $alert-border-radius
   ist seit S2-A2 der Basis-Token; ein Familien-Token darf laut Kontrakt ein bis
   VIER Laengen tragen. In einer Eckenliste eingesetzt ergibt ein mehrwertiger
   Token (Basis z. B. `4px 16px`) mehr als vier Werte - die Deklaration ist dann
   invalid at computed-value time und faellt komplett aus, nicht auf den
   vorherigen Kaskadengewinner zurueck.
   Muster wie beim Newsletterfeld (d220207c): Token als GANZEN Radius setzen,
   danach nur die Anschlussecken per Langform auf 0. Bleibt fuer jeden erlaubten
   Token gueltig. Gerundet ist wie bisher die linke Seite. */
.niu-alert-icon {
  border-radius: var(--niu-radius, 0.125rem);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  color: #ffffff;
}
.niu-alert-icon-danger {
  background-color: #C0274C;
}
.niu-alert-icon-warning {
  background-color: #DAAA4E;
}
.niu-alert-icon-success {
  background-color: #02A067;
}
.niu-alert-icon-info {
  background-color: #025A7F;
}
.alert .close {
  position: absolute;
  top: 3px;
  right: 10px;
  font-weight: 200;
  font-size: 1.3rem;
}
#maintenance-mode {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  text-align: center;
  width: fit-content;
  border-radius: var(--niu-radius, 0.125rem);
  z-index: 9999;
  background-color: #fb0d46;
  box-shadow: 0 0 30px 0 #9c1737;
  padding: 1rem 1.5rem;
  color: #ffffff;
  text-align: center;
  font-size: 0.875rem;
  border: none;
}
#maintenance-mode .close {
  display: none;
}
#maintenance-mode .maintenance-btn {
  border: 1px solid #ffffff;
  color: #ffffff;
  font-size: 0.875rem;
  padding: 4px 12px;
  border-radius: var(--niu-radius, 0.125rem);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#maintenance-mode .maintenance-btn:hover {
  background-color: #ffffff;
  color: #C0274C;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
#sidepanel_left .box:not([class*="box-filter-"]), #niu-content-filter-panel:not([class*="box-filter-"]) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
#sidepanel_left .box .dropdown-toggle::after, #sidepanel_left .box :not(.navbar-toggler)[data-toggle="collapse"]::after, #sidepanel_left .box :not(.navbar-toggler)[data-toggle="collapse"]::after, #niu-content-filter-panel .dropdown-toggle::after, #niu-content-filter-panel :not(.navbar-toggler)[data-toggle="collapse"]::after, #niu-content-filter-panel :not(.navbar-toggler)[data-toggle="collapse"]::after {
  content: "" !important;
  font-family: bootstrap-icons !important;
  font-weight: 400;
}
#sidepanel_left .box .dropdown-toggle[aria-expanded="true"]::after, #sidepanel_left .box :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after, #sidepanel_left .box :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after, #niu-content-filter-panel .dropdown-toggle[aria-expanded="true"]::after, #niu-content-filter-panel :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after, #niu-content-filter-panel :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after {
  content: "" !important;
  font-family: bootstrap-icons !important;
  font-weight: 400;
}
#sidepanel_left .box:last-child, #niu-content-filter-panel:last-child {
  border-bottom: none;
}
@media screen and (max-width: 767px) {
  #sidepanel_left .box, #niu-content-filter-panel {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
  }
}
#sidepanel_left .box .productlist-filter-headline, #niu-content-filter-panel .productlist-filter-headline {
  border-bottom: none;
  font-size: 1.3rem;
  font-weight: bolder;
  margin-bottom: 0.8rem;
}
#sidepanel_left .box .productlist-filter-headline i::before, #niu-content-filter-panel .productlist-filter-headline i::before {
  display: none;
}
#sidepanel_left .box .productbox-title, #niu-content-filter-panel .productbox-title {
  font-size: 0.9rem;
  font-weight: normal;
}
#sidepanel_left .box .price.h4, #niu-content-filter-panel .price.h4 {
  font-weight: normal !important;
  font-size: 0.75rem;
}
#sidepanel_left .box .hr-no-top, #niu-content-filter-panel .hr-no-top {
  display: none;
}
#sidepanel_left .box a:not(.btn), #niu-content-filter-panel a:not(.btn) {
  color: #26420a;
}
#sidepanel_left .box a:not(.btn):hover, #niu-content-filter-panel a:not(.btn):hover {
  color: #435334;
}
#sidepanel_left .box-normal-link {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
  font-size: 1.3rem;
  font-weight: bolder;
}
.niu-blink-success::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #02A067;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  z-index: 1;
  pointer-events: none;
}
/* Das Häkchen */
.niu-blink-success::after {
  content: "";
  /* Das Häkchen */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  color: white;
  font-size: 2rem;
  opacity: 0;
  z-index: 2;
  transition: opacity 0.5s ease-in-out;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
/* Klasse, die die Überblendung startet */
.niu-blink-success::before {
  opacity: 0;
}
.niu-blink-success::after {
  opacity: 0;
}
/* Nach 1 Sekunde verschwindet die Überblendung */
@keyframes niu_blink {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.niu-blink-success::before, .niu-blink-success::after {
  animation: niu_blink 2s forwards;
  /* 1 Sekunde Animation mit 1 Sekunde Verzögerung */
}
.niu_mod_inherit_color {
  color: inherit !important;
}
/* Theme v2 S2-A2: Marker-Familie, wortgleicher Fallback (Kartierung K6 -
   die Marker-Familie hatte vier verschiedene harte Werte). */
.niu-badge {
  display: inline-flex;
  font-size: 0.55rem;
  padding: 1px 4px;
  border-radius: var(--niu-radius-marker, 2px);
  position: absolute;
  top: 0;
  right: 0;
}
.niu-badge.niu-badge-danger {
  background-color: #C0274C;
  color: white;
}
.niu-badge.niu-badge-warning {
  background-color: #DAAA4E;
  color: white;
}
.niu-badge.niu-badge-info {
  background-color: #025A7F;
  color: white;
}
.niu-badge.niu-badge-success {
  background-color: #02A067;
  color: white;
}
.niu-badge.niu-badge-outline-danger {
  color: #C0274C;
  border: 1px solid #C0274C;
}
.niu-badge.niu-badge-outline-warning {
  color: #DAAA4E;
  border: 1px solid #DAAA4E;
}
.niu-badge.niu-badge-outline-info {
  color: #025A7F;
  border: 1px solid #025A7F;
}
.niu-badge.niu-badge-outline-success {
  color: #02A067;
  border: 1px solid #02A067;
}
/*region scroll-more */
.niu-scroll-more-wrapper {
  position: relative;
}
.niu-scroll-more-container {
  scrollbar-width: none;
  overflow-y: auto;
}
.niu-scroll-more-container:hover {
  scrollbar-width: thin;
  overflow-y: auto;
}
.niu-scroll-more-indicator {
  position: absolute;
  /* oder fixed, je nachdem */
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  /* Höhe des Verlaufes */
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 10px;
  cursor: pointer;
}
.niu-scroll-more-indicator::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fafafa 100%);
  opacity: 1;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
/* Inhalt – die eigentliche Animation laeuft auf dem Inner-Element via Transition.
   Sichtbar = translateY(0) + opacity 1, hidden = translateY(-8px) + opacity 0.
   Wird ueber die .hidden-Klasse am Parent gesteuert (siehe unten). */
.niu-scroll-more-indicator-inner {
  text-align: center;
  transform: translateY(0);
  opacity: 1;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.niu-scroll-more-indicator .label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  opacity: 0.85;
}
.niu-scroll-more-indicator .chevron {
  display: block;
  font-size: 24px;
  line-height: 1;
  color: #000;
  margin-top: -4px;
  opacity: 0.85;
}
/* Wenn versteckt (per JS nach Scroll): Inner-Element nach oben transformieren
   und ausfaden. pointer-events am Parent aus, damit der unsichtbare Indikator
   keine Klicks/Touches im darunter liegenden Cart-Bereich abfaengt. */
.niu-scroll-more-indicator.hidden {
  pointer-events: none;
}
.niu-scroll-more-indicator.hidden::before {
  opacity: 0;
}
.niu-scroll-more-indicator.hidden .niu-scroll-more-indicator-inner {
  transform: translateY(-8px);
  opacity: 0;
}
/*endregion scroll-more*/
/*!###NIUCOMPONENTS###*/
.niu-csv-importer__icon {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  flex-shrink: 0;
  background: #fafafa;
  border-radius: var(--niu-radius-input, 3px);
  color: #26420a;
}
.niu-csv-importer__label {
  display: block;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #808778;
  margin-bottom: 0.3rem;
  font-weight: 500;
}
.niu-csv-importer__file-input {
  width: 100%;
  background: #fafafa;
  border: 1px dashed #c0c3bc;
  border-radius: var(--niu-radius-input, 3px);
  font-size: 0.8125rem;
  padding: 0.375rem 0.625rem;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}
.niu-csv-importer__file-input:hover {
  background: #f2f2f2;
  border-color: #999f93;
}
.niu-csv-importer__stat {
  background: #fafafa;
  border: 1px solid #e6e7e4;
  border-radius: var(--niu-radius-input, 3px);
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  transition: all 0.2s ease-in-out;
}
.niu-csv-importer__stat:hover {
  border-color: #999f93;
}
.niu-csv-importer__stat-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #808778;
  font-weight: 500;
}
.niu-csv-importer__stat-value {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}
.niu-csv-importer__table td:first-child {
  color: #808778;
  font-size: 0.75rem;
  width: 3.5rem;
  font-family: "SF Mono", "Cascadia Code", "Fira Code", monospace;
}
.niu-csv-importer__table td:nth-child(2) {
  font-family: "SF Mono", "Cascadia Code", "Fira Code", monospace;
  font-weight: 500;
}
.niu-csv-importer__table td:nth-child(3) {
  font-family: "SF Mono", "Cascadia Code", "Fira Code", monospace;
  width: 4rem;
  text-align: center;
}
.niu-csv-importer__table td:last-child {
  color: #C0274C;
}
body.niu-theme2 .niu-csv-importer__icon {
  background: var(--s-hover);
  color: var(--s-text);
}
body.niu-theme2 .niu-csv-importer__label, body.niu-theme2 .niu-csv-importer__stat-label {
  color: var(--s-text-muted);
}
body.niu-theme2 .niu-csv-importer__file-input {
  background: var(--s-hover);
  border-color: var(--s-input-border);
  color: var(--s-input-text);
}
body.niu-theme2 .niu-csv-importer__file-input:hover {
  background: var(--s-hover);
  border-color: var(--s-input-border);
}
body.niu-theme2 .niu-csv-importer__stat {
  background: var(--s-hover);
  border-color: var(--s-border);
}
body.niu-theme2 .niu-csv-importer__stat:hover {
  border-color: var(--s-border);
}
body.niu-theme2 .niu-csv-importer__table td:first-child {
  color: var(--s-text-muted);
}
.dzm-cg-upload__zone {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-bottom: 0;
  padding: 0.75rem 0.875rem;
  background: #fafafa;
  border: 1px dashed #c0c3bc;
  border-radius: var(--niu-radius-input, 3px);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.dzm-cg-upload__zone:hover {
  background: #f2f2f2;
  border-color: #435334;
}
.dzm-cg-upload__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.dzm-cg-upload__input:focus-visible ~ .dzm-cg-upload__text {
  text-decoration: underline;
}
.dzm-cg-upload__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  font-size: 1.125rem;
  background: white;
  border-radius: var(--niu-radius-input, 3px);
  color: #26420a;
}
.dzm-cg-upload__text {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.dzm-cg-upload__title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #26420a;
}
.dzm-cg-upload__required {
  color: #C0274C;
}
.dzm-cg-upload__hint {
  font-size: 0.75rem;
  line-height: 1.3;
  color: #808778;
}
.dzm-cg-upload--disabled .dzm-cg-upload__zone {
  cursor: not-allowed;
  opacity: 0.55;
}
.dzm-cg-upload--disabled .dzm-cg-upload__zone:hover {
  background: #fafafa;
  border-color: #c0c3bc;
}
.dzm-cg-upload__list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.dzm-cg-upload__list:not(:empty) {
  margin-top: 0.5rem;
}
.dzm-cg-upload__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.5rem 0.375rem 0.625rem;
  background: white;
  border: 1px solid #e6e7e4;
  border-radius: var(--niu-radius-input, 3px);
  font-size: 0.8125rem;
  transition: border-color 0.2s ease-in-out;
}
.dzm-cg-upload__item:hover {
  border-color: #999f93;
}
.dzm-cg-upload__item-icon {
  flex-shrink: 0;
  color: #808778;
}
.dzm-cg-upload__item-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dzm-cg-upload__item-size {
  flex-shrink: 0;
  font-size: 0.75rem;
  color: #808778;
}
.dzm-cg-upload__item-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  font-size: 0.6875rem;
  line-height: 1;
  color: #808778;
  background: transparent;
  border: 0;
  border-radius: var(--niu-radius-input, 3px);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.dzm-cg-upload__item-remove:hover {
  color: #C0274C;
  background: #fafafa;
}
.dzm-cg-upload__error:not(.d-none) {
  margin-top: 0.5rem;
}
body.niu-theme2 .dzm-cg-upload__zone {
  background: var(--s-hover);
  border-color: var(--s-input-border);
}
body.niu-theme2 .dzm-cg-upload__zone:hover {
  background: var(--s-hover);
}
body.niu-theme2 .dzm-cg-upload--disabled .dzm-cg-upload__zone:hover {
  background: var(--s-hover);
  border-color: var(--s-input-border);
}
body.niu-theme2 .dzm-cg-upload__icon {
  background: var(--s-input-bg);
  color: var(--s-text);
}
body.niu-theme2 .dzm-cg-upload__title {
  color: var(--s-text);
}
body.niu-theme2 .dzm-cg-upload__hint, body.niu-theme2 .dzm-cg-upload__item-icon, body.niu-theme2 .dzm-cg-upload__item-size {
  color: var(--s-text-muted);
}
body.niu-theme2 .dzm-cg-upload__item-remove:not(:hover) {
  color: var(--s-text-muted);
}
body.niu-theme2 .dzm-cg-upload__item {
  background: var(--s-input-bg);
  border-color: var(--s-border);
}
body.niu-theme2 .dzm-cg-upload__item:hover {
  border-color: var(--s-border);
}
body.niu-theme2 .dzm-cg-upload__item-remove:hover {
  background: var(--s-hover);
}
.table th, .table td {
  border-color: #808778;
  vertical-align: middle;
  border-top: 0;
}
.table thead th {
  border-bottom: 1px solid #666c60;
}
td.attr-characteristic {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}
.table-striped tbody tr:nth-of-type(even) {
  background-color: rgba(241, 241, 247, 0.5);
}
.table-hover tbody tr {
  transition: background-color 0.1s ease;
}
.table-hover tbody tr:hover {
  background-color: #f2f2f2;
  transition: background-color 0.2s ease;
}
.splide {
  width: 100%;
}
section.splide {
  padding: 1rem 0 2.5rem 0;
}
.niu-slider-card .productbox-inner {
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.04);
}
.niu-slider-card .productbox-inner .niu-productbox-caption {
  padding: 1rem;
}
.niu-slider-bordered {
  border-left: 1px solid #e0e0e0;
}
.niu-slider-bordered.is-active {
  border-left: 1px solid transparent !important;
}
.niu-slider-bordered .product-wrapper {
  padding-left: 2rem;
}
/* Schattenraum im Slider-Track.

   Splide setzt auf dem Track `overflow: hidden` (splide.min.css). Karten mit
   Ruheschatten malen ohne Versatz rundum – `box-shadow: 0 0 1rem 0` – und werden
   deshalb an der Track-Kante gekappt. Sichtbar an allen Slidern mit Schatten-Karten:
   Unterkategorien-Slider, Produkt-Slider, PDP „Passende Artikel".

   Das Padding schafft den Raum innerhalb der Clip-Box, das gleich große negative
   Margin nimmt ihn dem Layout wieder weg – der Slider bleibt exakt so hoch wie
   vorher, nur ohne Beschnitt. Muster und Token stammen aus dem Checkout
   (_niu_checkout.scss, Schattenraum der Warenkorbpositionen).

   NUR die Block-Achse: links und rechts setzt Splide `paddingLeft`/`paddingRight`
   inline aus der JS-Konfiguration (niu.slider.js:392) – ein Padding von hier würde
   dort stillschweigend überschrieben oder mit den Mobil-Rändern kollidieren.

   Beide Kartenstil-Familien sind gegated, weil es zwei verschiedene Klassen für
   „Schattierte Karte" gibt: Familie A `niu-card-style--shadow` hängt an den
   Unterkategorie-Karten, Familie B `niu-itembox-option--has-shadow` an den
   Produktboxen. Ohne beide bliebe je eine Slider-Sorte beschnitten.

   Null-effekt-sicher: ohne Schatten-Karte im Track greift der :has()-Scope nicht,
   und ohne Theme-Token ergibt der Fallback 1rem exakt den Wert, den die
   auskommentierte Vorgängerzeile an dieser Stelle vorgesehen hatte. */
.splide__track:has(.niu-itembox-option--has-shadow, .niu-card-style--shadow) {
  padding-block: var(--niu-card-shadow-room, 1rem);
  margin-block: calc(-1 * var(--niu-card-shadow-room, 1rem));
}
/* Der Slider-Wrapper muss dabei ein eigener Block-Formatting-Context sein.
   Das `overflow: hidden` des Tracks kapselt nur dessen Kinder – die eigenen
   negativen Block-Margins des Tracks grenzen weiterhin an `.splide` an und würden
   ohne diesen Guard nach außen durchkollabieren. Der Slider rutschte dann um den
   Schattenraum nach oben, statt an seinem Platz zu bleiben. Gleiche Ursache und
   gleiche Lösung wie beim Scroll-More-Wrapper im Checkout.

   Gleicher :has()-Scope wie oben: ohne Schatten-Karte trägt der Track keine
   Margins, die kollabieren könnten. */
.splide:has(.niu-itembox-option--has-shadow, .niu-card-style--shadow) {
  display: flow-root;
}
.niu-slider-headline {
  margin-bottom: unset;
}
.niu-slider .splide__pagination__page {
  border-radius: 3px;
  height: 6px;
  width: 10px !important;
  transition: all 0.5s ease-in-out;
}
.niu-slider .splide__pagination__page.is-active {
  width: 25px !important;
  transform: unset;
  transition: all 0.5s ease-in-out;
}
.niu-slider.is-overflow .splide__track {
  margin-left: unset;
  margin-right: unset;
}
.splide__arrow {
  align-items: center;
  background: #ffffff80;
  border: 0;
  border-radius: unset;
  cursor: pointer;
  display: -ms-flexbox;
  display: flex;
  height: 4em;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 1;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.75rem;
  z-index: 1;
}
.splide__arrow svg {
  color: #545454;
}
.splide__arrow:hover:not(:disabled) {
  opacity: 1;
}
/*
--------
PRODUCT GALLERY
--------
*/
#niu-product-splide, #niu-product-splide-box {
  cursor: zoom-in;
}
article.niu-product-item-article {
  height: 100%;
}
.niu-productbox-vote-variations {
  font-size: 0.8888888889rem;
  color: #808778;
  height: 1.3333333333rem;
  display: grid;
  grid-template-columns: 1fr auto;
}
.productbox-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  height: 1lh;
  overflow: hidden;
  word-break: break-word;
}
.productbox-row .productbox-title {
  height: unset;
}
.niu-productbox-short-desc {
  font-size: 0.8888888889rem;
  line-height: 1.5;
  height: 2lh;
  overflow: hidden;
  color: #808778;
}
.niu-productbox-stock {
  font-size: 0.8888888889rem;
}
.niu-productbox-delivery-info {
  color: #808778;
  font-size: 0.8888888889rem;
}
.productbox-inner .productbox-price {
  font-family: "Open Sans-ps", sans-serif;
}
.niu-productbox-suggested-price-wrapper {
  color: #808778;
  font-size: 0.8888888889rem !important;
  height: 1.3333333333rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.niu-productbox-suggested-price-wrapper .yousave {
  display: flex;
  justify-content: end;
}
.niu-productbox-price-label {
  display: inline-block;
}
.niu-productbox-price-label-ribbon {
  background: #435334;
  display: inline-block;
  color: white;
  padding: 0 10px;
  border-radius: var(--niu-radius-marker, 5px);
}
[data-niu-sidebar-productpreview-trigger] {
  cursor: pointer;
}
/*
#QUICK BUY TRIGGER
 */
/* .niu-quickbuy-trigger wurde am 2026-08-21 entfernt (Audit Nr. 96).
   Die Klasse kam in keinem Markup vor - weder in templates/ noch in plugins/
   noch dynamisch aus JavaScript; der lebende Sofortkauf sitzt als
   .dzm-itembox-quickbuy-trigger-wrapper im Bildbereich. Die Regeln waren
   damit tot, hatten aber eine teure Nebenwirkung: Ihr Kommentar behauptete
   eine "zweite Quickbuy-Implementierung", und diese Erzaehlung hat sich
   fortgepflanzt - S2-A hat die Leiche an die Radius-Familie gehaengt, und
   S2-C3 hat mit ihr die Polsterung begruendet. Toter Code, der etwas
   behauptet, ist teurer als toter Code, der schweigt. */
/* NIU ITEMBOX STYLES & OPTIONS */
/* itembox style = modern */
.niu-itembox-style-modern .productbox-price {
  font-weight: 800;
  font-size: 1.4rem;
}
.niu-itembox-style-modern .productbox-title {
  font-weight: 400;
  font-size: 1rem;
}
.niu-itembox-style-modern .delivery-status {
  font-weight: 400;
  font-size: 0.85rem !important;
}
.niu-itembox-style-modern .niu-productbox-delivery-info {
  font-weight: 400;
  font-size: 0.85rem !important;
}
.niu-itembox-style-modern .niu-productbox-delivery-info .text-xs {
  font-weight: 400;
  font-size: 0.85rem !important;
}
@media screen and (max-width: 991px) {
  .niu-itembox-style-modern .productbox-price {
    font-size: 1.2rem;
  }
  .niu-itembox-style-modern .productbox-price .first-range-price {
    font-size: 1rem;
  }
  .second-range-price {
    font-size: 1rem;
  }
}
/* itembox style = flat */
.niu-itembox-style-flat .productbox-price {
  font-weight: 400;
  font-size: 0.95rem;
}
.niu-itembox-style-flat .productbox-title {
  font-weight: 400;
  font-size: 1rem;
}
.niu-itembox-style-flat .delivery-status {
  font-weight: 400;
  font-size: 0.8rem !important;
}
.niu-itembox-style-modern .niu-productbox-delivery-info {
  font-weight: 400;
  font-size: 0.8rem !important;
}
.niu-itembox-style-flat .niu-productbox-delivery-info .text-xs, .niu-itembox-style-flat .productbox-price .first-range-price, .niu-itembox-style-flat .pricestarting {
  font-weight: 400;
  font-size: 0.8rem !important;
}
/* itembox option = as card */
/* Theme v2 S2-C (Audit Nr. 68): --is-card/--has-shadow/--has-border sind die
   ZWEITE Karten-Familie neben .niu-card-style--* und konsumieren die
   Radius-Familie „card" - aber erst unter body.niu-theme2 (Abschnitt 61 in
   _niu_theme2_rules.scss). Hier bleibt es beim Legacy-Zustand „kein Radius".
   Die is-checkout-Wrapper sind dort ausgenommen (B2-3-Linie: keine
   Karten-Farbwelt, also auch nicht ihre Geometrie).
   Wichtig fuer die konzentrische Kachel: die Kartenpolsterung direkt darunter
   ist der reale Abstand Kachel<->Kartenrand und geht als Einzug in die
   Ableitung --niu-card-media-radius ein (deriveCardMediaRadius in
   deriveTokens.js, dzm_niuplus_companion). Seit S2-C3 steht die Zahl nicht
   mehr allein hier: der Betreiber kann sie ueber den Polsterungs-Regler
   drehen, die Engine reicht den Skalar in die Ableitung durch, und
   CARD_TILE_INSET_PX = 20 ist dort nur noch die WERKS-Auffuellung fuer den
   Fall, dass nichts eingestellt ist. Wer den Fallback dieser Zeilen aendert,
   muss die Konstante dort mitziehen. */
.niu-itembox-option--is-card {
  /* Theme v2 B2-3: card-Surface-Root (§3c). :where() hält die Spezifität auf
     (0,1,0); der :not()-Ausschluss setzt die B2-3-Entscheidung um: is-checkout-
     Wrapper (checkout.niu-TPLs tragen die itemBoxStyle-Klasse zusätzlich zur
     hartkodierten --has-border) sind KEINE Roots – sie definieren keine --s-*
     und bekommen weder bg noch color aus der Kartenwelt. */
  /*&::before {
    background-color: #fafafa !important;
    content:'';
    top: 0;
    left: 0;
    right: 0;
    position: absolute;
    height: 100%;
  }*/
  /* Theme v2 B2-2 (Phase-B2-Spec §2c): Kachel-Eigenschaften genau EINMAL pro
     Box – auf dem first-wrapper (in item_box/item_list immer vorhanden, auch
     bei Einzelbild). Vorher trafen sie alle drei .productbox-image-Ebenen
     (äußerer Wrapper + first-wrapper + absolut überlagernder second-wrapper):
     bei gesetztem --niu-card-media-bg wurde der second-wrapper deckend und
     verdeckte das erste Bild → Leerkachel bei Produkten mit zwei Bildern.
     background-color statt background-Shorthand (verbindlich ab B2). */
  /* Theme v2 S2-A2: Kachel-Radius-Kette (Kontrakt aus S2-A1). Der
     Element-Override --niu-card-media-radius behaelt Vorrang, dahinter greift
     die Medien-Familie, ganz hinten steht der wortgleiche Legacy-Wert. */
  /* Hover-Overlay des Bildwechsels bleibt explizit durchsichtig – beim Hover
     deckt das eingeblendete img.second die Kachel selbst ab. */
  /* Theme v2 B2-9a (Geometrie-Korrektur zu B2-2): --niu-card-media-pad wirkt
     als INSET der Bildflaeche, nicht mehr als padding am Wrapper.

     Befund (Christians Screenshot: verschobene Bilder in den Boxen; im
     Dark-Preset emittiert die Engine --niu-card-media-bg #ffffff und
     --niu-card-media-pad 0.5rem, hell dagegen 0 – deshalb nur im Dark
     sichtbar). Ursache ist das DOM-Modell der Bildkachel:

       .productbox-image.square.square-image.first-wrapper   position: relative
         > .inner                                            position: absolute,
                                                             width/height: 100 %,
                                                             OHNE top/left

     Fuer ein absolut positioniertes Kind ist der Containing Block die
     PADDING-Box des Wrappers – width/height 100 % ergaben also weiterhin die
     volle Kachelbreite. Weil top/left auf `auto` stehen, greift zusaetzlich die
     statische Position, und die liegt in der CONTENT-Box, also um das padding
     verschoben. Ergebnis: das Bild rutschte um genau media-pad nach
     rechts/unten und ragte um denselben Betrag ueber die Kachel hinaus –
     waehrend der absolut ueberlagernde .second-wrapper (kein padding) exakt bei
     0/0 sass. Daher der Versatz zwischen Erst- und Hover-Bild und der schiefe
     Sitz auf der weissen Kachel.

     Die Aussengeometrie war nie betroffen: .square::before traegt
     padding-bottom 100 % der Content-Breite (W - 2*pad), plus 2*pad padding
     ergibt wieder W – die Box blieb quadratisch. Ribbon und Quickbuy-Trigger
     liegen im AEUSSEREN .productbox-image.mb-2 und damit ohnehin ausserhalb
     der Kachel (TPL-geprueft, item_box.tpl:89-150) – ihre Position aendert
     sich weder vorher noch nachher.

     Fix: padding raus, stattdessen beide .inner um media-pad einruecken. Das
     ist der Effekt, den die Kachel meint (Bild sitzt mit Rand auf der
     Flaeche), und er gilt fuer Erst- UND Hover-Bild identisch.

     Null-Effekt hell: media-pad ist 0, damit inset: 0 + width/height auto ==
     die heutige Kombination width/height 100 % an der statischen Position 0/0
     (der Wrapper hat ohne padding Content- == Padding-Box). Das entfallende
     `padding: var(--niu-card-media-pad, 0)` war ebenfalls 0 und hat keinen
     Konkurrenten – kein anderes Regelwerk setzt padding auf .productbox-image
     (Kompilat-geprueft).

     Spezifitaet (0,4,0) schlaegt .square-image .inner (0,2,0, main-Entry);
     der inline gesetzte border-radius am .inner bleibt unberuehrt. */
  /* Blend auf den Bildern statt den Wrappern: multiply rechnet aktiv gegen die
     Kachel, ohne theme2 wie bisher gegen den Karten-Hintergrund – rechnerisch
     identisch, da alle Wrapper transparent sind (multiply gegen transparenten
     Backdrop = Identität; Ergebnis in beiden Fällen Bild × Karten-Bg). */
}
.niu-itembox-option--is-card:where(:not(.niu-item-card--is-checkout)) {
  --s-bg: var(--niu-card-bg, #fafafa);
  --s-text: var(--niu-card-text, inherit);
  --s-text-muted: var(--niu-card-text-muted, #808778);
  --s-heading: var(--niu-card-heading, #1a2b08);
  --s-accent: var(--niu-card-accent, #1a1f14);
  --s-border: var(--niu-card-border, #e6e7e4);
  --s-hover: var(--niu-card-hover, #fafafa);
  --s-shadow: var(--niu-card-shadow, #ededed);
  --s-input-bg: var(--niu-card-input-bg, white);
  --s-input-text: var(--niu-card-input-text, #26420a);
  --s-input-border: var(--niu-card-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-card-input-placeholder, #808778);
  --s-input-focus: var(--niu-card-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-card-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-card-accent-text, var(--s-bg));
  background-color: var(--s-bg);
  color: var(--s-text);
}
.niu-itembox-option--is-card.productbox-inner {
  /* Theme v2 S2-C3: Polsterung aus dem Token, wortgleiche
       Quell-Konvertierung. --niu-card-pad-item ist MEHRWERTIG (die Engine
       komponiert „S S S+20px" und rechnet die Addition selbst).

       ZUM UNTEREN MEHRSTREIFEN: Er stand hier bis 2026-08-21 als Freiraum des
       .niu-quickbuy-trigger erklaert. Das ist falsch - die Klasse existiert in
       keinem Markup (Audit Nr. 96, Regeln entfernt). Am Live-DOM gemessen
       sitzt der lebende Sofortkauf in .productbox-image, 183px ueber der
       Unterkante der Padding-Box, also NICHT im unteren Polster. Der Wert
       20px 20px 40px ist Legacy und hier wortgleich konvertiert; warum die
       Unterkante mehr Polster traegt, ist damit offen und keine
       Geometrie-Notwendigkeit dieses Knopfes.
       Deshalb darf dieses Token NIE in ein CSS-calc() geraten: mehrwertig
       wuerde die Deklaration ungueltig (Arbeitsregeln, calc()-Token-Falle).
       Ohne Einstellung existiert das Token nicht, der Fallback ist exakt der
       bisherige Wert. */
  padding: var(--niu-card-pad-item, 20px 20px 40px);
}
.niu-itembox-option--is-card .productbox-image.first-wrapper {
  background-color: var(--niu-card-media-bg, transparent);
  border-radius: var(--niu-card-media-radius, var(--niu-radius-media, 6px));
}
.niu-itembox-option--is-card .productbox-image.second-wrapper {
  background-color: transparent;
}
.niu-itembox-option--is-card .productbox-image.first-wrapper > .inner, .niu-itembox-option--is-card .productbox-image.second-wrapper > .inner {
  inset: var(--niu-card-media-pad, 0);
  width: auto;
  height: auto;
}
.niu-itembox-option--is-card .productbox-image.first-wrapper img, .niu-itembox-option--is-card .productbox-image.second-wrapper img {
  mix-blend-mode: var(--niu-card-img-blend, multiply);
}
/* itembox option = as shadow */
/* Theme v2 B2-3: card-Root (malt nur Schatten – bg bleibt wie in B-2 ungemalt,
   §3d: die malenden Umstellungen bleiben bestehen, Roots setzen zusätzlich
   das Var-Set). productbox-inner kommt in den checkout.niu-Wrappern nicht vor,
   ein is-checkout-Ausschluss ist hier nicht nötig. */
.niu-itembox-option--has-shadow {
  /* bare :hover trifft auch Elemente ohne Root-Definition (z. B. is-checkout-
     Wrapper mit itemBoxStyle=has-shadow) – Fallback bleibt deshalb direkt.

     Theme v2 S2-C2a-H: Hover-GEOMETRIE aus dem Token, wortgleiche
     Quell-Konvertierung wie bei den Ruheschatten (S2-C2a). Vier Instanzen
     tragen diesen Wert, alle in dieser Datei, alle hier umgestellt.

     Die FARBQUELLE bleibt an allen vieren das direkte --niu-card-shadow und
     wird NICHT auf --s-shadow gezogen. Zwei Gruende, beide bekannt:
     (a) der Satz eine Zeile darueber – der bare :hover trifft Elemente ohne
         card-Root, die haetten die Rolle gar nicht;
     (b) --s-shadow ist unterhalb von body nie guaranteed-invalid, weil
         clean_crit.scss das Rollenset ungegatet an der page-Root setzt
         (--s-shadow: var(--niu-page-shadow, transparent)). Ein
         var(--s-shadow, #ededed) erreicht seinen Fallback also nie; der
         Legacy-Wert waere transparent – das Gegenteil von wertgleich.
         (Arbeitsregeln §3, Transparent-Anker; Praezedenz Audit Nr. 91.)

     Das Mapping bleibt Bestand: Karten ohne Hover-Regel bekommen hier keine
     (.niu-card-style--shadow hat weiterhin keinen Hover), und die beiden
     Ruecknahmen auf `none` (Checkout-Zweig, Rahmen-Variante) bleiben stehen. */
}
.niu-itembox-option--has-shadow.productbox-inner {
  /* S2-C3, Begruendung am --is-card-Zwilling weiter oben. */
  padding: var(--niu-card-pad-item, 20px 20px 40px);
  --s-bg: var(--niu-card-bg, transparent);
  --s-text: var(--niu-card-text, inherit);
  --s-text-muted: var(--niu-card-text-muted, #808778);
  --s-heading: var(--niu-card-heading, #1a2b08);
  --s-accent: var(--niu-card-accent, #1a1f14);
  --s-border: var(--niu-card-border, #e6e7e4);
  --s-hover: var(--niu-card-hover, #fafafa);
  --s-shadow: var(--niu-card-shadow, #ededed);
  --s-input-bg: var(--niu-card-input-bg, white);
  --s-input-text: var(--niu-card-input-text, #26420a);
  --s-input-border: var(--niu-card-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-card-input-placeholder, #808778);
  --s-input-focus: var(--niu-card-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-card-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-card-accent-text, var(--s-bg));
  /* Theme v2 S2-C2a: Geometrie aus dem Token, Farbquelle unveraendert
       (Rolle). Wortgleiche Quell-Konvertierung - die Zeile steht ungegatet
       und liest die Rolle bereits; ohne Einstellung existiert das Token
       nicht und der Fallback ist der bisherige Wert. HOVER unangetastet. */
  box-shadow: var(--niu-card-shadow-geo, 0 0 1rem 0) var(--s-shadow);
  transition: box-shadow 0.2s ease;
}
.niu-itembox-option--has-shadow:hover {
  box-shadow: var(--niu-card-shadow-hover-geo, 0 10px 30px 0) var(--niu-card-shadow, #ededed);
  transition: box-shadow 0.4s ease;
}
.niu-itembox-option--has-shadow::before {
  background-color: #fff !important;
}
/* itembox option = as border */
/* Theme v2 B2-3: card-Root (malt nur Rahmen, s. o.). */
.niu-itembox-option--has-border {
  /* bare :hover: Fallback bleibt direkt (s. --has-shadow). S2-C2a-H: Geometrie
     aus dem Token, Farbquelle unangetastet – Begruendung ebenfalls dort.
     Achtung, hier faellt es besonders auf: dieser Stil hat KEINEN Ruheschatten,
     der Hover ist seine einzige Schatten-Instanz. Genau deshalb hat er einen
     eigenen Regler bekommen und haengt nicht am Ruhe-Token. */
}
.niu-itembox-option--has-border.productbox-inner {
  /* S2-C3, Begruendung am --is-card-Zwilling weiter oben. */
  padding: var(--niu-card-pad-item, 20px 20px 40px);
  --s-bg: var(--niu-card-bg, transparent);
  --s-text: var(--niu-card-text, inherit);
  --s-text-muted: var(--niu-card-text-muted, #808778);
  --s-heading: var(--niu-card-heading, #1a2b08);
  --s-accent: var(--niu-card-accent, #1a1f14);
  --s-border: var(--niu-card-border, #e6e7e4);
  --s-hover: var(--niu-card-hover, #fafafa);
  --s-shadow: var(--niu-card-shadow, #ededed);
  --s-input-bg: var(--niu-card-input-bg, white);
  --s-input-text: var(--niu-card-input-text, #26420a);
  --s-input-border: var(--niu-card-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-card-input-placeholder, #808778);
  --s-input-focus: var(--niu-card-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-card-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-card-accent-text, var(--s-bg));
  border: 1px solid var(--s-border);
  box-shadow: none;
}
.niu-itembox-option--has-border:hover {
  box-shadow: var(--niu-card-shadow-hover-geo, 0 10px 30px 0) var(--niu-card-shadow, #ededed);
  transition: box-shadow 0.4s ease;
}
.niu-itembox-option--has-border::before {
  background-color: #fff !important;
}
/* itembox option = padded (ohne Rahmen, mit Polsterung) */
/* Theme v2 S2-C3: der sechste Kartenstil-Wert, Familie B. Zwilling von
   `.niu-card-style--padded` in _niu_bootstrap.scss - dort steht die
   ausfuehrliche Begruendung, hier nur, was fuer diese Familie eigen ist.

   NUR POLSTERUNG, kein Surface-Root, keine Flaeche, kein Rahmen, kein
   Schatten. Der Inhalt liest damit die Rollen der SEITE. Genau deshalb nennen
   die Abschnitte 61, 63, 64 und 66 in _niu_theme2_rules.scss diese Klasse
   bewusst NICHT: kein Karten-Radius (es gibt keine sichtbare Kontur zu
   runden), kein gescopeter Fokusring (er nutzt weiter die Basis, wie bei
   `--no-card`), keine Karten-Flaeche, keine Karten-Medienkachel. Wer die
   Deko abwaehlt, waehlt sie ganz ab - er behaelt allein die Geometrie.

   WARUM HIER DAS TOKEN STEHT UND AM `.niu-item-card`-ZWEIG NICHT: Der REGLER
   von S2-C3 wirkt bewusst nur auf Familie A und den productbox-Zweig
   (Entscheid F3). Die Sidebar-, Warenkorb- und Checkout-Karten holen ihre
   Polsterung an 16 von 18 Renderstellen ohnehin aus einer `p-3`-Utility mit
   `!important`, und die verbliebenen zwei brauchen zwei Breakpoints, die ein
   Build-Zeit-Token nicht bedienen kann. Diese Reichweitengrenze faellt erst
   mit dem Folgepaket „alle Karten" (erst die Utilities herausguarden, dann
   polstern).
   Der WERT `padded` ist davon unberuehrt: er ist auch an den Slots der
   anderen Familie waehlbar und bekommt dort eine eigene, harte
   Werks-Polsterung, wortgleich zur „Einfachen Karte" desselben Zweigs
   (`.niu-item-card.niu-itembox-option--padded` weiter unten in dieser Datei).
   Sonst waere ausgerechnet der Anti-Sprung-Wert der einzige, der springt.

   Ungegatet bei den Geschwistern aus demselben Grund wie in Familie A: die
   Klasse existiert im Markup nur nach Auswahl, es gibt nichts zu
   neutralisieren. */
.niu-itembox-option--padded.productbox-inner {
  padding: var(--niu-card-pad-item, 20px 20px 40px);
}
/******
NIU ITEM CARD
 ******/
.niu-item-card {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  /* Theme v2 B2-3 (is-checkout-Entscheidung, DOM-verifiziert 2026-08-10):
     Die checkout.niu-Wrapper tragen `niu-item-card niu-item-card--is-checkout
     {itemBoxStyle} niu-itembox-option--has-border` – sie matchen diese Regeln,
     ihre Fläche ist aber transparent (Override weiter unten). Deshalb sind die
     Box-Aspekte (padding/border/shadow/hover) hier von den Surface-Aspekten
     (--s-*-Definitionen, bg, color) getrennt: Surface nur ohne --is-checkout
     (:where() hält die Spezifität konstant auf (0,2,0)). border/shadow behalten
     direkte Token-Fallbacks, weil sie auch auf is-checkout-Wrappern gelten. */
  /* Theme v2 S2-C3: die lokale Werks-Polsterung des sechsten Kartenstil-Werts
     in DIESER Familie - wortgleich zu der der „Einfachen Karte" direkt
     darunter (1rem, mobil 0.5rem).

     WAS DAS NICHT IST: eine Erweiterung der Regler-Reichweite. Entscheid F3
     steht unveraendert - der Polsterungs-REGLER erreicht den
     Sidebar-/Warenkorb-/Checkout-Zweig weiterhin nicht, und deshalb steht
     hier auch KEIN var(--niu-card-pad-*), sondern die harte Zahl. Der Zweig
     haengt an zwei Breakpoints, die ein Build-Zeit-Token nicht bedienen kann,
     und ist an 16 von 18 Renderstellen ohnehin per p-3 ueberstimmt.

     WAS ES IST: der Rollen-Kontrakt (Arbeitsregeln §6) fuer den neuen Wert.
     `padded` ist ueberall dort waehlbar, wo die Stil-Bindung greift - also
     auch an den Sidebar- und Checkout-Slots. Ohne diese Regel bekaeme er dort
     gar keine Polsterung, und ausgerechnet der Wert, der GEGEN Layout-Spruenge
     erfunden wurde, waere der einzige, der springt. Er reproduziert deshalb an
     jeder Stelle die dortige Polsterungs-Realitaet.

     Abwesenheits-kompatibel wie sein Zwilling am productbox-Zweig: die Klasse
     existiert im Markup nur nach Auswahl, im Baseline-Diff steht sie als reine
     Ergaenzung. Kein Surface-Root, keine Flaeche, keine Medien-Kachel - die
     Abgrenzung des Werts gilt hier wie ueberall. */
}
.niu-item-card.niu-itembox-option--has-border {
  padding: 1rem;
  border: 1px solid var(--niu-card-border, #e6e7e4);
  /* S2-C2a-H: Geometrie aus dem Token, Farbquelle unangetastet
       (Begruendung am --has-shadow-Hover weiter oben in dieser Datei). */
}
@media (max-width: 767px) {
  .niu-item-card.niu-itembox-option--has-border {
    padding: 0.5rem;
  }
}
.niu-item-card.niu-itembox-option--has-border:where(:not(.niu-item-card--is-checkout)) {
  --s-bg: var(--niu-card-bg, #fff);
  --s-text: var(--niu-card-text, inherit);
  --s-text-muted: var(--niu-card-text-muted, #808778);
  --s-heading: var(--niu-card-heading, #1a2b08);
  --s-accent: var(--niu-card-accent, #1a1f14);
  --s-border: var(--niu-card-border, #e6e7e4);
  --s-hover: var(--niu-card-hover, #fafafa);
  --s-shadow: var(--niu-card-shadow, #ededed);
  --s-input-bg: var(--niu-card-input-bg, white);
  --s-input-text: var(--niu-card-input-text, #26420a);
  --s-input-border: var(--niu-card-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-card-input-placeholder, #808778);
  --s-input-focus: var(--niu-card-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-card-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-card-accent-text, var(--s-bg));
  background-color: var(--s-bg);
  color: var(--s-text);
}
.niu-item-card.niu-itembox-option--has-border:hover {
  box-shadow: var(--niu-card-shadow-hover-geo, 0 10px 30px 0) var(--niu-card-shadow, #ededed);
  transition: box-shadow 0.4s ease;
}
.niu-item-card.niu-itembox-option--has-shadow {
  padding: 1rem;
  /* Theme v2 S2-C2a: Geometrie aus dem Token. Die FARBQUELLE bleibt hier
       bewusst das direkte --niu-card-shadow statt der Rolle - der Grund steht
       am :hover derselben Familie (Elemente ohne Root-Definition). Dieses
       Paket tauscht nur die Geometrie und darf die gemischte Farbherkunft
       (Kartierung §2.1, Beobachtung 3) weder aufloesen noch verschlechtern. */
  box-shadow: var(--niu-card-shadow-geo, 0 0 1rem 0) var(--niu-card-shadow, #ededed);
  transition: box-shadow 0.2s ease;
  /* S2-C2a-H: Geometrie aus dem Token, Farbquelle unangetastet
       (Begruendung am --has-shadow-Hover weiter oben in dieser Datei). */
}
@media (max-width: 767px) {
  .niu-item-card.niu-itembox-option--has-shadow {
    padding: 0.5rem;
  }
}
.niu-item-card.niu-itembox-option--has-shadow:where(:not(.niu-item-card--is-checkout)) {
  --s-bg: var(--niu-card-bg, #fff);
  --s-text: var(--niu-card-text, inherit);
  --s-text-muted: var(--niu-card-text-muted, #808778);
  --s-heading: var(--niu-card-heading, #1a2b08);
  --s-accent: var(--niu-card-accent, #1a1f14);
  --s-border: var(--niu-card-border, #e6e7e4);
  --s-hover: var(--niu-card-hover, #fafafa);
  --s-shadow: var(--niu-card-shadow, #ededed);
  --s-input-bg: var(--niu-card-input-bg, white);
  --s-input-text: var(--niu-card-input-text, #26420a);
  --s-input-border: var(--niu-card-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-card-input-placeholder, #808778);
  --s-input-focus: var(--niu-card-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-card-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-card-accent-text, var(--s-bg));
  background-color: var(--s-bg);
  color: var(--s-text);
}
.niu-item-card.niu-itembox-option--has-shadow:hover {
  box-shadow: var(--niu-card-shadow-hover-geo, 0 10px 30px 0) var(--niu-card-shadow, #ededed);
  transition: box-shadow 0.4s ease;
}
.niu-item-card.niu-itembox-option--padded {
  padding: 1rem;
}
@media (max-width: 767px) {
  .niu-item-card.niu-itembox-option--padded {
    padding: 0.5rem;
  }
}
.niu-item-card.niu-itembox-option--is-card {
  padding: 1rem;
  /* Theme v2 B2-2 (§2c): background-color statt background-Shorthand; Blend
       auf dem img statt dem Wrapper (einziges Kind, kein Galerie-Stacking –
       rechnerisch identisch zum bisherigen Wrapper-Blend). */
}
@media (max-width: 767px) {
  .niu-item-card.niu-itembox-option--is-card {
    padding: 0.5rem;
  }
}
.niu-item-card.niu-itembox-option--is-card:where(:not(.niu-item-card--is-checkout)) {
  --s-bg: var(--niu-card-bg, #fafafa);
  --s-text: var(--niu-card-text, inherit);
  --s-text-muted: var(--niu-card-text-muted, #808778);
  --s-heading: var(--niu-card-heading, #1a2b08);
  --s-accent: var(--niu-card-accent, #1a1f14);
  --s-border: var(--niu-card-border, #e6e7e4);
  --s-hover: var(--niu-card-hover, #fafafa);
  --s-shadow: var(--niu-card-shadow, #ededed);
  --s-input-bg: var(--niu-card-input-bg, white);
  --s-input-text: var(--niu-card-input-text, #26420a);
  --s-input-border: var(--niu-card-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-card-input-placeholder, #808778);
  --s-input-focus: var(--niu-card-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-card-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-card-accent-text, var(--s-bg));
  background-color: var(--s-bg);
  color: var(--s-text);
}
.niu-item-card.niu-itembox-option--is-card .niu-item-card--image {
  background-color: var(--niu-card-media-bg, transparent);
  padding: var(--niu-card-media-pad, 0);
  /* Fallback 4px statt 6px: wortgleicher Gewinner-Wert der bestehenden Regel
         .niu-item-card--image { border-radius: 4px } weiter unten – Null-Effekt
         ohne aktives theme2 (die first-wrapper-Stelle oben hat keinen
         Konkurrenten und behält ihre 6px, B-6b).
         Theme v2 S2-A2: Medien-Familie zwischen Element-Override und Legacy. */
  border-radius: var(--niu-card-media-radius, var(--niu-radius-media, 4px));
}
.niu-item-card.niu-itembox-option--is-card .niu-item-card--image img {
  mix-blend-mode: var(--niu-card-img-blend, multiply);
}
.niu-item-card--content {
  display: flex;
  gap: 0.5rem;
}
.niu-item-card--inner-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.niu-item-card--details-row {
  /* Theme v2 B2-4: bleibt direkter Token-Read - Legacy-Anker #e5e5e5 weicht
       vom card-Root-Anker ($gray-lighter) ab und die Regel gilt auch in
       is-checkout-Wrappern (kein Root, kein --s-*). */
  border-top: 1px solid var(--niu-card-border, #e5e5e5);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 0.5rem;
}
.niu-item-card--image {
  flex: 0 0 65px;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.niu-item-card--image img {
  width: 65px;
  aspect-ratio: 1;
  object-fit: contain;
}
.niu-item-card--title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  line-height: 1.3;
  /* Theme v2 B2-9a: Produkttitel in Item-/Cart-Karten (Warenkorb-Sidebar,
       Listen-Karten, Checkout-Warenkorb-Dropdown). Heutiger Gewinner ist die
       reboot-Regel a { color: $link-color } (0,0,1) - auf dunklen Karten
       rgb(0,51,48) und damit unlesbar.

       Ziel-Token ist --s-text und nicht --s-accent: Produkttitel sind in
       diesem Theme bewusst Fliesstext, nicht Linkfarbe. Das ist keine neue
       Entscheidung, sondern die des Grid-Pendants .productbox-title > a
       (_niu_category.scss, seit b0c41de7 hart $body-color, seit B2-4 auf
       --s-text) - beide Layouts zeigen dasselbe Element und muessen gleich
       aussehen.

       Legacy-Drift (bewusst, dokumentiert): --s-text loest ueber die
       Root-Ketten auf $body-color rgb(10,66,61) auf, heute steht hier
       $link-color rgb(0,51,48). Beide sind dasselbe sehr dunkle Teal, der
       Unterschied ist auf hellem Grund nicht wahrnehmbar; der var()-Fallback
       traegt weiterhin den heutigen Gewinner. Der Drift kauft die
       Layout-Konsistenz mit dem Grid.

       :not(:hover) wie beim Breadcrumb: (0,1,1) haette sonst die frueher
       stehende reboot-Regel a:hover mitgeschlagen. */
}
.niu-item-card--title a:not(:hover) {
  color: var(--s-text, #1a1f14);
}
.niu-item-card--body {
  display: flex;
  justify-content: space-between;
  align-items: end;
}
/* niu item card changes for checkout and cart view */
/*checkout view*/
/* Theme v2 B2-3: is-checkout-Wrapper sind KEINE Surface-Roots (Entscheidung nach
   DOM-Verifikation 2026-08-10): keine --s-*-Definitionen, kein bg/color aus der
   Kartenwelt. Die Karten-bg/color-Regeln oben schließen sie per :where(:not())
   aus; die früher token-gebundenen bg-Werte hier sind auf ihre Legacy-Werte
   zurückgebaut (wortgleiches Kompilat im Legacy-Fall, im Aktiv-Fall folgt der
   Wrapper bewusst keiner Karten-Farbwelt mehr). color erbt damit vom
   nächstgelegenen Surface: auf der Checkout-Seite von der page (body-Root),
   innerhalb einer echten Karte von deren Root. */
.niu-item-card.niu-item-card--is-checkout.niu-itembox-option--has-border {
  background-color: transparent;
  transition: border-color 0.2s ease;
}
.niu-item-card.niu-item-card--is-checkout.niu-itembox-option--has-border:hover {
  box-shadow: none;
  border-color: #cccfc9;
  transition: border-color 0.3s ease;
}
.niu-item-card.niu-item-card--is-checkout .niu-item-card--image {
  /* Theme v2 B2-4 (Review-Punkt aus B2-3): is-checkout folgt keiner
       Karten-Farbwelt (kein Root) - Token-Read zurueckgebaut, fester
       Legacy-Wert wie die bg-Werte oben. */
  border: 1px solid #e5e5e5;
}
.niu-item-card.niu-item-card--is-checkout .niu-item-card--content {
  gap: 1rem;
}
.niu-item-card.niu-item-card--is-checkout.niu-itembox-option--has-shadow {
  /* Legacy-Kompensation: vor B2-3 kam das Weiß aus der (jetzt per :not()
       ausgeschlossenen) Karten-Regel .niu-item-card.niu-itembox-option--has-shadow. */
  background-color: #fff;
}
.niu-item-card.niu-item-card--is-checkout.niu-itembox-option--is-card {
  padding: 1rem;
  background-color: whitesmoke;
  /* Rückbau B-2-Token (war var(--niu-card-bg, …)): fester Legacy-Wert. */
}
/*cart view*/
/* Ribbons */
.productbox-ribbon.ribbon {
  left: 0;
  top: 0;
}
.productbox-inner::before {
  content: "";
  background-color: transparent !important;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  transition: all 0.2s ease-in-out;
}
/* Item list style: card */
.niu-item-list-card-image {
  min-width: 48px;
  max-width: 84px;
}
.niu-item-list-card-title {
  font-size: 0.95rem;
}
@media (max-width: 767.98px) {
  .niu-item-list-card-title {
    font-size: 0.75rem;
  }
}
.decrease.niu-btn-xs {
  border: 1px solid #e5e5e5;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.quantity-input {
  text-align: center;
  height: 2rem;
  line-height: 2rem;
  border-right: 1px solid #e5e5e5;
  border-left: 1px solid #e5e5e5;
  border-bottom: 0;
  border-top: 0;
  background-color: transparent;
}
/* Buttons ausblenden */
.quantity-input::-webkit-outer-spin-button, .quantity-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity-input {
  -moz-appearance: textfield;
}
.niu-content-box {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  border: 2px solid;
  margin: 25px 0;
  padding: 25px;
}
.niu-content-box > p {
  font-size: 1.265625rem;
  font-weight: 600;
  margin-bottom: 0;
}
.niu-content-box-icon {
  font-size: 140px;
  line-height: 140px;
  position: absolute;
  top: -25%;
  right: 15%;
  opacity: 0.1;
  margin: -15px 0 0 0;
}
.niu-content-card {
  box-shadow: 0 0 30px 0 rgba(58, 58, 58, 0.08);
  border-radius: 3px;
}
/* Anteil der Statusfarbe an Flaeche, Rand und Text.

   Die Flaeche braucht je Modus einen eigenen Wert: Auf Weiss wirkt schon wenig
   Farbe kraeftig, auf dunklem Grund geht sie unter. Deshalb hell 4%, dunkel 8%.

   Rand und Text sind modusunabhaengig, weil sie ohnehin gegen die Rollen der
   Surface gerechnet werden und sich damit selbst mitdrehen.

   Der Textwert ist gemessen, nicht geraten: Bei 50% liegt der schwaechste
   Zustand (Warnung, helles Gold) bei 5,12:1 im hellen und Info bei 4,56:1 im
   dunklen Modus - beide ueber WCAG AA fuer Fliesstext. 55% sahen kraeftiger
   aus, druecken Gold aber auf 4,47:1 und damit darunter. */
.niu-toast-container {
  position: fixed;
  z-index: 9999;
  display: flex;
  gap: 0.5rem;
  pointer-events: none;
}
.niu-toast-container.top-right {
  top: 1rem;
  right: 1rem;
  left: 1rem;
  flex-direction: column;
  align-items: flex-end;
}
.niu-toast-container.top-left {
  top: 1rem;
  left: 1rem;
  right: 1rem;
  flex-direction: column;
  align-items: flex-start;
}
.niu-toast-container.bottom-right {
  bottom: 1rem;
  right: 1rem;
  left: 1rem;
  flex-direction: column-reverse;
  align-items: flex-end;
}
.niu-toast-container.bottom-left {
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  flex-direction: column-reverse;
  align-items: flex-start;
}
.niu-toast {
  pointer-events: auto;
  min-width: 260px;
  max-width: 420px;
  /* Theme v2 B2-3/B2-4: overlay-Surface-Root (§3c). Die Toast-Innenteile
     (__action/__progress, BEM-Kinder, im DOM immer innerhalb des Toasts)
     lesen seit B2-4 die lokalen Vars (Anker der Root-Map wortgleich:
     hover=.12er-Weiss, accent=.85er-Schwarz, border=.3er-Weiss). Direkt
     bleibt nur der .5er-Focus-Ring (Zustands-Overlay, abweichender Wert ->
     Phase C); --niu-toast-duration ist kein Surface-Token (Laufzeit-Parameter
     des Toast-JS). */
  --s-bg: var(--niu-overlay-bg, white);
  --s-text: var(--niu-overlay-text, inherit);
  --s-text-muted: var(--niu-overlay-text-muted, #808778);
  --s-heading: var(--niu-overlay-heading, #1a2b08);
  --s-accent: var(--niu-overlay-accent, rgba(0, 0, 0, 0.85));
  --s-border: var(--niu-overlay-border, rgba(255, 255, 255, 0.3));
  --s-hover: var(--niu-overlay-hover, rgba(255, 255, 255, 0.12));
  --s-shadow: var(--niu-overlay-shadow, rgba(0, 0, 0, 0.25));
  --s-input-bg: var(--niu-overlay-input-bg, white);
  --s-input-text: var(--niu-overlay-input-text, #26420a);
  --s-input-border: var(--niu-overlay-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-overlay-input-placeholder, #808778);
  --s-input-focus: var(--niu-overlay-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-overlay-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-overlay-accent-text, var(--s-bg));
  background: var(--s-bg);
  color: var(--s-text);
  padding: 0.875rem 1rem;
  /* Theme v2 S2-A2: Overlay-Panel, Karten-Familie, wortgleicher Fallback. */
  border-radius: var(--niu-radius-card, 0.75rem);
  box-shadow: 0 10px 30px var(--s-shadow);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  outline: none;
  position: relative;
  overflow: hidden;
}
.niu-toast.show {
  opacity: 1;
  transform: translateY(0);
}
.niu-toast.fade-out {
  opacity: 0;
  transform: translateY(8px);
}
/* Statusdarstellung.

   Bis 08/2026 trug jeder Zustand einen 4px-Vollrahmen in der Statusfarbe plus
   einen in derselben Farbe eingefaerbten Schatten. Das liess die Farbe die
   Meldung dominieren und wirkte schwer; ausserdem umging es den Schatten der
   Overlay-Surface, den die Basis oben bereits setzt.

   Jetzt tragen Flaeche und Text die Farbe - dezent abgeleitet statt als
   Rahmen. Der Schatten bleibt neutral aus --s-shadow (kein Override mehr
   noetig).

   Gerechnet wird gegen die Rollen der Surface, nicht gegen feste Werte. Das
   traegt in beiden Modi ohne zweite Regel: --s-text ist im Light-Modus dunkel
   (die Statusfarbe wird also abgedunkelt) und im Dark-Modus hell (sie wird
   aufgehellt). Die Lesbarkeit korrigiert sich damit von selbst mit dem Theme.

   Faellt color-mix aus (aeltere Browser), greifen die Werte der Basis weiter
   oben - unbunte Flaeche, unbunter Text. Kein zusaetzlicher Fallback noetig.

   Die Farbe wird zusaetzlich als --niu-toast-status weitergereicht, damit der
   Fortschrittsbalken sie aufnimmt. Quelle bleiben die Companion-Variablen;
   hier steht bewusst kein fester Farbwert. */
/* Der Flaechenanteil steckt als Variable im Toast, damit der Moduswechsel EINE
   Regel braucht statt fuenf. color-mix nimmt den Prozentwert aus var()
   entgegen - gegengeprueft, das Ergebnis ist identisch zum Literal. */
.niu-toast {
  --niu-toast-tint: 4%;
}
[data-theme="dark"] .niu-toast {
  --niu-toast-tint: 8%;
}
.niu-toast.niu-note {
  --niu-toast-status: #435334;
  background: color-mix(in srgb, #435334 var(--niu-toast-tint), var(--s-bg));
  border: 1px solid color-mix(in srgb, #435334 15%, var(--s-bg));
  color: color-mix(in srgb, #435334 50%, var(--s-text));
}
.niu-toast.niu-success {
  --niu-toast-status: #02A067;
  background: color-mix(in srgb, #02A067 var(--niu-toast-tint), var(--s-bg));
  border: 1px solid color-mix(in srgb, #02A067 15%, var(--s-bg));
  color: color-mix(in srgb, #02A067 50%, var(--s-text));
}
.niu-toast.niu-warn {
  --niu-toast-status: #DAAA4E;
  background: color-mix(in srgb, #DAAA4E var(--niu-toast-tint), var(--s-bg));
  border: 1px solid color-mix(in srgb, #DAAA4E 15%, var(--s-bg));
  color: color-mix(in srgb, #DAAA4E 50%, var(--s-text));
}
.niu-toast.niu-error {
  --niu-toast-status: #C0274C;
  background: color-mix(in srgb, #C0274C var(--niu-toast-tint), var(--s-bg));
  border: 1px solid color-mix(in srgb, #C0274C 15%, var(--s-bg));
  color: color-mix(in srgb, #C0274C 50%, var(--s-text));
}
.niu-toast.niu-info {
  --niu-toast-status: #025A7F;
  background: color-mix(in srgb, #025A7F var(--niu-toast-tint), var(--s-bg));
  border: 1px solid color-mix(in srgb, #025A7F 15%, var(--s-bg));
  color: color-mix(in srgb, #025A7F 50%, var(--s-text));
}
.niu-toast__actions {
  margin-top: 0.5rem;
  display: flex;
  gap: 0.5rem;
}
/* Theme v2 S2-A-Nachzug (Audit Nr. 58): Der Toast selbst ist ein Overlay und
   gehoert damit zur card-Familie - der Knopf DARIN ist ein Bedienelement und
   folgt der control-Familie. Die Familie richtet sich nach der Funktion des
   Elements, nicht nach der seines Containers. Fallback wortgleich. */
.niu-toast__action {
  background: var(--s-hover);
  border: none;
  padding: 0.375rem 0.625rem;
  border-radius: var(--niu-radius-control, 0.5rem);
  cursor: pointer;
}
/* Theme v2 C1 (Inventar F14): der Ring las bisher --niu-overlay-border. Die
   Rolle war zwar schon token-basiert, aber die falsche - eine Trennlinie ist
   per Ableitung schwach (gemessen 1,60:1 gegen die Overlay-Flaeche) und taugt
   nicht als Fokusindikator. Umgebunden auf die Fokusrolle derselben Flaeche.

   Direkter Token-Read statt --s-input-focus, weil diese Regel NICHT unter der
   Aktivierungsklasse steht: --s-input-focus traegt an jeder Root den
   Legacy-Anker $primary, das waere ohne Theme v2 ein sichtbarer Wechsel von
   halbtransparentem Weiss auf Dunkelgruen. Der var()-Fallback bleibt deshalb
   wortgleich der bisherige und die Regel ist im Legacy-Fall byte-identisch. */
.niu-toast__action:focus {
  outline: 2px solid var(--niu-overlay-input-focus, rgba(255, 255, 255, 0.5));
  outline-offset: 2px;
}
.niu-toast__close {
  position: absolute;
  top: 0.15rem;
  right: 0.15rem;
  background: transparent;
  border: 0;
  color: inherit;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.8;
}
.niu-toast__close:hover {
  opacity: 1;
}
/* Progress bar; animates width over --niu-toast-duration unless reduced motion */
.niu-toast__progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--s-border);
  overflow: hidden;
}
.niu-toast__progress::before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  transform: translateX(-100%);
}
/* Nimmt die Statusfarbe auf, falls eine gesetzt ist. Der Fallback auf
   --s-accent haelt Toasts ohne Zustandsklasse unveraendert. */
.niu-toast__progress.run::before {
  animation: niu-toast-progress var(--niu-toast-duration) linear forwards;
  background: var(--niu-toast-status, var(--s-accent));
}
@keyframes niu-toast-progress {
  to {
    transform: translateX(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .niu-toast {
    transition: none;
    transform: none;
  }
  .niu-toast__progress, .niu-toast__progress::before {
    display: none;
  }
}
.niu-cart-actions {
  display: flex;
  position: absolute;
  z-index: 1;
}
.niu-cart-actions__vertical {
  display: flex;
  z-index: 1;
  flex-direction: column-reverse;
}
.niu-cart-action__input {
  box-shadow: none;
  border-color: #e5e5e5;
  border-style: solid;
  width: 2rem;
  height: 2rem;
  text-align: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
  z-index: 2;
}
.niu-cart-action__input::-webkit-outer-spin-button, .niu-cart-action__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.niu-cart-actions .niu-cart-action__input {
  border-left-width: 1px;
  border-right-width: 0;
  border-top-width: 1px;
  border-bottom-width: 1px;
  transform: translateX(100%);
  opacity: 0;
}
.niu-cart-actions__vertical .niu-cart-action__input {
  border-left-width: 1px;
  border-right-width: 1px;
  border-top-width: 0;
  border-bottom-width: 1px;
  transform: translateY(-100%);
  opacity: 0;
}
.niu-cart-actions.expanded .niu-cart-action__input {
  transform: translateX(0);
  opacity: 1;
}
.niu-cart-actions__vertical.expanded .niu-cart-action__input {
  transform: translateY(0);
  opacity: 1;
}
.niu-cart-action__prepend {
  background: white;
  border-color: #e5e5e5;
  border-style: solid;
  z-index: 1;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
/* Theme v2 S2-A-Feedback (Runde 3): der Minus-Knopf folgt derselben Kette wie
   der Sofortkauf-Knopf, gespiegelt.

   Runde 2 hat .niu-cart-action__append an die Quickbuy-Kette gebunden und den
   Minus-Knopf bewusst als Bedienelement stehen lassen ("Familie folgt der
   Funktion des Elements"). In der Gruppe ergibt das eine unsymmetrische Form:
   gemessen mit Quickbuy 3px 16px gegen Control 16px 4px trug der Minus-Knopf
   links 16px/4px, der Sofortkauf-Knopf rechts 16px/3px - zwei verschiedene
   Aussenradien an einem zusammenhaengenden Bedienelement.

   Christians Entscheidung: die Mengenleiste ist EIN Element und wird als eines
   geformt. Der Minus-Knopf bekommt deshalb wortgleich dieselbe Kette. Weil die
   Anschlussecken schon auf 0 stehen, liest die Gruppe danach als ein Knopf mit
   dem Quickbuy-Radius: aussen links die linken Ecken des Tokens, aussen rechts
   die rechten, die Fuge dazwischen flach.

   Der Token wird als GANZER Radius gesetzt und erst danach werden die
   Anschlussecken per Langform genullt - das Muster aus d220207c. Ein Token in
   eine Eckenliste zu setzen waere ungueltig, sobald er mehrwertig ist.
   Deshalb steht die Shorthand hier IN der Regel, die ohnehin nullt: innerhalb
   eines Blocks gewinnt die spaetere Langform, damit haengt das Ergebnis nicht
   an der Dokumentposition.

   Spezifitaet steigt wie beim Schwester-Fix von (0,1,0) auf (0,2,0) - die
   bisherige Quelle ist Bootstraps .btn, also Gleichstand, und die steht je
   nach Slice vor oder nach diesem Partial. Die Ausklapp-Regeln liegen bei
   (0,3,0) und behalten ihre Ecken-Nullungen.

   Fallback wortgleich zu $buttonRadius: ohne Theme-Tokens 3px 0 0 3px, exakt
   der bisherige Wert. Anders als .niu-cart-action__append traegt der
   Minus-Knopf KEINE border-radius-Transition (nur transform/opacity) - hier
   gibt es die Freeze-Falle beim Umschalten also nicht. */
.niu-cart-actions .niu-cart-action__prepend {
  border-radius: var(--niu-radius-quickbuy, var(--niu-radius-control, 3px));
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-left-width: 1px;
  border-right-width: 0;
  border-top-width: 1px;
  border-bottom-width: 1px;
  transform: translateX(200%);
  opacity: 0;
}
/* Vertikale Variante derselben Leiste - Runde 2 hat .niu-cart-action__append
   dort mitbehandelt, also folgt der Minus-Knopf auch hier. Genullt sind die
   oberen Ecken (Anschluss nach oben), aussen liegen unten. */
.niu-cart-actions__vertical .niu-cart-action__prepend {
  border-radius: var(--niu-radius-quickbuy, var(--niu-radius-control, 3px));
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-left-width: 1px;
  border-right-width: 1px;
  border-top-width: 0;
  border-bottom-width: 1px;
  transform: translateY(-200%);
  opacity: 0;
}
.niu-cart-actions.expanded .niu-cart-action__prepend {
  transform: translateX(0);
  opacity: 1;
}
.niu-cart-actions__vertical.expanded .niu-cart-action__prepend {
  transform: translateY(0);
  opacity: 1;
}
.niu-cart-action__append {
  transition: border-radius 0.3s ease;
  z-index: 3;
}
/* Theme v2 S2-A-Feedback (Runde 2): dritte Quickbuy-Implementierung.

   Der Knopf am Ende der Mengenleiste zeigt im eingeklappten Zustand das
   Einkaufstaschen-Icon (snippets/niu-snippets/icons/quickbuy_icon.tpl) und ist
   damit derselbe Sofortkauf-Knopf wie .dzm-itembox-quickbuy-trigger-btn
   (_match.scss). Die frueher hier ebenfalls genannte .niu-quickbuy-trigger
   war nie im Markup und wurde am 2026-08-21 entfernt (Audit Nr. 96) - es gibt
   also zwei Sofortkauf-Stellen, nicht drei. Er hing
   bisher als .btn an der Bedienelement-Familie und liess sich deshalb nicht
   zusammen mit den beiden anderen stellen. Familie folgt Funktion des
   ELEMENTS, nicht des Containers.

   Der Mengen-Stepper in derselben Gruppe bleibt bewusst, wo er ist: der
   Minus-Knopf ist ein Bedienelement (.btn -> control), das Zahlenfeld ein
   Eingabefeld. Das ist Mengenbedienung, kein Kaufknopf.

   Spezifitaet (0,2,0) statt (0,1,0): die bisherige Quelle ist die
   Bootstrap-Regel .btn, also Gleichstand - und die steht je nach Slice vor
   oder nach diesem Partial (.btn liegt in crit UND parts/bootstrap.css,
   .niu-btn-xs mit zwei Ecken-Nullungen hier in niucomponents). Mit (0,2,0)
   haengt das Ergebnis nicht an der Dokumentposition. Die beiden
   Ausklapp-Regeln liegen bei (0,3,0) und behalten ihre Ecken-Nullungen.

   Fallback wortgleich zu $btn-border-radius: ohne Theme-Tokens rendert der
   Knopf unveraendert, mit gesetzten Tokens folgt er erst Quickbuy, dann der
   Bedienelement-Familie. */
.niu-cart-actions .niu-cart-action__append, .niu-cart-actions__vertical .niu-cart-action__append {
  border-radius: var(--niu-radius-quickbuy, var(--niu-radius-control, 3px));
}
.niu-cart-actions.expanded .niu-cart-action__append {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.niu-cart-actions__vertical.expanded .niu-cart-action__append {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.niu-cart-actions .niu-cart-action__append > *:nth-child(1), .niu-cart-actions__vertical .niu-cart-action__append > *:nth-child(1) {
  display: flex;
}
.niu-cart-actions .niu-cart-action__append > *:nth-child(2), .niu-cart-actions__vertical .niu-cart-action__append > *:nth-child(2) {
  display: none;
}
.niu-cart-actions.expanded .niu-cart-action__append > *:nth-child(1), .niu-cart-actions__vertical.expanded .niu-cart-action__append > *:nth-child(1) {
  display: none;
}
.niu-cart-actions.expanded .niu-cart-action__append > *:nth-child(2), .niu-cart-actions__vertical.expanded .niu-cart-action__append > *:nth-child(2) {
  display: block;
}
.niu-coupon-input-wrapper {
  position: relative;
}
/* Theme v2 S2-A2 (Legacy-Bugfix): harte 8px-Insel in der Eingabefeld-Familie.
   Das Kuponfeld folgt jetzt der Eingabefeld-Kette wie jedes andere Feld. */
.niu-coupon-input {
  width: 100%;
  height: 52px;
  border: 1px dashed #c0c3bc;
  text-align: center;
  border-radius: var(--niu-radius-input, 3px);
}
.niu-coupon-fake-input {
  width: 100%;
  min-height: 52px;
  padding: 0.5rem;
  border: 1px dashed #c0c3bc;
  font-weight: 400;
  color: #808778;
  border-radius: var(--niu-radius-input, 3px);
  /* Theme v2 S2-A2 (Legacy-Bugfix): siehe .niu-coupon-input - das
     Anzeige-Pendant muss denselben Radius tragen wie das Eingabefeld. */
  display: flex;
  align-items: center;
  justify-content: center;
}
.niu-coupon-fake-input .credit-amount {
  color: #26420a;
}
.niu-coupon-input-button {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  bottom: 0.5rem;
}
/* Theme v2 B2-4: Kupon-Feld liest die Flaechen-Input-Vars (Rueckbau der
   beiden B-6a-Kontext-Scopes; die naechstgelegene Root liefert die Flaeche:
   Checkout-Bestelluebersicht = checkout-content-right/checkout-overview
   (card), Warenkorb-Sidebar = sidebar). Nur Basiszustand, Focus/Invalid ->
   Phase C. Die var()-Fallbacks bleiben die UA-Anker (#fff/#000 aus
   field/fieldtext im Light-Scheme, B-6a), greifen aber nur noch ohne
   geladenes Root-CSS. Effektiver Legacy-Wert kommt jetzt aus den Root-Ketten:
   input-bg 'white' (== #fff, wertgleich) und input-text $input-color =
   set-text-color(white) = $fontPrimaryShaded - bewusste, dokumentierte
   Abweichung vom UA-Schwarz: das Kupon-Feld folgt damit derselben Textfarbe
   wie alle uebrigen Eingabefelder. Rahmen unveraendert
   ($input-border-color-Anker an allen Roots). */
.niu-coupon-input {
  background-color: var(--s-input-bg, #fff);
  color: var(--s-input-text, #000);
  border-color: var(--s-input-border, #c0c3bc);
}
/* region DZM Bonus Plus – Einloese-Box im NIUplus-Checkout
   Skinnt den stabilen BEM-Styling-Vertrag des OPTIONALEN Plugins dzm_bonus_plus,
   damit sich die injizierte Box unter der Coupon-Box in die Summary-Cards einfuegt.
   Greift ausschliesslich, wenn das Plugin die Box in den Mount-Anker rendert –
   sonst tote Regeln (keine harte Abhaengigkeit). Die Akzentfarbe (Button, Icon,
   Punktzahl) kommt aus dem Plugin (--dzm-bonus-accent) und bleibt hier bewusst
   UNANGETASTET, damit die Box ihre eigene Bonus-Identitaet behaelt. */
[data-dzm-bonus-mount] {
  /* Der Plugin-Wrapper traegt NOVA-Grid-Klassen (col-12 col-md-6). Im schmalen
       Summary auf volle Breite zwingen und die Grid-Gutter entfernen. */
  /* Karte „unsichtbar" machen: kein weisser Hintergrund, kein Rahmen, kein Schatten.
       Die Box blendet in den Summary-Hintergrund ein wie der Coupon-Bereich (kein Card-Look).
       min-h-card (NOVA-Layout) neutralisieren. */
  /* Card-Header („Bonuspunkte"-Titel) komplett ausblenden – im Summary uebernimmt
       die Subtitle „Bonuspunkte einloesen" die Fuehrung (wie im Coupon-Bereich). */
  /* Subtitle „Bonuspunkte einlösen" fuehrt jetzt die Box an. Icon bleibt Akzent (magenta). */
  /* Eingabezeile als EINE dashed Pille (wie das Coupon-Feld) mit WEISSEM Hintergrund.
       Input und Button sind normale Flex-Kinder – KEIN position:absolute. Sonst legt sich
       der Button ueber die nativen Number-Spinner (Quantity +/-), die dann fehlen. */
  /* Zahlenfeld rahmenlos + transparent (die Pille traegt Rahmen + weissen Hintergrund),
       zentriert. Native Spinner bleiben rechts im Feld sichtbar. */
  /* Button rechts NEBEN dem Feld (normaler Fluss, nicht absolut), auf Feldhoehe,
       horizontales Padding gegen den Quetsch-Look. Farbe bleibt magenta (Plugin-CSS). */
  /* --- Eingeloest-Ansicht (Punkte bereits angewendet) im gleichen Stil --- */
  /* Status als dezente, gerundete Pille (echot das Eingabefeld). Zahl bleibt magenta. */
  /* Entfernen-Aktion als schlichter Text-Link mit vorangestelltem ✕ (kein Button-Chrome:
       kein Rahmen/Radius/Hintergrund vom Template). Die CTA-Optik gehoert dem Einloesen. */
}
[data-dzm-bonus-mount] .dzm-bonus-redeem-col {
  flex: 0 0 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem.card {
  min-height: 0;
  border: 0;
  box-shadow: none;
  background-color: transparent;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem .card-header {
  display: none;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem .card-body {
  padding: 0;
  background: transparent;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem__subtitle {
  font-size: 1rem;
  margin-bottom: 0.6rem;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem .form-row {
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  padding: 0.35rem 0.4rem;
  border: 1px dashed #c0c3bc;
  border-radius: 8px;
  background: #fff;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem .form-row > .col-auto {
  /* BS-Utility .mb-2 (aus dem TPL) traegt !important -> hier ueberstimmen. */
  margin-bottom: 0 !important;
  padding: 0;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem .form-row > .col-auto:first-child {
  flex: 1 1 auto;
  /* Feld-Spalte waechst auf die freie Breite */
}
[data-dzm-bonus-mount] .dzm-bonus-redeem__field {
  width: 100%;
  max-width: none;
  /* Plugin-Default 7rem aufheben */
  height: 40px;
  border: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem__apply {
  height: 40px;
  margin-left: 0.4rem;
  padding: 0 1.25rem;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
[data-dzm-bonus-mount] .dzm-bonus-redeem__applied {
  margin: 0 0 0.6rem;
  padding: 0.6rem 0.85rem;
  border-radius: 8px;
  background: color-mix(in srgb, var(--dzm-bonus-accent) 8%, #fff);
}
[data-dzm-bonus-mount] .dzm-bonus-redeem__applied-euro {
  color: #808778;
}
[data-dzm-bonus-mount] [data-dzm-bonus-remove] {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0;
  border: 0;
  background: none;
  color: #808778;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
}
[data-dzm-bonus-mount] [data-dzm-bonus-remove]::before {
  content: "✕";
  /* ✕ */
  font-size: 0.95em;
  line-height: 1;
}
[data-dzm-bonus-mount] [data-dzm-bonus-remove]:hover, [data-dzm-bonus-mount] [data-dzm-bonus-remove]:focus {
  color: #26420a;
  background: none;
}
/* endregion */
/*!###NIUCATEGORY###*/
.niu-cat-hero {
  position: relative;
}
.niu-cat-hero img, .niu-cat-hero picture {
  width: 100%;
  object-fit: cover;
}
.niu-cat-hero .title {
  position: absolute;
}
.niu-cat-hero .niu-sidebar-head-small, .niu-cat-hero h1 {
  color: white;
  z-index: 5;
}
.niu-cat-hero-overlay {
  background-color: #435334;
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 3;
  opacity: 0.3;
}
/*.niu-cat-caption-no-image {
  padding:1rem 2rem;
  box-shadow: 0px 4px 20px -5px #0631441f;
  border-radius: $border-radius;
  color:$text-muted;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width:250px;
}*/
.niu-cat-slider {
  /* Theme v2 S2-A2: Marker-Familie, wortgleicher Fallback. */
}
.niu-cat-slider {
  padding: 0 !important;
}
.niu-cat-slider .splide__pagination {
  bottom: -2rem;
}
.niu-cat-slider .badge-pill {
  border-radius: var(--niu-radius-marker, 3px);
}
.niu-is-full-banner {
  padding-top: 0 !important;
}
/* Theme v2 B2-4: Produktbox-Titel sind bewusst Fliesstext (keine Headings) -
   der Titel-Link folgt der Textfarbe der naechstgelegenen Flaeche statt der
   Link-Farbe. Legacy wortgleich: --s-text loest ueber die Root-Ketten ueberall
   auf $body-color auf (page-Anker; Karten-'text' = inherit-Kette zur page). */
.productbox-title > a {
  color: var(--s-text, #26420a);
}
.col-count-1 {
  column-count: 1;
}
.col-count-2 {
  column-count: 2;
}
.col-count-3 {
  column-count: 3;
}
.col-count-4 {
  column-count: 4;
}
.col-count-5 {
  column-count: 5;
}
#product-list .product-wrapper.niu-list:not(:last-child) {
  margin-bottom: 1rem;
}
/*
#KATEGORIEN SEITENLEISTE
 */
#sidepanel_left {
  padding-right: 1rem;
}
#sidepanel_left .box-categories .dropdown .collapse, #sidepanel_left .box-linkgroup .dropdown .collapse {
  background: transparent;
  margin-left: 0.5rem;
}
#sidepanel_left .nav-panel > .nav > .active > .nav-link {
  border-bottom: none;
}
#sidepanel_left .snippets-categories-collapse {
  border-left: 1px solid #8189864a;
  margin-left: 0.5rem;
}
#sidepanel_left .snippets-categories-collapse ul > li {
  font-size: 0.85rem !important;
}
#sidepanel_left .dropdown-toggle::after, #sidepanel_left :not(.navbar-toggler)[data-toggle="collapse"]::after, #sidepanel_left :not(.navbar-toggler)[data-toggle="collapse"]::after {
  content: "" !important;
  font-family: bootstrap-icons !important;
  font-weight: 400;
}
#sidepanel_left .dropdown-toggle[aria-expanded="true"]::after, #sidepanel_left :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after, #sidepanel_left :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after {
  content: "" !important;
  font-family: bootstrap-icons !important;
  font-weight: 400;
}
#sidepanel_left .productlist-filter-headline {
  font-size: 1rem;
}
#sidepanel_left .box-last-seen .price.h4 {
  font-size: 0.85rem;
}
#sidepanel_left .niu-item-list-card-title, #sidepanel_left .niu-item-list-card-price {
  font-size: 0.85rem;
  font-weight: 600;
}
/*
#FILTERBAR
 */
.filter-type-FilterItemSort .btn, .filter-type-FilterItemLimits .btn {
  font-weight: 400;
}
.filter-type-FilterItemSort .dropdown-toggle::before, .filter-type-FilterItemSort :not(.navbar-toggler)[data-toggle="collapse"]::before {
  content: "" !important;
  font-family: bootstrap-icons;
  font-weight: 400;
}
.filter-type-FilterItemSort .dropdown-toggle::after, .filter-type-FilterItemSort :not(.navbar-toggler)[data-toggle="collapse"]::after {
  display: none;
}
.filter-type-FilterItemSort .dropdown-toggle::before, .filter-type-FilterItemSort :not(.navbar-toggler)[data-toggle="collapse"]::before {
  content: "" !important;
  font-family: bootstrap-icons;
  font-size: 1.2rem;
  font-weight: 900;
  margin-right: 0.5rem;
  font-weight: 400;
}
.filter-type-FilterItemLimits .dropdown-toggle::before, .filter-type-FilterItemLimits :not(.navbar-toggler)[data-toggle="collapse"]::before {
  content: "" !important;
  font-family: bootstrap-icons;
  font-size: 1.2rem;
  font-weight: 900;
  margin-right: 0.5rem;
  font-weight: 400;
}
.filter-type-FilterItemLimits .dropdown-toggle::after, .filter-type-FilterItemLimits :not(.navbar-toggler)[data-toggle="collapse"]::after {
  display: none;
}
#niu-content-filter-panel {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: 1fr;
  border-bottom: none !important;
}
#niu-content-filter-panel .box {
  border: 1px solid #e5e5e5;
  border-radius: var(--niu-radius, 0.125rem);
  padding: 0 1rem;
}
@media (min-width: 768px) {
  #niu-content-filter-panel {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 992px) {
  #niu-content-filter-panel {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1300px) {
  #niu-content-filter-panel {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
/*
#ITEMBOX
 */
.productbox-inner .niu-subcat-link {
  font-size: 0.7rem;
}
/*
#ITEMCAPTION
 */
.niu-productbox-caption {
  cursor: pointer;
}
/*
#SPLIDER SUBCATEGORY
 */
.content-cats-small .splide__pagination__page .is-active {
  background: transparent;
}
.content-cats-small .niu-cat-slider .splide__pagination__page {
  background-color: #808778;
}
.niu-productbox-short-desc:has(p:empty) {
  display: none;
  height: 0;
}
/*
#GRID SUBCATEGORY
 */
/* Theme v2 S2-A2: Fremdnutzung von $buttonRadius umgehaengt. Das hier ist
   eine Bildkachel (mit overflow:hidden), kein Bedienelement - sie gehoert in
   die Medien-Familie. Fallback wortgleich, ohne Token aendert sich nichts. */
.subcategories-image {
  overflow: hidden;
  border-radius: var(--niu-radius-media, 3px);
}
.subcategories-image:hover img {
  transform: scale(1.03);
  transition: all 0.2s ease;
  filter: brightness(103%);
}
/* Theme v2 S2-A2: dasselbe Bild eine DOM-Ebene tiefer - gleiche Familie wie
   der Wrapper, sonst laufen Rahmen und Bild bei gedrehtem Token auseinander. */
.subcategories-image img {
  min-width: unset !important;
  border: none;
  border-radius: var(--niu-radius-media, 3px);
  transition: all 0.3s ease;
}
.niu-cat-wrapper {
  /*.dropdown-toggle::after {
    content: '\f067' !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
    margin-left: 0.5rem;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
    transition: transform 0.2s;
    will-change: transform;
    border-top: 0;
    font-size: 0.75em;
  }
  .dropdown-toggle[aria-expanded=true]::after {
    content: '\f068' !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900;
    margin-left: 0.5rem;
    vertical-align: middle;
    display: inline-block;
    line-height: 1;
    transition: transform 0.2s;
    will-change: transform;
    border-top: 0;
    font-size: 0.75em;
  }*/
}
@media screen and (max-width: 768px) {
  .niu-cat-wrapper {
    align-items: center;
    gap: 20px;
  }
}
.niu-cat-wrapper .dzm-btn-group-subcats {
  background-color: #f6f6f6;
  padding: 3px 10px;
  border-radius: 3px;
}
@media screen and (max-width: 768px) {
  .niu-cat-wrapper .subcategories-image, .niu-cat-wrapper .subcategories-image img {
    width: 100px;
  }
}
/* Theme v2 (Audit Nr. 67): Unterkategorie-Chips der Darstellungsart "pills".
   Die Werte standen bis 2026-08-18 inline am <li> und waren damit fuer jede
   Regel unerreichbar - als einzige der drei Chip-Familien. Die beiden anderen
   sind laengst tokenisiert (Audit Nr. 29 -> Regelwerk §31, Nr. 55 -> §57).

   Wertgleich uebernommen wird, was inline stand. Zwei Anmerkungen dazu:

   - Das inline gefuehrte !important ist NICHT mitgezogen. Es traf ins Leere:
     .badge setzt laut Bootstrap-Kommentar bewusst weder background-color noch
     color ("Requires one of the contextual, color modifier classes"), und das
     <li> traegt keine badge-*-Variante. Es gab also nie einen Gegner.
   - Der echte Kaskaden-Gegner ist der Radius: .badge-pill (0,1,0) setzt die
     Pillenform. Diese Regel liegt bei gleicher Spezifitaet spaeter im Entry
     (gemessen: .badge-pill bei 72.333, dieses Partial ab 361.577) und gewinnt
     damit ueber die Position - genau wie der Inline-Wert es vorher tat.

   color greift nur fuer Badge-Inhalte ohne Link; der Chip-Text ist ein <a> und
   folgt weiter der Link-Regel (das <a> traegt selbst keine badge-Klasse und
   faellt daher nicht unter deren Ausschluss). */
.niu-subcat-pill {
  background-color: #f0f0f0;
  border-radius: 3px;
  color: #111313;
}
.niu-cat-row > * {
  border-color: rgba(10, 14, 20, 0.1) !important;
}
.niu-cat-row div:first-child {
  border-top: none !important;
}
.dzm-fit-cover {
  object-fit: cover !important;
}
.dzm-fit-contain {
  object-fit: contain;
}
.dzm-aspect-16-9 {
  aspect-ratio: 1.7777777778 !important;
}
.dzm-aspect-1-1 {
  aspect-ratio: 1 !important;
}
@media screen and (max-width: 768px) {
  .dzm-max-width-unset {
    max-width: unset !important;
  }
}
/*
#LIST VIEW
 */
.layout-list {
  /* .productbox-inner{
    padding: 5rem 3rem;
  }*/
}
.layout-list .productbox-ribbon.ribbon {
  left: unset;
}
.layout-list .productbox-title {
  height: unset;
}
.layout-list .productbox.productbox-hover .productbox-inner::before {
  background-color: unset;
}
.layout-list .niu-item-detail:first-child {
  border-left: unset;
}
.layout-list .niu-item-detail {
  border-left: 1px solid #808778;
  display: flex;
  align-items: center;
}
.layout-list .productbox-ribbon.ribbon {
  top: 2rem;
}
.layout-list .productbox-price {
  font-size: 1.265625rem;
}
.layout-list .product-actions {
  gap: 10px;
}
.layout-list .product-actions {
  justify-content: end;
}
.layout-list .productlist-item-detail {
  flex-direction: column;
}
.layout-list .niu-item-detail {
  border-left: unset;
}
.layout-list .niu-item-detail a {
  color: #808778;
}
.layout-list .product-wrapper:last-of-type hr {
  display: none;
}
/* Abstände in der Produktliste vereinheitlichen, wenn itembox option ist border oder shadow */
/*.product-list .product-wrapper {
  &:has(.niu-itembox-option--has-shadow), &:has(.niu-itembox-option--has-border), &:has(.niu-itembox-option--is-card) {
    margin-bottom: 2rem !important;
  }
}*/
.row.product-list:has(.niu-itembox-option--has-shadow), .row.product-list:has(.niu-itembox-option--has-border), .row.product-list:has(.niu-itembox-option--is-card) {
  margin-top: 2rem;
}
.productbox .niu-itembox-option--has-border .productbox-ribbon.ribbon, .productbox .niu-itembox-option--has-shadow .productbox-ribbon.ribbon, .productbox .niu-itembox-option--is-card .productbox-ribbon.ribbon {
  top: 0;
  left: 0;
}
/*
LOAD MORE BTN
*/
.niu-load-more-progressbar {
  height: 3px;
  background-color: rgba(0, 0, 0, 0.1);
}
.niu-load-more-progress {
  height: 100%;
  background-color: #435334;
  transition: all 0.5s ease;
}
.niu-load-more-wrapper, .niu-load-prev-wrapper {
  max-width: 100%;
  width: 360px;
}
.niu-load-more-wrapper [data-niu-load-more-btn-spinner] div, [data-niu-load-prev-btn-spinner] div {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #435334;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
#ed_gallery.active {
  display: none !important;
}
#ed_list.active {
  display: none !important;
}
#result-options .filter-collapsible-control button:after {
  display: none !important;
}
/* Theme v2 S2-A2: bewusst NICHT umgehaengt. Die Card-Actions sind eine
     Kartenflaeche, kein Bedienelement - Zuschnitt erfolgt mit der
     Karten-Familie in S2-C. Bleibt bis dahin am Legacy-Setting. */
.niu-item-list-card-actions {
  border-radius: 3px;
}
/*!###NIUPRODUCTDETAILS###*/
.product-info-inner {
  /*position: sticky;*/
  /*top: 80px;*/
}
.product-info-inner .niu-item-detail:first-child {
  border-left: unset;
}
.product-info-inner .niu-item-detail {
  /*border-left: 1px solid $text-muted;*/
  display: flex;
  align-items: center;
  color: #808778;
  font-size: 0.8888888889rem;
}
/*
#PRODUCT INFOS
 */
.product-detail .product-manufacturer img {
  max-width: 150px;
  height: auto;
}
/* Theme v2 B3-2b (Audit Nr. 13): Quell-Konvertierung. Das !important schlug
   jede Flaechenvererbung - die Kurzbeschreibung blieb auf dunkler Flaeche in
   der hart kompilierten Fliesstextfarbe stehen. Der var()-Fallback ist
   wortgleich zum Alt-Wert und die --s-text-Kette traegt an jeder Root exakt
   denselben Anker, deshalb bleibt der berechnete Legacy-Wert unveraendert;
   nur die Deklaration aendert sich. Das !important bleibt (Kaskaden-Disziplin:
   nichts hinzufuegen, nichts wegnehmen). */
.product-detail .shortdesc {
  font-family: "Open Sans-ps", sans-serif !important;
  color: var(--s-text, #26420a) !important;
}
.niu-special-price {
  /* Theme v2 S2-A2: Rabatt-Chip, Marker-Familie, wortgleicher Fallback. */
}
.niu-special-price .price {
  color: #C0274C;
  margin-bottom: unset;
}
.niu-special-price .percent {
  background-color: #C0274C;
  color: white;
  font-weight: 500;
  padding: 4px 5px;
  border-radius: var(--niu-radius-marker, 3px);
}
/* Theme v2 S2-A2: Fremdnutzung von $buttonRadius umgehaengt. Ein Swatch ist
   ein Chip, kein Button - Marker-Familie. Fallback wortgleich. */
.variation.swatches {
  border-radius: var(--niu-radius-marker, 3px);
}
.swatches-image {
  border-color: #e5e5e5;
}
#tabAccordion .card:first-child {
  border-top: unset;
}
#tabAccordion .card:last-child {
  border-bottom: unset;
}
#tabAccordion .dropdown-toggle::after, #tabAccordion :not(.navbar-toggler)[data-toggle="collapse"]::after, #tabAccordion :not(.navbar-toggler)[data-toggle="collapse"]::after {
  content: "" !important;
  font-size: 1.5rem;
}
#tabAccordion .dropdown-toggle[aria-expanded="true"]::after, #tabAccordion :not(.navbar-toggler)[data-toggle="collapse"][aria-expanded="true"]::after {
  transform: rotate(270deg) !important;
}
@media (max-width: 992px) {
  .niu-floating {
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: white;
  }
  .niu-floating .basket-form-inline {
    margin-bottom: unset;
  }
}
@media (min-width: 993px) {
  .niu-floating {
    display: none;
  }
  .niu-floating.niu-floating-wrapper {
    display: block;
    position: fixed;
    z-index: 10;
    bottom: 0;
    background-color: white;
  }
  .niu-floating.niu-floating-wrapper .basket-form-inline {
    margin-bottom: unset;
  }
}
/*
Product Images
 */
.niu-image-gallery {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  /*flex-wrap: wrap !important;*/
  gap: 10px;
}
.niu-image-gallery-image:nth-child(3n-2) {
  grid-column: 1 / -1;
  width: 100%;
}
.niu-image-gallery-image {
  /*flex: 0 0 50% !important;*/
  /*max-width: 49%;*/
  position: relative;
}
.niu-image-gallery-image picture {
  display: block;
  overflow: hidden;
  /*width: 98% !important;*/
}
.niu-image-gallery-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.niu-image-gallery-only-child {
  flex: 0 0 100% !important;
  max-width: 100%;
  gap: 5px;
}
.niu-image-gallery-only-child picture {
  width: 100% !important;
}
#niu-product-splide {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: unset;
}
#niu_img_modal .modal-content {
  max-width: 80vw;
  margin: 0 auto;
}
#niu_img_modal .modal-dialog {
  min-width: 30%;
}
#niu-product-splide-box .splide__slide img, #niu-product-splide .splide__slide img, #niu-modal-product-splide .splide__slide img {
  width: 100% !important;
}
#niu-product-splide-thumbs .splide__slide, #niu-modal-product-splide-thumbs .splide__slide {
  height: 100% !important;
}
#niu-modal-product-splide img {
  height: 100%;
  width: 100%;
}
@media (max-width: 768px) {
  .niu-image-gallery-image:first-child {
    flex: 0 0 100% !important;
    max-width: 100%;
  }
  .niu-image-gallery-image:first-child picture {
    width: 100% !important;
  }
}
.niu-productdetails-splide-box .splide {
  position: relative;
  border-radius: 20px;
  box-shadow: 0px 10px 40px rgba(26, 80, 60, 0.05);
  overflow: hidden;
  /*@media(max-width: 1200px) {
      margin-left: calc(100% - 58.3333vw);
      border-radius: 0 20px 20px 0;
    }*/
}
@media (max-width: 991px) {
  .niu-productdetails-splide-box .splide {
    /*margin-left: calc((100% - 100vw)/2);
      border-radius: 0 20px 20px 0;*/
  }
}
.niu-productdetails-splide-box img {
  object-fit: cover;
}
.niu-productdetails-splide-box .splide__arrow.splide__arrow--prev {
  position: absolute;
  right: 52px;
  bottom: 0;
  left: unset;
  top: unset;
  background-color: #435334;
  color: white;
  border-radius: 10px 0 0 10px;
}
.niu-productdetails-splide-box .splide__arrow.splide__arrow--next {
  position: absolute;
  right: 20px;
  bottom: 0;
  left: unset;
  top: unset;
  background-color: #435334;
  color: white;
  border-radius: 0 10px 10px 0;
}
.niu-productdetails-splide-box .splide__arrow {
  max-height: 28px;
}
.niu-productdetails-splide-box .splide__arrow svg {
  fill: white;
  max-height: 18px;
}
.niu-productdetails-splide-box .splide__arrow:hover:not(:disabled) svg {
  fill: white;
}
.niu-productdetails-splide-box .splide__track {
  padding: unset;
}
#niu-product-splide-list, #niu-product-splide-list .splide__slide picture {
  aspect-ratio: 1 !important;
}
/* Theme v2 S2-A-Feedback (Runde 2): Der Radius sitzt nicht mehr am Bild.

   Geformt wird jetzt die Galerie-Kachel (#niu-product-splide, Regel in
   _niu_theme2_rules.scss), die das Bild per overflow:hidden mitschneidet. Ein
   eigener Bildradius wuerde daneben als zweite, kleinere Rundung durchscheinen,
   sobald Kachel- und Medien-Wert auseinanderlaufen - genau der Effekt, den die
   S2-A2-Umhaengung erzeugt hat.

   Hier steht deshalb wieder der harte Legacy-Wert: ohne Theme v2 rendert die
   Zeile wie vor der Tokenisierung. Unter Theme v2 nimmt die Kachel-Regel den
   Rest-Radius auf 0 zurueck, damit die Kachel die einzige formgebende Stelle
   ist. */
#niu-product-splide-list .splide__slide picture img {
  border-radius: 3px;
}
/*
# Thumbnails
 */
/* Theme v2 S2-A-Feedback (Runde 2): Die Vorschaubilder bekommen einen eigenen
   Regler statt der Medien-Familie.

   Die Bindung an --niu-radius-media war zu grob: die Medien-Familie stellt
   auch grosse Flaechen, und ein dort sinnvoller Wert (gemessen: 32px 64px)
   macht aus einem 104px-Thumbnail einen Kreis. Vorschaubilder sind das
   kleinste Bildformat der Seite und brauchen deshalb eine eigene Stellschraube
   - dieselbe Begruendung, mit der die Galerie-Kachel --niu-radius-gallery
   bekommen hat.

   Fallback bleibt 0 = Legacy: die Thumbnails trugen nie einen Radius, ohne
   gesetztes Token rendern sie unveraendert. --niu-radius-thumbs emittiert der
   Companion (Element-Regler, custom-only) - bis dahin ist die Kette wirkungslos
   und nicht mehr an die Medien-Familie gekoppelt.

   Gilt fuer beide Leisten: die auf der Artikelseite und die im Lightbox-Modal
   (#niu-modal-product-splide-thumbs), gleiches Format, gleiche Rolle. */
#niu-product-splide-thumbs .splide__slide img, #niu-modal-product-splide-thumbs .splide__slide img {
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--niu-radius-thumbs, 0);
}
#niu-product-splide-thumbs .splide__slide:not(.is-active), #niu-modal-product-splide-thumbs .splide__slide:not(.is-active) {
  opacity: 0.5;
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: none !important;
}
.splide__track--nav > .splide__list > .splide__slide.is-active::before {
  content: "";
  display: inline-flex;
  height: 3px;
  width: 10px;
  position: absolute;
  bottom: -10px;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center;
  border-radius: 3px;
  background-color: #435334;
}
/*
#Payment Methods
 */
/* Theme v2: bewusst hell in beiden Modi - Zahlungslogos sind fuer hellen Grund
   gezeichnet (Audit 2026-08-12, Eimer 3). */
.niu-productdetails-paymethods-icon {
  background-color: white;
  border-radius: var(--niu-radius, 0.125rem);
  box-shadow: 0px 5px 15px -4px #00000014;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.niu-productdetails-paymethods-icon.bordered {
  border: 1px solid #4d5148;
}
/*
#RATING
 */
.niu-rating-stars i {
  font-size: 0.7rem;
  color: #ffc107;
}
/*
#DELIVERY STATUS
 */
.delivery-status {
  font-weight: bold;
  /* verschiedene Icons nach verfügbarkeit */
  /*.status-0::before {
    content: '\F51A';
    display: inline-flex;
    font-family: 'bootstrap-icons';
    line-height: 1rem;
    font-size: 1rem;
    margin-right:10px;
  }
  .status-1::before {
    content: '\F519';
    display: inline-flex;
    font-family: 'bootstrap-icons';
    line-height: 1rem;
    font-size: 1rem;
    margin-right:5px;
  }
  .status-2::before {
    content: '\F519';
    display: inline-flex;
    font-family: 'bootstrap-icons';
    line-height: 1rem;
    font-size: 1rem;
    margin-right:5px;
  }*/
}
.delivery-status .estimated_delivery {
  font-weight: 400;
}
.delivery-status .status {
  display: flex;
  flex-wrap: wrap;
}
.delivery-status i {
  display: inline-flex;
  font-size: 0.8rem;
  margin-right: 0.2rem;
}
.niu-sidebar-content .ribbon {
  position: relative;
  display: inline-block;
  padding: 0.25rem 1rem;
  font-size: 0.8rem;
  /* font-size: $ribbon-font-size; */
  text-transform: uppercase;
  font-weight: 900;
  /* border-top-right-radius: $border-radius;
     border-bottom-right-radius: $border-radius;*/
  border-radius: var(--niu-radius, 0.125rem);
}
.niu-sidebar-content .ribbon > [class*="fa-"]:last-child {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  font-size: 1.125rem;
}
.niu-sidebar-content .ribbon-1 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-2 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-3 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-4 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-5 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-6 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-7 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-8 {
  font-weight: 700;
}
.niu-sidebar-content .ribbon-9 {
  font-weight: 700;
}
.niu-sidebar-product-form-body-variations .ribbon {
  position: relative;
  display: inline-block;
  padding: 0.25rem 1rem;
  font-size: 0.8rem;
  /* font-size: $ribbon-font-size; */
  text-transform: uppercase;
  font-weight: 900;
  /* border-top-right-radius: $border-radius;
       border-bottom-right-radius: $border-radius;*/
  border-radius: var(--niu-radius, 0.125rem);
}
.niu-sidebar-product-form-body-variations .ribbon > [class*="fa-"]:last-child {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  font-size: 1.125rem;
}
.niu-sidebar-product-form-body-variations .ribbon-1 {
  color: #435334;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-1 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-2 {
  color: #02A067;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-2 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-3 {
  color: #f89917;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-3 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-4 {
  color: white;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-4 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-5 {
  color: #025A7F;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-5 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-6 {
  color: white;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-6 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-7 {
  color: #C0274C;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-7 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-8 {
  color: #02A067;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-8 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sidebar-product-form-body-variations .ribbon-9 {
  color: #DAAA4E;
  font-weight: 700;
  background-color: unset;
}
.niu-sidebar-product-form-body-variations .ribbon-9 span::before {
  content: "";
  display: inline-block;
  font-family: "bootstrap-icons";
  line-height: 1rem;
  font-size: 1rem;
  margin-right: 10px;
  transform: translate(0, 0.22rem);
}
.niu-sticky-top {
  position: sticky;
  top: 179px;
  z-index: 4;
}
/*
#INPUTS
 */
.niu-input-group {
  overflow: hidden;
}
.attr-characteristic a {
  margin-bottom: 0;
}
/*
#REVIEWS
 */
.review-comment .review-helpful {
  margin-bottom: 5px;
}
/*niu overwrite is not necessary anymore - removed the style from base crit*/
/*#content-wrapper:not(.has-fluid) {
  padding-top: 0;
}*/
/*niu overwrite is not necessary anymore - removed the style from base crit*/
/*@media (min-width: 992px) {
  #content-wrapper:not(.has-fluid) {
    padding-top: 0;
  }
}*/
/*
#BULK / STAFFELPREISE
 */
/* Theme v2 S2-A2: bewusst NICHT umgehaengt. Die Staffelpreis-Box ist eine
   Flaeche, keine Kachel und kein Marker - sie gehoert in die Karten-Familie,
   und die wird erst in S2-C zugeschnitten. Bis dahin bleibt sie am
   Legacy-Setting $buttonRadius haengen (Kartierung K5). */
.bulk-prices {
  background-color: #f7f7f7;
  padding: 15px;
  border-radius: 3px;
}
.bulk-prices .table {
  margin-bottom: 0;
}
.bulk-prices .table-sm td {
  padding: 0.4rem 0.8rem;
}
.bulk-prices .table thead th {
  border-bottom: 0;
  font-size: 0.85rem;
}
.bulk-prices .table tbody tr {
  font-size: 0.85rem;
}
.bulk-prices .table tbody tr:hover {
  background-color: #f2f2f2;
}
/*
# ATTRIBUTE
 */
.product-attributes td.h6 {
  font-size: 1rem;
}
/*
CUSTOM BOXES
*/
.niu-custom-boxes-container {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1rem;
}
/*
PRODUCT ACTIONS
 */
.product-info .niu-product-actions button span {
  font-size: 0.8888888889rem;
  font-weight: 400;
}
.product-info .niu-product-actions button svg {
  width: 1.25rem;
  height: 1.25rem;
}
.product-info .niu-product-actions .product-actions-wishlist svg {
  fill: var(--danger);
  transform: translateY(-2px) scale(1.1);
  background-color: white;
  stroke: var(--danger);
}
.product-info .niu-product-actions .product-actions-compare svg {
  fill: var(--success);
  transform: translateY(-4px);
  background-color: white;
}
.niu-custom-boxes-container .desc {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.niu-floating-checkout-wrapper {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1200;
  transition: all 0.2s ease-in-out;
  transform: translateY(100%);
  bottom: 0;
  opacity: 0;
}
.niu-floating-checkout-wrapper.show {
  opacity: 1;
  transform: translateY(0%);
}
.niu-floating-checkout-wrapper.show.not {
  transform: translateY(calc(-100vh + 100%));
}
.niu-floating-checkout-container {
  background: white;
  box-shadow: 0 10px 40px rgba(26, 80, 60, 0.1);
  overflow: hidden;
  border-radius: 3px;
  gap: 0.5rem;
  display: grid;
  grid-template-columns: 72px 1fr 72px;
}
.niu-floating-checkout-img {
  padding: 0.5rem;
  border-right: 1px solid #e5e5e5;
}
.niu-floating-checkout-img picture, .niu-floating-checkout-img img {
  width: 100%;
  object-fit: contain;
}
.niu-floating-checkout-content {
  justify-content: space-between;
  align-items: center;
  display: flex;
  overflow: hidden;
}
.niu-floating-checkout-content-text {
  overflow: hidden;
  width: 100%;
}
.niu-floating-checkout-content-text > .product-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  margin-bottom: 0;
  font-size: 1.25rem;
}
.niu-floating-checkout-price {
  white-space: nowrap;
}
@media (max-width: 991px) {
  .niu-floating-checkout-content {
    justify-content: space-around;
    flex-direction: column;
    align-items: start;
  }
  .niu-floating-checkout-content-text > .product-title {
    font-size: 1rem;
  }
  .niu-floating-checkout-price-special {
    font-size: 0.8rem;
  }
  .niu-floating-checkout-price-price .price {
    font-size: 1rem;
  }
}
.niu-floating-checkout-action {
  border-left: 1px solid #e5e5e5;
}
.niu-floating-checkout-action > button {
  border-radius: unset;
}
.niu-lightbox-wrapper {
  opacity: 0;
  background: rgba(0, 0, 0, 0.68);
  position: fixed;
  width: 100vw;
  flex-direction: column;
  height: 100vh;
  padding: 4rem;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  max-height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 0.5s ease;
  pointer-events: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  filter: brightness(95%);
}
.niu-lightbox-wrapper .splide__slide img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.niu-lightbox-wrapper.show {
  opacity: 1 !important;
  pointer-events: all !important;
}
.niu-lightbox-wrapper.show .niu-lightbox-container {
  transform: translateY(0);
}
.niu-lightbox-container {
  transform: translateY(200px);
  transition: all 0.3s ease;
}
.niu-lightbox-close-btn {
  position: absolute;
  right: 1rem;
  top: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border-radius: var(--niu-radius-control, 3px);
  width: 1.75rem;
  height: 1.75rem;
  font-size: 0.9rem;
  /* Das Kreuz zeichnet bootstrap-icons, und .bi::before erzwingt font-weight:normal!important -
     ein 100er-Gewicht hier hat also keine optische Wirkung, zog aber Roboto-Thin und
     -ThinItalic nach (134 KB auf der Artikelseite). */
  font-weight: 400;
  background-color: #666c60;
  color: #fff;
  text-shadow: none;
  transition: background-color 0.3s ease;
  line-height: 1;
}
.niu-lightbox-close-btn:hover {
  background-color: #4d5148;
  transition: background-color 0.3s ease;
}
/*!###NIUCHECKOUT###*/
.niu-checkout-header {
  border-bottom: 1px solid #E5E5E5;
}
.niu-checkout-content-left {
  flex: 1 1 50%;
  border-right: 1px solid #E5E5E5;
}
.niu-checkout-content-right {
  flex: 1 1 50%;
  --s-bg: var(--niu-checkout-panel-bg, #fafafa);
  --s-text: var(--niu-checkout-panel-text, inherit);
  --s-text-muted: var(--niu-checkout-panel-text-muted, #808778);
  --s-heading: var(--niu-checkout-panel-heading, #1a2b08);
  --s-accent: var(--niu-checkout-panel-accent, #1a1f14);
  --s-border: var(--niu-checkout-panel-border, #e6e7e4);
  --s-hover: var(--niu-checkout-panel-hover, #fafafa);
  --s-shadow: var(--niu-checkout-panel-shadow, #ededed);
  --s-input-bg: var(--niu-checkout-panel-input-bg, white);
  --s-input-text: var(--niu-checkout-panel-input-text, #26420a);
  --s-input-border: var(--niu-checkout-panel-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-checkout-panel-input-placeholder, #808778);
  --s-input-focus: var(--niu-checkout-panel-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-checkout-panel-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-checkout-panel-accent-text, var(--s-bg));
  background: var(--s-bg) !important;
  color: var(--s-text);
}
.niu-checkout--inner-content-left {
  /*max-width: calc(1650px / 2);*/
  max-width: calc(1350px / 2);
  margin-left: auto;
}
.niu-checkout--inner-content-right {
  /*max-width: calc(1650px / 2);*/
  max-width: calc(1350px / 2);
  margin-right: auto;
  position: sticky;
  top: 2rem;
}
@media screen and (max-width: 991px) {
  .niu-checkout-content-right {
    /*display: none;*/
  }
  .niu-checkout--inner-content-left {
    max-width: 100vw;
    margin-left: auto;
    margin-right: auto;
  }
  .niu-checkout--inner-content-right {
    /*max-width: calc(1650px / 2);*/
    max-width: unset;
    margin-right: auto;
    position: relative;
    top: unset;
  }
}
/*Hide empty Checkout Container*/
#niu-checkout-express:has(#niu-checkout-express-container:empty) {
  display: none;
}
/* edits for item-cards in right content right */
/*.niu-checkout--inner-content-right {
    .niu-item-card {
        border: none;
        box-shadow: none;
        background: transparent;
        margin-bottom: 0;
    }
}*/
.niu-checkout-section-heading {
  font-size: 1rem;
}
/* Theme v2 B2-9a: Schritt-Header der bereits abgeschlossenen Checkout-Schritte
   („Kontakt", „Versand & Zahlung" auf der Bestelluebersicht).

   Inventar (checkout.niu/step5_confirmation.tpl:5-25): der ganze Header ist in
   ein <a href="…?editRechnungsadresse=1"> gewickelt; der sichtbare Text steckt
   im <span class="font-weight-bold niu-checkout-section-heading">. Eine eigene
   Farbregel gibt es nicht - heutiger Gewinner ist die reboot-Regel
   a { color: $link-color } (0,0,1) ueber den Wrapper-Link. Auf dunkler Flaeche
   ist rgb(0,51,48) unlesbar; der umschliessende Wrapper traegt
   .niu-item-card--is-checkout und ist seit B2-3 bewusst KEIN Surface-Root, die
   Flaeche ist also die page.

   Bewusst nur die Header IN einem Link: die uebrigen
   .niu-checkout-section-heading-Vorkommen (u. a. die Preis-Labels in
   niu_order_summary.tpl) erben heute schon korrekt die Flaechenfarbe und
   sollen keine neue Regel bekommen.

   Legacy-Drift (bewusst): --s-text -> page-Anker $body-color rgb(10,66,61)
   statt heute rgb(0,51,48); nicht wahrnehmbar, gleiche Begruendung wie bei den
   Produkttiteln.

   Signalfarben bleiben: das gruene Haken-Icon davor traegt ein Inline-
   style="color:var(--success)" (Bootstrap-Root-Variable) und wird nicht
   angefasst - der Status „erledigt" soll gruen bleiben. */
.checkout-confirmation a .niu-checkout-section-heading {
  color: var(--s-text, #1a1f14);
}
.stepper {
  border: none;
}
.stepper .step::before {
  display: none !important;
}
.stepper .step-active .step-content::after {
  display: none;
}
.stepper .step::after {
  display: none;
}
.is-checkout header {
  box-shadow: none;
}
@media (min-width: 992px) {
  .is-checkout #content-wrapper:not(.has-fluid) {
    padding-top: 2rem;
  }
}
.niu-checkout-image {
  aspect-ratio: 1;
  max-width: 35px;
  object-fit: contain;
  border-radius: 3px;
}
.niu-checkout-divider {
  position: relative;
}
.niu-checkout-divider::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  display: block;
  background-color: #666c60;
  left: 50%;
  opacity: 0.2;
}
.checkout-existing-customer card {
  background-color: #fff;
}
.dzm-checkout-step-active {
  color: #02A067;
}
.checkout-confirmation {
  /* Theme v2 B2-9a: Kommentarfeld der Bestelluebersicht (Christians Befund:
     bleibt im Dark weiss).

     Inventar: das Feld ist ein <textarea class="form-control
     checkout-confirmation-comment p-3"> (SCC textarea.tpl setzt form-control)
     im Wrapper #panel-edit-comment.form-group.niu-form-group. Heutiger Gewinner
     ist genau diese Regel (0,1,1) - sie schlaegt den generischen
     Input-Konsumenten .form-control (0,1,0) aus B2-4; der
     .niu-form-group-Konsument listet nur input/select und greift hier nicht.

     Legacy-Drift (bewusst): der input-bg-Anker der page-Root ist $niu-input-bg
     == white, hier stand bisher #fafafa == $gray-muted - 2 % Helligkeits-
     unterschied auf weissem Grund, praktisch unsichtbar. Der var()-Fallback
     traegt den heutigen Wert wortgleich weiter. */
}
.checkout-confirmation .card:first-child {
  border: none !important;
}
.checkout-confirmation textarea {
  background-color: var(--s-input-bg, #fafafa);
}
@media screen and (max-width: 768px) {
  #checkout [data-toggle="tooltip"]::before {
    transform: translateX(-10px);
  }
  #checkout .niu-checkout-summary {
    background: transparent;
  }
}
.cart-items-image .niu-cart-image {
  aspect-ratio: 1;
  /*  max-width: 125px;*/
  object-fit: contain;
  border-radius: 3px;
}
/*NIU Cart overview*/
.niu-cart-overview .wishlist-button {
  margin-right: 0;
  padding-right: 0;
}
/*
CHECKOUT: PAYMENT PROVIDERS (>5.2.4)
 */
label.custom-control-label, .checkout-payment-method .custom-control {
  width: 100%;
}
.checkout-payment-method img, .checkout-payment-method .paypal-marks {
  max-height: 15px;
  width: auto;
}
.checkout-payment-method .funding-name {
  display: none !important;
}
/*
#BESTELLABSCHLUSS
 */
#order-confirm .card-body, #order-confirm .card-header {
  padding: 0;
}
/*
#WUNSCHLISTE (nutzt basket/checkout)
 */
#wl-items-form .delivery-status .signal_image {
  align-items: center;
}
.wishlist-all-to-cart.sticky-bottom {
  bottom: 15px;
}
.cart-summary .card-body, .niu-checkout-summary .card-body {
  background: transparent;
  padding: 1rem 0;
}
.cart-summary .card-header, .niu-checkout-summary .card-header {
  padding: 1rem 0;
}
.cart-summary .basket-summary-total, .niu-checkout-summary .basket-summary-total {
  border-top: none !important;
  padding-top: 0;
  margin-top: 0;
}
.checkout-payment-method img, .checkout-payment-method .paypal-marks {
  max-height: 48px;
}
.niu-checkout-payment-method-image {
  width: 35%;
  min-width: 3.5rem;
  text-align: right;
}
/* show error in niu card when form isn't ready */
/* Theme v2 C1 (Inventar V8): der Fehler-Chip las --danger, also die
   Bootstrap-:root-Variable, und blieb damit auch unter Theme v2 auf dem
   kompilierten Signalrot stehen. --niu-danger ist dieselbe Rolle aus der
   Theme-Emission; der var()-Fallback auf --danger haelt den Legacy-Fall
   wortgleich (ohne Theme v2 ist --niu-danger nicht definiert).
   Die Rahmenfarbe #C0274C bleibt bewusst stehen - Signalfarben sind ein
   eigener Eimer, hier wird nur die falsche Quelle korrigiert. */
.niu-item-card {
  position: relative;
}
.niu-item-card:has(.niu-form-group):not(.has-error)::after {
  content: attr(data-error-label);
  display: inline-flex;
  position: absolute;
  top: 0;
  right: 3rem;
  background-color: var(--niu-danger, var(--danger));
  color: white;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 0 0 3px 3px;
  transition: opacity 0.2s ease;
  opacity: 0;
}
.niu-item-card:has(.niu-form-group.has-error) {
  border-color: #C0274C;
  overflow: hidden;
}
.niu-item-card:has(.niu-form-group.has-error)::after {
  content: attr(data-error-label);
  display: inline-flex;
  position: absolute;
  top: 0;
  right: 0;
  background-color: var(--niu-danger, var(--danger));
  color: white;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 0 0 0 3px;
  transition: opacity 0.2s ease;
  opacity: 1;
}
/* cursor pointer for collapse in niu item card */
.niu-item-card [data-toggle="collapse"] {
  cursor: pointer;
}
.niu-item-card.niu-checkout-overview {
  /* Theme v2 B2-9b: gehört zur Surface 'checkout-panel', nicht mehr zu 'card'.
       Die Klasse markiert die mobile Bestellübersicht und steht im TPL zweimal
       (checkout.niu/index.new.tpl): einmal in der linken Spalte als aufklappbarer
       Warenkorb (d-lg-none), einmal innerhalb von .niu-checkout-content-right.
       Beide zeigen denselben Inhalt wie das rechte Panel – die Bestellübersicht ist
       eine Zone, keine zwei. Deshalb folgt auch die linke Instanz der
       checkout-panel-Fläche; die rechte würde ohnehin erben, die eigene Root hält
       die Verschachtelungs-Semantik („nächstgelegene Wurzel gewinnt") explizit.
       Legacy-Anker unverändert $gray-muted → Null-Effekt ohne Theme v2. */
  --s-bg: var(--niu-checkout-panel-bg, #fafafa);
  --s-text: var(--niu-checkout-panel-text, inherit);
  --s-text-muted: var(--niu-checkout-panel-text-muted, #808778);
  --s-heading: var(--niu-checkout-panel-heading, #1a2b08);
  --s-accent: var(--niu-checkout-panel-accent, #1a1f14);
  --s-border: var(--niu-checkout-panel-border, #e6e7e4);
  --s-hover: var(--niu-checkout-panel-hover, #fafafa);
  --s-shadow: var(--niu-checkout-panel-shadow, #ededed);
  --s-input-bg: var(--niu-checkout-panel-input-bg, white);
  --s-input-text: var(--niu-checkout-panel-input-text, #26420a);
  --s-input-border: var(--niu-checkout-panel-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-checkout-panel-input-placeholder, #808778);
  --s-input-focus: var(--niu-checkout-panel-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-checkout-panel-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-checkout-panel-accent-text, var(--s-bg));
  background: var(--s-bg);
  color: var(--s-text);
  border: unset;
  border-radius: unset !important;
  box-shadow: unset !important;
}
/* sup for checkout-items */
.niu-item-card--is-checkout .niu-item-card--content .fa-sup {
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  background-color: #435334;
  display: flex !important;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
/* basket items - overflow */
@media (min-width: 991px) {
  .niu-basket-items {
    max-height: 40vh;
    overflow-y: scroll;
  }
}
/* Schatten-Raum im Scroll-Container (Paket H1)

   Die Warenkorbliste im Bestellvorgang ist aus zwei gewollten Gruenden ein
   Overflow-Container: die Deckelung langer Warenkoerbe direkt darueber
   (max-height 40vh + overflow-y) und der Scroll-More-Indikator
   (`.niu-scroll-more-container` in _niu_utilities.scss, versteckte Scrollbar +
   Verlauf, gesteuert von niu.scrollMore.js). Jedes overflow != visible
   beschneidet aber die box-shadows der Positionen darin an den
   Container-Kanten. Gemessen clippen BEIDE Achsen: sobald overflow-y nicht
   mehr visible ist, rechnet der Browser overflow-x zu `auto` – die seitlichen
   Schattenraender fallen also genauso weg wie die oben und unten.

   Sichtbar wurde das erst mit der Bindung `checkout.itemCardStyle`: vorher
   stand `niu-itembox-option--has-border` fest im Markup, und dessen
   Ruhezustand malt keinen Schatten. Bei „Schattierte Karte" ist der
   Ruheschatten (0 0 1rem) die einzige Kontur der Position – und wurde an den
   Container-Kanten verschluckt.

   Ein Scroll-Container MUSS clippen, sonst scrollt er nicht; es gibt hier
   keine Loesung ueber „Clip abschalten", nur Platz INNERHALB des Clips.
   Innenabstand plus kompensierende Negativ-Margin: die Content-Box behaelt
   exakt ihre bisherige Breite und Hoehe, nur die Paint-Kante wandert 1rem
   nach aussen. Die Flucht mit den Bloecken darunter (Bestelluebersicht,
   Coupon) bleibt damit unveraendert.

   Warum genau 1rem: das ist der Abstand, den die Liste zwischen ihren
   Positionen ohnehin haelt (gap: 1rem im Markup). Die Randkarten bekommen so
   denselben Schattenraum wie die Karten mittendrin. Der Ruheschatten (Blur
   1rem, also 0.5rem sichtbarer Auslauf) liegt komplett darin. Vom
   Hover-Schatten (0 10px 30px, gemessen: er wird auf den Checkout-Positionen
   sehr wohl gemalt, es gibt keinen box-shadow:none-Override) bleiben unten
   9px ausserhalb. Bewusst nicht nachgezogen: ein groesserer Fussabstand
   wuerde den Container in den Block darunter schieben, und der untere
   Hover-Lappen wird zwischen zwei Positionen ohnehin von der naechsten Karte
   ueberdeckt.

   max-height wird um dieselben 2rem erhoeht, weil box-sizing: border-box
   gilt. Ohne die Korrektur waere die sichtbare Liste 2rem kuerzer und alles
   darunter wuerde 2rem nachruecken; so bleibt die Margin-Box exakt 40vh hoch
   und der Scroll-More-Indikator (absolute, bottom 0 im Wrapper) steht
   unveraendert.

   NICHT unter body.niu-theme2: die Einstellung wirkt auch ohne Theme v2 – ein
   Legacy-Shop mit „Schattierte Karte" haette denselben Clip. Null-effekt-
   sicher ist die Regel trotzdem, weil der :has()-Scope sie nur greifen laesst,
   wenn eine Schatten-Karte direkt im Container liegt; diesen DOM-Zustand gab
   es vor der Bindung nirgends. Direktes Kind statt Nachfahre, damit ein
   verschachteltes Vorkommen die Geometrie des Containers nicht anfasst.

   Theme v2 S2-C2a: Die fest verbauten 1rem lesen jetzt --niu-card-shadow-room.
   Notwendig, weil die Schatten-Geometrie seit S2-C2a einstellbar ist - der
   freie Spielraum bis zum Clip betrug vorher exakt 8px (Werksauslauf 8px in
   16px Raum), also weniger als die erste Runde, die ein Betreiber dreht. Die
   Engine rechnet den Raum nach derselben Formel, aus der oben die 1rem
   stammen: Auslauf je Kante = |Versatz| + Spread + Blur/2, mindestens 1rem.

   CALC IST HIER ERLAUBT - und das ist keine Nachlaessigkeit gegenueber Audit
   Nr. 61 (calc()-Token-Falle), sondern eine Kontraktfrage: --niu-card-shadow-room
   ist per Kontrakt EINWERTIG (eine Laenge), waehrend Nr. 61 an --niu-radius-*
   scheiterte, weil dort mehrwertige Eckenlisten moeglich sind. Wer beim
   naechsten Lesen dem Suchmuster "calc + Token = kaputt" folgt: das Muster
   greift nur bei mehrwertigen Tokens. Das mehrwertige Geschwister-Token
   --niu-card-shadow-geo ("x y blur spread") darf entsprechend NIE in ein
   calc(). Ohne Einstellung fehlt das Token, der Fallback 1rem ergibt exakt
   die bisherigen Werte (padding 1rem / margin -1rem / calc(40vh + 2*1rem)). */
.niu-basket-items.niu-scroll-more-container:has(> .niu-itembox-option--has-shadow) {
  padding: var(--niu-card-shadow-room, 1rem);
  margin: calc(-1 * var(--niu-card-shadow-room, 1rem));
}
@media (min-width: 991px) {
  .niu-basket-items.niu-scroll-more-container:has(> .niu-itembox-option--has-shadow) {
    max-height: calc(40vh + 2 * var(--niu-card-shadow-room, 1rem));
  }
}
/* Der Wrapper muss dabei ein eigener Block-Formatting-Context sein.
   Gemessener Grund: die senkrechten Negativ-Margins des Containers sind
   angrenzende Margins und kollabieren sonst durch den Wrapper hindurch nach
   aussen. Die Bloecke darunter stehen dann zwar richtig (die Margin-Box
   stimmt ja), der Wrapper selbst wird aber 2rem hoeher – und der
   Scroll-More-Indikator haengt mit `bottom: 0` an genau dieser Kante und
   rutschte um 1rem nach unten (665.59 -> 681.59 gemessen). Mit flow-root
   bleiben die Margins im Container, der Wrapper behaelt exakt seine
   bisherige Hoehe und der Indikator seinen Platz.

   Gleicher :has()-Scope, gleiche Begruendung wie oben: ohne Schatten-Karten
   im Container greift die Regel nicht, und der Container traegt dann auch
   keine Margins, die kollabieren koennten. */
.niu-scroll-more-wrapper:has(.niu-itembox-option--has-shadow) {
  display: flow-root;
}
/* Gewährleistungslabel im letzten Checkout-Schritt (#41).

   Die Klasse gab es bisher nur als Markup-Haken – weder NOVA noch wir haben sie
   je gestylt. Das Bild ist ein Hochformat (1219x1668) und wird von warranty/
   label_checkout.tpl mit `width=665 fluid=true` angefordert, läuft also bis an
   die Spaltenkante. In der schmalen NIU-Bestätigungsspalte ergäbe das einen
   Block von gut 700px Höhe, der den Bestellbutton aus dem Blick schiebt.

   Deckel bei 520px: Das Blatt ist eine zweispaltige Informationsseite mit
   Fließtext und muss lesbar bleiben – deutlich kleiner wird es zur Grafik ohne
   Aussage. 520px entspricht etwa der Breite der Bestätigungsspalte auf dem
   Desktop, unterhalb davon greift ohnehin max-width: 100%.

   Rahmen und Radius machen aus dem freistehenden Bild ein eingelegtes Dokument.
   Am Blatt selbst ändern wir nichts: Es ist eine regulierte Kennzeichnung,
   Motiv und Farbgebung bleiben unangetastet, auch unter Theme v2 Dark. Deshalb
   steht hier bewusst eine feste helle Fläche und keine Surface-Ableitung – das
   Blatt bringt seinen eigenen weißen Grund mit, ein dunkler Rahmen darum würde
   nur einen harten Absatz erzeugen. */
.warranty-label-checkout {
  max-width: 520px;
  margin-inline: auto;
}
.warranty-label-checkout img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
/* Garantie-Label (#40).

   Das Siegel selbst ist eine regulierte Kennzeichnung - Geometrie, Proportionen
   und Farben bleiben unangetastet, auch unter Theme v2 Dark. Es bringt seinen
   eigenen weißen Grund mit. Gestaltet wird deshalb nur das, was NOVA als CSS um
   das SVG gelegt hat: Rahmen, Radius, Schatten und Größe. */
/* Der Auslöser. Bewusst ein <span> mit role/tabindex statt eines <button>, weil
   das Label in productlist/item_box.tpl innerhalb des Kartenlinks sitzt. Ohne
   eigenen Zeiger sähe es dort aus wie der Rest der Karte und niemand käme auf
   die Idee zu klicken.

   Der Fokusring kommt unter Theme v2 aus der globalen :focus-visible-Regel
   (box-shadow mit --s-input-focus). Ohne aktives Theme v2 gäbe es gar keinen -
   deshalb hier ein Fallback über dieselbe Variable mit currentColor als
   letzter Instanz. */
.guarantee-label-trigger {
  display: inline-block;
  cursor: pointer;
  border-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
}
.guarantee-label-trigger:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px var(--s-input-focus, currentColor);
}
/* NOVAs Rahmen ist ein hartes #7E7E7E, das in keinem Theme sitzt und auf
   dunklen Flächen als heller Kasten schneidet. Wir hängen ihn an dieselbe
   Rahmenrolle wie die Karten und geben ihm Radius und einen flachen Schatten,
   damit das Siegel wie ein eingelegtes Dokument wirkt statt wie ein
   aufgeklebter Kasten. Der weiße Grund bleibt - er gehört zum Motiv. */
.guarantee-label {
  border-color: var(--s-border, rgba(0, 0, 0, 0.18));
  border-radius: var(--niu-radius-card, var(--niu-radius, 0.125rem));
  overflow: hidden;
}
.guarantee-label.guarantee-label-small {
  box-shadow: none;
}
.guarantee-label.guarantee-label-full {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
/* Im Modal ist die Dialogbreite der Deckel, nicht die 800px aus _base.scss.
   Bei 800px wäre das Siegel ein Plakat; als Urkunde gelesen wird es erst,
   wenn es die Textspalte darüber nicht überragt. */
#niu-guarantee-modal .guarantee-label.guarantee-label-full {
  max-width: 360px;
  margin-inline: auto;
}
#niu-guarantee-modal .modal-body {
  text-align: center;
}
#niu-guarantee-modal [data-niu-guarantee-modal-summary] {
  text-align: start;
}
#niu-guarantee-modal [data-niu-guarantee-modal-summary]:empty {
  display: none;
}
/* Der Textlink auf die EU-Information. Er ersetzt den QR-Code nicht, er macht ihn
   am Bildschirm erst brauchbar - scannen kann man den eigenen Bildschirm nicht.
   Steht ausserhalb des Siegels und traegt deshalb unsere Typografie, nicht dessen
   Anmutung. Im Modal zentriert unter dem Label, sonst linksbuendig. */
.guarantee-label-eu-link, .warranty-label-eu-link {
  margin-top: 0.5rem;
}
#niu-guarantee-modal .guarantee-label-eu-link {
  text-align: center;
}
/*!###NIUWISHLIST###*/
#niu-wishlist-sidebar sup {
  padding: 7px 5px;
}
/*!###NIUFOOTER###*/
/* Theme v2 B2-3/B2-4: footer-top-Surface-Root (§3c). Headline und Icon sind
   eigenstaendige Selektoren, liegen im DOM aber immer innerhalb der Root
   (footer_topbar.tpl) - B2-4 zieht sie auf die lokalen Vars um (Anker
   wortgleich zur Root-Map: heading = set-text-color, border = lighten 20%,
   B-5). Das !important der Headline bleibt (gewinnt u. a. gegen den
   generischen .h2-Konsumenten - beide loesen dieselbe Kette auf). */
.niu-footer-topbar {
  --s-bg: var(--niu-footer-top-bg, #435334);
  --s-text: var(--niu-footer-top-text, white);
  --s-text-muted: var(--niu-footer-top-text-muted, #808778);
  --s-heading: var(--niu-footer-top-heading, white);
  --s-accent: var(--niu-footer-top-accent, #1a1f14);
  --s-border: var(--niu-footer-top-border, #76925b);
  --s-hover: var(--niu-footer-top-hover, transparent);
  --s-shadow: var(--niu-footer-top-shadow, transparent);
  --s-input-bg: var(--niu-footer-top-input-bg, white);
  --s-input-text: var(--niu-footer-top-input-text, #26420a);
  --s-input-border: var(--niu-footer-top-input-border, #c0c3bc);
  --s-input-placeholder: var(--niu-footer-top-input-placeholder, #808778);
  --s-input-focus: var(--niu-footer-top-input-focus, #435334);
  --s-input-disabled-bg: var(--niu-footer-top-input-disabled-bg, #e9ecef);
  --s-accent-text: var(--niu-footer-top-accent-text, var(--s-bg));
  background-color: var(--s-bg);
  color: var(--s-text);
  position: relative;
  overflow-y: hidden;
}
.niu-footer-topbar a {
  color: var(--s-text) !important;
}
.niu-footer-topbar-headline {
  color: var(--s-heading) !important;
  position: relative;
  z-index: 3;
}
.niu-footer-topbar-icon {
  height: 100%;
  position: absolute;
  top: -130%;
  right: 0;
  color: var(--s-border);
  opacity: 0.2;
  font-size: 15rem;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 991px) {
  .niu-footer-topbar-icon {
    left: 20px;
  }
}
.niu-footer-topbar-text {
  position: relative;
  z-index: 3;
}
.niu-footer-topbar-search-form, .niu-footer-topbar-newsletter-form {
  position: relative;
  /* WHY??? */
  /*z-index: 3;*/
}
/* Theme v2: bewusst hell in beiden Modi - Zahlungslogos sind fuer hellen Grund
   gezeichnet (Audit 2026-08-12, Eimer 3). */
.niu_subfooter_paymethods_icon {
  background-color: white;
  border-radius: var(--niu-radius-media, 5px);
  /* Theme v2 S2-A-Nachzug (Audit Nr. 59): Die Zahlungslogo-Kachel ist ein
     Bild-Container und folgt damit der media-Familie - nicht der control-
     Familie der Social-Buttons weiter unten, obwohl beide im selben Partial
     stehen und heute zufaellig denselben XL-Wert tragen. Familie nach
     Funktion des Elements (S2-A-Spec §1).
     Die Farb-Ausnahme im Kopf dieser Datei bleibt unberuehrt: Die Kachel ist
     bewusst in beiden Modi hell, das betrifft den Radius nicht. */
  box-shadow: 0px 5px 15px -4px #00000014;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.niu_subfooter_paymethods_icon.bordered {
  border: 1px solid #4d5148;
}
.niu_subfooter_paymethods {
  flex-grow: 2;
}
.niu_subfooter_paymethods_box .niu_subfooter_paymethods_icon.niu_mod_xl {
  border-radius: var(--niu-radius-media, 9px);
  width: 100px;
  height: 66px;
}
.niu_subfooter_paymethods_box .niu_subfooter_paymethods_icon.niu_mod_xl img {
  width: 100%;
}
.footer-social-media {
  /* Theme v2 S2-A-Nachzug (Audit Nr. 58): Die Button-Familie ist seit S2-A2
     konvertiert (%niu-btn, $btn-border-radius), diese lokale Regel hat sie an
     den Social-Buttons aber ueberschrieben - Bedienelemente, die dem
     Bedienelement-Radius nicht folgten. Fallback wortgleich der bisherige
     kompilierte Wert, ohne Theme-Tokens also wertgleich. */
}
.footer-social-media .btn-icon-primary {
  width: 48px;
  height: 32px;
  border-radius: var(--niu-radius-control, 3px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-social-media .btn-icon-primary.niu_mod_xl {
  width: 100px;
  height: 66px;
  border-radius: var(--niu-radius-control, 9px);
}
.footer-social-media .btn-icon-primary.niu_mod_xl .fab {
  font-size: 215%;
}
/*@media screen and (max-width:991px) {
  .niu_subfooter_paymethods_box .niu_subfooter_paymethods_icon img {
    max-width: 35px;
  }

}*/
@media (min-width: 768px) {
  #footer #copyright > div {
    text-align: left;
  }
}
[data-niu-sidebar-productpreview-checkout] .product-buy {
  margin-top: 1rem;
}
#footer #copyright a:not(.btn) {
  /* Theme v2 B2-4: bleibt direkter Token-Read - der Legacy-Anker
     set-text-color($copyright-bg-color) weicht vom footer-bottom-Root-Anker
     ($gray-lighter) ab (bewusste Link-Sonderfarbe). */
  color: var(--niu-footer-bottom-text, white);
}
/*!###CHECKUP###*/
.checkup-dzm {
  primary: #435334;
  secondary: #f89917;
  tertiary: #1a1f14;
  danger: #C0274C;
  warning: #DAAA4E;
  info: #025A7F;
  success: #02A067;
  d1: 4.1098906729rem 65.7582507657;
  d2: 3.6532361537rem 58.4517784584;
  d3: 3.2473210255rem 51.9571364075;
  d4: 2.8865075782rem 46.1841212511;
  d5: 2.565784514rem 41.0525522232;
  d6: 2.2806973457rem 36.4911575317;
  h1: 2.0272865295rem 32.4365844727;
  h2: 1.8020324707rem 28.8325195313;
  h3: 1.6018066406rem 25.62890625;
  h4: 1.423828125rem 22.78125;
  h5: 1.265625rem 20.25;
  h6: 1.125rem 18;
  p-BASE: 1rem 16;
  p-lg: 1.125rem 18;
  p-sm: 0.8888888889rem 14.2222222222;
  p-xs: 0.7901234568rem 12.6419753086;
  p-xxs: 0.7023319616rem 11.2373113855;
  ribbon: 0.625rem 10;
  basePageWidth: 1440;
  useResponsiveFontSizes: true;
  font-scale-factor: 1.125;
  base-font-scale: 1;
  footer-bg: rgba(247, 247, 248, 0.81);
  footer-color: #26420a;
  footer-accent: #f89917;
}
/*!###CUSTOM###*/
/* grid breakpoints */
/* grid containers */
/* links */
/* cards */
/* tables */
/* breadcrumbs */
/* navs */
/* modals */
/* Theme v2 S2-A2: Overlays konsumieren die Karten-Familie (Spec §3.2).
   Der Fallback ist wortgleich der bisherige Ausdruck $border-radius, der
   seinerseits schon auf --niu-radius faellt - die Kette bleibt also
   --niu-radius-card -> --niu-radius -> .125rem. */
/* Muss hier stehen, sonst berechnet Bootstrap es selbst per
   subtract($modal-content-border-radius, $modal-content-border-width). Sobald
   der aeussere Radius ein var()-Ausdruck ist, faellt subtract() in den
   String-Zweig und liefert calc(<laenge> - 0) - und ein einheitenloses 0 als
   Subtrahend ist in calc() ein Typfehler, die Deklaration wuerde verworfen.
   Die Rahmenbreite ist hier ohnehin 0, der innere Radius also gleich dem
   aeusseren. */
/* progress */
/* options */
/* dropdowns */
/* Theme v2 S2-A2: Overlay, Karten-Familie. Der Fallback 0 ist wortgleich -
   ohne Token bleibt das Dropdown eckig wie bisher (Kartierung K7). */
/* Gleiche Begruendung wie beim Modal: verhindert calc(<laenge> - 0) aus
   Bootstraps subtract(). Rahmenbreite ist 0, innen = aussen. */
/* gaps */
/* PRODUCT BOX SETTINGS*/
/* CONTAINER */
:root {
  --pl-olive:        #435334;
  --pl-olive-dark:   #2d3823;
  --pl-olive-soft:   #5a6f47;
  --pl-orange:       #f89917;
  --pl-orange-hover: #cf7a09;
  --pl-ink:          #1a1a1a;
  --pl-ink-2:        #5a5a55;
  --pl-bg:           #fafaf7;
  --pl-surface:      #fff;
  --pl-hair:         #ececea;
  --pl-success:      #1f8a4d;
  --pl-r-sm:         4px;
  --pl-r-md:         8px;
  --pl-r-lg:         12px;
  --pl-r-xl:         16px;
  --pl-r-pill:       999px;
  --pl-shadow-card:  0 1px 0 rgba(0, 0, 0, 0.05), 0 8px 24px rgba(0, 0, 0, 0.06);
  --pl-shadow-cta:   0 4px 14px rgba(248, 153, 23, 0.28);
  --pl-shadow-cta-h: 0 6px 16px rgba(248, 153, 23, 0.44);
}
:root {
  --pl-olive-bg: #435334;
}
* {
  box-sizing: border-box;
}
.opc-area li {
  list-style: none;
}
.opc-area ul {
  padding-left: 0;
  margin-left: 0;
}
.pl-promo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 9px 24px;
  flex-wrap: wrap;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #fff;
  --s-accent: #fff;
  text-align: center;
}
.pl-promo[data-mode="standard"] {
  background: var(--pl-olive-bg);
}
.pl-promo[data-mode="sale"] {
  background: #dd3923;
}
.pl-promo[data-mode="launch"] {
  background: var(--pl-success);
}
.pl-promo[data-mode="restock"] {
  background: #c9952a;
}
.pl-promo[data-mode="workshop"] {
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
.pl-promo[data-mode="workshop"] .pl-promo__badge {
  background: rgba(0, 0, 0, 0.12);
  border-color: rgba(0, 0, 0, 0.15);
}
.pl-promo a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 768px) {
  .pl-promo {
    font-size: 11.5px;
    padding: 8px 12px;
    gap: 8px;
  }
}
.pl-promo__badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2px 9px;
  border-radius: 4px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}
.pl-promo__sep {
  opacity: 0.35;
}
.pl-promo__countdown {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(0, 0, 0, 0.18);
  padding: 4px 10px;
  border-radius: 4px;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}
.pl-promo__countdown span {
  background: rgba(0, 0, 0, 0.25);
  padding: 1px 6px;
  border-radius: 3px;
}
@media (max-width: 768px) {
  .pl-promo__hide-sm {
    display: none !important;
  }
}
.pl-hero {
  background: var(--pl-bg);
}
.pl-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 48px 48px;
  align-items: center;
}
@media (max-width: 900px) {
  .pl-hero__grid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 32px 16px 24px;
  }
}
.pl-hero__right {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 900px) {
  .pl-hero__right {
    order: -1;
  }
}
.pl-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 10.5px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  margin-bottom: 18px;
}
.pl-hero-kicker::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f89917;
  flex-shrink: 0;
}
.pl-hero-pill {
  display: none;
  align-items: center;
  gap: 7px;
  background: rgba(248, 153, 23, 0.12);
  border: 1px solid rgba(248, 153, 23, 0.3);
  color: #f89917;
  --s-accent: #f89917;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 16px;
  width: fit-content;
}
.pl-hero-pill__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f89917;
  animation: pl-pulse 1.5s infinite;
}
@keyframes pl-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(0.8);
  }
}
.pl-hero--campaign .pl-hero-pill {
  display: inline-flex;
}
.pl-hero--campaign .pl-hero-kicker {
  display: none;
}
.pl-hero--campaign .pl-hero-sticker {
  display: flex;
}
.pl-hero--campaign .pl-hero-bundle {
  display: block;
}
.pl-hero-h1 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 0.97;
  letter-spacing: -1.5px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0 0 22px;
}
.pl-hero-h1__accent, .pl-hero-h1__orange {
  color: #f89917;
  --s-accent: #f89917;
}
@media (max-width: 900px) {
  .pl-hero-h1 {
    font-size: clamp(30px, 7vw, 44px);
  }
}
.pl-hero-lead {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.6;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0 0 24px;
  max-width: 480px;
}
@media (max-width: 900px) {
  .pl-hero-lead {
    max-width: 100%;
  }
}
.pl-hero-trust {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin-bottom: 28px;
}
.pl-hero-trust__dot {
  color: var(--pl-hair);
  --s-accent: var(--pl-hair);
  font-size: 16px;
}
.pl-hero-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pl-hero-steps li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.4;
}
.pl-hero-step-num {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.pl-hero-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.pl-hero-btn, .pl-hero-btn-primary, .pl-hero-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
}
.pl-hero-btn--primary, .pl-hero-btn-primary {
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28);
}
.pl-hero-btn--primary:hover, .pl-hero-btn-primary:hover {
  background: #cf7a09;
  box-shadow: 0 6px 16px rgba(248, 153, 23, 0.44);
  color: #fff;
  --s-accent: #fff;
}
.pl-hero-btn--secondary, .pl-hero-btn-secondary {
  background: var(--pl-surface);
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  border: 1.5px solid var(--pl-hair);
}
.pl-hero-btn--secondary:hover, .pl-hero-btn-secondary:hover {
  border-color: var(--pl-line-2, #ccc);
  background: var(--pl-alt, #f7f7f5);
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-hero-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  aspect-ratio: 1.3333333333;
}
@keyframes pl-hero-slide-cycle {
  0%, 42% {
    opacity: 1;
  }
  50%, 92% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pl-hero-dot-cycle {
  0%, 42% {
    background: #fff;
  }
  50%, 92% {
    background: rgba(255, 255, 255, 0.45);
  }
  100% {
    background: #fff;
  }
}
.pl-hero-slider {
  position: relative;
}
.pl-hero-slider input[type="radio"] {
  display: none;
}
.pl-hero-slider__track {
  position: relative;
  aspect-ratio: 1;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  background: var(--pl-surface);
}
.pl-hero-slider__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  z-index: 1;
  animation: pl-hero-slide-cycle 10s infinite;
}
.pl-hero-slider__slide:nth-of-type(2) {
  animation-delay: 5s;
}
.pl-hero-slider__slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.pl-hero-slider__dots {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 9px;
  z-index: 3;
  background: rgba(0, 0, 0, 0.35);
  padding: 6px 10px;
  border-radius: 999px;
}
.pl-hero-slider__dots label {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  animation: pl-hero-dot-cycle 10s infinite;
  transition: transform 0.2s;
}
.pl-hero-slider__dots label:nth-of-type(2) {
  animation-delay: 5s;
}
.pl-hero-slider input[type="radio"]:nth-of-type(1):checked ~ .pl-hero-slider__track .pl-hero-slider__slide:nth-of-type(1), .pl-hero-slider input[type="radio"]:nth-of-type(2):checked ~ .pl-hero-slider__track .pl-hero-slider__slide:nth-of-type(2) {
  opacity: 1 !important;
  z-index: 2;
  animation-play-state: paused;
}
.pl-hero-slider input[type="radio"]:nth-of-type(1):checked ~ .pl-hero-slider__track .pl-hero-slider__slide:nth-of-type(2), .pl-hero-slider input[type="radio"]:nth-of-type(2):checked ~ .pl-hero-slider__track .pl-hero-slider__slide:nth-of-type(1) {
  opacity: 0 !important;
  animation-play-state: paused;
}
.pl-hero-slider input[type="radio"]:nth-of-type(1):checked ~ .pl-hero-slider__dots label:nth-of-type(1), .pl-hero-slider input[type="radio"]:nth-of-type(2):checked ~ .pl-hero-slider__dots label:nth-of-type(2) {
  background: #fff !important;
  transform: scale(1.25);
  animation-play-state: paused;
}
.pl-hero-slider input[type="radio"]:nth-of-type(1):checked ~ .pl-hero-slider__dots label:nth-of-type(2), .pl-hero-slider input[type="radio"]:nth-of-type(2):checked ~ .pl-hero-slider__dots label:nth-of-type(1) {
  background: rgba(255, 255, 255, 0.45) !important;
  animation-play-state: paused;
}
.pl-hero-sticker {
  display: none;
  position: absolute;
  top: -14px;
  right: -14px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 16px rgba(248, 153, 23, 0.45);
  transform: rotate(12deg);
  z-index: 2;
  pointer-events: none;
}
.pl-hero-sticker__main {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 14px;
  line-height: 1;
}
.pl-hero-sticker__sub {
  font-size: 10px;
  font-weight: 600;
  opacity: 0.9;
}
@media (max-width: 900px) {
  .pl-hero-sticker {
    width: 64px;
    height: 64px;
    top: -10px;
    right: -10px;
  }
}
.pl-hero-bundle {
  display: none;
  background: var(--pl-surface);
  border: 1.5px solid var(--pl-hair);
  border-radius: 12px;
  padding: 14px 16px;
  margin-top: 12px;
  box-shadow: var(--pl-shadow-card);
}
.pl-hero-bundle__row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.pl-hero-bundle__row--mobile {
  display: none;
}
@media (max-width: 768px) {
  .pl-hero-bundle__row {
    display: none;
  }
  .pl-hero-bundle__row--mobile {
    display: flex;
  }
}
.pl-hero-bundle__thumb {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.pl-hero-bundle__thumb--sm {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
}
.pl-hero-bundle__info {
  flex: 1;
  min-width: 0;
}
.pl-hero-bundle__label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-hero-bundle__name {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-hero-bundle__price {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-hero-bundle__gratis {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pl-hero-bundle__strike {
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  text-decoration: line-through;
}
.pl-hero-bundle__badge {
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  letter-spacing: 0.5px;
}
.pl-hero-bundle__plus {
  font-size: 18px;
  font-weight: 700;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  flex-shrink: 0;
}
.pl-hero-bundle__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--pl-hair);
  gap: 8px;
  flex-wrap: wrap;
}
.pl-hero-bundle__saving {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-hero-bundle__btn {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #f89917;
  --s-accent: #f89917;
  text-decoration: none;
  white-space: nowrap;
}
.pl-hero-bundle__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  flex-shrink: 0;
  text-decoration: none;
}
.pl-trustbar-wrap {
  background: var(--pl-surface);
}
.pl-trustbar .dzm-icon-box {
  border: 1.5px solid var(--pl-hair);
  border-radius: 12px;
  padding: 20px 16px;
  text-align: center;
  background: var(--pl-surface);
  height: 100%;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.pl-trustbar .dzm-icon-box:hover {
  box-shadow: var(--pl-shadow-card);
  border-color: var(--pl-hair-strong, #e0e0dd);
}
.pl-trustbar .icon-box-title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-trustbar .icon-box-icon {
  color: #f89917;
  --s-accent: #f89917;
  font-size: 22px;
}
.pl-trustbar .dzm-icon-box p {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 4px 0 0;
  line-height: 1.5;
}
.opc_before_main .uspitems-wrapper h2 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(26px, 3vw, 44px);
  letter-spacing: -1px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0 0 4px;
  line-height: 1;
}
.opc_before_main .uspitems-wrapper p {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 16px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0;
}
.pl-badge-new {
  display: inline-block;
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 10px;
  padding: 2px 7px;
  border-radius: 4px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.pl-newsletter {
  background: var(--pl-olive-bg) !important;
  padding: 64px 48px;
}
.pl-newsletter h2, .pl-newsletter .pl-nl-copy * {
  color: #fff !important;
  --s-accent: #fff;
}
.pl-newsletter p, .pl-newsletter .dzm-headline-subheader {
  color: rgba(255, 255, 255, 0.8) !important;
  --s-accent: rgba(255, 255, 255, .8);
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
}
.pl-newsletter input[type="email"], .pl-newsletter input[type="text"] {
  background: rgba(255, 255, 255, 0.12);
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  --s-accent: #fff;
  border-radius: 8px;
  padding: 12px 16px;
  font-size: 15px;
}
.pl-newsletter input[type="email"]::placeholder, .pl-newsletter input[type="text"]::placeholder {
  color: rgba(255, 255, 255, 0.5);
  --s-accent: rgba(255, 255, 255, .5);
}
.pl-newsletter button[type="submit"], .pl-newsletter .btn-primary {
  background: #f89917 !important;
  border-color: #f89917 !important;
  color: #fff !important;
  --s-accent: #fff;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  border-radius: 8px !important;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28) !important;
  transition: background 0.18s !important;
}
.pl-newsletter button[type="submit"]:hover, .pl-newsletter .btn-primary:hover {
  background: #cf7a09 !important;
}
@media (max-width: 768px) {
  .pl-newsletter {
    padding: 40px 16px;
  }
}
.pl-sticky-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.12);
  flex-direction: column;
  gap: 8px;
}
@media (max-width: 768px) {
  .pl-sticky-cta {
    display: flex;
  }
}
.pl-sticky-cta__main {
  display: block;
  text-align: center;
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  padding: 14px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28);
}
.pl-sticky-cta__main:hover {
  background: #cf7a09;
}
blockquote.klausi-quote {
  font-family: "Newsreader", Georgia, serif;
  font-style: italic;
  font-size: 18px;
  line-height: 1.5;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  border-left: 3px solid #f89917;
  padding-left: 18px;
  margin: 20px 0 0;
}
.pl-workshops-section .uspitems-wrapper h2 {
  font-family: "Open Sans-ps", sans-serif;
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 600;
  letter-spacing: normal;
}
.pl-workshops-section .uspitems-wrapper p {
  font-family: "Open Sans-ps", sans-serif;
}
.pl-cta-profi-wrap {
  background: var(--pl-olive-bg);
}
.pl-cta-profi {
  max-width: 680px;
  margin: 0 auto;
  padding: 72px 24px;
  text-align: center;
}
.pl-cta-profi__kicker {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  --s-accent: rgba(255, 255, 255, .55);
  margin: 0 0 16px;
}
.pl-cta-profi__heading {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(26px, 3.5vw, 42px);
  line-height: 1.05;
  letter-spacing: -1px;
  color: #fff;
  --s-accent: #fff;
  margin: 0 0 28px;
}
.pl-cta-profi__list {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: left;
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 32px;
}
.pl-cta-profi__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.85);
  --s-accent: rgba(255, 255, 255, .85);
  line-height: 1.4;
}
.pl-cta-profi__list li::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border-radius: 50%;
  background: #f89917 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpolyline points='1,5 4.5,8.5 11,1' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat;
}
.pl-cta-profi__btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28);
  font-size: 16px;
  padding: 15px 32px;
}
.pl-cta-profi__btn:hover {
  background: #cf7a09;
  box-shadow: 0 6px 16px rgba(248, 153, 23, 0.44);
  color: #fff;
  --s-accent: #fff;
}
.pl-cta-profi__fine {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  --s-accent: rgba(255, 255, 255, .4);
  margin: 16px 0 0;
}
@media (max-width: 768px) {
  .pl-cta-profi {
    padding: 48px 16px;
  }
}
.pl-hero-ts {
  position: absolute;
  bottom: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--pl-surface);
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.pl-hero-ts__ico {
  font-size: 22px;
  flex-shrink: 0;
}
.pl-hero-ts strong {
  display: block;
  font-weight: 700;
  font-size: 13px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-hero-ts small {
  display: block;
  font-size: 11px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-hero__right--mob {
  display: none !important;
}
.pl-hero__right--desk {
  display: block;
}
@media (max-width: 768px) {
  .pl-hero__right--desk {
    display: none !important;
  }
  .pl-hero__right--mob {
    display: block !important;
    margin-bottom: 24px;
  }
}
.pl-usp-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  background: var(--pl-surface);
  border-top: 1px solid var(--pl-hair);
  border-bottom: 1px solid var(--pl-hair);
  flex-wrap: wrap;
}
.pl-usp-bar__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 28px;
  flex: 1;
  min-width: 200px;
}
.pl-usp-bar__item i {
  font-size: 20px;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  width: 26px;
  text-align: center;
  flex-shrink: 0;
}
.pl-usp-bar__item strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-usp-bar__item span {
  display: block;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-usp-bar__sep {
  width: 1px;
  height: 36px;
  background: var(--pl-hair);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .pl-usp-bar {
    padding: 8px 16px;
  }
  .pl-usp-bar__item {
    padding: 12px 16px;
    min-width: 46%;
  }
  .pl-usp-bar__sep {
    display: none;
  }
}
.pl-section-h2--serif {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 700;
}
.pl-section-lead {
  font-size: 15px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.6;
  margin: 0;
  max-width: 480px;
}
.pl-cat-section {
  background: var(--pl-olive-bg);
  padding: 56px 48px;
  border-radius: 16px;
}
.pl-cat-section__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 40px;
}
.pl-cat-section__overline {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(248, 153, 23, 0.75);
  --s-accent: rgba(248, 153, 23, .75);
  margin: 0 0 18px;
}
.pl-cat-section__h2 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 800;
  color: #fff;
  --s-accent: #fff;
  line-height: 1.05;
  margin: 8px 0 0;
}
.pl-cat-section__quote {
  font-family: "Source Serif 4", Georgia, serif;
  font-style: italic;
  font-size: 17px;
  color: rgba(255, 255, 255, 0.85);
  --s-accent: rgba(255,255,255,.85);
  line-height: 1.65;
  margin: 0;
  padding: 0;
  border: none;
}
.pl-cat-section__quote cite {
  display: block;
  margin-top: 14px;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f89917;
  --s-accent: #f89917;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
}
.pl-cat-section__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
.pl-cat-card {
  background: var(--pl-bg);
  border-radius: 14px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.pl-cat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-cat-card__icon {
  width: 48px;
  height: 48px;
  background: var(--pl-olive-dark);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 6px;
}
.pl-cat-card__title {
  display: block;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-cat-card__sub {
  display: block;
  flex: 1;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.4;
}
.pl-cat-card__foot {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--pl-hair);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
@media (max-width: 900px) {
  .pl-cat-section {
    padding: 36px 20px;
  }
  .pl-cat-section__head {
    grid-template-columns: 1fr;
  }
  .pl-cat-section__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .pl-cat-section__grid {
    grid-template-columns: 1fr;
  }
}
.pl-klausi-card {
  display: flex;
  align-items: flex-end;
  gap: 28px;
  background: var(--pl-alt, #f5f3ee);
  border-radius: 16px;
  padding: 28px 32px;
  overflow: visible;
}
.pl-klausi-card__avatar {
  width: 110px;
  height: auto;
  object-fit: contain;
  object-position: bottom center;
  border-radius: 0;
  flex-shrink: 0;
  align-self: flex-end;
  margin-top: -40px;
  margin-bottom: -28px;
}
.pl-klausi-card__body {
  flex: 1;
}
.pl-klausi-card__title {
  display: block;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 4px 0 8px;
}
.pl-klausi-card__text {
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.55;
  margin: 0;
}
.pl-klausi-card__btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}
.pl-klausi-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 8px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  justify-content: center;
}
.pl-klausi-btn--primary {
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
}
.pl-klausi-btn--primary:hover {
  background: #cf7a09;
  color: #fff;
  --s-accent: #fff;
  text-decoration: none;
}
.pl-klausi-btn--secondary {
  background: transparent;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  border: 1.5px solid var(--pl-ink);
}
.pl-klausi-btn--secondary:hover {
  background: var(--pl-ink);
  color: var(--pl-on-ink, #fff);
  --s-accent: var(--pl-on-ink, #fff);
  text-decoration: none;
}
@media (max-width: 768px) {
  .pl-klausi-card {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .pl-klausi-card__btns {
    width: 100%;
  }
  .pl-klausi-card__avatar {
    margin-top: 0;
    margin-bottom: 0;
    align-self: center;
    width: 100px;
  }
}
.pl-workshop-section {
  padding: 56px 0;
}
.pl-workshop-section__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 40px;
}
.pl-workshop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.pl-ws-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--pl-hair);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  background: var(--pl-surface);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.pl-ws-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-ws-card__img {
  position: relative;
  aspect-ratio: 1.3333333333;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pl-ws-card__img--1 {
  background: radial-gradient(ellipse at center, #6b4226 0%, #2c1a0e 100%);
}
.pl-ws-card__img--2 {
  background: radial-gradient(ellipse at center, #e87020 30%, #7a1a05 100%);
}
.pl-ws-card__img--3 {
  background: radial-gradient(ellipse at center, #e8d8a0 20%, #b89860 100%);
}
.pl-ws-card__emoji {
  font-size: 72px;
  line-height: 1;
}
.pl-ws-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
}
.pl-ws-badge--green {
  background: var(--pl-olive-bg);
  color: #fff;
  --s-accent: #fff;
}
.pl-ws-badge--orange {
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
.pl-ws-card__body {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 6px;
}
.pl-ws-card__meta {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-ws-card__title {
  display: block;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.2;
}
.pl-ws-card__details {
  display: block;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-ws-card__desc {
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.55;
  margin: 4px 0 0;
  flex: 1;
}
.pl-ws-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--pl-hair);
}
.pl-ws-card__price {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-ws-card__btn {
  background: var(--pl-ink);
  color: var(--pl-on-ink, #fff);
  --s-accent: var(--pl-on-ink, #fff);
  padding: 10px 18px;
  border-radius: 8px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
}
@media (max-width: 900px) {
  .pl-workshop-section__head {
    grid-template-columns: 1fr;
  }
  .pl-workshop-grid {
    grid-template-columns: 1fr;
  }
}
.pl-ws-card__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pl-gift-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 48px 56px;
  border-radius: 16px;
  background: linear-gradient(to right, var(--pl-olive-bg) 0%, #2d2010 100%);
  overflow: hidden;
}
.pl-gift-banner__ghost {
  position: absolute;
  right: 28%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 130px;
  opacity: 0.07;
  pointer-events: none;
  line-height: 1;
}
.pl-gift-banner__left {
  flex: 1;
}
.pl-gift-banner__title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 800;
  color: #fff;
  --s-accent: #fff;
  margin: 6px 0 10px;
  line-height: 1.2;
}
.pl-gift-banner__quote {
  font-style: italic;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  --s-accent: rgba(255,255,255,.65);
  margin: 0;
}
.pl-gift-banner__btns {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.pl-gift-btn {
  padding: 14px 24px;
  border-radius: 8px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.pl-gift-btn--primary {
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
}
.pl-gift-btn--primary:hover {
  background: #cf7a09;
  color: #fff;
  --s-accent: #fff;
  text-decoration: none;
}
.pl-gift-btn--secondary {
  background: transparent;
  color: #fff;
  --s-accent: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.6);
}
.pl-gift-btn--secondary:hover {
  border-color: #fff;
  color: #fff;
  --s-accent: #fff;
  text-decoration: none;
}
@media (max-width: 768px) {
  .pl-gift-banner {
    flex-direction: column;
    padding: 32px 24px;
  }
  .pl-gift-banner__ghost {
    display: none;
  }
  .pl-gift-banner__btns {
    width: 100%;
    flex-direction: column;
  }
  .pl-gift-btn {
    text-align: center;
  }
}
.pl-reviews {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 56px;
  align-items: start;
  padding: 48px 0;
}
.pl-reviews__score {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 72px;
  font-weight: 900;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1;
  margin: 8px 0 4px;
}
.pl-reviews__score span {
  font-size: 32px;
  font-weight: 700;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-reviews__stars {
  color: #f89917;
  --s-accent: #f89917;
  font-size: 22px;
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.pl-reviews__count {
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0 0 16px;
}
.pl-reviews__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--pl-success-bg, #e8f5ee);
  color: var(--pl-success);
  --s-accent: var(--pl-success);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 999px;
  margin-bottom: 16px;
}
.pl-reviews__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.pl-review-card {
  background: var(--pl-surface);
  border: 1px solid var(--pl-hair);
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pl-review-card__stars {
  color: #f89917;
  --s-accent: #f89917;
  font-size: 15px;
  letter-spacing: 1px;
}
.pl-review-card__text {
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.55;
  margin: 0;
  flex: 1;
}
.pl-review-card__author {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
}
.pl-review-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--pl-olive-bg);
  color: transparent;
  font-size: 14px;
  position: relative;
  flex-shrink: 0;
}
.pl-review-card__avatar::after {
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 15px;
  color: #fff;
  --s-accent: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pl-review-card__author strong {
  display: block;
  font-size: 13px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-review-card__author span {
  display: block;
  font-size: 12px;
  color: var(--pl-mute, #999);
  --s-accent: var(--pl-mute, #999);
}
@media (max-width: 900px) {
  .pl-reviews {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .pl-reviews__grid {
    grid-template-columns: 1fr;
  }
}
.pl-section-head {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "kicker link" "h2     h2" "quote  quote";
  column-gap: 24px;
  row-gap: 10px;
  margin-bottom: 32px;
}
.pl-section-head__overline {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  margin: 0 0 10px;
}
.pl-section-head__title {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 32px;
  font-weight: 700;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0 0 8px;
  line-height: 1.2;
}
.pl-section-head__sub {
  font-size: 15px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0;
}
.pl-section-head__cta {
  flex-shrink: 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  text-decoration: none;
  white-space: nowrap;
  padding-bottom: 2px;
}
.pl-section-head__cta:hover {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
.pl-section-kicker {
  grid-area: kicker;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f89917;
  --s-accent: #f89917;
  align-self: center;
}
.pl-section-h2 {
  grid-area: h2;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 800;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.05;
  letter-spacing: -1.5px;
  margin: 0;
  text-align: left !important;
}
.pl-section-quote {
  grid-area: quote;
  font-family: "Source Serif 4", Georgia, serif;
  font-style: italic;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0;
}
.pl-section-link {
  grid-area: link;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  text-decoration: none;
  align-self: center;
  white-space: nowrap;
}
.pl-section-link:hover {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  text-decoration: none;
}
@media (max-width: 768px) {
  .pl-section-head {
    grid-template-columns: 1fr;
    grid-template-areas: "kicker" "h2" "quote" "link";
  }
}
.pl-ws-head {
  display: flex;
  align-items: center;
  gap: 48px;
  margin-bottom: 40px;
}
.pl-ws-head__left {
  flex: 1;
}
.pl-ws-head__overline {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f89917;
  --s-accent: #f89917;
  margin: 0 0 12px;
}
.pl-ws-head__title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: clamp(36px, 4vw, 52px);
  font-weight: 800;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.1;
  margin: 0 0 16px;
}
.pl-ws-head__title--accent {
  color: #f89917;
  --s-accent: #f89917;
}
.pl-ws-head__sub {
  font-size: 15px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0;
  max-width: 460px;
  line-height: 1.6;
}
.pl-ws-head__card {
  flex-shrink: 0;
  width: 300px;
  background: var(--pl-alt, #faf8f4);
  border: 1px solid var(--pl-line-2, #e8e3d8);
  border-radius: 14px;
  padding: 24px 28px;
}
.pl-ws-head__stars {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-size: 18px;
  color: #f89917;
  --s-accent: #f89917;
}
.pl-ws-head__stars strong {
  font-size: 18px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-ws-head__card-text {
  font-size: 14px;
  color: var(--pl-ink-3, #3a3a35);
  --s-accent: var(--pl-ink-3, #3a3a35);
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 900px) {
  .pl-ws-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
  .pl-ws-head__card {
    width: 100%;
  }
}
/* === Newsletter Section === */
.pl-newsletter2 .newsletter-section {
  background: var(--pl-panel, #1a1a1a);
  border-radius: 20px;
  padding: 56px 48px !important;
  overflow: hidden;
}
.pl-newsletter2 .newsletter-section .container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Left text */
.pl-nl-overline {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f89917;
  --s-accent: #f89917;
  margin: 0 0 14px;
}
.pl-nl-title {
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  color: #fff;
  --s-accent: #fff;
  line-height: 1.15;
  margin: 0 0 24px;
}
.pl-nl-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pl-nl-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: var(--pl-line-2, #ccc);
  --s-accent: var(--pl-line-2, #ccc);
}
.pl-nl-list li::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--pl-olive-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath d='M1 4l3.5 3.5L11 1' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}
/* === Form — stabile Klassen-Selektoren === */
.pl-newsletter2 input[name="cEmail"] {
  background: var(--pl-surface) !important;
  border: none !important;
  height: 52px !important;
  font-size: 15px !important;
  padding: 0 18px !important;
  color: var(--pl-ink) !important;
  --s-accent: var(--pl-ink);
  border-radius: 10px 0 0 10px !important;
}
.pl-newsletter2 .input-group {
  border-radius: 10px;
  overflow: hidden;
}
.pl-newsletter2 .newsletter-email-wrapper .btn-secondary {
  background: #f89917 !important;
  border-color: #f89917 !important;
  height: 52px !important;
  padding: 0 28px !important;
  border-radius: 0 10px 10px 0 !important;
  font-size: 0 !important;
  min-width: unset !important;
  white-space: nowrap;
}
.pl-newsletter2 .newsletter-email-wrapper .btn-secondary::after {
  content: "5 € sichern";
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  --s-accent: #fff;
}
.pl-newsletter2 .newsletter-email-wrapper .btn-secondary:hover {
  background: #e6890f !important;
  border-color: #e6890f !important;
}
.pl-newsletter2 .newsletter-subscribe-consent, .pl-newsletter2 .newsletter-subscribe-consent a {
  color: var(--pl-mute, #666) !important;
  --s-accent: var(--pl-mute, #666);
  font-size: 12px !important;
}
@media (max-width: 768px) {
  .pl-newsletter2 .newsletter-section {
    padding: 36px 24px !important;
    border-radius: 12px;
  }
}
/* OPC-Area nebeneinander: Richtext links + Formular rechts */
/* Alle möglichen OPC/Bootstrap Container-Klassen abdecken */
.pl-newsletter2 .opc-area, .pl-newsletter2 .newsletter-section .opc-area, .pl-newsletter2 .container-fluid > .row, .pl-newsletter2 .newsletter-section > .container-fluid > .row {
  display: flex !important;
  align-items: center !important;
  gap: 48px !important;
  flex-wrap: nowrap !important;
}
.pl-newsletter2 .opc-area > *, .pl-newsletter2 .newsletter-section .opc-area > *, .pl-newsletter2 .container-fluid > .row > [class*="col"], .pl-newsletter2 .newsletter-section > .container-fluid > .row > [class*="col"] {
  flex: 1 !important;
  min-width: 280px;
  max-width: none !important;
  width: auto !important;
}
@media (max-width: 768px) {
  .pl-newsletter2 .opc-area, .pl-newsletter2 .newsletter-section .opc-area, .pl-newsletter2 .container-fluid > .row, .pl-newsletter2 .newsletter-section > .container-fluid > .row {
    flex-wrap: wrap !important;
    gap: 28px !important;
  }
}
@media (max-width: 768px) {
  .pl-section-head {
    grid-template-columns: 1fr !important;
    grid-template-areas: "kicker" "h2" "quote" "link" !important;
    row-gap: 8px !important;
    margin-bottom: 20px !important;
  }
  .pl-section-h2 {
    font-size: clamp(26px, 7vw, 34px) !important;
  }
  .pl-section-link {
    justify-self: start;
  }
  .pl-usp-bar {
    padding: 8px 16px;
  }
  .pl-usp-bar__item {
    padding: 10px 12px;
    min-width: 44%;
  }
  .pl-usp-bar__sep {
    display: none;
  }
  .pl-cat-section {
    padding: 32px 20px !important;
    border-radius: 12px;
  }
  .pl-cat-section__head {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 28px !important;
  }
  .pl-cat-section__h2 {
    font-size: clamp(28px, 7vw, 38px) !important;
  }
  .pl-cat-section__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .pl-cat-card {
    padding: 16px 14px !important;
  }
  .pl-cat-card__icon {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
  .pl-cat-card__title {
    font-size: 15px !important;
  }
  .pl-klausi-card {
    flex-direction: column !important;
    text-align: center !important;
    align-items: center !important;
    padding: 24px 20px !important;
    gap: 16px !important;
  }
  .pl-klausi-card__avatar {
    width: 80px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
  }
  .pl-klausi-card__btns {
    width: 100% !important;
    flex-direction: column !important;
  }
  .pl-klausi-btn {
    width: 100% !important;
    justify-content: center !important;
  }
  .pl-workshop-section {
    padding: 32px 0 !important;
  }
  .pl-workshop-section__head {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
  }
  .pl-workshop-grid {
    grid-template-columns: 1fr !important;
  }
  .pl-ws-head {
    flex-direction: column !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
  }
  .pl-ws-head__title {
    font-size: clamp(28px, 7vw, 38px) !important;
  }
  .pl-gift-banner {
    flex-direction: column !important;
    padding: 28px 20px !important;
    gap: 20px !important;
  }
  .pl-gift-banner__ghost {
    display: none !important;
  }
  .pl-gift-banner__btns {
    width: 100% !important;
    flex-direction: column !important;
  }
  .pl-gift-btn {
    text-align: center !important;
  }
  .pl-reviews {
    padding: 28px 0 !important;
  }
  .pl-reviews__grid {
    grid-template-columns: 1fr !important;
  }
  .pl-hero-ts {
    bottom: 8px !important;
    left: 8px !important;
    padding: 8px 10px !important;
  }
  .pl-hero-ts strong {
    font-size: 11px !important;
  }
  .pl-hero-ts small {
    font-size: 10px !important;
  }
}
:root {
  --pl-gas:          #f89917;
  --pl-gas-light:    #fff8ed;
  --pl-gas-mid:      rgba(248,153,23,.15);
  --pl-elektro:      #2563eb;
  --pl-elektro-light:#eff6ff;
  --pl-elektro-mid:  rgba(37,99,235,.12);
  --pl-multi:        #92400e;
  --pl-multi-light:  #fef3c7;
  --pl-multi-mid:    rgba(146,64,14,.12);
}
.pl-type--gas, .pl-type--elektro, .pl-type--multi {
  transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}
.pl-kb[data-oven] .pl-kb-pc__card, .pl-kb[data-oven] .pl-kb-persona__card, .pl-kb[data-oven] .pl-kb-pick {
  opacity: 0.28;
  filter: grayscale(25%);
}
.pl-kb[data-oven] .pl-kb-table__cell.pl-type--gas, .pl-kb[data-oven] .pl-kb-table__cell.pl-type--elektro, .pl-kb[data-oven] .pl-kb-table__cell.pl-type--multi {
  opacity: 0.45;
}
.pl-kb[data-oven="gas"] .pl-kb-pc__card.pl-type--gas, .pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas, .pl-kb[data-oven="gas"] .pl-kb-pick.pl-type--gas, .pl-kb[data-oven="gas"] .pl-kb-table__cell.pl-type--gas {
  opacity: 1;
  filter: none;
}
.pl-kb[data-oven="elektro"] .pl-kb-pc__card.pl-type--elektro, .pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro, .pl-kb[data-oven="elektro"] .pl-kb-pick.pl-type--elektro, .pl-kb[data-oven="elektro"] .pl-kb-table__cell.pl-type--elektro {
  opacity: 1;
  filter: none;
}
.pl-kb[data-oven="multi"] .pl-kb-pc__card.pl-type--multi, .pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi, .pl-kb[data-oven="multi"] .pl-kb-pick.pl-type--multi, .pl-kb[data-oven="multi"] .pl-kb-table__cell.pl-type--multi {
  opacity: 1;
  filter: none;
}
.pl-kb[data-oven="gas"] .pl-kb-pc__card.pl-type--gas {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
  border-color: #f89917 !important;
}
.pl-kb[data-oven="elektro"] .pl-kb-pc__card.pl-type--elektro {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
  border-color: #2563eb !important;
}
.pl-kb[data-oven="multi"] .pl-kb-pc__card.pl-type--multi {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
  border-color: #92400e !important;
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas {
  box-shadow: 0 0 0 3px rgba(248, 153, 23, 0.2);
  border-color: #f89917 !important;
}
.pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro {
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
  border-color: #2563eb !important;
}
.pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi {
  box-shadow: 0 0 0 3px rgba(146, 64, 14, 0.15);
  border-color: #92400e !important;
}
.pl-kb[data-oven="gas"] .pl-kb-pick.pl-type--gas {
  box-shadow: 0 0 0 2px rgba(248, 153, 23, 0.3);
  border-color: #f89917 !important;
}
.pl-kb[data-oven="elektro"] .pl-kb-pick.pl-type--elektro {
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.25);
  border-color: #2563eb !important;
}
.pl-kb[data-oven="multi"] .pl-kb-pick.pl-type--multi {
  box-shadow: 0 0 0 2px rgba(146, 64, 14, 0.2);
  border-color: #92400e !important;
}
.pl-kb[data-oven="gas"] .pl-kb-table__cell.pl-type--gas {
  background: var(--pl-gas-light) !important;
}
.pl-kb[data-oven="elektro"] .pl-kb-table__cell.pl-type--elektro {
  background: var(--pl-elektro-light) !important;
}
.pl-kb[data-oven="multi"] .pl-kb-table__cell.pl-type--multi {
  background: var(--pl-multi-light) !important;
}
.pl-kb {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 48px;
}
@media (max-width: 768px) {
  .pl-kb {
    padding: 0 16px;
  }
}
.pl-kb-section {
  padding: 64px 0;
  border-bottom: 1px solid var(--pl-hair);
}
.pl-kb-section:last-child {
  border-bottom: none;
}
@media (max-width: 768px) {
  .pl-kb-section {
    padding: 36px 0;
  }
}
.pl-kb-hero {
  padding: 64px 0 48px;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .pl-kb-hero {
    padding: 36px 0 28px;
  }
}
.pl-kb-hero__overline {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  margin: 0 0 20px;
}
.pl-kb-hero__h1 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1;
  letter-spacing: -2px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0 0 18px;
}
.pl-kb-hero__h1 span {
  color: #f89917;
  --s-accent: #f89917;
}
@media (max-width: 768px) {
  .pl-kb-hero__h1 {
    font-size: clamp(28px, 8vw, 40px);
    letter-spacing: -1px;
  }
}
.pl-kb-hero__sub {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 17px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.6;
  max-width: 560px;
  margin: 0 auto 36px;
}
@media (max-width: 768px) {
  .pl-kb-hero__sub {
    font-size: 15px;
  }
}
.pl-kb-chips {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}
.pl-kb-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  padding: 13px 26px;
  border-radius: 999px;
  border: 2px solid var(--pl-hair);
  background: var(--pl-surface);
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s, transform 0.15s;
  user-select: none;
}
.pl-kb-chip:hover {
  transform: translateY(-2px);
  box-shadow: var(--pl-shadow-card);
}
.pl-kb-chip__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform 0.18s;
}
.pl-kb-chip.is-active .pl-kb-chip__dot {
  transform: scale(1.3);
}
.pl-kb-chip--gas .pl-kb-chip__dot {
  background: #f89917;
}
.pl-kb-chip--gas.is-active, .pl-kb[data-oven="gas"] .pl-kb-chip--gas {
  background: var(--pl-gas-light);
  border-color: #f89917;
  color: var(--pl-gas-ink, #693e03);
  --s-accent: var(--pl-gas-ink, #693e03);
  box-shadow: 0 0 0 3px rgba(248, 153, 23, 0.2);
  transform: translateY(-2px);
}
.pl-kb-chip--elektro .pl-kb-chip__dot {
  background: #2563eb;
}
.pl-kb-chip--elektro.is-active, .pl-kb[data-oven="elektro"] .pl-kb-chip--elektro {
  background: var(--pl-elektro-light);
  border-color: #2563eb;
  color: var(--pl-elektro-ink, #0e3b9c);
  --s-accent: var(--pl-elektro-ink, #0e3b9c);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
  transform: translateY(-2px);
}
.pl-kb-chip--multi .pl-kb-chip__dot {
  background: #92400e;
}
.pl-kb-chip--multi.is-active, .pl-kb[data-oven="multi"] .pl-kb-chip--multi {
  background: var(--pl-multi-light);
  border-color: #92400e;
  color: var(--pl-multi-ink, #92400e);
  --s-accent: var(--pl-multi-ink, #92400e);
  box-shadow: 0 0 0 3px rgba(146, 64, 14, 0.15);
  transform: translateY(-2px);
}
.pl-kb-chip-hint {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  opacity: 0.55;
  margin-top: 4px;
}
.pl-kb-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 -4px;
  padding: 0 4px 4px;
}
.pl-kb-table {
  display: grid;
  grid-template-columns: 190px repeat(3, 1fr);
  min-width: 580px;
  border-radius: 12px;
  overflow: hidden;
  border: 1.5px solid var(--pl-hair);
  background: var(--pl-hair);
  gap: 1px;
}
.pl-kb-table__cell {
  padding: 14px 16px;
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  background: var(--pl-surface);
  display: flex;
  align-items: center;
  line-height: 1.4;
  transition: background 0.2s;
}
.pl-kb-table__label {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  background: var(--pl-surface);
}
.pl-kb-table__head {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 14px;
  justify-content: center;
  text-align: center;
  padding: 18px 12px;
  cursor: pointer;
  user-select: none;
  background: var(--pl-surface);
  gap: 8px;
  border-top: 3px solid transparent;
  flex-direction: column;
}
.pl-kb-table__head span {
  font-size: 11px;
  font-weight: 400;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-kb-table__head:hover {
  opacity: 0.85;
}
.pl-kb-table__head--gas {
  border-top-color: #f89917;
}
.pl-kb-table__head--elektro {
  border-top-color: #2563eb;
}
.pl-kb-table__head--multi {
  border-top-color: #92400e;
}
.pl-kb-table__val {
  justify-content: center;
  text-align: center;
  flex-direction: column;
  gap: 4px;
}
.pl-kb-table__badge {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  align-self: center;
}
.pl-kb-table__badge--good {
  background: var(--pl-good-bg, #d1fae5);
  color: var(--pl-good-ink, #065f46);
  --s-accent: var(--pl-good-ink, #065f46);
}
.pl-kb-table__badge--neutral {
  background: var(--pl-warn-bg, #fef3c7);
  color: var(--pl-warn-ink, #92400e);
  --s-accent: var(--pl-warn-ink, #92400e);
}
.pl-kb-table__badge--info {
  background: var(--pl-info-bg, #dbeafe);
  color: var(--pl-info-ink, #1e40af);
  --s-accent: var(--pl-info-ink, #1e40af);
}
.pl-kb-table__badge--note {
  background: var(--pl-surface);
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  border: 1px solid var(--pl-hair);
}
.pl-kb-pc__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .pl-kb-pc__grid {
    grid-template-columns: 1fr;
  }
}
.pl-kb-pc__card {
  border-radius: 16px;
  padding: 28px 24px;
  border: 2px solid var(--pl-hair);
  background: var(--pl-surface);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pl-kb-pc__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.pl-kb-pc__eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pl-kb-pc__card--gas .pl-kb-pc__eyebrow {
  color: var(--pl-gas-ink, #734403);
  --s-accent: var(--pl-gas-ink, #734403);
}
.pl-kb-pc__card--gas .pl-kb-pc__eyebrow::before {
  background: #f89917;
}
.pl-kb-pc__card--elektro .pl-kb-pc__eyebrow {
  color: var(--pl-elektro-ink, #1555e2);
  --s-accent: var(--pl-elektro-ink, #1555e2);
}
.pl-kb-pc__card--elektro .pl-kb-pc__eyebrow::before {
  background: #2563eb;
}
.pl-kb-pc__card--multi .pl-kb-pc__eyebrow {
  color: #92400e;
  --s-accent: #92400e;
}
.pl-kb-pc__card--multi .pl-kb-pc__eyebrow::before {
  background: #92400e;
}
.pl-kb-pc__title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0;
  line-height: 1.2;
}
.pl-kb-pc__desc {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.6;
  margin: 0;
}
.pl-kb-pc__list-label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 4px 0 2px;
}
.pl-kb-pc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.pl-kb-pc__item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.4;
}
.pl-kb-pc__item::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border-radius: 50%;
}
.pl-kb-pc__item--pro::before {
  background: var(--pl-good-bg, #d1fae5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath d='M1 4l3.5 3.5L11 1' stroke='%23065f46' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat;
}
.pl-kb-pc__item--con::before {
  background: var(--pl-bad-bg, #fee2e2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cline x1='2' y1='2' x2='8' y2='8' stroke='%23991b1b' stroke-width='1.8' stroke-linecap='round'/%3E%3Cline x1='8' y1='2' x2='2' y2='8' stroke='%23991b1b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/8px no-repeat;
}
.pl-kb-pc__divider {
  height: 1px;
  background: var(--pl-hair);
}
.pl-kb-pc__cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
  font-size: 14px;
  padding: 11px 20px;
  margin-top: auto;
  justify-content: center;
  text-align: center;
}
.pl-kb-pc__card--gas .pl-kb-pc__cta {
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
.pl-kb-pc__card--gas .pl-kb-pc__cta:hover {
  background: #cf7a09;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc__card--elektro .pl-kb-pc__cta {
  background: #2563eb;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc__card--elektro .pl-kb-pc__cta:hover {
  background: #1d4ed8;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc__card--multi .pl-kb-pc__cta {
  background: #92400e;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc__card--multi .pl-kb-pc__cta:hover {
  background: #78350f;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-persona__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 900px) {
  .pl-kb-persona__grid {
    grid-template-columns: 1fr;
  }
}
.pl-kb-persona__card {
  background: var(--pl-surface);
  border: 1.5px solid var(--pl-hair);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pl-kb-persona__emoji {
  font-size: 30px;
  line-height: 1;
}
.pl-kb-persona__label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-kb-persona__title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0;
  line-height: 1.2;
}
.pl-kb-persona__desc {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.55;
  margin: 0;
  flex: 1;
}
.pl-kb-persona__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 12px;
  padding: 5px 12px;
  border-radius: 999px;
  width: fit-content;
  margin-top: 4px;
}
.pl-kb-persona__tag::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.pl-kb-persona__card--gas .pl-kb-persona__tag {
  background: var(--pl-gas-light);
  color: var(--pl-gas-ink, #734403);
  --s-accent: var(--pl-gas-ink, #734403);
  border: 1px solid rgba(248, 153, 23, 0.3);
}
.pl-kb-persona__card--gas .pl-kb-persona__tag::before {
  background: #f89917;
}
.pl-kb-persona__card--elektro .pl-kb-persona__tag {
  background: var(--pl-elektro-light);
  color: var(--pl-elektro-ink, #1249c1);
  --s-accent: var(--pl-elektro-ink, #1249c1);
  border: 1px solid rgba(37, 99, 235, 0.2);
}
.pl-kb-persona__card--elektro .pl-kb-persona__tag::before {
  background: #2563eb;
}
.pl-kb-persona__card--multi .pl-kb-persona__tag {
  background: var(--pl-multi-light);
  color: var(--pl-multi-ink, #92400e);
  --s-accent: var(--pl-multi-ink, #92400e);
  border: 1px solid rgba(146, 64, 14, 0.2);
}
.pl-kb-persona__card--multi .pl-kb-persona__tag::before {
  background: #92400e;
}
.pl-kb-persona__link {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.pl-kb-persona__link:hover {
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  text-decoration: none;
}
.pl-kb-picks__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 900px) {
  .pl-kb-picks__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .pl-kb-picks__grid {
    grid-template-columns: 1fr;
  }
}
.pl-kb-pick {
  border: 1.5px solid var(--pl-hair);
  border-radius: 12px;
  background: var(--pl-surface);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-kb-pick:hover {
  transform: translateY(-3px);
  box-shadow: var(--pl-shadow-card);
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-kb-pick__img-wrap {
  position: relative;
  aspect-ratio: 1;
  background: var(--pl-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.pl-kb-pick__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
}
.pl-kb-pick__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 4px;
}
.pl-kb-pick__badge--gas {
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
.pl-kb-pick__badge--elektro {
  background: #2563eb;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pick__badge--multi {
  background: #92400e;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pick__body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}
.pl-kb-pick__brand {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-kb-pick__name {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.2;
}
.pl-kb-pick__sub {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.4;
  flex: 1;
}
.pl-kb-pick__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-top: 1px solid var(--pl-hair);
  background: var(--pl-surface);
}
.pl-kb-pick__price {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 20px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-kb-pick__btn {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  background: var(--pl-ink);
  color: var(--pl-on-ink, #fff);
  --s-accent: var(--pl-on-ink, #fff);
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration: none;
  flex-shrink: 0;
}
.pl-kb-pick__btn:hover {
  background: var(--pl-olive-bg);
  color: #fff;
  --s-accent: #fff;
  text-decoration: none;
}
.pl-kb-faq__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 860px;
  margin: 0 auto;
}
.pl-kb-faq__item {
  border: 1.5px solid var(--pl-hair);
  border-radius: 12px;
  overflow: hidden;
  background: var(--pl-surface);
  transition: border-color 0.18s;
}
.pl-kb-faq__item[open] {
  border-color: var(--pl-olive);
}
.pl-kb-faq__item[open] .pl-kb-faq__q {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
.pl-kb-faq__item[open] .pl-kb-faq__icon {
  transform: rotate(45deg);
}
.pl-kb-faq__q {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  padding: 18px 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  list-style: none;
  transition: color 0.18s;
}
.pl-kb-faq__q::-webkit-details-marker {
  display: none;
}
.pl-kb-faq__q:hover {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
.pl-kb-faq__icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--pl-surface);
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 300;
  transition: transform 0.2s;
  line-height: 1;
}
.pl-kb-faq__a {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.65;
  padding: 0 20px 20px;
  margin: 0;
}
.pl-kb-cta-wrap {
  background: var(--pl-olive-bg);
  border-radius: 16px;
  padding: 56px 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
}
@media (max-width: 900px) {
  .pl-kb-cta-wrap {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 40px 28px;
  }
}
.pl-kb-cta__kicker {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  --s-accent: rgba(255,255,255,.5);
  margin: 0 0 12px;
}
.pl-kb-cta__h2 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(22px, 3vw, 34px);
  color: #fff;
  --s-accent: #fff;
  line-height: 1.1;
  margin: 0 0 10px;
}
.pl-kb-cta__sub {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7);
  --s-accent: rgba(255,255,255,.7);
  margin: 0;
}
.pl-kb-cta__btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
  min-width: 220px;
}
@media (max-width: 900px) {
  .pl-kb-cta__btns {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    min-width: 0;
  }
}
.pl-kb-cta__btn--primary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
  background: #f89917;
  color: #fff;
  --s-accent: #fff;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28);
  justify-content: center;
}
.pl-kb-cta__btn--primary:hover {
  background: #cf7a09;
  color: #fff;
  --s-accent: #fff;
  box-shadow: 0 6px 16px rgba(248, 153, 23, 0.44);
}
.pl-kb-cta__btn--secondary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
  background: transparent;
  color: #fff;
  --s-accent: #fff;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  justify-content: center;
}
.pl-kb-cta__btn--secondary:hover {
  border-color: #fff;
  color: #fff;
  --s-accent: #fff;
  background: rgba(255, 255, 255, 0.08);
}
.pl-kb-crosssell {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 32px 0;
}
@media (max-width: 768px) {
  .pl-kb-crosssell {
    flex-direction: column;
  }
}
.pl-kb-crosssell__item {
  flex: 1;
  min-width: 160px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border: 1.5px solid var(--pl-hair);
  border-radius: 12px;
  background: var(--pl-surface);
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  transition: border-color 0.18s, box-shadow 0.18s;
}
.pl-kb-crosssell__item:hover {
  border-color: var(--pl-olive);
  box-shadow: var(--pl-shadow-card);
  text-decoration: none;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-kb-crosssell__ico {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--pl-olive-bg);
  color: #fff;
  --s-accent: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
.pl-kb-crosssell__text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pl-kb-crosssell__label {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-kb-crosssell__sub {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-kb-crosssell__arrow {
  flex-shrink: 0;
  font-size: 14px;
  color: #f89917;
  --s-accent: #f89917;
  transition: transform 0.18s;
}
.pl-kb-crosssell__item:hover .pl-kb-crosssell__arrow {
  transform: translateX(3px);
}
.pl-kb-pc-rows {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pl-kb-pc-row {
  display: flex;
  border-radius: 16px;
  overflow: hidden;
  border: 1.5px solid var(--pl-hair);
  background: var(--pl-surface);
  transition: opacity 0.25s ease, filter 0.25s ease, box-shadow 0.25s ease;
}
.pl-kb-pc-row__left {
  width: 200px;
  flex-shrink: 0;
  padding: 24px 20px 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
}
.pl-kb-pc-row__flame {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 64px;
  line-height: 1;
  pointer-events: none;
}
.pl-kb-pc-row__bauart {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  --s-accent: rgba(255,255,255,.45);
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.pl-kb-pc-row__name {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 34px;
  color: #fff;
  --s-accent: #fff;
  line-height: 1;
  margin: 0 0 8px;
}
.pl-kb-pc-row__tagline {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-style: italic;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  --s-accent: rgba(255,255,255,.55);
  line-height: 1.4;
  margin: 0;
}
.pl-kb-pc-row--gas .pl-kb-pc-row__left {
  background: linear-gradient(160deg, #2d1500 0%, #120900 100%);
  border-right: 3px solid #f89917;
}
.pl-kb-pc-row--elektro .pl-kb-pc-row__left {
  background: linear-gradient(160deg, #0d1f42 0%, #060d20 100%);
  border-right: 3px solid #2563eb;
}
.pl-kb-pc-row--multi .pl-kb-pc-row__left {
  background: linear-gradient(160deg, #2a1100 0%, #110700 100%);
  border-right: 3px solid #92400e;
}
.pl-kb-pc-row__right {
  flex: 1;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
.pl-kb-pc-row__desc {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.65;
  margin: 0;
}
.pl-kb-pc-row__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.pl-kb-pc-row__col-label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0 0 10px;
}
.pl-kb-pc-row__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pl-kb-pc-row__pro {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.4;
}
.pl-kb-pc-row__pro::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--pl-good-bg, #d1fae5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 9'%3E%3Cpath d='M1 4l3.5 3.5L11 1' stroke='%23065f46' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat;
}
.pl-kb-pc-row__con {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.4;
}
.pl-kb-pc-row__con::before {
  content: "–";
  flex-shrink: 0;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #f89917;
  --s-accent: #f89917;
  line-height: 1.1;
  width: 18px;
  text-align: center;
}
.pl-kb-pc-row__foot {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid var(--pl-hair);
  margin-top: auto;
}
.pl-kb-pc-row__cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
  font-size: 14px;
  padding: 11px 22px;
  white-space: nowrap;
  text-decoration: none;
}
.pl-kb-pc-row--gas .pl-kb-pc-row__cta {
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
.pl-kb-pc-row--gas .pl-kb-pc-row__cta:hover {
  background: #cf7a09;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc-row--elektro .pl-kb-pc-row__cta {
  background: #2563eb;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc-row--elektro .pl-kb-pc-row__cta:hover {
  background: #1d4ed8;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc-row--multi .pl-kb-pc-row__cta {
  background: #92400e;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc-row--multi .pl-kb-pc-row__cta:hover {
  background: #78350f;
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-pc-row__models {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-kb[data-oven] .pl-kb-pc-row {
  opacity: 0.28;
  filter: grayscale(25%);
}
.pl-kb[data-oven="gas"] .pl-kb-pc-row.pl-type--gas {
  opacity: 1;
  filter: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.pl-kb[data-oven="elektro"] .pl-kb-pc-row.pl-type--elektro {
  opacity: 1;
  filter: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.pl-kb[data-oven="multi"] .pl-kb-pc-row.pl-type--multi {
  opacity: 1;
  filter: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.pl-kb-faq-wrap {
  display: grid;
  grid-template-columns: 1fr 1.8fr;
  gap: 64px;
  align-items: start;
}
.pl-kb-faq__sticky {
  position: sticky;
  top: 24px;
}
.pl-kb-faq__kicker {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #f89917;
  --s-accent: #f89917;
  margin: 0 0 14px;
  display: block;
}
.pl-kb-faq__h2 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(30px, 3.5vw, 44px);
  line-height: 1.1;
  letter-spacing: -1px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0 0 18px;
}
.pl-kb-faq__sub {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 15px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.6;
}
.pl-kb-faq__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pl-kb-faq__item {
  border: 1.5px solid var(--pl-hair);
  border-radius: 12px;
  background: var(--pl-surface);
  overflow: hidden;
  transition: background 0.2s, border-color 0.2s;
}
.pl-kb-faq__item[open] {
  background: var(--pl-surface);
  border-color: var(--pl-hair-strong, #d9d9d5);
}
.pl-kb-faq__q {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  padding: 18px 20px;
  cursor: pointer;
  user-select: none;
}
.pl-kb-faq__q::-webkit-details-marker {
  display: none;
}
.pl-kb-faq__q::after {
  content: "+";
  font-size: 22px;
  font-weight: 300;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  flex-shrink: 0;
  line-height: 1;
  transition: transform 0.2s, color 0.2s;
}
.pl-kb-faq__item[open] .pl-kb-faq__q::after {
  transform: rotate(45deg);
  color: #f89917;
  --s-accent: #f89917;
}
.pl-kb-faq__a {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.65;
  padding: 0 20px 18px;
}
.pl-kb-faq__a a {
  color: #f89917;
  --s-accent: #f89917;
  text-decoration: underline;
}
.pl-kb-persona-section {
  background: var(--pl-olive-bg);
  border-radius: 16px;
  padding: 52px 48px;
}
.pl-kb-persona-section .pl-section-kicker {
  color: #f89917;
  --s-accent: #f89917;
}
.pl-kb-persona-section .pl-section-h2 {
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-persona-section .pl-section-quote {
  color: rgba(255, 255, 255, 0.55);
  --s-accent: rgba(255,255,255,.55);
}
.pl-kb-persona-section .pl-kb-section-head {
  margin-bottom: 28px;
}
.pl-kb-persona__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.pl-kb-persona__card {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: background 0.25s, border-color 0.25s, box-shadow 0.25s, opacity 0.25s, filter 0.25s;
}
.pl-kb-persona__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.pl-kb-persona__icon {
  width: 36px;
  height: 36px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  transition: background 0.25s;
}
.pl-kb-persona__type-lbl {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  --s-accent: rgba(255,255,255,.4);
  white-space: nowrap;
  transition: color 0.25s;
}
.pl-kb-persona__title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #fff;
  --s-accent: #fff;
  line-height: 1.3;
  transition: color 0.25s;
}
.pl-kb-persona__desc {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  --s-accent: rgba(255,255,255,.6);
  line-height: 1.55;
  flex: 1;
  transition: color 0.25s;
}
.pl-kb-persona__link {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  --s-accent: rgba(255,255,255,.6);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  transition: color 0.2s;
}
.pl-kb-persona__link:hover {
  color: #fff;
  --s-accent: #fff;
}
.pl-kb-persona__link--match {
  display: none;
  color: #f89917;
  --s-accent: #f89917;
}
.pl-kb-persona__link--match:hover {
  opacity: 0.85;
}
.pl-kb[data-oven] .pl-kb-persona__card {
  opacity: 0.35;
  filter: grayscale(20%);
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas, .pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro, .pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi {
  opacity: 1 !important;
  filter: none !important;
  background: var(--pl-surface) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas .pl-kb-persona__title, .pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro .pl-kb-persona__title, .pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi .pl-kb-persona__title {
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas .pl-kb-persona__desc, .pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro .pl-kb-persona__desc, .pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi .pl-kb-persona__desc {
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas .pl-kb-persona__type-lbl, .pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro .pl-kb-persona__type-lbl, .pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi .pl-kb-persona__type-lbl {
  color: #f89917;
  --s-accent: #f89917;
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas .pl-kb-persona__icon {
  background: var(--pl-gas-light);
}
.pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro .pl-kb-persona__icon {
  background: var(--pl-elektro-light);
}
.pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi .pl-kb-persona__icon {
  background: var(--pl-multi-light);
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas .pl-kb-persona__link--default, .pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro .pl-kb-persona__link--default, .pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi .pl-kb-persona__link--default {
  display: none;
}
.pl-kb[data-oven="gas"] .pl-kb-persona__card.pl-type--gas .pl-kb-persona__link--match, .pl-kb[data-oven="elektro"] .pl-kb-persona__card.pl-type--elektro .pl-kb-persona__link--match, .pl-kb[data-oven="multi"] .pl-kb-persona__card.pl-type--multi .pl-kb-persona__link--match {
  display: inline-flex;
}
@media (max-width: 768px) {
  .pl-kb-chip {
    font-size: 14px;
    padding: 11px 18px;
  }
  .pl-kb-table {
    grid-template-columns: 110px repeat(3, 1fr);
    font-size: 13px;
  }
  .pl-kb-table__cell, .pl-kb-table__label {
    padding: 10px 8px;
    font-size: 12px;
  }
  .pl-kb-table__head {
    padding: 14px 8px;
    font-size: 12px;
  }
  .pl-kb-picks__grid {
    grid-template-columns: 1fr 1fr;
  }
  .pl-kb-pc__title {
    font-size: 19px;
  }
  .pl-kb-pc-row {
    flex-direction: column;
  }
  .pl-kb-pc-row__left {
    width: 100%;
    min-height: 130px;
    padding: 20px 20px 18px;
    justify-content: flex-end;
  }
  .pl-kb-pc-row__flame {
    top: 14px;
    font-size: 48px;
  }
  .pl-kb-pc-row__name {
    font-size: 26px;
  }
  .pl-kb-pc-row__tagline {
    font-size: 12px;
  }
  .pl-kb-pc-row__right {
    padding: 20px;
    gap: 14px;
  }
  .pl-kb-pc-row__cols {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .pl-kb-pc-row__foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .pl-kb-pc-row__cta {
    width: 100%;
    text-align: center;
  }
  .pl-kb-faq-wrap {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .pl-kb-faq__sticky {
    position: static;
  }
  .pl-kb-faq__h2 {
    font-size: 28px;
  }
  .pl-kb-faq__q {
    font-size: 14px;
    padding: 15px 16px;
  }
  .pl-kb-faq__a {
    padding: 0 16px 16px;
  }
  .pl-kb-persona-section {
    padding: 32px 20px;
    border-radius: 12px;
  }
  .pl-kb-persona__grid {
    grid-template-columns: 1fr;
  }
  .pl-kb-faq__q {
    font-size: 14px;
    padding: 15px 16px;
  }
  .pl-kb-faq__a {
    padding: 0 16px 16px;
  }
}
.pl-pk-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 500;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin-bottom: 20px;
}
.pl-pk-breadcrumb a {
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  text-decoration: none;
}
.pl-pk-breadcrumb a:hover {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
.pl-pk-hero {
  padding: 64px 0 48px;
}
@media (max-width: 768px) {
  .pl-pk-hero {
    padding: 36px 0 28px;
  }
}
.pl-pk-hero__h1 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(34px, 5vw, 60px);
  line-height: 1;
  letter-spacing: -2px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0 0 18px;
}
@media (max-width: 768px) {
  .pl-pk-hero__h1 {
    font-size: clamp(28px, 8vw, 40px);
    letter-spacing: -1px;
  }
}
.pl-pk-hero__h1-sub {
  display: block;
  color: #f89917;
  --s-accent: #f89917;
}
.pl-pk-hero__lead {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 17px;
  line-height: 1.65;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  max-width: 720px;
  margin: 0 0 32px;
}
@media (max-width: 768px) {
  .pl-pk-hero__lead {
    font-size: 15px;
    margin-bottom: 24px;
  }
}
.pl-pk-stats {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  border: 1.5px solid var(--pl-hair);
  border-radius: 16px;
  background: var(--pl-surface);
  width: fit-content;
  max-width: 100%;
  margin-bottom: 32px;
  overflow: hidden;
}
.pl-pk-stats__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 22px;
  gap: 2px;
  min-width: 100px;
}
.pl-pk-stats__val {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 18px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  white-space: nowrap;
}
.pl-pk-stats__lbl {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 10px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.7px;
  white-space: nowrap;
  text-align: center;
}
.pl-pk-stats__sep {
  width: 1px;
  align-self: stretch;
  background: var(--pl-hair);
  flex-shrink: 0;
  margin: 8px 0;
}
.pl-pk-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}
.pl-pk-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  padding: 13px 26px;
  border-radius: 999px;
  border: 2px solid var(--pl-hair);
  background: var(--pl-surface);
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s, color 0.18s, box-shadow 0.18s, transform 0.15s;
  user-select: none;
}
.pl-pk-chip i {
  font-size: 13px;
  opacity: 0.8;
}
.pl-pk-chip:hover {
  transform: translateY(-2px);
  box-shadow: var(--pl-shadow-card);
}
.pl-pk-chip--active {
  background: rgba(248, 153, 23, 0.12);
  border-color: #f89917;
  color: var(--pl-orange-ink, #7c4904);
  --s-accent: var(--pl-orange-ink, #7c4904);
  box-shadow: 0 0 0 3px rgba(248, 153, 23, 0.18);
  transform: translateY(-2px);
}
.pl-pk[data-kurs="offen"] .pl-type--privat, .pl-pk[data-kurs="privat"] .pl-type--offen {
  opacity: 0.28;
  filter: grayscale(25%);
  transition: opacity 0.25s, filter 0.25s;
}
.pl-pk[data-kurs="offen"] .pl-type--offen, .pl-pk[data-kurs="privat"] .pl-type--privat {
  opacity: 1;
  filter: none;
  transition: opacity 0.25s, filter 0.25s;
}
@media (max-width: 768px) {
  .pl-pk-stats {
    flex-wrap: wrap;
    width: 100%;
    border-radius: 12px;
  }
  .pl-pk-stats__item {
    flex: 1 1 calc(50% - 1px);
    min-width: unset;
    padding: 10px 14px;
  }
  .pl-pk-stats__sep {
    display: none;
  }
  .pl-pk-stats__val {
    font-size: 16px;
  }
  .pl-pk-chip {
    font-size: 13px;
    padding: 10px 18px;
  }
}
.pl-pk-cards-section {
  padding: 56px 0 48px;
}
.pl-pk-cards__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 900px) {
  .pl-pk-cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .pl-pk-cards__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.pl-pk-card {
  position: relative;
  background: var(--pl-surface);
  border: 1.5px solid var(--pl-hair);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, transform 0.2s, opacity 0.25s, filter 0.25s;
}
.pl-pk-card:hover {
  box-shadow: var(--pl-shadow-card);
  transform: translateY(-3px);
}
.pl-pk-card.is-active {
  border-color: #f89917;
  box-shadow: 0 0 0 3px rgba(248, 153, 23, 0.18), var(--pl-shadow-card);
}
.pl-pk-card__img {
  width: 100%;
  aspect-ratio: 1.3333333333;
  object-fit: cover;
  display: block;
  background: var(--pl-surface-dim, #f5f5f5);
}
.pl-pk-card__body {
  padding: 18px 18px 14px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pl-pk-card__name {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0;
  line-height: 1.25;
}
.pl-pk-card__desc {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 13px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.5;
  margin: 0;
  flex: 1;
}
.pl-pk-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px 16px;
  border-top: 1px solid var(--pl-hair);
  margin-top: auto;
}
.pl-pk-card__price {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 17px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-pk-card__price small {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 11px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  display: block;
  margin-top: 1px;
}
.pl-pk-card__link {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap 0.15s, color 0.15s;
}
.pl-pk-card__link:hover {
  gap: 7px;
  color: var(--pl-olive-hover, #2a3420);
  --s-accent: var(--pl-olive-hover, #2a3420);
}
.pl-pk-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 4px;
  line-height: 1;
}
.pl-pk-card__badge--top {
  background: var(--pl-olive-bg);
  color: #fff;
  --s-accent: #fff;
}
.pl-pk-card__badge--neu {
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
.pl-pk-card__badge--anfrage {
  background: var(--pl-ink);
  color: var(--pl-on-ink, #fff);
  --s-accent: var(--pl-on-ink, #fff);
}
.pl-pk-card--unsicher {
  background: var(--pl-olive-bg);
  border-color: var(--pl-olive);
  color: #fff;
  --s-accent: #fff;
  cursor: default;
}
.pl-pk-card--unsicher:hover {
  transform: none;
  box-shadow: none;
}
.pl-pk-card--unsicher .pl-pk-card__body {
  gap: 10px;
  justify-content: center;
}
.pl-pk-card--unsicher .pl-pk-card__name {
  color: #fff;
  --s-accent: #fff;
  font-size: 20px;
}
.pl-pk-card--unsicher .pl-pk-card__desc {
  color: rgba(255, 255, 255, 0.8);
  --s-accent: rgba(255,255,255,.8);
}
.pl-pk-card--unsicher__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #f89917;
  --s-accent: #f89917;
  text-decoration: none;
  transition: gap 0.15s;
}
.pl-pk-card--unsicher__cta:hover {
  gap: 9px;
}
.pl-pk[data-kurs="offen"] .pl-pk-card.pl-type--privat, .pl-pk[data-kurs="privat"] .pl-pk-card.pl-type--offen {
  opacity: 0.28;
  filter: grayscale(25%);
  pointer-events: none;
}
@media (max-width: 768px) {
  .pl-pk-cards-section {
    padding: 32px 0 28px;
  }
  .pl-pk-card__footer {
    padding: 10px 14px 14px;
  }
  .pl-pk-card__body {
    padding: 14px 14px 10px;
  }
}
.pl-pk-persona-section {
  background: var(--pl-olive-bg);
  border-radius: 16px;
  padding: 52px 48px;
}
@media (max-width: 768px) {
  .pl-pk-persona-section {
    padding: 32px 20px;
    border-radius: 12px;
  }
}
.pl-pk-persona-section .pl-section-head__over {
  color: #f89917;
  --s-accent: #f89917;
}
.pl-pk-persona-section .pl-section-head__h2 {
  color: #fff;
  --s-accent: #fff;
}
.pl-pk-persona-section .pl-section-head__sub {
  color: rgba(255, 255, 255, 0.55);
  --s-accent: rgba(255,255,255,.55);
}
.pl-pk-persona-section .pl-section-head {
  margin-bottom: 28px;
}
.pl-pk-persona__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}
@media (max-width: 900px) {
  .pl-pk-persona__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .pl-pk-persona__grid {
    grid-template-columns: 1fr;
  }
}
.pl-pk-persona__card {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: background 0.25s, border-color 0.25s, box-shadow 0.25s, opacity 0.25s, filter 0.25s;
}
.pl-pk-persona__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.pl-pk-persona__icon {
  width: 36px;
  height: 36px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
  color: #fff;
  --s-accent: #fff;
  transition: background 0.25s;
}
.pl-pk-persona__type-lbl {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  --s-accent: rgba(255,255,255,.4);
  transition: color 0.25s;
  display: block;
  margin-top: auto;
  padding-top: 12px;
}
.pl-pk-persona__title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 17px;
  color: #fff;
  --s-accent: #fff;
  line-height: 1.3;
  transition: color 0.25s;
}
.pl-pk-persona__desc {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  --s-accent: rgba(255,255,255,.6);
  line-height: 1.55;
  flex: 1;
  transition: color 0.25s;
}
.pl-pk-persona__link {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  --s-accent: rgba(255,255,255,.6);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  transition: color 0.2s, gap 0.15s;
}
.pl-pk-persona__link:hover {
  color: #fff;
  --s-accent: #fff;
  gap: 7px;
}
.pl-pk-persona__link--match {
  display: none;
  color: #f89917;
  --s-accent: #f89917;
}
.pl-pk-persona__link--match:hover {
  opacity: 0.85;
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card, .pl-pk[data-kurs="privat"] .pl-pk-persona__card {
  opacity: 0.35;
  filter: grayscale(20%);
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card.pl-type--offen, .pl-pk[data-kurs="privat"] .pl-pk-persona__card.pl-type--privat {
  opacity: 1 !important;
  filter: none !important;
  background: var(--pl-surface) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card.pl-type--offen .pl-pk-persona__title, .pl-pk[data-kurs="privat"] .pl-pk-persona__card.pl-type--privat .pl-pk-persona__title {
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card.pl-type--offen .pl-pk-persona__desc, .pl-pk[data-kurs="privat"] .pl-pk-persona__card.pl-type--privat .pl-pk-persona__desc {
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card.pl-type--offen .pl-pk-persona__type-lbl, .pl-pk[data-kurs="privat"] .pl-pk-persona__card.pl-type--privat .pl-pk-persona__type-lbl {
  color: #f89917;
  --s-accent: #f89917;
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card.pl-type--offen .pl-pk-persona__icon, .pl-pk[data-kurs="privat"] .pl-pk-persona__card.pl-type--privat .pl-pk-persona__icon {
  background: rgba(67, 83, 52, 0.12);
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card.pl-type--offen .pl-pk-persona__link--default, .pl-pk[data-kurs="privat"] .pl-pk-persona__card.pl-type--privat .pl-pk-persona__link--default {
  display: none;
}
.pl-pk[data-kurs="offen"] .pl-pk-persona__card.pl-type--offen .pl-pk-persona__link--match, .pl-pk[data-kurs="privat"] .pl-pk-persona__card.pl-type--privat .pl-pk-persona__link--match {
  display: inline-flex;
}
.pl-pk-detail-section {
  padding: 48px 0 40px;
}
.pl-pk-detail-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.pl-pk-detail-tab {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1.5px solid var(--pl-hair);
  background: var(--pl-surface);
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  white-space: nowrap;
}
.pl-pk-detail-tab:hover {
  border-color: var(--pl-olive);
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
.pl-pk-detail-tab.is-active {
  background: var(--pl-olive-bg);
  border-color: var(--pl-olive);
  color: #fff;
  --s-accent: #fff;
}
.pl-pk-detail-panel {
  display: none;
}
.pl-pk-detail-panel.is-active {
  display: block;
}
.pl-pk-detail-card {
  display: grid;
  grid-template-columns: 380px 1fr;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid #f89917;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.1);
}
@media (max-width: 900px) {
  .pl-pk-detail-card {
    grid-template-columns: 280px 1fr;
  }
}
@media (max-width: 768px) {
  .pl-pk-detail-card {
    grid-template-columns: 1fr;
  }
}
.pl-pk-detail-card__left {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 340px;
  padding: 22px;
  background: linear-gradient(160deg, #2a1000 0%, #0e0600 100%);
  overflow: hidden;
}
.pl-pk-detail-card__left img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.45;
  mix-blend-mode: luminosity;
}
.pl-pk-detail__status {
  position: absolute;
  top: 16px;
  left: 16px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  background: var(--pl-olive-bg);
  color: #fff;
  --s-accent: #fff;
}
.pl-pk-detail__status--ausverkauft {
  background: var(--pl-ink-2);
  color: var(--pl-on-ink, #fff);
  --s-accent: var(--pl-on-ink, #fff);
}
.pl-pk-detail__status--anfrage {
  background: var(--pl-ink);
  color: var(--pl-on-ink, #fff);
  --s-accent: var(--pl-on-ink, #fff);
}
.pl-pk-detail__meta {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
  --s-accent: rgba(255,255,255,.65);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 10px;
}
.pl-pk-detail__meta i {
  color: #f89917;
  --s-accent: #f89917;
  font-size: 12px;
}
.pl-pk-detail__name {
  position: relative;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 24px;
  color: #fff;
  --s-accent: #fff;
  line-height: 1.15;
  margin: 0 0 6px;
}
.pl-pk-detail__tagline {
  position: relative;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  --s-accent: rgba(255,255,255,.6);
  font-style: italic;
  margin: 0;
}
.pl-pk-detail-card__right {
  background: var(--pl-surface);
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (max-width: 768px) {
  .pl-pk-detail-card__right {
    padding: 22px 20px;
  }
}
.pl-pk-detail__desc {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.65;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0;
}
.pl-pk-detail__bullets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 32px;
}
@media (max-width: 768px) {
  .pl-pk-detail__bullets {
    grid-template-columns: 1fr;
  }
}
.pl-pk-detail__col-head {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0 0 10px;
}
.pl-pk-detail__bullet-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pl-pk-detail__bullet {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  display: flex;
  align-items: flex-start;
  gap: 9px;
  line-height: 1.4;
}
.pl-pk-detail__bullet::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--pl-good-bg, #d1fae5) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%2316a34a' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/10px no-repeat;
  margin-top: 1px;
}
.pl-pk-detail__bullet--inkl::before {
  background-color: rgba(248, 153, 23, 0.15);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23f89917' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.pl-pk-detail__cta-row {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid var(--pl-hair);
}
.pl-pk-detail__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  padding: 13px 24px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: background 0.18s, box-shadow 0.18s, border-color 0.18s;
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28);
  font-size: 15px;
}
.pl-pk-detail__cta-btn:hover {
  background: #cf7a09;
  box-shadow: 0 6px 16px rgba(248, 153, 23, 0.44);
}
.pl-pk-detail__price {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 22px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-pk-detail__price small {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  display: block;
}
@media (max-width: 768px) {
  .pl-pk-detail-section {
    padding: 28px 0 24px;
  }
  .pl-pk-detail-tabs {
    gap: 6px;
  }
  .pl-pk-detail-tab {
    font-size: 12px;
    padding: 7px 12px;
  }
  .pl-pk-detail-card__left {
    min-height: 220px;
  }
  .pl-pk-detail__name {
    font-size: 20px;
  }
}
.pl-pk-klausi-section {
  padding: 12px 0 40px;
  anchor-name: --klausi;
}
.pl-klausi-card--course {
  display: flex;
  align-items: center;
  gap: 24px;
  background: var(--pl-olive-bg);
  border-radius: 16px;
  padding: 28px 32px;
}
.pl-klausi-card--course .pl-section-kicker {
  color: #f89917;
  --s-accent: #f89917;
}
@media (max-width: 768px) {
  .pl-klausi-card--course {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
    border-radius: 12px;
  }
}
.pl-klausi-card--course .pl-klausi-card__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  flex-shrink: 0;
  border: 3px solid rgba(255, 255, 255, 0.2);
  align-self: center;
}
.pl-klausi-card--course .pl-klausi-card__body {
  flex: 1;
  min-width: 0;
}
.pl-klausi-card--course .pl-klausi-card__title {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  --s-accent: #fff;
  margin: 4px 0 6px;
  line-height: 1.25;
}
.pl-klausi-card--course .pl-klausi-card__text {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  --s-accent: rgba(255,255,255,.7);
  margin: 0;
  line-height: 1.5;
}
.pl-klausi-card--course .pl-klausi-card__btns {
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .pl-klausi-card--course .pl-klausi-card__btns {
    width: 100%;
  }
}
.pl-klausi-btn--course {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
  padding: 13px 22px;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28);
  transition: background 0.18s, box-shadow 0.18s;
}
.pl-klausi-btn--course:hover {
  background: #cf7a09;
  box-shadow: 0 6px 16px rgba(248, 153, 23, 0.44);
  text-decoration: none;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
@media (max-width: 768px) {
  .pl-klausi-btn--course {
    width: 100%;
    justify-content: center;
  }
}
.pl-pk-locations-section {
  padding: 48px 0 40px;
}
.pl-pk-locations__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 768px) {
  .pl-pk-locations__grid {
    grid-template-columns: 1fr;
  }
}
.pl-pk-location-card {
  background: var(--pl-surface);
  border: 1.5px solid var(--pl-hair);
  border-radius: 16px;
  padding: 28px 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (max-width: 768px) {
  .pl-pk-location-card {
    padding: 20px;
  }
}
.pl-pk-location__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}
.pl-pk-location__pin {
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
}
.pl-pk-location__city {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 26px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  letter-spacing: -0.5px;
  margin: 0;
}
.pl-pk-location__addr {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0 0 16px;
}
.pl-pk-location__divider {
  border: none;
  border-top: 1px solid var(--pl-hair);
  margin: 0 0 16px;
}
.pl-pk-location__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.pl-pk-location__meta-label {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0 0 4px;
}
.pl-pk-location__meta-val {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0;
}
.pl-section-head__over {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #f89917;
  --s-accent: #f89917;
  margin: 0 0 8px;
}
.pl-section-head__h2 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.05;
  letter-spacing: -1.5px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0;
}
.pl-section-head__sub {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 15px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 4px 0 0;
}
.pl-pk-persona-section .pl-section-head__over, .pl-pk-persona-section .pl-section-kicker {
  color: #f89917;
  --s-accent: #f89917;
}
.pl-pk-persona-section .pl-section-head__h2, .pl-pk-persona-section .pl-section-h2 {
  color: #fff;
  --s-accent: #fff;
}
.pl-pk-persona-section .pl-section-head__sub, .pl-pk-persona-section .pl-section-quote {
  color: rgba(255, 255, 255, 0.55);
  --s-accent: rgba(255,255,255,.55);
}
@media (max-width: 768px) {
  .pl-section-head__h2 {
    font-size: clamp(26px, 7vw, 34px);
  }
}
.pl-pk-table-section {
  padding: 48px 0 40px;
}
.pl-pk-table {
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  border: 1.5px solid var(--pl-hair);
}
.pl-pk-table__head {
  display: grid;
  grid-template-columns: 2.8fr 1fr 1fr 1.5fr 1fr 1fr;
  background: var(--pl-olive-bg);
  padding: 14px 20px;
  gap: 12px;
}
.pl-pk-table__th {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  --s-accent: rgba(255,255,255,.7);
  display: flex;
  align-items: center;
}
.pl-pk-table__row {
  display: grid;
  grid-template-columns: 2.8fr 1fr 1fr 1.5fr 1fr 1fr;
  padding: 14px 20px;
  gap: 12px;
  border-top: 1px solid var(--pl-hair);
  background: var(--pl-surface);
  cursor: pointer;
  transition: background 0.15s;
  border-left: 3px solid transparent;
  text-decoration: none;
  color: inherit;
}
.pl-pk-table__row:hover {
  background: var(--pl-surface);
}
.pl-pk-table__row.is-active {
  border-left-color: #f89917;
  background: rgba(248, 153, 23, 0.04);
}
.pl-pk-table__row.is-active .pl-pk-table__name {
  color: #f89917;
  --s-accent: #f89917;
}
.pl-pk-table__kurs {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.pl-pk-table__icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 4px;
  background: var(--pl-surface);
  border: 1px solid var(--pl-hair);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
.pl-pk-table__info {
  min-width: 0;
}
.pl-pk-table__name {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s;
}
.pl-pk-table__badge {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 9px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 6px;
  vertical-align: middle;
}
.pl-pk-table__sub {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin-top: 1px;
}
.pl-pk-table__cell {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  display: flex;
  align-items: center;
}
.pl-pk-table__cell--level {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-pk-table__cell--dauer {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.3px;
}
.pl-pk-table__cell--preis {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-pk-table__link {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: gap 0.15s, color 0.15s;
}
.pl-pk-table__link:hover {
  gap: 7px;
  color: var(--pl-olive-hover, #2a3420);
  --s-accent: var(--pl-olive-hover, #2a3420);
}
.pl-pk-table__hint {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 12px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  opacity: 0.6;
  margin-top: 12px;
}
@media (max-width: 768px) {
  .pl-pk-table-section {
    padding: 28px 0;
  }
  .pl-pk-table {
    border-radius: 12px;
  }
  .pl-pk-table__head > *:nth-child(n+2):nth-child(-n+4), .pl-pk-table__row > *:nth-child(n+2):nth-child(-n+4) {
    display: none;
  }
  .pl-pk-table__head, .pl-pk-table__row {
    grid-template-columns: 2fr 0.9fr auto;
    padding: 12px 14px;
    gap: 8px;
    font-size: 12px;
  }
  .pl-pk-table__cell {
    min-width: 0;
  }
  .pl-pk-table__name {
    font-size: 13px;
  }
  .pl-pk-table__sub {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .pl-pk-table__icon {
    width: 28px;
    height: 28px;
    font-size: 13px;
  }
  .pl-pk-table__th {
    font-size: 9px;
  }
  .pl-pk-table__cell--preis {
    font-size: 13px;
    white-space: nowrap;
  }
  .pl-pk-table__link {
    white-space: nowrap;
  }
}
.pl-pk-voucher-section {
  padding: 0 0 40px;
}
.pl-pk-voucher {
  position: relative;
  overflow: hidden;
  background: #111;
  border-radius: 16px;
  padding: 48px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}
.pl-pk-voucher::before {
  content: "";
  position: absolute;
  top: -70px;
  right: -70px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  pointer-events: none;
}
.pl-pk-voucher::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 90px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  pointer-events: none;
}
.pl-pk-voucher__text {
  position: relative;
  z-index: 1;
}
.pl-pk-voucher__kicker {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #f89917;
  --s-accent: #f89917;
  margin: 0 0 14px;
}
.pl-pk-voucher__headline {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -1px;
  color: #fff;
  --s-accent: #fff;
  margin: 0 0 14px;
}
.pl-pk-voucher__body {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  --s-accent: rgba(255,255,255,.55);
  margin: 0;
  max-width: 400px;
  line-height: 1.6;
}
.pl-pk-voucher__cta {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.pl-pk-voucher__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 17px;
  background: #f89917;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
  padding: 18px 36px;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(248, 153, 23, 0.28);
  transition: background 0.18s, box-shadow 0.18s;
}
.pl-pk-voucher__btn:hover {
  background: #df8407;
  box-shadow: 0 6px 16px rgba(248, 153, 23, 0.44);
  text-decoration: none;
  color: #1a1a1a;
  --s-accent: #1a1a1a;
}
@media (max-width: 768px) {
  .pl-pk-voucher__btn {
    width: 100%;
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .pl-pk-voucher {
    flex-direction: column;
    text-align: center;
    padding: 32px 24px;
    gap: 28px;
    border-radius: 12px;
  }
  .pl-pk-voucher__body {
    max-width: none;
  }
}
.pl-xmas .pl-pk-detail-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.pl-xmas .pl-pk-detail-card__left {
  aspect-ratio: 1;
  min-height: 0;
  padding: 20px;
}
.pl-xmas .pl-pk-detail-card__right {
  padding: 24px 22px;
  gap: 18px;
  flex: 1;
}
.pl-xmas .pl-pk-detail__bullets {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pl-xmas .pl-pk-detail__price-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px dashed var(--pl-hair);
  padding-top: 16px;
}
.pl-pk-detail-card--chill {
  border-color: var(--pl-olive);
}
.pl-pk-detail-card--chill .pl-pk-detail-card__left {
  background: linear-gradient(160deg, var(--pl-olive-dark) 0%, #12160d 100%);
}
.pl-pk-detail__price-examples {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 400;
  font-size: 11px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.8;
}
.pl-xmas-formats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: start;
}
@media (max-width: 768px) {
  .pl-xmas-formats {
    grid-template-columns: 1fr;
  }
}
.pl-xmas-timeline {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}
@media (max-width: 900px) {
  .pl-xmas-timeline {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.pl-xmas-timeline__step {
  position: relative;
}
@media (max-width: 900px) {
  .pl-xmas-timeline__step {
    display: grid;
    grid-template-columns: 36px 1fr;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 2px;
    padding: 16px 0;
    border-bottom: 1px solid var(--pl-hair);
  }
  .pl-xmas-timeline__step:last-child {
    border-bottom: none;
  }
}
.pl-xmas-timeline__step h4 {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  margin: 0 0 6px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
@media (max-width: 900px) {
  .pl-xmas-timeline__step h4 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
}
.pl-xmas-timeline__step p {
  font-size: 13.5px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin: 0;
  line-height: 1.5;
}
@media (max-width: 900px) {
  .pl-xmas-timeline__step p {
    grid-column: 2;
    grid-row: 2;
  }
}
.pl-xmas-timeline__num {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 800;
  font-size: 13px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--pl-olive-bg);
  color: #fff;
  --s-accent: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
@media (max-width: 900px) {
  .pl-xmas-timeline__num {
    grid-column: 1;
    grid-row: 1 / 3;
    margin-bottom: 0;
    align-self: start;
  }
}
.pl-xmas-reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 820px) {
  .pl-xmas-reviews {
    grid-template-columns: 1fr;
  }
}
.pl-xmas-review {
  background: var(--pl-surface);
  border: 1.5px solid var(--pl-hair);
  border-radius: 16px;
  padding: 22px;
}
.pl-xmas-review p {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-style: italic;
  font-size: 15.5px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin: 0;
  line-height: 1.5;
}
.pl-xmas-review__note {
  margin-top: 14px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 400;
  font-size: 10.5px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  letter-spacing: 0.04em;
}
.pl-xmas-ai-badge {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 600;
  font-size: 9.5px;
  letter-spacing: 0.04em;
  color: #fff;
  --s-accent: #fff;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(2px);
  padding: 5px 9px;
  border-radius: 999px;
  text-transform: uppercase;
}
.pl-xmas-cta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}
@media (max-width: 900px) {
  .pl-xmas-cta-grid {
    grid-template-columns: 1fr;
  }
}
.pl-xmas-cta-contact {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.65);
  --s-accent: rgba(255, 255, 255, .65);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 400;
}
.pl-xmas-cta-contact a {
  color: #fff;
  --s-accent: #fff;
  text-decoration: underline;
}
.pl-xmas-form-card {
  background: var(--pl-surface);
  border: 1.5px solid var(--pl-hair);
  border-radius: 16px;
  padding: 32px;
  box-shadow: var(--pl-shadow-card);
}
.pl-xmas-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 480px) {
  .pl-xmas-form-grid {
    grid-template-columns: 1fr;
  }
}
.pl-xmas-form-grid .full {
  grid-column: 1 / -1;
}
.pl-xmas-form-card label {
  display: block;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  font-size: 12.5px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
  margin-bottom: 6px;
}
.pl-xmas-form-card input, .pl-xmas-form-card textarea {
  width: 100%;
  background: var(--pl-bg);
  border: 1.5px solid var(--pl-hair);
  border-radius: 8px;
  padding: 11px 13px;
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-size: 14.5px;
  color: var(--pl-ink);
  --s-accent: var(--pl-ink);
}
.pl-xmas-form-card input:focus, .pl-xmas-form-card textarea:focus {
  outline: 2px solid #f89917;
  outline-offset: 1px;
}
.pl-xmas-form-card textarea {
  resize: vertical;
  min-height: 64px;
}
.pl-xmas-honeypot {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.pl-xmas-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 16px;
  cursor: pointer;
}
.pl-xmas-consent input {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: #f89917;
  cursor: pointer;
}
.pl-xmas-consent span {
  font-size: 12.5px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  line-height: 1.5;
}
.pl-xmas-consent a {
  color: #bd6f06;
  --s-accent: #bd6f06;
  text-decoration: underline;
}
.pl-xmas-radio-group {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.pl-xmas-radio-opt {
  position: relative;
}
.pl-xmas-radio-opt input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}
.pl-xmas-radio-opt span {
  display: block;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1.5px solid var(--pl-hair);
  font-size: 12.5px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  white-space: nowrap;
}
.pl-xmas-radio-opt input:checked + span {
  background: rgba(248, 153, 23, 0.12);
  border-color: #f89917;
  color: #7c4904;
  --s-accent: #7c4904;
}
.pl-xmas-form-submit {
  width: 100%;
  justify-content: center;
  font-size: 15.5px;
  padding: 15px;
  margin-top: 14px;
}
.pl-xmas-form-note {
  font-size: 11.5px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  margin-top: 10px;
}
.pl-xmas-form-status {
  margin-top: 12px;
  font-size: 13.5px;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-weight: 700;
}
.pl-xmas-form-status.err {
  color: #c0392b;
  --s-accent: #c0392b;
}
#wf-form[data-sent="true"] .pl-xmas-form-fields {
  display: none;
}
.pl-xmas-thankyou {
  display: none;
  text-align: center;
  padding: 24px 0;
}
#wf-form[data-sent="true"] ~ .pl-xmas-thankyou {
  display: block;
}
.pl-xmas-footer {
  padding: 28px 0;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 400;
  font-size: 11.5px;
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
  border-top: 1px solid var(--pl-hair);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.pl-xmas .pl-kb-faq__q::after {
  content: none;
}
.pl-xmas .pl-kb-cta-wrap {
  display: flex;
  flex-direction: column;
}
.custom-contents {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
.custom-contents * {
  box-sizing: border-box;
}
.custom-contents .col-container {
  display: grid;
  grid-gap: 60px;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  margin-bottom: 60px;
}
.custom-contents .col-item-6 {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.custom-contents .col-item-6.img-center {
  justify-content: center;
  align-items: center;
}
.custom-contents .col-item-6.justify-center {
  justify-content: center;
  align-items: center;
  text-align: center;
}
.custom-contents .has-after-dash {
  position: relative;
  margin-bottom: 20px;
}
.custom-contents .has-after-dash + p {
  margin-top: 20px;
}
.custom-contents .has-after-dash::after {
  content: "";
  width: 150px;
  height: 4px;
  background-color: #f89917;
  display: block;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}
.custom-contents .img-center img {
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  display: block;
}
.custom-contents ul {
  padding-left: 20px;
  margin: 30px 0 0;
  text-align: left;
}
.custom-contents ul li {
  margin-bottom: 10px;
}
.custom-contents ul li::marker {
  color: #f89917;
}
.custom-contents a {
  font-weight: 700;
  color: #f89917;
  --s-accent: #f89917;
  text-decoration: none;
  transition: 0.3s;
}
.custom-contents a:hover {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive)
}

.custom-contents .responsive-table {
    overflow-x: auto
}

.custom-contents table {
    width: 100%;
  min-width: 0;
  border-collapse: collapse;
  margin: 25px 0;
  font-size: 0.9em;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
}
.custom-contents thead tr {
  background-color: var(--pl-olive-bg);
  color: #fff;
  text-align: left;
}
.custom-contents th, .custom-contents td {
  padding: 12px 15px;
  text-align: center;
}
.custom-contents th {
  font-weight: 700;
  font-size: 18px;
}
.custom-contents tr th:first-child, .custom-contents tr td:first-child {
  text-align: left;
  font-weight: 700;
}
.custom-contents tbody tr {
  border-bottom: 1px solid var(--pl-line-2, #ddd);
}
.custom-contents tbody tr:nth-of-type(even) {
  background: var(--pl-alt, #f6f7f5);
}
.custom-contents tbody tr:last-of-type {
  border-bottom: 2px solid #f89917;
}
.custom-contents .blog-post-container {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.custom-contents .blog-item {
  display: flex;
  flex-wrap: nowrap;
  margin-bottom: 20px;
  border: 1px solid var(--pl-olive);
  padding: 16px;
  border-radius: 10px;
  justify-content: flex-start;
  align-items: flex-start;
}
.custom-contents .blog-item > img {
  max-width: 150px;
  height: auto;
  object-fit: cover;
  margin-right: 20px;
}
.custom-contents .blog-contents {
  display: flex;
  flex-direction: column;
}
.custom-contents .blog-title {
  margin: 0;
  color: #f89917;
  --s-accent: #f89917
}

.custom-contents .blog-contents p {
    margin-bottom: 0
}

@media (max-width:991px) {
    .custom-contents .col-container {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 24px;
        margin-bottom: 30px
    }

    .custom-contents .col-container.has-img-right .col-item-6:first-child {
        order: 2
    }

    .custom-contents .col-container.has-img-right .col-item-6:last-child {
        order: 1
    }

    .custom-contents {
        padding: 0 12px
    }
}

@media (max-width:500px) {
    .custom-contents .blog-item {
        flex-wrap: wrap
    }

    .custom-contents .blog-item>img {
        margin: 0 0 20px 0
    }
}

.custom-contents p,
.custom-contents li,
.custom-contents td,
.custom-contents th {
    word-break: break-word;
  overflow-wrap: anywhere;
}
.klausi-quote {
  font-style: italic;
  color: var(--pl-olive);
  margin-top: 20px;
  font-size: 1.1rem;
}
#product-offer .shortdesc ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
#product-offer .shortdesc ul li {
  list-style-type: none;
  padding-left: 0;
}
/* Newsletter: vollständig in custom.css via .pl-newsletter2 abgedeckt */
[data-theme="dark"] [style*="color: #2d5a27" i]:not([style*="background-color: #2d5a27" i]), [data-theme="dark"] [style*="color:#2d5a27" i]:not([style*="background-color:#2d5a27" i]) {
  color: var(--pl-success) !important;
}
[data-theme="dark"] [style*="color: #721c24" i], [data-theme="dark"] [style*="color:#721c24" i] {
  color: #fecaca !important;
}
[data-theme="dark"] [style*="color: #856404" i], [data-theme="dark"] [style*="color:#856404" i] {
  color: #fde68a !important;
}
[data-theme="dark"] [style*="color: #dc3545" i], [data-theme="dark"] [style*="color:#dc3545" i] {
  color: #f87171 !important;
}
[data-theme="dark"] [style*="color: #666" i], [data-theme="dark"] [style*="color:#666" i], [data-theme="dark"] [style*="color: #555" i], [data-theme="dark"] [style*="color:#555" i] {
  color: var(--pl-ink-2) !important;
}
[data-theme="dark"] [style*="#f0f7ed" i] {
  background-color: rgba(79, 191, 130, 0.12) !important;
  color: var(--pl-ink) !important;
}
[data-theme="dark"] [style*="#e7f3ff" i] {
  background-color: rgba(96, 165, 250, 0.14) !important;
  color: var(--pl-ink) !important;
}
[data-theme="dark"] [style*="#fff3cd" i] {
  background-color: rgba(251, 191, 36, 0.14) !important;
  color: var(--pl-ink) !important;
}
[data-theme="dark"] [style*="#f8d7da" i] {
  background-color: rgba(248, 113, 113, 0.14) !important;
  color: var(--pl-ink) !important;
}
[data-theme="dark"] [style*="#f9f9f9" i], [data-theme="dark"] [style*="#f9f7f2" i] {
  background-color: var(--pl-alt) !important;
  color: var(--pl-ink) !important;
}
[data-theme="dark"] [style*="background-color: #1a1a1a" i], [data-theme="dark"] [style*="background-color:#1a1a1a" i] {
  background-color: #0d1615 !important;
  border: 1px solid var(--pl-hair);
}
[data-theme="dark"] .ws-wrap .ws-headline {
  color: var(--pl-ink);
}
[data-theme="dark"] .ws-wrap .ws-city-btn, [data-theme="dark"] .ws-wrap .ws-type-pill, [data-theme="dark"] .ws-wrap .ws-level-pill {
  background: var(--pl-surface);
  border-color: var(--pl-hair);
  color: var(--pl-ink);
}
[data-theme="dark"] .ws-wrap .ws-city-btn:hover, [data-theme="dark"] .ws-wrap .ws-level-pill:hover {
  border-color: var(--pl-olive);
}
[data-theme="dark"] .ws-wrap .ws-type-pill:hover {
  border-color: #f89917;
}
[data-theme="dark"] .ws-wrap .ws-city-btn.active, [data-theme="dark"] .ws-wrap .ws-level-pill.active {
  background: var(--pl-olive-bg);
  border-color: var(--pl-olive-bg);
  color: #fff;
}
[data-theme="dark"] .ws-wrap .ws-type-pill.active {
  background: #f89917;
  border-color: #f89917;
  color: #fff;
}
[data-theme="dark"] .ws-wrap .ws-table thead tr {
  background: var(--pl-olive-bg);
}
[data-theme="dark"] .ws-wrap .ws-row td {
  border-bottom-color: var(--pl-hair);
}
[data-theme="dark"] .ws-wrap .ws-date-wd, [data-theme="dark"] .ws-wrap .ws-date-mon {
  color: var(--pl-mute);
}
[data-theme="dark"] .ws-wrap .ws-date-day, [data-theme="dark"] .ws-wrap .ws-title, [data-theme="dark"] .ws-wrap .ws-avail-num, [data-theme="dark"] .ws-wrap .ws-col-preis {
  color: var(--pl-ink);
}
[data-theme="dark"] .ws-wrap .ws-row--out .ws-title {
  color: var(--pl-ink-2);
}
[data-theme="dark"] .ws-wrap .ws-level {
  color: var(--pl-olive);
}
[data-theme="dark"] .ws-wrap .ws-col-ort, [data-theme="dark"] .ws-wrap .ws-col-dauer {
  color: var(--pl-ink-2);
}
[data-theme="dark"] .ws-wrap .ws-ort-link {
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
[data-theme="dark"] .ws-wrap .ws-ort-link:hover {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
[data-theme="dark"] .ws-wrap .ws-avail-num--low {
  color: #f89917;
}
[data-theme="dark"] .ws-wrap .ws-avail-out {
  color: var(--pl-mute);
}
[data-theme="dark"] .ws-wrap .ws-btn--disabled {
  background: var(--pl-hair);
  color: var(--pl-mute) !important;
}
[data-theme="dark"] .ws-wrap .ws-waitlist {
  color: var(--pl-ink-2);
  --s-accent: var(--pl-ink-2);
}
[data-theme="dark"] .ws-wrap .ws-waitlist:hover {
  color: var(--pl-olive);
  --s-accent: var(--pl-olive);
}
[data-theme="dark"] .ws-wrap .ws-no-results {
  color: var(--pl-ink-2);
  border-top-color: var(--pl-hair);
}
[data-theme="dark"] .ws-wrap .ws-reset {
  color: var(--pl-olive);
}
[data-theme="dark"] .ws-wrap .ws-empty {
  color: var(--pl-mute);
}
[data-theme="dark"] img.niu-nav-brand-img, [data-theme="dark"] img[src$="/opc/Logo/pizzaladen_ohne_subtitle.png"] {
  content: url("https://www.pizzaladen.at/media/image/storage/opc/Logo/pizzaladen_ohne_subtitle_dark.png");
}
:root[data-theme="dark"] {
  --pl-bg:          var(--niu-page-bg, #141f1e);
  --pl-surface:     var(--niu-card-bg, #1b2625);
  --pl-surface-dim: var(--niu-card-hover, #223130);
  --pl-alt:         #1f2c2b;
  --pl-ink:         var(--niu-page-text, #eceded);
  --pl-ink-2:       var(--niu-page-text-muted, #969b9a);
  --pl-ink-3:       #d3d6d6;
  --pl-mute:        #8d9391;
  --pl-on-ink:      var(--niu-page-bg, #141f1e);
  --pl-hair:        var(--niu-card-border, #3d4746);
  --pl-hair-strong: #55625f;
  --pl-line-2:      #46514f;
  --pl-olive:       var(--niu-page-accent, #7f8a74);
  --pl-olive-soft:  #93a384;
  --pl-olive-hover: #a9b59c;
  --pl-olive-bg:    #4d6039;
  --pl-olive-dark:  #34432a;
  --pl-orange-ink:  #ffd08a;
  --pl-success:     #4fbf82;
  --pl-success-bg:  rgba(79, 191, 130, .16);
  --pl-shadow-card: 0 1px 0 rgba(255, 255, 255, .04), 0 8px 24px rgba(0, 0, 0, .45);
  --pl-gas-light:     rgba(248, 153, 23, .14);
  --pl-gas-ink:       #ffcf86;
  --pl-elektro-light: rgba(37, 99, 235, .2);
  --pl-elektro-ink:   #9dbcff;
  --pl-multi-light:   rgba(217, 119, 6, .18);
  --pl-multi-ink:     #fbc07a;
  --pl-good-bg:  rgba(52, 211, 153, .16);
  --pl-good-ink: #6ee7b7;
  --pl-warn-bg:  rgba(251, 191, 36, .16);
  --pl-warn-ink: #fcd34d;
  --pl-info-bg:  rgba(96, 165, 250, .18);
  --pl-info-ink: #93c5fd;
  --pl-bad-bg:   rgba(248, 113, 113, .18);
}
[data-theme="dark"] .pl-sticky-cta {
  background: rgba(20, 31, 30, 0.94);
  box-shadow: 0 -2px 20px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .pl-kb-pc__item--pro::before, [data-theme="dark"] .pl-kb-pc__item--con::before, [data-theme="dark"] .pl-kb-pc-row__pro::before, [data-theme="dark"] .pl-pk-detail__bullet::before {
  filter: brightness(2.3) saturate(1.1);
}
/*# sourceMappingURL=clean-custom.css.map */