@charset "UTF-8";
/*
Override variable defaults
==================================================
This file is used to override default SCSS variables from the Shopware Storefront or Bootstrap.

Because of the !default flags, theme variable overrides have to be declared beforehand.
https://getbootstrap.com/docs/5.3/customize/sass/#variable-defaults
*/
/*
Basic styles
==================================================
Contains the imports to all basic styles.

The file organization follows the 7-1 pattern architecture
https://sass-guidelin.es/#the-7-1-pattern

@sw-package framework
*/
/*
 * Variables, Mixins, Functions
 * ---------------------------- */
/*
Helper function to check for active feature flags.
==================================================
The `$sw-features` variable contains a SCSS map of the current feature config.
The variable is injected automatically via ThemeCompiler.php and webpack.config.js.

@sw-package fundamentals@framework

Example:
@if feature('FEATURE_NEXT_1234') {
    // ...
}
*/
/*
Variables
==================================================
Import of all variables.

@sw-package framework
*/
/*
Bootstrap variables
==================================================
Contains all overrides of bootstrap default variables.

https://getbootstrap.com/docs/5.2/customize/sass/#variable-defaults

@sw-package framework
*/
/*
Skin variables
==================================================
Contains the imports to all variables that the Shopware skin uses.

@sw-package framework
*/
/*
Theme config variables
==================================================
Contains all custom shopware theme sw-variables.

@sw-package framework
*/
/*
Bootstrap variables
==================================================
Contains all overrides of bootstrap default variables.

https://getbootstrap.com/docs/5.2/customize/sass/#variable-defaults

@sw-package framework
*/
/*
Custom variables
==================================================
Contains custom non bootstrap variables.

@sw-package framework
*/
/*
Custom variables
==================================================
Contains custom non bootstrap variables.

@sw-package framework
*/
/*
CSS Custom Properties
==================================================
Exposes custom SCSS variables of the Storefront as CSS custom properties.

@sw-package framework
*/
:root {
  --search-suggest-zindex: 1000;
  --offcanvas-zindex: 1050;
  --cookie-msg-zindex: 1100;
  --scroll-up-zindex: 700;
  --menu-flyout-zindex: 1030;
  --zoom-modal-action-zindex: 1051;
  --magnifier-overlay-zindex: 1100;
  --icon-base-size: 1.375rem;
  --icon-base-color: #4a545b;
  --icon-review-color: #fedc70;
  --progress-bar-review: #fedc70;
  --element-backdrop-bg: rgba(255, 255, 255, 0.5);
  --spacer-xs: 0.25rem;
  --spacer-sm: 0.5rem;
  --spacer-md: 1rem;
  --spacer-lg: 1.5rem;
  --spacer-xl: 3rem;
  --buy-btn-bg: #0042a0;
  --buy-btn-color: #fff;
  --disabled-btn-bg: #eee;
  --disabled-btn-border-color: #eee;
  --cms-block-text-hero-hr-color: #e9edf0;
  --cms-element-text-quotes-color: #9aa7be;
  --cms-element-product-listing-gutter-width: 30px;
  --price-color: #2b3136;
  --font-weight-semibold: 600;
}
/*
Mixin for multiline text truncate
==================================================
@sw-package framework
*/
/*
 * Skin variables
 * ---------- */
/*
 * Vendors
 * ------- */
/*
Bootstrap
==================================================
Import of bootstrap vendor.

https://getbootstrap.com/docs/5.2/getting-started/introduction

@sw-package framework
*/
/*!
   * Bootstrap  v5.3.8 (https://getbootstrap.com/)
   * Copyright 2011-2025 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
:root, [data-bs-theme="light"] {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #798490;
  --bs-gray-dark: #4a545b;
  --bs-gray-100: #f9f9f9;
  --bs-gray-200: #eee;
  --bs-gray-300: #bcc1c7;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #798490;
  --bs-gray-700: #495057;
  --bs-gray-800: #4a545b;
  --bs-gray-900: #212529;
  --bs-primary: #00689C;
  --bs-secondary: #474a57;
  --bs-success: #007e4e;
  --bs-info: #005b99;
  --bs-warning: #974200;
  --bs-danger: #c20017;
  --bs-light: #f9f9f9;
  --bs-dark: #4a545b;
  --bs-primary-rgb: 0, 104, 156;
  --bs-secondary-rgb: 71, 74, 87;
  --bs-success-rgb: 0, 126, 78;
  --bs-info-rgb: 0, 91, 153;
  --bs-warning-rgb: 151, 66, 0;
  --bs-danger-rgb: 194, 0, 23;
  --bs-light-rgb: 249, 249, 249;
  --bs-dark-rgb: 74, 84, 91;
  --bs-primary-text-emphasis: #002a3e;
  --bs-secondary-text-emphasis: #1c1e23;
  --bs-success-text-emphasis: #00321f;
  --bs-info-text-emphasis: #00243d;
  --bs-warning-text-emphasis: #3c1a00;
  --bs-danger-text-emphasis: #4e0009;
  --bs-light-text-emphasis: #495057;
  --bs-dark-text-emphasis: #495057;
  --bs-primary-bg-subtle: #cce1eb;
  --bs-secondary-bg-subtle: #dadbdd;
  --bs-success-bg-subtle: #cce5dc;
  --bs-info-bg-subtle: #ccdeeb;
  --bs-warning-bg-subtle: #ead9cc;
  --bs-danger-bg-subtle: #f3ccd1;
  --bs-light-bg-subtle: #fcfcfc;
  --bs-dark-bg-subtle: #ced4da;
  --bs-primary-border-subtle: #99c3d7;
  --bs-secondary-border-subtle: #b5b7bc;
  --bs-success-border-subtle: #99cbb8;
  --bs-info-border-subtle: #99bdd6;
  --bs-warning-border-subtle: #d5b399;
  --bs-danger-border-subtle: #e799a2;
  --bs-light-border-subtle: #eee;
  --bs-dark-border-subtle: #adb5bd;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --bs-body-font-family: "Inter", sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #2b3136;
  --bs-body-color-rgb: 43, 49, 54;
  --bs-body-bg: #fff;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color: #000;
  --bs-emphasis-color-rgb: 0, 0, 0;
  --bs-secondary-color: #2b3136;
  --bs-secondary-color-rgb: 43, 49, 54;
  --bs-secondary-bg: #eee;
  --bs-secondary-bg-rgb: 238, 238, 238;
  --bs-tertiary-color: rgba(43, 49, 54, 0.5);
  --bs-tertiary-color-rgb: 43, 49, 54;
  --bs-tertiary-bg: #f9f9f9;
  --bs-tertiary-bg-rgb: 249, 249, 249;
  --bs-heading-color: #2b3136;
  --bs-link-color: #00689C;
  --bs-link-color-rgb: 0, 104, 156;
  --bs-link-decoration: underline;
  --bs-link-hover-color: #00537d;
  --bs-link-hover-color-rgb: 0, 83, 125;
  --bs-link-hover-decoration: underline;
  --bs-code-color: #d63384;
  --bs-highlight-color: #2b3136;
  --bs-highlight-bg: #fff3cd;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #798490;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0;
  --bs-border-radius-sm: 0;
  --bs-border-radius-lg: 0;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --bs-focus-ring-width: 0.25rem;
  --bs-focus-ring-opacity: 1;
  --bs-focus-ring-color: #00689c;
  --bs-form-valid-color: #007e4e;
  --bs-form-valid-border-color: #007e4e;
  --bs-form-invalid-color: #c20017;
  --bs-form-invalid-border-color: #c20017;
}
[data-bs-theme="dark"] {
  color-scheme: dark;
  --bs-body-color: #bcc1c7;
  --bs-body-color-rgb: 188, 193, 199;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(188, 193, 199, 0.75);
  --bs-secondary-color-rgb: 188, 193, 199;
  --bs-secondary-bg: #4a545b;
  --bs-secondary-bg-rgb: 74, 84, 91;
  --bs-tertiary-color: rgba(188, 193, 199, 0.5);
  --bs-tertiary-color-rgb: 188, 193, 199;
  --bs-tertiary-bg: #363d42;
  --bs-tertiary-bg-rgb: 54, 61, 66;
  --bs-primary-text-emphasis: #66a4c4;
  --bs-secondary-text-emphasis: #91929a;
  --bs-success-text-emphasis: #66b295;
  --bs-info-text-emphasis: #669dc2;
  --bs-warning-text-emphasis: #c18e66;
  --bs-danger-text-emphasis: #da6674;
  --bs-light-text-emphasis: #f9f9f9;
  --bs-dark-text-emphasis: #bcc1c7;
  --bs-primary-bg-subtle: #00151f;
  --bs-secondary-bg-subtle: #0e0f11;
  --bs-success-bg-subtle: #001910;
  --bs-info-bg-subtle: #00121f;
  --bs-warning-bg-subtle: #1e0d00;
  --bs-danger-bg-subtle: #270005;
  --bs-light-bg-subtle: #4a545b;
  --bs-dark-bg-subtle: #252a2e;
  --bs-primary-border-subtle: #003e5e;
  --bs-secondary-border-subtle: #2b2c34;
  --bs-success-border-subtle: #004c2f;
  --bs-info-border-subtle: #00375c;
  --bs-warning-border-subtle: #5b2800;
  --bs-danger-border-subtle: #74000e;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #4a545b;
  --bs-heading-color: inherit;
  --bs-link-color: #66a4c4;
  --bs-link-hover-color: #85b6d0;
  --bs-link-color-rgb: 102, 164, 196;
  --bs-link-hover-color-rgb: 133, 182, 208;
  --bs-code-color: #e685b5;
  --bs-highlight-color: #bcc1c7;
  --bs-highlight-bg: #664d03;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
}
*, *::before, *::after {
  box-sizing: border-box;
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align);
  background-color: var(--bs-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--bs-border-width) solid;
  opacity: 0.25;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: var(--bs-heading-color);
}
h1, .h1 {
  font-size: calc(1.35rem + 1.2vw);
}
@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.25rem;
  }
}
h2, .h2 {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 1.75rem;
  }
}
h3, .h3 {
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  h3, .h3 {
    font-size: 1.5rem;
  }
}
h4, .h4 {
  font-size: 1.25rem;
}
h5, .h5 {
  font-size: 1rem;
}
h6, .h6 {
  font-size: 0.875rem;
}
p {
  margin-top: 0;
  margin-bottom: 2rem;
}
abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}
address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}
ol, ul {
  padding-left: 2rem;
}
ol, ul, dl {
  margin-top: 0;
  margin-bottom: 1rem;
}
ol ol, ul ul, ol ul, ul ol {
  margin-bottom: 0;
}
dt {
  font-weight: 700;
}
dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}
blockquote {
  margin: 0 0 1rem;
}
b, strong {
  font-weight: bolder;
}
small, .small {
  font-size: 0.875em;
}
mark, .mark {
  padding: 0.1875em;
  color: var(--bs-highlight-color);
  background-color: var(--bs-highlight-bg);
}
sub, sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
a {
  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
  text-decoration: underline;
}
a:hover {
  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
  text-decoration: underline;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}
pre, code, kbd, samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}
pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}
pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}
code {
  font-size: 0.875em;
  color: var(--bs-code-color);
  word-wrap: break-word;
}
a > code {
  color: inherit;
}
kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--bs-body-bg);
  background-color: var(--bs-body-color);
  border-radius: 0;
}
kbd kbd {
  padding: 0;
  font-size: 1em;
}
figure {
  margin: 0 0 1rem;
}
img, svg {
  vertical-align: middle;
}
table {
  caption-side: bottom;
  border-collapse: collapse;
}
caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-secondary-color);
  text-align: left;
}
th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}
thead, tbody, tfoot, tr, td, th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
label {
  display: inline-block;
}
button {
  border-radius: 0;
}
button:focus:not(:focus-visible) {
  outline: 0;
}
input, button, select, optgroup, textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
button, select {
  text-transform: none;
}
[role="button"] {
  cursor: pointer;
}
select {
  word-wrap: normal;
}
select:disabled {
  opacity: 1;
}
[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator {
  display: none !important;
}
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}
button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) {
  cursor: pointer;
}
::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
textarea {
  resize: vertical;
}
fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  line-height: inherit;
  font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}
legend + * {
  clear: left;
}
::-webkit-datetime-edit-fields-wrapper, ::-webkit-datetime-edit-text, ::-webkit-datetime-edit-minute, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-year-field {
  padding: 0;
}
::-webkit-inner-spin-button {
  height: auto;
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
[type="search"]::-webkit-search-cancel-button {
  cursor: pointer;
  filter: grayscale(1);
}
/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-color-swatch-wrapper {
  padding: 0;
}
::file-selector-button {
  font: inherit;
  -webkit-appearance: button;
}
output {
  display: inline-block;
}
iframe {
  border: 0;
}
summary {
  display: list-item;
  cursor: pointer;
}
progress {
  vertical-align: baseline;
}
[hidden] {
  display: none !important;
}
.lead {
  font-size: 1.25rem;
  font-weight: 300;
}
.display-1 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.625rem + 4.5vw);
}
@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}
.display-2 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.575rem + 3.9vw);
}
@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}
.display-3 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.525rem + 3.3vw);
}
@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}
.display-4 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.475rem + 2.7vw);
}
@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}
.display-5 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.425rem + 2.1vw);
}
@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}
.display-6 {
  font-weight: 300;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw);
}
@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}
.list-unstyled {
  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: 0.875em;
  text-transform: uppercase;
}
.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem;
}
.blockquote > :last-child {
  margin-bottom: 0;
}
.blockquote-footer {
  margin-top: -1rem;
  margin-bottom: 1rem;
  font-size: 0.875em;
  color: #798490;
}
.blockquote-footer::before {
  content: "— ";
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}
.figure {
  display: inline-block;
}
.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1;
}
.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}
.container, .cms-section .boxed, .container-fluid, .container-xs {
  --bs-gutter-x: 40px;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto;
}
.container, .cms-section .boxed {
  max-width: 1400px;
}
:root {
  --bs-breakpoint-xs: 0;
  --bs-breakpoint-sm: 576px;
  --bs-breakpoint-md: 768px;
  --bs-breakpoint-lg: 992px;
  --bs-breakpoint-xl: 1200px;
  --bs-breakpoint-xxl: 1400px;
}
.row {
  --bs-gutter-x: 40px;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}
.col {
  flex: 1 0 0;
}
.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}
.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}
.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}
.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}
.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}
.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-auto {
  flex: 0 0 auto;
  width: auto;
}
.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}
.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.col-3 {
  flex: 0 0 auto;
  width: 25%;
}
.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}
.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.col-6 {
  flex: 0 0 auto;
  width: 50%;
}
.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}
.col-9 {
  flex: 0 0 auto;
  width: 75%;
}
.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}
.col-12 {
  flex: 0 0 auto;
  width: 100%;
}
.offset-1 {
  margin-left: 8.33333333%;
}
.offset-2 {
  margin-left: 16.66666667%;
}
.offset-3 {
  margin-left: 25%;
}
.offset-4 {
  margin-left: 33.33333333%;
}
.offset-5 {
  margin-left: 41.66666667%;
}
.offset-6 {
  margin-left: 50%;
}
.offset-7 {
  margin-left: 58.33333333%;
}
.offset-8 {
  margin-left: 66.66666667%;
}
.offset-9 {
  margin-left: 75%;
}
.offset-10 {
  margin-left: 83.33333333%;
}
.offset-11 {
  margin-left: 91.66666667%;
}
.g-0, .gx-0 {
  --bs-gutter-x: 0;
}
.g-0, .gy-0 {
  --bs-gutter-y: 0;
}
.g-1, .gx-1 {
  --bs-gutter-x: 0.25rem;
}
.g-1, .gy-1 {
  --bs-gutter-y: 0.25rem;
}
.g-2, .gx-2 {
  --bs-gutter-x: 0.5rem;
}
.g-2, .gy-2 {
  --bs-gutter-y: 0.5rem;
}
.g-3, .gx-3 {
  --bs-gutter-x: 1rem;
}
.g-3, .gy-3 {
  --bs-gutter-y: 1rem;
}
.g-4, .gx-4 {
  --bs-gutter-x: 1.5rem;
}
.g-4, .gy-4 {
  --bs-gutter-y: 1.5rem;
}
.g-5, .gx-5 {
  --bs-gutter-x: 3rem;
}
.g-5, .gy-5 {
  --bs-gutter-y: 3rem;
}
@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0, .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0, .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1, .gx-sm-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-sm-1, .gy-sm-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-sm-2, .gx-sm-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-sm-2, .gy-sm-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-sm-3, .gx-sm-3 {
    --bs-gutter-x: 1rem;
  }
  .g-sm-3, .gy-sm-3 {
    --bs-gutter-y: 1rem;
  }
  .g-sm-4, .gx-sm-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-sm-4, .gy-sm-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-sm-5, .gx-sm-5 {
    --bs-gutter-x: 3rem;
  }
  .g-sm-5, .gy-sm-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0, .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0, .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1, .gx-md-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-md-1, .gy-md-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-md-2, .gx-md-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-md-2, .gy-md-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-md-3, .gx-md-3 {
    --bs-gutter-x: 1rem;
  }
  .g-md-3, .gy-md-3 {
    --bs-gutter-y: 1rem;
  }
  .g-md-4, .gx-md-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-md-4, .gy-md-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-md-5, .gx-md-5 {
    --bs-gutter-x: 3rem;
  }
  .g-md-5, .gy-md-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0, .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0, .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1, .gx-lg-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-lg-1, .gy-lg-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-lg-2, .gx-lg-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-lg-2, .gy-lg-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-lg-3, .gx-lg-3 {
    --bs-gutter-x: 1rem;
  }
  .g-lg-3, .gy-lg-3 {
    --bs-gutter-y: 1rem;
  }
  .g-lg-4, .gx-lg-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-lg-4, .gy-lg-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-lg-5, .gx-lg-5 {
    --bs-gutter-x: 3rem;
  }
  .g-lg-5, .gy-lg-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1200px) {
  .col-xl {
    flex: 1 0 0;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0, .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0, .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1, .gx-xl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xl-1, .gy-xl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xl-2, .gx-xl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xl-2, .gy-xl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xl-3, .gx-xl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xl-3, .gy-xl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xl-4, .gx-xl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xl-4, .gy-xl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xl-5, .gx-xl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xl-5, .gy-xl-5 {
    --bs-gutter-y: 3rem;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0, .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0, .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1, .gx-xxl-1 {
    --bs-gutter-x: 0.25rem;
  }
  .g-xxl-1, .gy-xxl-1 {
    --bs-gutter-y: 0.25rem;
  }
  .g-xxl-2, .gx-xxl-2 {
    --bs-gutter-x: 0.5rem;
  }
  .g-xxl-2, .gy-xxl-2 {
    --bs-gutter-y: 0.5rem;
  }
  .g-xxl-3, .gx-xxl-3 {
    --bs-gutter-x: 1rem;
  }
  .g-xxl-3, .gy-xxl-3 {
    --bs-gutter-y: 1rem;
  }
  .g-xxl-4, .gx-xxl-4 {
    --bs-gutter-x: 1.5rem;
  }
  .g-xxl-4, .gy-xxl-4 {
    --bs-gutter-y: 1.5rem;
  }
  .g-xxl-5, .gx-xxl-5 {
    --bs-gutter-x: 3rem;
  }
  .g-xxl-5, .gy-xxl-5 {
    --bs-gutter-y: 3rem;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: #2b3136;
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: #2b3136;
  --bs-table-striped-bg: #f9f9f9;
  --bs-table-active-color: #2b3136;
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: #2b3136;
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}
.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}
.caption-top {
  caption-side: top;
}
.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}
.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}
.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}
.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}
.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}
.table-primary {
  --bs-table-color: #000;
  --bs-table-bg: #cce1eb;
  --bs-table-border-color: #a3b4bc;
  --bs-table-striped-bg: #c2d6df;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #b8cbd4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bdd0d9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-secondary {
  --bs-table-color: #000;
  --bs-table-bg: #dadbdd;
  --bs-table-border-color: #aeafb1;
  --bs-table-striped-bg: #cfd0d2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #c4c5c7;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #cacbcc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-success {
  --bs-table-color: #000;
  --bs-table-bg: #cce5dc;
  --bs-table-border-color: #a3b7b0;
  --bs-table-striped-bg: #c2dad1;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #b8cec6;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bdd4cc;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-info {
  --bs-table-color: #000;
  --bs-table-bg: #ccdeeb;
  --bs-table-border-color: #a3b2bc;
  --bs-table-striped-bg: #c2d3df;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #b8c8d4;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #bdcdd9;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-warning {
  --bs-table-color: #000;
  --bs-table-bg: #ead9cc;
  --bs-table-border-color: #bbaea3;
  --bs-table-striped-bg: #decec2;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #d3c3b8;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #d8c9bd;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-danger {
  --bs-table-color: #000;
  --bs-table-bg: #f3ccd1;
  --bs-table-border-color: #c2a3a7;
  --bs-table-striped-bg: #e7c2c7;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #dbb8bc;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e1bdc1;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-light {
  --bs-table-color: #000;
  --bs-table-bg: #f9f9f9;
  --bs-table-border-color: #c7c7c7;
  --bs-table-striped-bg: #ededed;
  --bs-table-striped-color: #000;
  --bs-table-active-bg: #e0e0e0;
  --bs-table-active-color: #000;
  --bs-table-hover-bg: #e6e6e6;
  --bs-table-hover-color: #000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-dark {
  --bs-table-color: #fff;
  --bs-table-bg: #4a545b;
  --bs-table-border-color: #6e767c;
  --bs-table-striped-bg: #535d63;
  --bs-table-striped-color: #fff;
  --bs-table-active-bg: #5c656b;
  --bs-table-active-color: #fff;
  --bs-table-hover-bg: #586167;
  --bs-table-hover-color: #fff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 3px;
}
.col-form-label {
  padding-top: calc(0.438rem + var(--bs-border-width));
  padding-bottom: calc(0.438rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}
.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.125rem;
}
.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}
.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}
.form-control {
  display: block;
  width: 100%;
  padding: 0.438rem 0.5625rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #2b3136;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid #798490;
  border-radius: var(--bs-border-radius);
  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[type="file"] {
  overflow: hidden;
}
.form-control[type="file"]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: #2b3136;
  background-color: var(--bs-body-bg);
  border-color: #00689C;
  outline: 0;
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: #666977;
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.438rem 0.5625rem;
  margin: -0.438rem -0.5625rem;
  margin-inline-end: 0.5625rem;
  color: #2b3136;
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  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) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}
.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.438rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}
.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}
.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}
textarea.form-control {
  min-height: calc(1.5em + 0.876rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}
.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.876rem + calc(var(--bs-border-width) * 2));
  padding: 0.438rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}
.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%234a545b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.438rem 1.6875rem 0.438rem 0.5625rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #2b3136;
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.5625rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid #798490;
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #00689C;
  outline: 0;
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.5625rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #2b3136;
}
.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.125rem;
  border-radius: var(--bs-border-radius-lg);
}
[data-bs-theme="dark"] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23bcc1c7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5rem;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5rem;
}
.form-check-reverse {
  padding-right: 1.5rem;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5rem;
  margin-left: 0;
}
.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  margin-top: 0.25rem;
  vertical-align: top;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid #798490;
  print-color-adjust: exact;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-check-input {
    transition: none;
  }
}
.form-check-input[type="checkbox"] {
  border-radius: 0.25em;
}
.form-check-input[type="radio"] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #00689C;
  outline: 0;
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.form-check-input:checked {
  background-color: #00689C;
  border-color: #00689C;
}
.form-check-input:checked[type="checkbox"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type="radio"] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}
.form-check-input[type="checkbox"]:indeterminate {
  background-color: #00689C;
  border-color: #00689C;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}
.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2300689C'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}
.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}
.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 1;
}
[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
}
.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #00689C;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b3d2e1;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #00689C;
  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;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b3d2e1;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}
.form-floating {
  position: relative;
}
.form-floating > .form-control, .form-floating > .form-control-plaintext, .form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  max-width: 100%;
  height: 100%;
  padding: 1rem 0.5625rem;
  overflow: hidden;
  color: rgba(var(--bs-body-color-rgb), 0.65);
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control, .form-floating > .form-control-plaintext {
  padding: 1rem 0.5625rem;
}
.form-floating > .form-control::placeholder, .form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown), .form-floating > .form-control-plaintext:focus, .form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill, .form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
  padding-left: 0.5625rem;
}
.form-floating > .form-control:focus ~ label, .form-floating > .form-control:not(:placeholder-shown) ~ label, .form-floating > .form-control-plaintext ~ label, .form-floating > .form-select ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > textarea:focus ~ label::after, .form-floating > textarea:not(:placeholder-shown) ~ label::after {
  position: absolute;
  inset: 1rem 0.28125rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > textarea:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label, .form-floating > .form-control:disabled ~ label {
  color: #798490;
}
.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control, .input-group > .form-select, .input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus, .input-group > .form-select:focus, .input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.438rem 0.5625rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #2b3136;
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid #798490;
  border-radius: var(--bs-border-radius);
}
.input-group-lg > .form-control, .input-group-lg > .form-select, .input-group-lg > .input-group-text, .input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.125rem;
  border-radius: var(--bs-border-radius-lg);
}
.input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text, .input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.input-group-lg > .form-select, .input-group-sm > .form-select {
  padding-right: 2.25rem;
}
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3), .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4), .input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control, .input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * var(--bs-border-width));
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control, .input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}
.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}
.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: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.876rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23007e4e' d='M2.3 6.73.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.1'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.219rem) center;
  background-size: calc(0.75em + 0.438rem) calc(0.75em + 0.438rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 1);
}
.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.876rem);
  background-position: top calc(0.375em + 0.219rem) right calc(0.375em + 0.219rem);
}
.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23007e4e' d='M2.3 6.73.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.1'/%3e%3c/svg%3e");
  padding-right: 3.09375rem;
  background-position: right 0.5625rem center, center right 1.6875rem;
  background-size: 16px 12px, calc(0.75em + 0.438rem) calc(0.75em + 0.438rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 1);
}
.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.876rem));
}
.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 1);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}
.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .was-validated .input-group > .form-select:not(:focus):valid, .input-group > .form-select:not(:focus).is-valid, .was-validated .input-group > .form-floating:not(:focus-within):valid, .input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}
.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}
.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}
.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: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.876rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c20017'%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='%23c20017' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.219rem) center;
  background-size: calc(0.75em + 0.438rem) calc(0.75em + 0.438rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 1);
}
.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.876rem);
  background-position: top calc(0.375em + 0.219rem) right calc(0.375em + 0.219rem);
}
.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23c20017'%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='%23c20017' stroke='none'/%3e%3c/svg%3e");
  padding-right: 3.09375rem;
  background-position: right 0.5625rem center, center right 1.6875rem;
  background-size: 16px 12px, calc(0.75em + 0.438rem) calc(0.75em + 0.438rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 1);
}
.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.876rem));
}
.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 1);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}
.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}
.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .was-validated .input-group > .form-select:not(:focus):invalid, .input-group > .form-select:not(:focus).is-invalid, .was-validated .input-group > .form-floating:not(:focus-within):invalid, .input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}
.btn {
  --bs-btn-padding-x: 12px;
  --bs-btn-padding-y: 2px;
  --bs-btn-font-family: ;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 600;
  --bs-btn-line-height: 2.125rem;
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-width: var(--bs-border-width);
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: var(--bs-border-radius);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  --bs-btn-disabled-opacity: 1;
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  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: var(--bs-btn-hover-color);
  text-decoration: none;
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn-check + .btn:hover {
  color: var(--bs-btn-color);
  background-color: var(--bs-btn-bg);
  border-color: var(--bs-btn-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:focus-visible + .btn {
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #00689C;
  --bs-btn-border-color: #00689C;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #005885;
  --bs-btn-hover-border-color: #00537d;
  --bs-btn-focus-shadow-rgb: 38, 127, 171;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00537d;
  --bs-btn-active-border-color: #004e75;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #00689C;
  --bs-btn-disabled-border-color: #00689C;
}
.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #474a57;
  --bs-btn-border-color: #474a57;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3c3f4a;
  --bs-btn-hover-border-color: #393b46;
  --bs-btn-focus-shadow-rgb: 99, 101, 112;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #393b46;
  --bs-btn-active-border-color: #353841;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #474a57;
  --bs-btn-disabled-border-color: #474a57;
}
.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: #007e4e;
  --bs-btn-border-color: #007e4e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #006b42;
  --bs-btn-hover-border-color: #00653e;
  --bs-btn-focus-shadow-rgb: 38, 145, 105;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00653e;
  --bs-btn-active-border-color: #005f3b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #007e4e;
  --bs-btn-disabled-border-color: #007e4e;
}
.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #005b99;
  --bs-btn-border-color: #005b99;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #004d82;
  --bs-btn-hover-border-color: #00497a;
  --bs-btn-focus-shadow-rgb: 38, 116, 168;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00497a;
  --bs-btn-active-border-color: #004473;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #005b99;
  --bs-btn-disabled-border-color: #005b99;
}
.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: #974200;
  --bs-btn-border-color: #974200;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #803800;
  --bs-btn-hover-border-color: #793500;
  --bs-btn-focus-shadow-rgb: 167, 94, 38;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #793500;
  --bs-btn-active-border-color: #713200;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #974200;
  --bs-btn-disabled-border-color: #974200;
}
.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: #c20017;
  --bs-btn-border-color: #c20017;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #a50014;
  --bs-btn-hover-border-color: #9b0012;
  --bs-btn-focus-shadow-rgb: 203, 38, 58;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #9b0012;
  --bs-btn-active-border-color: #920011;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #c20017;
  --bs-btn-disabled-border-color: #c20017;
}
.btn-light {
  --bs-btn-color: #000;
  --bs-btn-bg: #f9f9f9;
  --bs-btn-border-color: #f9f9f9;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #d4d4d4;
  --bs-btn-hover-border-color: #c7c7c7;
  --bs-btn-focus-shadow-rgb: 212, 212, 212;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #c7c7c7;
  --bs-btn-active-border-color: #bbb;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #f9f9f9;
  --bs-btn-disabled-border-color: #f9f9f9;
}
.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: #4a545b;
  --bs-btn-border-color: #4a545b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #656e74;
  --bs-btn-hover-border-color: #5c656b;
  --bs-btn-focus-shadow-rgb: 101, 110, 116;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #6e767c;
  --bs-btn-active-border-color: #5c656b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #4a545b;
  --bs-btn-disabled-border-color: #4a545b;
}
.btn-outline-primary {
  --bs-btn-color: #00689C;
  --bs-btn-border-color: #00689C;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #00689C;
  --bs-btn-hover-border-color: #00689C;
  --bs-btn-focus-shadow-rgb: 0, 104, 156;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00689C;
  --bs-btn-active-border-color: #00689C;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #00689C;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #00689C;
  --bs-gradient: none;
}
.btn-outline-secondary {
  --bs-btn-color: #474a57;
  --bs-btn-border-color: #474a57;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #474a57;
  --bs-btn-hover-border-color: #474a57;
  --bs-btn-focus-shadow-rgb: 71, 74, 87;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #474a57;
  --bs-btn-active-border-color: #474a57;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #474a57;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #474a57;
  --bs-gradient: none;
}
.btn-outline-success {
  --bs-btn-color: #007e4e;
  --bs-btn-border-color: #007e4e;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #007e4e;
  --bs-btn-hover-border-color: #007e4e;
  --bs-btn-focus-shadow-rgb: 0, 126, 78;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #007e4e;
  --bs-btn-active-border-color: #007e4e;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #007e4e;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #007e4e;
  --bs-gradient: none;
}
.btn-outline-info {
  --bs-btn-color: #005b99;
  --bs-btn-border-color: #005b99;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #005b99;
  --bs-btn-hover-border-color: #005b99;
  --bs-btn-focus-shadow-rgb: 0, 91, 153;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #005b99;
  --bs-btn-active-border-color: #005b99;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #005b99;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #005b99;
  --bs-gradient: none;
}
.btn-outline-warning {
  --bs-btn-color: #974200;
  --bs-btn-border-color: #974200;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #974200;
  --bs-btn-hover-border-color: #974200;
  --bs-btn-focus-shadow-rgb: 151, 66, 0;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #974200;
  --bs-btn-active-border-color: #974200;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #974200;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #974200;
  --bs-gradient: none;
}
.btn-outline-danger {
  --bs-btn-color: #c20017;
  --bs-btn-border-color: #c20017;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #c20017;
  --bs-btn-hover-border-color: #c20017;
  --bs-btn-focus-shadow-rgb: 194, 0, 23;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #c20017;
  --bs-btn-active-border-color: #c20017;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #c20017;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #c20017;
  --bs-gradient: none;
}
.btn-outline-light {
  --bs-btn-color: #f9f9f9;
  --bs-btn-border-color: #f9f9f9;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #f9f9f9;
  --bs-btn-hover-border-color: #f9f9f9;
  --bs-btn-focus-shadow-rgb: 249, 249, 249;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f9f9f9;
  --bs-btn-active-border-color: #f9f9f9;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #f9f9f9;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #f9f9f9;
  --bs-gradient: none;
}
.btn-outline-dark {
  --bs-btn-color: #4a545b;
  --bs-btn-border-color: #4a545b;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #4a545b;
  --bs-btn-hover-border-color: #4a545b;
  --bs-btn-focus-shadow-rgb: 74, 84, 91;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #4a545b;
  --bs-btn-active-border-color: #4a545b;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #4a545b;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #4a545b;
  --bs-gradient: none;
}
.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #bcc1c7;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 38, 127, 171;
  text-decoration: underline;
}
.btn-link:hover, .btn-link:focus-visible {
  text-decoration: underline;
}
.btn-link:focus-visible {
  color: var(--bs-btn-color);
}
.btn-link:hover {
  color: var(--bs-btn-hover-color);
}
.btn-lg, .btn-group-lg > .btn, .btn-buy {
  --bs-btn-padding-y: 2px;
  --bs-btn-padding-x: 12px;
  --bs-btn-font-size: 1rem;
  --bs-btn-border-radius: var(--bs-border-radius-lg);
}
.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: 2px;
  --bs-btn-padding-x: 12px;
  --bs-btn-font-size: 0.875rem;
  --bs-btn-border-radius: var(--bs-border-radius-sm);
}
.fade {
  transition: opacity 0.15s linear;
}
@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}
.fade:not(.show) {
  opacity: 0;
}
.collapse:not(.show) {
  display: none;
}
.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}
.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}
@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}
.dropup, .dropend, .dropdown, .dropstart, .dropup-center, .dropdown-center {
  position: relative;
}
.dropdown-toggle {
  white-space: nowrap;
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropdown-menu {
  --bs-dropdown-zindex: 1000;
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: 0.5rem;
  --bs-dropdown-spacer: 0.125rem;
  --bs-dropdown-font-size: 1rem;
  --bs-dropdown-color: var(--bs-body-color);
  --bs-dropdown-bg: var(--bs-body-bg);
  --bs-dropdown-border-color: #798490;
  --bs-dropdown-border-radius: var(--bs-border-radius);
  --bs-dropdown-border-width: var(--bs-border-width);
  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-dropdown-divider-bg: #798490;
  --bs-dropdown-divider-margin-y: 0.5rem;
  --bs-dropdown-box-shadow: var(--bs-box-shadow);
  --bs-dropdown-link-color: var(--bs-body-color);
  --bs-dropdown-link-hover-color: var(--bs-body-color);
  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #00689C;
  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: 0.25rem;
  --bs-dropdown-header-color: #798490;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--bs-dropdown-zindex);
  display: none;
  min-width: var(--bs-dropdown-min-width);
  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
  margin: 0;
  font-size: var(--bs-dropdown-font-size);
  color: var(--bs-dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--bs-dropdown-bg);
  background-clip: padding-box;
  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
  border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--bs-dropdown-spacer);
}
.dropdown-menu-start {
  --bs-position: start;
}
.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}
.dropdown-menu-end {
  --bs-position: end;
}
.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}
@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1200px) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1400px) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--bs-dropdown-spacer);
}
.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent;
}
.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--bs-dropdown-spacer);
}
.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid;
}
.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropend .dropdown-toggle::after {
  vertical-align: 0;
}
.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--bs-dropdown-spacer);
}
.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}
.dropstart .dropdown-toggle::after {
  display: none;
}
.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent;
}
.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}
.dropdown-divider {
  height: 0;
  margin: var(--bs-dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-dropdown-divider-bg);
  opacity: 1;
}
.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.875rem;
  color: var(--bs-dropdown-header-color);
  white-space: nowrap;
}
.dropdown-item-text {
  display: block;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  color: var(--bs-dropdown-link-color);
}
.dropdown-menu-dark {
  --bs-dropdown-color: #bcc1c7;
  --bs-dropdown-bg: #4a545b;
  --bs-dropdown-border-color: #798490;
  --bs-dropdown-box-shadow: ;
  --bs-dropdown-link-color: #bcc1c7;
  --bs-dropdown-link-hover-color: #fff;
  --bs-dropdown-divider-bg: #798490;
  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --bs-dropdown-link-active-color: #fff;
  --bs-dropdown-link-active-bg: #00689C;
  --bs-dropdown-link-disabled-color: #adb5bd;
  --bs-dropdown-header-color: #adb5bd;
}
.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-check:checked + .btn, .btn-group > .btn-check:focus + .btn, .btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn-check:checked + .btn, .btn-group-vertical > .btn-check:focus + .btn, .btn-group-vertical > .btn:hover, .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 {
  border-radius: var(--bs-border-radius);
}
.btn-group > :not(.btn-check:first-child) + .btn, .btn-group > .btn-group:not(:first-child) {
  margin-left: calc(-1 * var(--bs-border-width));
}
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn.dropdown-toggle-split:first-child, .btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.btn-group > .btn:nth-child(n + 3), .btn-group > :not(.btn-check) + .btn, .btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.dropdown-toggle-split {
  padding-right: 9px;
  padding-left: 9px;
}
.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}
.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}
.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 9px;
  padding-left: 9px;
}
.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .btn-buy + .dropdown-toggle-split {
  padding-right: 9px;
  padding-left: 9px;
}
.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: calc(-1 * var(--bs-border-width));
}
.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:nth-child(n + 3), .btn-group-vertical > :not(.btn-check) + .btn, .btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-size: 1rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}
.nav-link:hover, .nav-link:focus {
  color: var(--bs-nav-link-hover-color);
  text-decoration: none;
}
.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.nav-link.disabled, .nav-link:disabled {
  color: var(--bs-nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}
.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}
.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #00689C;
}
.nav-pills .nav-link {
  border-radius: var(--bs-nav-pills-border-radius);
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}
.nav-underline {
  --bs-nav-underline-gap: 1rem;
  --bs-nav-underline-border-width: 0.125rem;
  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
  gap: var(--bs-nav-underline-gap);
}
.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
}
.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}
.nav-underline .nav-link.active, .nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--bs-nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}
.nav-fill > .nav-link, .nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}
.nav-justified > .nav-link, .nav-justified .nav-item {
  flex-grow: 1;
  flex-basis: 0;
  text-align: center;
}
.nav-fill .nav-item .nav-link, .nav-justified .nav-item .nav-link {
  width: 100%;
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: 0.5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
  --bs-navbar-active-color: #00689C;
  --bs-navbar-brand-padding-y: 0.40625rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.125rem;
  --bs-navbar-brand-color: #00689C;
  --bs-navbar-brand-hover-color: #00689C;
  --bs-navbar-nav-link-padding-x: 0.5rem;
  --bs-navbar-toggler-padding-y: 0.25rem;
  --bs-navbar-toggler-padding-x: 0.75rem;
  --bs-navbar-toggler-font-size: 1.125rem;
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2843, 49, 54, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  --bs-navbar-toggler-focus-width: 0.25rem;
  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container, .cms-section .navbar > .boxed, .navbar > .container-fluid, .navbar > .container-xs {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus {
  color: var(--bs-navbar-brand-hover-color);
  text-decoration: none;
}
.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 0.5rem;
  --bs-nav-link-font-size: 1rem;
  --bs-nav-link-font-weight: ;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--bs-navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}
.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--bs-navbar-color);
}
.navbar-text a, .navbar-text a:hover, .navbar-text a:focus {
  color: var(--bs-navbar-active-color);
}
.navbar-collapse {
  flex-grow: 1;
  flex-basis: 100%;
  align-items: center;
}
.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}
@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}
.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
}
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--bs-navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}
.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto;
}
@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x);
    padding-left: var(--bs-navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--bs-navbar-nav-link-padding-x);
  padding-left: var(--bs-navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}
.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  transition: none;
}
.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}
.navbar-expand .offcanvas .offcanvas-body {
  display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}
.navbar-dark, .navbar[data-bs-theme="dark"] {
  --bs-navbar-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
[data-bs-theme="dark"] .navbar-toggler-icon {
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.card {
  --bs-card-spacer-y: 0;
  --bs-card-spacer-x: 0;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: transparent;
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-card-cap-padding-y: 0;
  --bs-card-cap-padding-x: 0;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: transparent;
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 20px;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.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: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card > .card-header + .list-group, .card > .list-group + .card-footer {
  border-top: 0;
}
.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}
.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color);
}
.card-subtitle {
  margin-top: calc(-.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color);
}
.card-text:last-child {
  margin-bottom: 0;
}
.card-link:hover {
  text-decoration: none;
}
.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x);
}
.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child {
  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
}
.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child {
  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
}
.card-header-tabs {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-header-tabs .nav-link.active {
  background-color: var(--bs-card-bg);
  border-bottom-color: var(--bs-card-bg);
}
.card-header-pills {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
}
.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}
.card-img, .card-img-top, .card-img-bottom {
  width: 100%;
}
.card-img, .card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius);
}
.card-img, .card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius);
}
.card-group > .card {
  margin-bottom: var(--bs-card-group-margin);
}
@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;
  }
}
.accordion {
  --bs-accordion-color: var(--bs-body-color);
  --bs-accordion-bg: var(--bs-body-bg);
  --bs-accordion-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, border-radius 0.15s ease;
  --bs-accordion-border-color: var(--bs-border-color);
  --bs-accordion-border-width: var(--bs-border-width);
  --bs-accordion-border-radius: var(--bs-border-radius);
  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
  --bs-accordion-btn-padding-x: 1.25rem;
  --bs-accordion-btn-padding-y: 1rem;
  --bs-accordion-btn-color: var(--bs-body-color);
  --bs-accordion-btn-bg: var(--bs-accordion-bg);
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232b3136' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon-width: 1.25rem;
  --bs-accordion-btn-icon-transform: rotate(-180deg);
  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23002a3e' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-accordion-body-padding-x: 1.25rem;
  --bs-accordion-body-padding-y: 1rem;
  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
}
.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size: 1rem;
  color: var(--bs-accordion-btn-color);
  text-align: left;
  background-color: var(--bs-accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--bs-accordion-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}
.accordion-button:not(.collapsed) {
  color: var(--bs-accordion-active-color);
  background-color: var(--bs-accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
  transform: var(--bs-accordion-btn-icon-transform);
}
.accordion-button::after {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}
@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}
.accordion-button:hover {
  z-index: 2;
}
.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
}
.accordion-header {
  margin-bottom: 0;
}
.accordion-item {
  color: var(--bs-accordion-color);
  background-color: var(--bs-accordion-bg);
  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}
.accordion-item:first-of-type {
  border-top-left-radius: var(--bs-accordion-border-radius);
  border-top-right-radius: var(--bs-accordion-border-radius);
}
.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:not(:first-of-type) {
  border-top: 0;
}
.accordion-item:last-of-type {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--bs-accordion-border-radius);
  border-bottom-left-radius: var(--bs-accordion-border-radius);
}
.accordion-body {
  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}
.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}
.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}
.accordion-flush > .accordion-item > .accordion-collapse, .accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}
[data-bs-theme="dark"] .accordion-button::after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366a4c4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2366a4c4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
}
.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-bg: transparent;
  --bs-breadcrumb-border-radius: 0;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius);
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x);
}
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
}
.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color);
}
.pagination {
  --bs-pagination-padding-x: 0.75rem;
  --bs-pagination-padding-y: 0.595rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-color: #2b3136;
  --bs-pagination-bg: var(--bs-body-bg);
  --bs-pagination-border-width: 0;
  --bs-pagination-border-color: #798490;
  --bs-pagination-border-radius: var(--bs-border-radius);
  --bs-pagination-hover-color: #2b3136;
  --bs-pagination-hover-bg: var(--bs-tertiary-bg);
  --bs-pagination-hover-border-color: #798490;
  --bs-pagination-focus-color: var(--bs-link-hover-color);
  --bs-pagination-focus-bg: var(--bs-secondary-bg);
  --bs-pagination-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-pagination-active-color: #fff;
  --bs-pagination-active-bg: #00689C;
  --bs-pagination-active-border-color: #00689C;
  --bs-pagination-disabled-color: #798490;
  --bs-pagination-disabled-bg: transparent;
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}
.page-link {
  position: relative;
  display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  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) {
  .page-link {
    transition: none;
  }
}
.page-link:hover {
  z-index: 2;
  color: var(--bs-pagination-hover-color);
  text-decoration: none;
  background-color: var(--bs-pagination-hover-bg);
  border-color: var(--bs-pagination-hover-border-color);
}
.page-link:focus {
  z-index: 3;
  color: var(--bs-pagination-focus-color);
  background-color: var(--bs-pagination-focus-bg);
  outline: 0;
  box-shadow: var(--bs-pagination-focus-box-shadow);
}
.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--bs-pagination-active-color);
  background-color: var(--bs-pagination-active-bg);
  border-color: var(--bs-pagination-active-border-color);
}
.page-link.disabled, .disabled > .page-link {
  color: var(--bs-pagination-disabled-color);
  pointer-events: none;
  background-color: var(--bs-pagination-disabled-bg);
  border-color: var(--bs-pagination-disabled-border-color);
}
.page-item:not(:first-child) .page-link {
  margin-left: calc(-1 * 0);
}
.page-item:first-child .page-link {
  border-top-left-radius: var(--bs-pagination-border-radius);
  border-bottom-left-radius: var(--bs-pagination-border-radius);
}
.page-item:last-child .page-link {
  border-top-right-radius: var(--bs-pagination-border-radius);
  border-bottom-right-radius: var(--bs-pagination-border-radius);
}
.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: 0.75rem;
  --bs-pagination-font-size: 1.125rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}
.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}
.badge {
  --bs-badge-padding-x: 5px;
  --bs-badge-padding-y: 0;
  --bs-badge-font-size: 0.75rem;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: 50px;
  display: inline-block;
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
  font-size: var(--bs-badge-font-size);
  font-weight: var(--bs-badge-font-weight);
  line-height: 1;
  color: var(--bs-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--bs-badge-border-radius);
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 0.5rem;
  --bs-alert-padding-y: 0.5rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: 1px solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}
.alert-heading {
  color: inherit;
}
.alert-link {
  font-weight: 700;
  color: var(--bs-alert-link-color);
}
.alert-dismissible {
  padding-right: 1.5rem;
}
.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 0.625rem 0.5rem;
}
.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis);
  --bs-alert-bg: var(--bs-primary-bg-subtle);
  --bs-alert-border-color: var(--bs-primary-border-subtle);
  --bs-alert-link-color: var(--bs-primary-text-emphasis);
}
.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis);
  --bs-alert-bg: var(--bs-secondary-bg-subtle);
  --bs-alert-border-color: var(--bs-secondary-border-subtle);
  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
}
.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis);
  --bs-alert-bg: var(--bs-success-bg-subtle);
  --bs-alert-border-color: var(--bs-success-border-subtle);
  --bs-alert-link-color: var(--bs-success-text-emphasis);
}
.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis);
  --bs-alert-bg: var(--bs-info-bg-subtle);
  --bs-alert-border-color: var(--bs-info-border-subtle);
  --bs-alert-link-color: var(--bs-info-text-emphasis);
}
.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis);
  --bs-alert-bg: var(--bs-warning-bg-subtle);
  --bs-alert-border-color: var(--bs-warning-border-subtle);
  --bs-alert-link-color: var(--bs-warning-text-emphasis);
}
.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis);
  --bs-alert-bg: var(--bs-danger-bg-subtle);
  --bs-alert-border-color: var(--bs-danger-border-subtle);
  --bs-alert-link-color: var(--bs-danger-text-emphasis);
}
.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis);
  --bs-alert-bg: var(--bs-light-bg-subtle);
  --bs-alert-border-color: var(--bs-light-border-subtle);
  --bs-alert-link-color: var(--bs-light-text-emphasis);
}
.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis);
  --bs-alert-bg: var(--bs-dark-bg-subtle);
  --bs-alert-border-color: var(--bs-dark-border-subtle);
  --bs-alert-link-color: var(--bs-dark-text-emphasis);
}
@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--bs-progress-height);
  }
}
.progress, .progress-stacked {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: 0.75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: var(--bs-box-shadow-inset);
  --bs-progress-bar-color: #fff;
  --bs-progress-bar-bg: #00689C;
  --bs-progress-bar-transition: width 0.6s ease;
  display: flex;
  height: var(--bs-progress-height);
  overflow: hidden;
  font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}
.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--bs-progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
@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: var(--bs-progress-height) var(--bs-progress-height);
}
.progress-stacked > .progress {
  overflow: visible;
}
.progress-stacked > .progress > .progress-bar {
  width: 100%;
}
.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}
.list-group {
  --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-bg: var(--bs-body-bg);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-border-width: var(--bs-border-width);
  --bs-list-group-border-radius: var(--bs-border-radius);
  --bs-list-group-item-padding-x: 1rem;
  --bs-list-group-item-padding-y: 0.5rem;
  --bs-list-group-action-color: var(--bs-secondary-color);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
  --bs-list-group-action-active-color: var(--bs-body-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
  --bs-list-group-disabled-color: var(--bs-secondary-color);
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #fff;
  --bs-list-group-active-bg: #00689C;
  --bs-list-group-active-border-color: #00689C;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}
.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}
.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}
.list-group-item {
  position: relative;
  display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.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: var(--bs-list-group-disabled-color);
  pointer-events: none;
  background-color: var(--bs-list-group-disabled-bg);
}
.list-group-item.active {
  z-index: 2;
  color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item + .list-group-item {
  border-top-width: 0;
}
.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--bs-list-group-border-width));
  border-top-width: var(--bs-list-group-border-width);
}
.list-group-item-action {
  width: 100%;
  color: var(--bs-list-group-action-color);
  text-align: inherit;
}
.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
  z-index: 1;
  color: var(--bs-list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:not(.active):active {
  color: var(--bs-list-group-action-active-color);
  background-color: var(--bs-list-group-action-active-bg);
}
.list-group-horizontal {
  flex-direction: row;
}
.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--bs-list-group-border-radius);
  border-top-right-radius: 0;
}
.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--bs-list-group-border-radius);
  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: var(--bs-list-group-border-width);
  border-left-width: 0;
}
.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--bs-list-group-border-width));
  border-left-width: var(--bs-list-group-border-width);
}
@media (min-width: 576px) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 768px) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 992px) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    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: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
@media (min-width: 1400px) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--bs-list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--bs-list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--bs-list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--bs-list-group-border-width));
    border-left-width: var(--bs-list-group-border-width);
  }
}
.list-group-flush {
  border-radius: 0;
}
.list-group-flush > .list-group-item {
  border-width: 0 0 var(--bs-list-group-border-width);
}
.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}
.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary-text-emphasis);
  --bs-list-group-bg: var(--bs-primary-bg-subtle);
  --bs-list-group-border-color: var(--bs-primary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
}
.list-group-item-secondary {
  --bs-list-group-color: var(--bs-secondary-text-emphasis);
  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
}
.list-group-item-success {
  --bs-list-group-color: var(--bs-success-text-emphasis);
  --bs-list-group-bg: var(--bs-success-bg-subtle);
  --bs-list-group-border-color: var(--bs-success-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
  --bs-list-group-active-color: var(--bs-success-bg-subtle);
  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
}
.list-group-item-info {
  --bs-list-group-color: var(--bs-info-text-emphasis);
  --bs-list-group-bg: var(--bs-info-bg-subtle);
  --bs-list-group-border-color: var(--bs-info-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
  --bs-list-group-active-color: var(--bs-info-bg-subtle);
  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
}
.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning-text-emphasis);
  --bs-list-group-bg: var(--bs-warning-bg-subtle);
  --bs-list-group-border-color: var(--bs-warning-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
}
.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger-text-emphasis);
  --bs-list-group-bg: var(--bs-danger-bg-subtle);
  --bs-list-group-border-color: var(--bs-danger-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
}
.list-group-item-light {
  --bs-list-group-color: var(--bs-light-text-emphasis);
  --bs-list-group-bg: var(--bs-light-bg-subtle);
  --bs-list-group-border-color: var(--bs-light-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
  --bs-list-group-active-color: var(--bs-light-bg-subtle);
  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
}
.list-group-item-dark {
  --bs-list-group-color: var(--bs-dark-text-emphasis);
  --bs-list-group-bg: var(--bs-dark-bg-subtle);
  --bs-list-group-border-color: var(--bs-dark-border-subtle);
  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
  --bs-list-group-action-active-color: var(--bs-emphasis-color);
  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
}
.btn-close {
  --bs-btn-close-color: #000;
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
  --bs-btn-close-opacity: 0.5;
  --bs-btn-close-hover-opacity: 0.75;
  --bs-btn-close-focus-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-btn-close-focus-opacity: 1;
  --bs-btn-close-disabled-opacity: 0.25;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--bs-btn-close-color);
  background: transparent var(--bs-btn-close-bg) center / 1em auto no-repeat;
  filter: var(--bs-btn-close-filter);
  border: 0;
  border-radius: 0;
  opacity: var(--bs-btn-close-opacity);
}
.btn-close:hover {
  color: var(--bs-btn-close-color);
  text-decoration: none;
  opacity: var(--bs-btn-close-hover-opacity);
}
.btn-close:focus {
  outline: 0;
  box-shadow: var(--bs-btn-close-focus-shadow);
  opacity: var(--bs-btn-close-focus-opacity);
}
.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--bs-btn-close-disabled-opacity);
}
.btn-close-white {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}
:root, [data-bs-theme="light"] {
  --bs-btn-close-filter: ;
}
[data-bs-theme="dark"] {
  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}
.toast {
  --bs-toast-zindex: 1090;
  --bs-toast-padding-x: 0.75rem;
  --bs-toast-padding-y: 0.5rem;
  --bs-toast-spacing: 40px;
  --bs-toast-max-width: 350px;
  --bs-toast-font-size: 0.875rem;
  --bs-toast-color: ;
  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-border-width: var(--bs-border-width);
  --bs-toast-border-color: var(--bs-border-color-translucent);
  --bs-toast-border-radius: var(--bs-border-radius);
  --bs-toast-box-shadow: var(--bs-box-shadow);
  --bs-toast-header-color: var(--bs-secondary-color);
  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
  --bs-toast-header-border-color: var(--bs-border-color-translucent);
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--bs-toast-font-size);
  color: var(--bs-toast-color);
  pointer-events: auto;
  background-color: var(--bs-toast-bg);
  background-clip: padding-box;
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  box-shadow: var(--bs-toast-box-shadow);
  border-radius: var(--bs-toast-border-radius);
}
.toast.showing {
  opacity: 0;
}
.toast:not(.show) {
  display: none;
}
.toast-container {
  --bs-toast-zindex: 1090;
  position: absolute;
  z-index: var(--bs-toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}
.toast-container > :not(:last-child) {
  margin-bottom: var(--bs-toast-spacing);
}
.toast-header {
  display: flex;
  align-items: center;
  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
  color: var(--bs-toast-header-color);
  background-color: var(--bs-toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
}
.toast-header .btn-close {
  margin-right: calc(-.5 * var(--bs-toast-padding-x));
  margin-left: var(--bs-toast-padding-x);
}
.toast-body {
  padding: var(--bs-toast-padding-x);
  word-wrap: break-word;
}
.modal {
  --bs-modal-zindex: 1055;
  --bs-modal-width: 500px;
  --bs-modal-padding: 1rem;
  --bs-modal-margin: 0.5rem;
  --bs-modal-color: var(--bs-body-color);
  --bs-modal-bg: var(--bs-body-bg);
  --bs-modal-border-color: var(--bs-border-color-translucent);
  --bs-modal-border-width: 0;
  --bs-modal-border-radius: var(--bs-border-radius-lg);
  --bs-modal-box-shadow: 0 43px 43px -6px rgba(0, 0, 0, 0.2);
  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - 0);
  --bs-modal-header-padding-x: 1rem;
  --bs-modal-header-padding-y: 1rem;
  --bs-modal-header-padding: 1rem 1rem;
  --bs-modal-header-border-color: var(--bs-border-color);
  --bs-modal-header-border-width: 0;
  --bs-modal-title-line-height: 1.5;
  --bs-modal-footer-gap: 0.5rem;
  --bs-modal-footer-bg: ;
  --bs-modal-footer-border-color: var(--bs-border-color);
  --bs-modal-footer-border-width: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--bs-modal-margin);
  pointer-events: none;
}
.modal.fade .modal-dialog {
  transform: translate(0, -50px);
  transition: opacity 0.45s cubic-bezier(0.3, 0, 0.15, 1), visibility 0.45s linear;
}
@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 {
  height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}
.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}
.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--bs-modal-margin) * 2);
}
.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--bs-modal-color);
  pointer-events: auto;
  background-color: var(--bs-modal-bg);
  background-clip: padding-box;
  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
  border-radius: var(--bs-modal-border-radius);
  outline: 0;
}
.modal-backdrop {
  --bs-backdrop-zindex: 1050;
  --bs-backdrop-bg: rgba(0, 0, 0, 0.5);
  --bs-backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--bs-backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--bs-backdrop-bg);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: var(--bs-backdrop-opacity);
}
.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--bs-modal-header-padding);
  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
  border-top-left-radius: var(--bs-modal-inner-border-radius);
  border-top-right-radius: var(--bs-modal-inner-border-radius);
}
.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
  margin-top: calc(-.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
}
.modal-title {
  margin-bottom: 0;
  line-height: var(--bs-modal-title-line-height);
}
.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--bs-modal-padding);
}
.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);
  background-color: var(--bs-modal-footer-bg);
  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
}
.modal-footer > * {
  margin: calc(var(--bs-modal-footer-gap) * .5);
}
@media (min-width: 576px) {
  .modal {
    --bs-modal-margin: 1.75rem;
    --bs-modal-box-shadow: 0 43px 43px -6px rgba(0, 0, 0, 0.2);
  }
  .modal-dialog {
    max-width: var(--bs-modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --bs-modal-width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg, .modal-xl {
    --bs-modal-width: 800px;
  }
}
@media (min-width: 1200px) {
  .modal-xl {
    --bs-modal-width: 1140px;
  }
}
.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}
.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}
.modal-fullscreen .modal-header, .modal-fullscreen .modal-footer {
  border-radius: 0;
}
.modal-fullscreen .modal-body {
  overflow-y: auto;
}
@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header, .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header, .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header, .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header, .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}
@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header, .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}
.tooltip {
  --bs-tooltip-zindex: 1080;
  --bs-tooltip-max-width: 200px;
  --bs-tooltip-padding-x: 0.5rem;
  --bs-tooltip-padding-y: 0.25rem;
  --bs-tooltip-margin: ;
  --bs-tooltip-font-size: 0.875rem;
  --bs-tooltip-color: var(--bs-body-bg);
  --bs-tooltip-bg: var(--bs-emphasis-color);
  --bs-tooltip-border-radius: var(--bs-border-radius);
  --bs-tooltip-opacity: 0.9;
  --bs-tooltip-arrow-width: 0.8rem;
  --bs-tooltip-arrow-height: 0.4rem;
  z-index: var(--bs-tooltip-zindex);
  display: block;
  margin: var(--bs-tooltip-margin);
  font-family: "Inter", 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: var(--bs-tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}
.tooltip.show {
  opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
  display: block;
  width: var(--bs-tooltip-arrow-width);
  height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}
.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow {
  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
  border-top-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow {
  left: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;
  border-right-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow {
  top: calc(-1 * var(--bs-tooltip-arrow-height));
}
.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
  border-bottom-color: var(--bs-tooltip-bg);
}
/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow {
  right: calc(-1 * var(--bs-tooltip-arrow-height));
  width: var(--bs-tooltip-arrow-height);
  height: var(--bs-tooltip-arrow-width);
}
.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);
  border-left-color: var(--bs-tooltip-bg);
}
/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--bs-tooltip-max-width);
  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
  color: var(--bs-tooltip-color);
  text-align: center;
  background-color: var(--bs-tooltip-bg);
  border-radius: var(--bs-tooltip-border-radius);
}
.popover {
  --bs-popover-zindex: 1070;
  --bs-popover-max-width: 276px;
  --bs-popover-font-size: 0.875rem;
  --bs-popover-bg: var(--bs-body-bg);
  --bs-popover-border-width: var(--bs-border-width);
  --bs-popover-border-color: var(--bs-border-color-translucent);
  --bs-popover-border-radius: var(--bs-border-radius-lg);
  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
  --bs-popover-box-shadow: var(--bs-box-shadow);
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-header-padding-y: 0.5rem;
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-color: #2b3136;
  --bs-popover-header-bg: var(--bs-secondary-bg);
  --bs-popover-body-padding-x: 1rem;
  --bs-popover-body-padding-y: 1rem;
  --bs-popover-body-color: var(--bs-body-color);
  --bs-popover-arrow-width: 1rem;
  --bs-popover-arrow-height: 0.5rem;
  --bs-popover-arrow-border: var(--bs-popover-border-color);
  z-index: var(--bs-popover-zindex);
  display: block;
  max-width: var(--bs-popover-max-width);
  font-family: "Inter", 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: var(--bs-popover-font-size);
  word-wrap: break-word;
  background-color: var(--bs-popover-bg);
  background-clip: padding-box;
  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
  display: block;
  width: var(--bs-popover-arrow-width);
  height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}
.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow {
  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0;
}
.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--bs-popover-arrow-border);
}
.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
  bottom: var(--bs-popover-border-width);
  border-top-color: var(--bs-popover-bg);
}
/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow {
  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0;
}
.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--bs-popover-arrow-border);
}
.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
  left: var(--bs-popover-border-width);
  border-right-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow {
  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
  border-width: 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height);
}
.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--bs-popover-arrow-border);
}
.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
  top: var(--bs-popover-border-width);
  border-bottom-color: var(--bs-popover-bg);
}
.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--bs-popover-arrow-width);
  margin-left: calc(-.5 * var(--bs-popover-arrow-width));
  content: "";
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
}
/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow {
  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
  width: var(--bs-popover-arrow-height);
  height: var(--bs-popover-arrow-width);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
  border-width: calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height);
}
.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--bs-popover-arrow-border);
}
.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
  right: var(--bs-popover-border-width);
  border-left-color: var(--bs-popover-bg);
}
/* rtl:end:ignore */
.popover-header {
  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--bs-popover-header-font-size);
  color: var(--bs-popover-header-color);
  background-color: var(--bs-popover-header-bg);
  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
  border-top-left-radius: var(--bs-popover-inner-border-radius);
  border-top-right-radius: var(--bs-popover-inner-border-radius);
}
.popover-header:empty {
  display: none;
}
.popover-body {
  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
  color: var(--bs-popover-body-color);
}
.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-start), .active.carousel-item-end {
  transform: translateX(100%);
}
.carousel-item-prev:not(.carousel-item-end), .active.carousel-item-start {
  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-start, .carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}
.carousel-fade .active.carousel-item-start, .carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start, .carousel-fade .active.carousel-item-end {
    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: #fff;
  text-align: center;
  background: none;
  filter: var(--bs-carousel-control-icon-filter);
  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: #fff;
  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: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}
.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")*/;
}
.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")*/;
}
.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: var(--bs-carousel-indicator-active-bg);
  background-clip: padding-box;
  border: 0;
  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 [data-bs-target] {
    transition: none;
  }
}
.carousel-indicators .active {
  opacity: 1;
}
.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: var(--bs-carousel-caption-color);
  text-align: center;
}
.carousel-dark {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}
:root, [data-bs-theme="light"] {
  --bs-carousel-indicator-active-bg: #fff;
  --bs-carousel-caption-color: #fff;
  --bs-carousel-control-icon-filter: ;
}
[data-bs-theme="dark"] {
  --bs-carousel-indicator-active-bg: #000;
  --bs-carousel-caption-color: #000;
  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
}
.spinner-grow, .spinner-border, .loader {
  display: inline-block;
  flex-shrink: 0;
  width: var(--bs-spinner-width);
  height: var(--bs-spinner-height);
  vertical-align: var(--bs-spinner-vertical-align);
  border-radius: 50%;
  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}
@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}
.spinner-border, .loader {
  --bs-spinner-width: 26px;
  --bs-spinner-height: 26px;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-border-width: 2px;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-border;
  border: var(--bs-spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}
.spinner-border-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
}
@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}
.spinner-grow {
  --bs-spinner-width: 26px;
  --bs-spinner-height: 26px;
  --bs-spinner-vertical-align: -0.125em;
  --bs-spinner-animation-speed: 0.75s;
  --bs-spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}
.spinner-grow-sm {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
}
@media (prefers-reduced-motion: reduce) {
  .spinner-border, .loader, .spinner-grow {
    --bs-spinner-animation-speed: 1.5s;
  }
}
.offcanvas-sm, .offcanvas-md, .offcanvas-lg, .offcanvas-xl, .offcanvas-xxl, .offcanvas {
  --bs-offcanvas-zindex: 1045;
  --bs-offcanvas-width: 400px;
  --bs-offcanvas-height: 30vh;
  --bs-offcanvas-padding-x: 20px;
  --bs-offcanvas-padding-y: 20px;
  --bs-offcanvas-color: var(--bs-body-color);
  --bs-offcanvas-bg: var(--bs-body-bg);
  --bs-offcanvas-border-width: 0;
  --bs-offcanvas-border-color: transparent;
  --bs-offcanvas-box-shadow: 0 43px 43px -6px rgba(0, 0, 0, 0.2);
  --bs-offcanvas-transition: transform 0.3s ease-in-out;
  --bs-offcanvas-title-line-height: 1.5;
}
@media (max-width: 575.98px) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}
@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}
@media (min-width: 576px) {
  .offcanvas-sm {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 767.98px) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}
@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}
@media (min-width: 768px) {
  .offcanvas-md {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 991.98px) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}
@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}
@media (min-width: 992px) {
  .offcanvas-lg {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1199.98px) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}
@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}
@media (min-width: 1200px) {
  .offcanvas-xl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
@media (max-width: 1399.98px) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--bs-offcanvas-zindex);
    display: flex;
    flex-direction: column;
    max-width: 100%;
    color: var(--bs-offcanvas-color);
    visibility: hidden;
    background-color: var(--bs-offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    transition: var(--bs-offcanvas-transition);
  }
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--bs-offcanvas-width);
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--bs-offcanvas-width);
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--bs-offcanvas-height);
    max-height: 100%;
    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}
@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}
@media (min-width: 1400px) {
  .offcanvas-xxl {
    --bs-offcanvas-height: auto;
    --bs-offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}
.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--bs-offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--bs-offcanvas-color);
  visibility: hidden;
  background-color: var(--bs-offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--bs-offcanvas-transition);
}
@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}
.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--bs-offcanvas-width);
  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--bs-offcanvas-width);
  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateX(100%);
}
.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--bs-offcanvas-height);
  max-height: 100%;
  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}
.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 1;
}
.offcanvas-header {
  display: flex;
  align-items: center;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
}
.offcanvas-header .btn-close {
  padding: calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);
  margin-top: calc(-.5 * var(--bs-offcanvas-padding-y));
  margin-right: calc(-.5 * var(--bs-offcanvas-padding-x));
  margin-bottom: calc(-.5 * var(--bs-offcanvas-padding-y));
  margin-left: auto;
}
.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--bs-offcanvas-title-line-height);
}
.offcanvas-body {
  flex-grow: 1;
  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
  overflow-y: auto;
}
.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}
.placeholder.btn::before {
  display: inline-block;
  content: "";
}
.placeholder-xs {
  min-height: 0.6em;
}
.placeholder-sm {
  min-height: 0.8em;
}
.placeholder-lg {
  min-height: 1.2em;
}
.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}
@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}
.placeholder-wave {
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}
@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}
.text-bg-primary {
  color: #fff;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity, 1));
}
.text-bg-secondary {
  color: #fff;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1));
}
.text-bg-success {
  color: #fff;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity, 1));
}
.text-bg-info {
  color: #fff;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity, 1));
}
.text-bg-warning {
  color: #fff;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity, 1));
}
.text-bg-danger {
  color: #fff;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity, 1));
}
.text-bg-light {
  color: #000;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity, 1));
}
.text-bg-dark {
  color: #fff;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity, 1));
}
.link-primary {
  color: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1));
}
.link-primary:hover, .link-primary:focus {
  color: rgba(0, 83, 125, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(0, 83, 125, var(--bs-link-underline-opacity, 1));
}
.link-secondary {
  color: rgba(var(--bs-secondary-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1));
}
.link-secondary:hover, .link-secondary:focus {
  color: rgba(57, 59, 70, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(57, 59, 70, var(--bs-link-underline-opacity, 1));
}
.link-success {
  color: rgba(var(--bs-success-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1));
}
.link-success:hover, .link-success:focus {
  color: rgba(0, 101, 62, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(0, 101, 62, var(--bs-link-underline-opacity, 1));
}
.link-info {
  color: rgba(var(--bs-info-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1));
}
.link-info:hover, .link-info:focus {
  color: rgba(0, 73, 122, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(0, 73, 122, var(--bs-link-underline-opacity, 1));
}
.link-warning {
  color: rgba(var(--bs-warning-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1));
}
.link-warning:hover, .link-warning:focus {
  color: rgba(121, 53, 0, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(121, 53, 0, var(--bs-link-underline-opacity, 1));
}
.link-danger {
  color: rgba(var(--bs-danger-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1));
}
.link-danger:hover, .link-danger:focus {
  color: rgba(155, 0, 18, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(155, 0, 18, var(--bs-link-underline-opacity, 1));
}
.link-light {
  color: rgba(var(--bs-light-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1));
}
.link-light:hover, .link-light:focus {
  color: rgba(250, 250, 250, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(250, 250, 250, var(--bs-link-underline-opacity, 1));
}
.link-dark {
  color: rgba(var(--bs-dark-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1));
}
.link-dark:hover, .link-dark:focus {
  color: rgba(59, 67, 73, var(--bs-link-opacity, 1));
  text-decoration-color: rgba(59, 67, 73, var(--bs-link-underline-opacity, 1));
}
.link-body-emphasis {
  color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1));
  text-decoration-color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1));
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75));
  text-decoration-color: rgba(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75));
}
.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}
.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}
.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}
.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}
.ratio-4x3 {
  --bs-aspect-ratio: calc(3 / 4 * 100%);
}
.ratio-16x9 {
  --bs-aspect-ratio: calc(9 / 16 * 100%);
}
.ratio-21x9 {
  --bs-aspect-ratio: calc(9 / 21 * 100%);
}
.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
.sticky-top, .offcanvas .offcanvas-footer {
  position: sticky;
  top: 0;
  z-index: 1020;
}
.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}
@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}
.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}
.visually-hidden, .visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption), .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}
.visually-hidden *, .visually-hidden-focusable:not(:focus):not(:focus-within) * {
  overflow: hidden !important;
}
.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}
.align-baseline {
  vertical-align: baseline;
}
.align-top {
  vertical-align: top;
}
.align-middle {
  vertical-align: middle;
}
.align-bottom {
  vertical-align: bottom;
}
.align-text-bottom {
  vertical-align: text-bottom;
}
.align-text-top {
  vertical-align: text-top;
}
.float-start {
  float: left;
}
.float-end {
  float: right;
}
.float-none {
  float: none;
}
.object-fit-contain {
  object-fit: contain;
}
.object-fit-cover {
  object-fit: cover;
}
.object-fit-fill {
  object-fit: fill;
}
.object-fit-scale {
  object-fit: scale-down;
}
.object-fit-none {
  object-fit: none;
}
.opacity-0 {
  opacity: 0;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-100 {
  opacity: 1;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-scroll {
  overflow: scroll;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.overflow-x-visible {
  overflow-x: visible;
}
.overflow-x-scroll {
  overflow-x: scroll;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.overflow-y-visible {
  overflow-y: visible;
}
.overflow-y-scroll {
  overflow-y: scroll;
}
.d-inline {
  display: inline;
}
.d-inline-block {
  display: inline-block;
}
.d-block {
  display: block;
}
.d-grid {
  display: grid;
}
.d-inline-grid {
  display: inline-grid;
}
.d-table {
  display: table;
}
.d-table-row {
  display: table-row;
}
.d-table-cell {
  display: table-cell;
}
.d-flex {
  display: flex;
}
.d-inline-flex {
  display: inline-flex;
}
.d-none {
  display: none;
}
.shadow {
  box-shadow: var(--bs-box-shadow);
}
.shadow-sm {
  box-shadow: var(--bs-box-shadow-sm);
}
.shadow-lg {
  box-shadow: var(--bs-box-shadow-lg);
}
.shadow-none {
  box-shadow: none;
}
.focus-ring-primary {
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-secondary {
  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-success {
  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-info {
  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-warning {
  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-danger {
  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-light {
  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
}
.focus-ring-dark {
  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
}
.position-static {
  position: static;
}
.position-relative {
  position: relative;
}
.position-absolute {
  position: absolute;
}
.position-fixed {
  position: fixed;
}
.position-sticky {
  position: sticky;
}
.top-0 {
  top: 0;
}
.top-50 {
  top: 50%;
}
.top-100 {
  top: 100%;
}
.bottom-0 {
  bottom: 0;
}
.bottom-50 {
  bottom: 50%;
}
.bottom-100 {
  bottom: 100%;
}
.start-0 {
  left: 0;
}
.start-50 {
  left: 50%;
}
.start-100 {
  left: 100%;
}
.end-0 {
  right: 0;
}
.end-50 {
  right: 50%;
}
.end-100 {
  right: 100%;
}
.translate-middle {
  transform: translate(-50%, -50%);
}
.translate-middle-x {
  transform: translateX(-50%);
}
.translate-middle-y {
  transform: translateY(-50%);
}
.border {
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}
.border-0 {
  border: 0;
}
.border-top {
  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}
.border-top-0 {
  border-top: 0;
}
.border-end {
  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}
.border-end-0 {
  border-right: 0;
}
.border-bottom {
  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}
.border-bottom-0 {
  border-bottom: 0;
}
.border-start {
  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}
.border-start-0 {
  border-left: 0;
}
.border-primary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity));
}
.border-secondary {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity));
}
.border-success {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity));
}
.border-info {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity));
}
.border-warning {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity));
}
.border-danger {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity));
}
.border-light {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity));
}
.border-dark {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity));
}
.border-black {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity));
}
.border-white {
  --bs-border-opacity: 1;
  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity));
}
.border-primary-subtle {
  border-color: var(--bs-primary-border-subtle);
}
.border-secondary-subtle {
  border-color: var(--bs-secondary-border-subtle);
}
.border-success-subtle {
  border-color: var(--bs-success-border-subtle);
}
.border-info-subtle {
  border-color: var(--bs-info-border-subtle);
}
.border-warning-subtle {
  border-color: var(--bs-warning-border-subtle);
}
.border-danger-subtle {
  border-color: var(--bs-danger-border-subtle);
}
.border-light-subtle {
  border-color: var(--bs-light-border-subtle);
}
.border-dark-subtle {
  border-color: var(--bs-dark-border-subtle);
}
.border-1 {
  border-width: 1px;
}
.border-2 {
  border-width: 2px;
}
.border-3 {
  border-width: 3px;
}
.border-4 {
  border-width: 4px;
}
.border-5 {
  border-width: 5px;
}
.border-opacity-10 {
  --bs-border-opacity: 0.1;
}
.border-opacity-25 {
  --bs-border-opacity: 0.25;
}
.border-opacity-50 {
  --bs-border-opacity: 0.5;
}
.border-opacity-75 {
  --bs-border-opacity: 0.75;
}
.border-opacity-100 {
  --bs-border-opacity: 1;
}
.w-25 {
  width: 25%;
}
.w-50 {
  width: 50%;
}
.w-75 {
  width: 75%;
}
.w-100 {
  width: 100%;
}
.w-auto {
  width: auto;
}
.mw-100 {
  max-width: 100%;
}
.vw-100 {
  width: 100vw;
}
.min-vw-100 {
  min-width: 100vw;
}
.h-25 {
  height: 25%;
}
.h-50 {
  height: 50%;
}
.h-75 {
  height: 75%;
}
.h-100 {
  height: 100%;
}
.h-auto {
  height: auto;
}
.mh-100 {
  max-height: 100%;
}
.vh-100 {
  height: 100vh;
}
.min-vh-100 {
  min-height: 100vh;
}
.flex-fill {
  flex: 1 1 auto;
}
.flex-row {
  flex-direction: row;
}
.flex-column {
  flex-direction: column;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-column-reverse {
  flex-direction: column-reverse;
}
.flex-grow-0 {
  flex-grow: 0;
}
.flex-grow-1 {
  flex-grow: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.flex-shrink-1 {
  flex-shrink: 1;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}
.justify-content-start {
  justify-content: flex-start;
}
.justify-content-end {
  justify-content: flex-end;
}
.justify-content-center {
  justify-content: center;
}
.justify-content-between {
  justify-content: space-between;
}
.justify-content-around {
  justify-content: space-around;
}
.justify-content-evenly {
  justify-content: space-evenly;
}
.align-items-start {
  align-items: flex-start;
}
.align-items-end {
  align-items: flex-end;
}
.align-items-center {
  align-items: center;
}
.align-items-baseline {
  align-items: baseline;
}
.align-items-stretch {
  align-items: stretch;
}
.align-content-start {
  align-content: flex-start;
}
.align-content-end {
  align-content: flex-end;
}
.align-content-center {
  align-content: center;
}
.align-content-between {
  align-content: space-between;
}
.align-content-around {
  align-content: space-around;
}
.align-content-stretch {
  align-content: stretch;
}
.align-self-auto {
  align-self: auto;
}
.align-self-start {
  align-self: flex-start;
}
.align-self-end {
  align-self: flex-end;
}
.align-self-center {
  align-self: center;
}
.align-self-baseline {
  align-self: baseline;
}
.align-self-stretch {
  align-self: stretch;
}
.order-first {
  order: -1;
}
.order-0 {
  order: 0;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}
.order-last {
  order: 6;
}
.m-0 {
  margin: 0;
}
.m-1 {
  margin: 0.25rem;
}
.m-2 {
  margin: 0.5rem;
}
.m-3 {
  margin: 1rem;
}
.m-4 {
  margin: 1.5rem;
}
.m-5 {
  margin: 3rem;
}
.m-auto {
  margin: auto;
}
.mx-0 {
  margin-right: 0;
  margin-left: 0;
}
.mx-1 {
  margin-right: 0.25rem;
  margin-left: 0.25rem;
}
.mx-2 {
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
.mx-3 {
  margin-right: 1rem;
  margin-left: 1rem;
}
.mx-4 {
  margin-right: 1.5rem;
  margin-left: 1.5rem;
}
.mx-5 {
  margin-right: 3rem;
  margin-left: 3rem;
}
.mx-auto {
  margin-right: auto;
  margin-left: auto;
}
.my-0 {
  margin-top: 0;
  margin-bottom: 0;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-4 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-5 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}
.mt-0 {
  margin-top: 0;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-3 {
  margin-top: 1rem;
}
.mt-4 {
  margin-top: 1.5rem;
}
.mt-5 {
  margin-top: 3rem;
}
.mt-auto {
  margin-top: auto;
}
.me-0 {
  margin-right: 0;
}
.me-1 {
  margin-right: 0.25rem;
}
.me-2 {
  margin-right: 0.5rem;
}
.me-3 {
  margin-right: 1rem;
}
.me-4 {
  margin-right: 1.5rem;
}
.me-5 {
  margin-right: 3rem;
}
.me-auto {
  margin-right: auto;
}
.mb-0 {
  margin-bottom: 0;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-3 {
  margin-bottom: 1rem;
}
.mb-4 {
  margin-bottom: 1.5rem;
}
.mb-5 {
  margin-bottom: 3rem;
}
.mb-auto {
  margin-bottom: auto;
}
.ms-0 {
  margin-left: 0;
}
.ms-1 {
  margin-left: 0.25rem;
}
.ms-2 {
  margin-left: 0.5rem;
}
.ms-3 {
  margin-left: 1rem;
}
.ms-4 {
  margin-left: 1.5rem;
}
.ms-5 {
  margin-left: 3rem;
}
.ms-auto {
  margin-left: auto;
}
.p-0 {
  padding: 0;
}
.p-1 {
  padding: 0.25rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-3 {
  padding: 1rem;
}
.p-4 {
  padding: 1.5rem;
}
.p-5 {
  padding: 3rem;
}
.px-0 {
  padding-right: 0;
  padding-left: 0;
}
.px-1 {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}
.px-2 {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.px-3 {
  padding-right: 1rem;
  padding-left: 1rem;
}
.px-4 {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
.px-5 {
  padding-right: 3rem;
  padding-left: 3rem;
}
.py-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-3 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-4 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-5 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.pt-0 {
  padding-top: 0;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 1rem;
}
.pt-4 {
  padding-top: 1.5rem;
}
.pt-5 {
  padding-top: 3rem;
}
.pe-0 {
  padding-right: 0;
}
.pe-1 {
  padding-right: 0.25rem;
}
.pe-2 {
  padding-right: 0.5rem;
}
.pe-3 {
  padding-right: 1rem;
}
.pe-4 {
  padding-right: 1.5rem;
}
.pe-5 {
  padding-right: 3rem;
}
.pb-0 {
  padding-bottom: 0;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-3 {
  padding-bottom: 1rem;
}
.pb-4 {
  padding-bottom: 1.5rem;
}
.pb-5 {
  padding-bottom: 3rem;
}
.ps-0 {
  padding-left: 0;
}
.ps-1 {
  padding-left: 0.25rem;
}
.ps-2 {
  padding-left: 0.5rem;
}
.ps-3 {
  padding-left: 1rem;
}
.ps-4 {
  padding-left: 1.5rem;
}
.ps-5 {
  padding-left: 3rem;
}
.gap-0 {
  gap: 0;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-3 {
  gap: 1rem;
}
.gap-4 {
  gap: 1.5rem;
}
.gap-5 {
  gap: 3rem;
}
.row-gap-0 {
  row-gap: 0;
}
.row-gap-1 {
  row-gap: 0.25rem;
}
.row-gap-2 {
  row-gap: 0.5rem;
}
.row-gap-3 {
  row-gap: 1rem;
}
.row-gap-4 {
  row-gap: 1.5rem;
}
.row-gap-5 {
  row-gap: 3rem;
}
.column-gap-0 {
  column-gap: 0;
}
.column-gap-1 {
  column-gap: 0.25rem;
}
.column-gap-2 {
  column-gap: 0.5rem;
}
.column-gap-3 {
  column-gap: 1rem;
}
.column-gap-4 {
  column-gap: 1.5rem;
}
.column-gap-5 {
  column-gap: 3rem;
}
.font-monospace {
  font-family: var(--bs-font-monospace);
}
.fs-1 {
  font-size: calc(1.35rem + 1.2vw);
}
.fs-2 {
  font-size: calc(1.3rem + 0.6vw);
}
.fs-3 {
  font-size: calc(1.275rem + 0.3vw);
}
.fs-4 {
  font-size: 1.25rem;
}
.fs-5 {
  font-size: 1rem;
}
.fs-6 {
  font-size: 0.875rem;
}
.fst-italic {
  font-style: italic;
}
.fst-normal {
  font-style: normal;
}
.fw-lighter {
  font-weight: lighter;
}
.fw-light {
  font-weight: 300;
}
.fw-normal {
  font-weight: 400;
}
.fw-medium {
  font-weight: 500;
}
.fw-semibold {
  font-weight: 600;
}
.fw-bold {
  font-weight: 700;
}
.fw-bolder {
  font-weight: bolder;
}
.lh-1 {
  line-height: 1;
}
.lh-sm {
  line-height: 1.25;
}
.lh-base {
  line-height: 1.5;
}
.lh-lg {
  line-height: 2;
}
.text-start {
  text-align: left;
}
.text-end {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-decoration-none {
  text-decoration: none;
}
.text-decoration-underline {
  text-decoration: underline;
}
.text-decoration-line-through {
  text-decoration: line-through;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-wrap {
  white-space: normal;
}
.text-nowrap {
  white-space: nowrap;
}
/* rtl:begin:remove */
.text-break {
  word-wrap: break-word;
  word-break: break-word;
}
/* rtl:end:remove */
.text-primary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity));
}
.text-secondary {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity));
}
.text-success {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity));
}
.text-info {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity));
}
.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity));
}
.text-danger {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity));
}
.text-light {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity));
}
.text-dark {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity));
}
.text-black {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity));
}
.text-white {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity));
}
.text-body {
  --bs-text-opacity: 1;
  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity));
}
.text-muted {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color);
}
.text-black-50 {
  --bs-text-opacity: 1;
  color: rgba(0, 0, 0, 0.5);
}
.text-white-50 {
  --bs-text-opacity: 1;
  color: rgba(255, 255, 255, 0.5);
}
.text-body-secondary {
  --bs-text-opacity: 1;
  color: var(--bs-secondary-color);
}
.text-body-tertiary {
  --bs-text-opacity: 1;
  color: var(--bs-tertiary-color);
}
.text-body-emphasis {
  --bs-text-opacity: 1;
  color: var(--bs-emphasis-color);
}
.text-reset {
  --bs-text-opacity: 1;
  color: inherit;
}
.text-opacity-25 {
  --bs-text-opacity: 0.25;
}
.text-opacity-50 {
  --bs-text-opacity: 0.5;
}
.text-opacity-75 {
  --bs-text-opacity: 0.75;
}
.text-opacity-100 {
  --bs-text-opacity: 1;
}
.text-primary-emphasis {
  color: var(--bs-primary-text-emphasis);
}
.text-secondary-emphasis {
  color: var(--bs-secondary-text-emphasis);
}
.text-success-emphasis {
  color: var(--bs-success-text-emphasis);
}
.text-info-emphasis {
  color: var(--bs-info-text-emphasis);
}
.text-warning-emphasis {
  color: var(--bs-warning-text-emphasis);
}
.text-danger-emphasis {
  color: var(--bs-danger-text-emphasis);
}
.text-light-emphasis {
  color: var(--bs-light-text-emphasis);
}
.text-dark-emphasis {
  color: var(--bs-dark-text-emphasis);
}
.link-opacity-10 {
  --bs-link-opacity: 0.1;
}
.link-opacity-10-hover:hover {
  --bs-link-opacity: 0.1;
}
.link-opacity-25 {
  --bs-link-opacity: 0.25;
}
.link-opacity-25-hover:hover {
  --bs-link-opacity: 0.25;
}
.link-opacity-50 {
  --bs-link-opacity: 0.5;
}
.link-opacity-50-hover:hover {
  --bs-link-opacity: 0.5;
}
.link-opacity-75 {
  --bs-link-opacity: 0.75;
}
.link-opacity-75-hover:hover {
  --bs-link-opacity: 0.75;
}
.link-opacity-100 {
  --bs-link-opacity: 1;
}
.link-opacity-100-hover:hover {
  --bs-link-opacity: 1;
}
.link-offset-1 {
  text-underline-offset: 0.125em;
}
.link-offset-1-hover:hover {
  text-underline-offset: 0.125em;
}
.link-offset-2 {
  text-underline-offset: 0.25em;
}
.link-offset-2-hover:hover {
  text-underline-offset: 0.25em;
}
.link-offset-3 {
  text-underline-offset: 0.375em;
}
.link-offset-3-hover:hover {
  text-underline-offset: 0.375em;
}
.link-underline-primary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity));
}
.link-underline-secondary {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity));
}
.link-underline-success {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity));
}
.link-underline-info {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity));
}
.link-underline-warning {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity));
}
.link-underline-danger {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity));
}
.link-underline-light {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity));
}
.link-underline-dark {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity));
}
.link-underline {
  --bs-link-underline-opacity: 1;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1));
}
.link-underline-opacity-0 {
  --bs-link-underline-opacity: 0;
}
.link-underline-opacity-0-hover:hover {
  --bs-link-underline-opacity: 0;
}
.link-underline-opacity-10 {
  --bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-10-hover:hover {
  --bs-link-underline-opacity: 0.1;
}
.link-underline-opacity-25 {
  --bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-25-hover:hover {
  --bs-link-underline-opacity: 0.25;
}
.link-underline-opacity-50 {
  --bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-50-hover:hover {
  --bs-link-underline-opacity: 0.5;
}
.link-underline-opacity-75 {
  --bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-75-hover:hover {
  --bs-link-underline-opacity: 0.75;
}
.link-underline-opacity-100 {
  --bs-link-underline-opacity: 1;
}
.link-underline-opacity-100-hover:hover {
  --bs-link-underline-opacity: 1;
}
.bg-primary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity));
}
.bg-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity));
}
.bg-success {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity));
}
.bg-info {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity));
}
.bg-warning {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity));
}
.bg-danger {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity));
}
.bg-light {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity));
}
.bg-dark {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity));
}
.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity));
}
.bg-white {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity));
}
.bg-body {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity));
}
.bg-transparent {
  --bs-bg-opacity: 1;
  background-color: transparent;
}
.bg-body-secondary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity));
}
.bg-body-tertiary {
  --bs-bg-opacity: 1;
  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity));
}
.bg-opacity-10 {
  --bs-bg-opacity: 0.1;
}
.bg-opacity-25 {
  --bs-bg-opacity: 0.25;
}
.bg-opacity-50 {
  --bs-bg-opacity: 0.5;
}
.bg-opacity-75 {
  --bs-bg-opacity: 0.75;
}
.bg-opacity-100 {
  --bs-bg-opacity: 1;
}
.bg-primary-subtle {
  background-color: var(--bs-primary-bg-subtle);
}
.bg-secondary-subtle {
  background-color: var(--bs-secondary-bg-subtle);
}
.bg-success-subtle {
  background-color: var(--bs-success-bg-subtle);
}
.bg-info-subtle {
  background-color: var(--bs-info-bg-subtle);
}
.bg-warning-subtle {
  background-color: var(--bs-warning-bg-subtle);
}
.bg-danger-subtle {
  background-color: var(--bs-danger-bg-subtle);
}
.bg-light-subtle {
  background-color: var(--bs-light-bg-subtle);
}
.bg-dark-subtle {
  background-color: var(--bs-dark-bg-subtle);
}
.bg-gradient {
  background-image: var(--bs-gradient);
}
.user-select-all {
  user-select: all;
}
.user-select-auto {
  user-select: auto;
}
.user-select-none {
  user-select: none;
}
.pe-none {
  pointer-events: none;
}
.pe-auto {
  pointer-events: auto;
}
.rounded {
  border-radius: var(--bs-border-radius);
}
.rounded-0 {
  border-radius: 0;
}
.rounded-1 {
  border-radius: var(--bs-border-radius-sm);
}
.rounded-2 {
  border-radius: var(--bs-border-radius);
}
.rounded-3 {
  border-radius: var(--bs-border-radius-lg);
}
.rounded-4 {
  border-radius: var(--bs-border-radius-xl);
}
.rounded-5 {
  border-radius: var(--bs-border-radius-xxl);
}
.rounded-circle {
  border-radius: 50%;
}
.rounded-pill {
  border-radius: var(--bs-border-radius-pill);
}
.rounded-top {
  border-top-left-radius: var(--bs-border-radius);
  border-top-right-radius: var(--bs-border-radius);
}
.rounded-top-0 {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.rounded-top-1 {
  border-top-left-radius: var(--bs-border-radius-sm);
  border-top-right-radius: var(--bs-border-radius-sm);
}
.rounded-top-2 {
  border-top-left-radius: var(--bs-border-radius);
  border-top-right-radius: var(--bs-border-radius);
}
.rounded-top-3 {
  border-top-left-radius: var(--bs-border-radius-lg);
  border-top-right-radius: var(--bs-border-radius-lg);
}
.rounded-top-4 {
  border-top-left-radius: var(--bs-border-radius-xl);
  border-top-right-radius: var(--bs-border-radius-xl);
}
.rounded-top-5 {
  border-top-left-radius: var(--bs-border-radius-xxl);
  border-top-right-radius: var(--bs-border-radius-xxl);
}
.rounded-top-circle {
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
}
.rounded-top-pill {
  border-top-left-radius: var(--bs-border-radius-pill);
  border-top-right-radius: var(--bs-border-radius-pill);
}
.rounded-end {
  border-top-right-radius: var(--bs-border-radius);
  border-bottom-right-radius: var(--bs-border-radius);
}
.rounded-end-0 {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.rounded-end-1 {
  border-top-right-radius: var(--bs-border-radius-sm);
  border-bottom-right-radius: var(--bs-border-radius-sm);
}
.rounded-end-2 {
  border-top-right-radius: var(--bs-border-radius);
  border-bottom-right-radius: var(--bs-border-radius);
}
.rounded-end-3 {
  border-top-right-radius: var(--bs-border-radius-lg);
  border-bottom-right-radius: var(--bs-border-radius-lg);
}
.rounded-end-4 {
  border-top-right-radius: var(--bs-border-radius-xl);
  border-bottom-right-radius: var(--bs-border-radius-xl);
}
.rounded-end-5 {
  border-top-right-radius: var(--bs-border-radius-xxl);
  border-bottom-right-radius: var(--bs-border-radius-xxl);
}
.rounded-end-circle {
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
}
.rounded-end-pill {
  border-top-right-radius: var(--bs-border-radius-pill);
  border-bottom-right-radius: var(--bs-border-radius-pill);
}
.rounded-bottom {
  border-bottom-right-radius: var(--bs-border-radius);
  border-bottom-left-radius: var(--bs-border-radius);
}
.rounded-bottom-0 {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.rounded-bottom-1 {
  border-bottom-right-radius: var(--bs-border-radius-sm);
  border-bottom-left-radius: var(--bs-border-radius-sm);
}
.rounded-bottom-2 {
  border-bottom-right-radius: var(--bs-border-radius);
  border-bottom-left-radius: var(--bs-border-radius);
}
.rounded-bottom-3 {
  border-bottom-right-radius: var(--bs-border-radius-lg);
  border-bottom-left-radius: var(--bs-border-radius-lg);
}
.rounded-bottom-4 {
  border-bottom-right-radius: var(--bs-border-radius-xl);
  border-bottom-left-radius: var(--bs-border-radius-xl);
}
.rounded-bottom-5 {
  border-bottom-right-radius: var(--bs-border-radius-xxl);
  border-bottom-left-radius: var(--bs-border-radius-xxl);
}
.rounded-bottom-circle {
  border-bottom-right-radius: 50%;
  border-bottom-left-radius: 50%;
}
.rounded-bottom-pill {
  border-bottom-right-radius: var(--bs-border-radius-pill);
  border-bottom-left-radius: var(--bs-border-radius-pill);
}
.rounded-start {
  border-bottom-left-radius: var(--bs-border-radius);
  border-top-left-radius: var(--bs-border-radius);
}
.rounded-start-0 {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.rounded-start-1 {
  border-bottom-left-radius: var(--bs-border-radius-sm);
  border-top-left-radius: var(--bs-border-radius-sm);
}
.rounded-start-2 {
  border-bottom-left-radius: var(--bs-border-radius);
  border-top-left-radius: var(--bs-border-radius);
}
.rounded-start-3 {
  border-bottom-left-radius: var(--bs-border-radius-lg);
  border-top-left-radius: var(--bs-border-radius-lg);
}
.rounded-start-4 {
  border-bottom-left-radius: var(--bs-border-radius-xl);
  border-top-left-radius: var(--bs-border-radius-xl);
}
.rounded-start-5 {
  border-bottom-left-radius: var(--bs-border-radius-xxl);
  border-top-left-radius: var(--bs-border-radius-xxl);
}
.rounded-start-circle {
  border-bottom-left-radius: 50%;
  border-top-left-radius: 50%;
}
.rounded-start-pill {
  border-bottom-left-radius: var(--bs-border-radius-pill);
  border-top-left-radius: var(--bs-border-radius-pill);
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.z-n1 {
  z-index: -1;
}
.z-0 {
  z-index: 0;
}
.z-1 {
  z-index: 1;
}
.z-2 {
  z-index: 2;
}
.z-3 {
  z-index: 3;
}
.z-4 {
  z-index: 4;
}
.z-5 {
  z-index: 5;
}
@media (min-width: 576px) {
  .float-sm-start {
    float: left;
  }
  .float-sm-end {
    float: right;
  }
  .float-sm-none {
    float: none;
  }
  .object-fit-sm-contain {
    object-fit: contain;
  }
  .object-fit-sm-cover {
    object-fit: cover;
  }
  .object-fit-sm-fill {
    object-fit: fill;
  }
  .object-fit-sm-scale {
    object-fit: scale-down;
  }
  .object-fit-sm-none {
    object-fit: none;
  }
  .d-sm-inline {
    display: inline;
  }
  .d-sm-inline-block {
    display: inline-block;
  }
  .d-sm-block {
    display: block;
  }
  .d-sm-grid {
    display: grid;
  }
  .d-sm-inline-grid {
    display: inline-grid;
  }
  .d-sm-table {
    display: table;
  }
  .d-sm-table-row {
    display: table-row;
  }
  .d-sm-table-cell {
    display: table-cell;
  }
  .d-sm-flex {
    display: flex;
  }
  .d-sm-inline-flex {
    display: inline-flex;
  }
  .d-sm-none {
    display: none;
  }
  .flex-sm-fill {
    flex: 1 1 auto;
  }
  .flex-sm-row {
    flex-direction: row;
  }
  .flex-sm-column {
    flex-direction: column;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-sm-grow-0 {
    flex-grow: 0;
  }
  .flex-sm-grow-1 {
    flex-grow: 1;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1;
  }
  .flex-sm-wrap {
    flex-wrap: wrap;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-sm-start {
    justify-content: flex-start;
  }
  .justify-content-sm-end {
    justify-content: flex-end;
  }
  .justify-content-sm-center {
    justify-content: center;
  }
  .justify-content-sm-between {
    justify-content: space-between;
  }
  .justify-content-sm-around {
    justify-content: space-around;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly;
  }
  .align-items-sm-start {
    align-items: flex-start;
  }
  .align-items-sm-end {
    align-items: flex-end;
  }
  .align-items-sm-center {
    align-items: center;
  }
  .align-items-sm-baseline {
    align-items: baseline;
  }
  .align-items-sm-stretch {
    align-items: stretch;
  }
  .align-content-sm-start {
    align-content: flex-start;
  }
  .align-content-sm-end {
    align-content: flex-end;
  }
  .align-content-sm-center {
    align-content: center;
  }
  .align-content-sm-between {
    align-content: space-between;
  }
  .align-content-sm-around {
    align-content: space-around;
  }
  .align-content-sm-stretch {
    align-content: stretch;
  }
  .align-self-sm-auto {
    align-self: auto;
  }
  .align-self-sm-start {
    align-self: flex-start;
  }
  .align-self-sm-end {
    align-self: flex-end;
  }
  .align-self-sm-center {
    align-self: center;
  }
  .align-self-sm-baseline {
    align-self: baseline;
  }
  .align-self-sm-stretch {
    align-self: stretch;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-0 {
    order: 0;
  }
  .order-sm-1 {
    order: 1;
  }
  .order-sm-2 {
    order: 2;
  }
  .order-sm-3 {
    order: 3;
  }
  .order-sm-4 {
    order: 4;
  }
  .order-sm-5 {
    order: 5;
  }
  .order-sm-last {
    order: 6;
  }
  .m-sm-0 {
    margin: 0;
  }
  .m-sm-1 {
    margin: 0.25rem;
  }
  .m-sm-2 {
    margin: 0.5rem;
  }
  .m-sm-3 {
    margin: 1rem;
  }
  .m-sm-4 {
    margin: 1.5rem;
  }
  .m-sm-5 {
    margin: 3rem;
  }
  .m-sm-auto {
    margin: auto;
  }
  .mx-sm-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-sm-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-sm-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-sm-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-sm-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-sm-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-sm-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-sm-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-sm-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-sm-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-sm-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-sm-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-sm-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-sm-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-sm-0 {
    margin-top: 0;
  }
  .mt-sm-1 {
    margin-top: 0.25rem;
  }
  .mt-sm-2 {
    margin-top: 0.5rem;
  }
  .mt-sm-3 {
    margin-top: 1rem;
  }
  .mt-sm-4 {
    margin-top: 1.5rem;
  }
  .mt-sm-5 {
    margin-top: 3rem;
  }
  .mt-sm-auto {
    margin-top: auto;
  }
  .me-sm-0 {
    margin-right: 0;
  }
  .me-sm-1 {
    margin-right: 0.25rem;
  }
  .me-sm-2 {
    margin-right: 0.5rem;
  }
  .me-sm-3 {
    margin-right: 1rem;
  }
  .me-sm-4 {
    margin-right: 1.5rem;
  }
  .me-sm-5 {
    margin-right: 3rem;
  }
  .me-sm-auto {
    margin-right: auto;
  }
  .mb-sm-0 {
    margin-bottom: 0;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem;
  }
  .mb-sm-3 {
    margin-bottom: 1rem;
  }
  .mb-sm-4 {
    margin-bottom: 1.5rem;
  }
  .mb-sm-5 {
    margin-bottom: 3rem;
  }
  .mb-sm-auto {
    margin-bottom: auto;
  }
  .ms-sm-0 {
    margin-left: 0;
  }
  .ms-sm-1 {
    margin-left: 0.25rem;
  }
  .ms-sm-2 {
    margin-left: 0.5rem;
  }
  .ms-sm-3 {
    margin-left: 1rem;
  }
  .ms-sm-4 {
    margin-left: 1.5rem;
  }
  .ms-sm-5 {
    margin-left: 3rem;
  }
  .ms-sm-auto {
    margin-left: auto;
  }
  .p-sm-0 {
    padding: 0;
  }
  .p-sm-1 {
    padding: 0.25rem;
  }
  .p-sm-2 {
    padding: 0.5rem;
  }
  .p-sm-3 {
    padding: 1rem;
  }
  .p-sm-4 {
    padding: 1.5rem;
  }
  .p-sm-5 {
    padding: 3rem;
  }
  .px-sm-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-sm-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-sm-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-sm-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-sm-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-sm-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-sm-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-sm-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-sm-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-sm-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-sm-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-sm-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-sm-0 {
    padding-top: 0;
  }
  .pt-sm-1 {
    padding-top: 0.25rem;
  }
  .pt-sm-2 {
    padding-top: 0.5rem;
  }
  .pt-sm-3 {
    padding-top: 1rem;
  }
  .pt-sm-4 {
    padding-top: 1.5rem;
  }
  .pt-sm-5 {
    padding-top: 3rem;
  }
  .pe-sm-0 {
    padding-right: 0;
  }
  .pe-sm-1 {
    padding-right: 0.25rem;
  }
  .pe-sm-2 {
    padding-right: 0.5rem;
  }
  .pe-sm-3 {
    padding-right: 1rem;
  }
  .pe-sm-4 {
    padding-right: 1.5rem;
  }
  .pe-sm-5 {
    padding-right: 3rem;
  }
  .pb-sm-0 {
    padding-bottom: 0;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem;
  }
  .pb-sm-3 {
    padding-bottom: 1rem;
  }
  .pb-sm-4 {
    padding-bottom: 1.5rem;
  }
  .pb-sm-5 {
    padding-bottom: 3rem;
  }
  .ps-sm-0 {
    padding-left: 0;
  }
  .ps-sm-1 {
    padding-left: 0.25rem;
  }
  .ps-sm-2 {
    padding-left: 0.5rem;
  }
  .ps-sm-3 {
    padding-left: 1rem;
  }
  .ps-sm-4 {
    padding-left: 1.5rem;
  }
  .ps-sm-5 {
    padding-left: 3rem;
  }
  .gap-sm-0 {
    gap: 0;
  }
  .gap-sm-1 {
    gap: 0.25rem;
  }
  .gap-sm-2 {
    gap: 0.5rem;
  }
  .gap-sm-3 {
    gap: 1rem;
  }
  .gap-sm-4 {
    gap: 1.5rem;
  }
  .gap-sm-5 {
    gap: 3rem;
  }
  .row-gap-sm-0 {
    row-gap: 0;
  }
  .row-gap-sm-1 {
    row-gap: 0.25rem;
  }
  .row-gap-sm-2 {
    row-gap: 0.5rem;
  }
  .row-gap-sm-3 {
    row-gap: 1rem;
  }
  .row-gap-sm-4 {
    row-gap: 1.5rem;
  }
  .row-gap-sm-5 {
    row-gap: 3rem;
  }
  .column-gap-sm-0 {
    column-gap: 0;
  }
  .column-gap-sm-1 {
    column-gap: 0.25rem;
  }
  .column-gap-sm-2 {
    column-gap: 0.5rem;
  }
  .column-gap-sm-3 {
    column-gap: 1rem;
  }
  .column-gap-sm-4 {
    column-gap: 1.5rem;
  }
  .column-gap-sm-5 {
    column-gap: 3rem;
  }
  .text-sm-start {
    text-align: left;
  }
  .text-sm-end {
    text-align: right;
  }
  .text-sm-center {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .float-md-start {
    float: left;
  }
  .float-md-end {
    float: right;
  }
  .float-md-none {
    float: none;
  }
  .object-fit-md-contain {
    object-fit: contain;
  }
  .object-fit-md-cover {
    object-fit: cover;
  }
  .object-fit-md-fill {
    object-fit: fill;
  }
  .object-fit-md-scale {
    object-fit: scale-down;
  }
  .object-fit-md-none {
    object-fit: none;
  }
  .d-md-inline {
    display: inline;
  }
  .d-md-inline-block {
    display: inline-block;
  }
  .d-md-block {
    display: block;
  }
  .d-md-grid {
    display: grid;
  }
  .d-md-inline-grid {
    display: inline-grid;
  }
  .d-md-table {
    display: table;
  }
  .d-md-table-row {
    display: table-row;
  }
  .d-md-table-cell {
    display: table-cell;
  }
  .d-md-flex {
    display: flex;
  }
  .d-md-inline-flex {
    display: inline-flex;
  }
  .d-md-none {
    display: none;
  }
  .flex-md-fill {
    flex: 1 1 auto;
  }
  .flex-md-row {
    flex-direction: row;
  }
  .flex-md-column {
    flex-direction: column;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-md-grow-0 {
    flex-grow: 0;
  }
  .flex-md-grow-1 {
    flex-grow: 1;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1;
  }
  .flex-md-wrap {
    flex-wrap: wrap;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-md-start {
    justify-content: flex-start;
  }
  .justify-content-md-end {
    justify-content: flex-end;
  }
  .justify-content-md-center {
    justify-content: center;
  }
  .justify-content-md-between {
    justify-content: space-between;
  }
  .justify-content-md-around {
    justify-content: space-around;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly;
  }
  .align-items-md-start {
    align-items: flex-start;
  }
  .align-items-md-end {
    align-items: flex-end;
  }
  .align-items-md-center {
    align-items: center;
  }
  .align-items-md-baseline {
    align-items: baseline;
  }
  .align-items-md-stretch {
    align-items: stretch;
  }
  .align-content-md-start {
    align-content: flex-start;
  }
  .align-content-md-end {
    align-content: flex-end;
  }
  .align-content-md-center {
    align-content: center;
  }
  .align-content-md-between {
    align-content: space-between;
  }
  .align-content-md-around {
    align-content: space-around;
  }
  .align-content-md-stretch {
    align-content: stretch;
  }
  .align-self-md-auto {
    align-self: auto;
  }
  .align-self-md-start {
    align-self: flex-start;
  }
  .align-self-md-end {
    align-self: flex-end;
  }
  .align-self-md-center {
    align-self: center;
  }
  .align-self-md-baseline {
    align-self: baseline;
  }
  .align-self-md-stretch {
    align-self: stretch;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-0 {
    order: 0;
  }
  .order-md-1 {
    order: 1;
  }
  .order-md-2 {
    order: 2;
  }
  .order-md-3 {
    order: 3;
  }
  .order-md-4 {
    order: 4;
  }
  .order-md-5 {
    order: 5;
  }
  .order-md-last {
    order: 6;
  }
  .m-md-0 {
    margin: 0;
  }
  .m-md-1 {
    margin: 0.25rem;
  }
  .m-md-2 {
    margin: 0.5rem;
  }
  .m-md-3 {
    margin: 1rem;
  }
  .m-md-4 {
    margin: 1.5rem;
  }
  .m-md-5 {
    margin: 3rem;
  }
  .m-md-auto {
    margin: auto;
  }
  .mx-md-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-md-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-md-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-md-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-md-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-md-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-md-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-md-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-md-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-md-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-md-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-md-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-md-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-md-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-md-0 {
    margin-top: 0;
  }
  .mt-md-1 {
    margin-top: 0.25rem;
  }
  .mt-md-2 {
    margin-top: 0.5rem;
  }
  .mt-md-3 {
    margin-top: 1rem;
  }
  .mt-md-4 {
    margin-top: 1.5rem;
  }
  .mt-md-5 {
    margin-top: 3rem;
  }
  .mt-md-auto {
    margin-top: auto;
  }
  .me-md-0 {
    margin-right: 0;
  }
  .me-md-1 {
    margin-right: 0.25rem;
  }
  .me-md-2 {
    margin-right: 0.5rem;
  }
  .me-md-3 {
    margin-right: 1rem;
  }
  .me-md-4 {
    margin-right: 1.5rem;
  }
  .me-md-5 {
    margin-right: 3rem;
  }
  .me-md-auto {
    margin-right: auto;
  }
  .mb-md-0 {
    margin-bottom: 0;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem;
  }
  .mb-md-3 {
    margin-bottom: 1rem;
  }
  .mb-md-4 {
    margin-bottom: 1.5rem;
  }
  .mb-md-5 {
    margin-bottom: 3rem;
  }
  .mb-md-auto {
    margin-bottom: auto;
  }
  .ms-md-0 {
    margin-left: 0;
  }
  .ms-md-1 {
    margin-left: 0.25rem;
  }
  .ms-md-2 {
    margin-left: 0.5rem;
  }
  .ms-md-3 {
    margin-left: 1rem;
  }
  .ms-md-4 {
    margin-left: 1.5rem;
  }
  .ms-md-5 {
    margin-left: 3rem;
  }
  .ms-md-auto {
    margin-left: auto;
  }
  .p-md-0 {
    padding: 0;
  }
  .p-md-1 {
    padding: 0.25rem;
  }
  .p-md-2 {
    padding: 0.5rem;
  }
  .p-md-3 {
    padding: 1rem;
  }
  .p-md-4 {
    padding: 1.5rem;
  }
  .p-md-5 {
    padding: 3rem;
  }
  .px-md-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-md-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-md-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-md-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-md-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-md-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-md-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-md-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-md-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-md-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-md-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-md-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-md-0 {
    padding-top: 0;
  }
  .pt-md-1 {
    padding-top: 0.25rem;
  }
  .pt-md-2 {
    padding-top: 0.5rem;
  }
  .pt-md-3 {
    padding-top: 1rem;
  }
  .pt-md-4 {
    padding-top: 1.5rem;
  }
  .pt-md-5 {
    padding-top: 3rem;
  }
  .pe-md-0 {
    padding-right: 0;
  }
  .pe-md-1 {
    padding-right: 0.25rem;
  }
  .pe-md-2 {
    padding-right: 0.5rem;
  }
  .pe-md-3 {
    padding-right: 1rem;
  }
  .pe-md-4 {
    padding-right: 1.5rem;
  }
  .pe-md-5 {
    padding-right: 3rem;
  }
  .pb-md-0 {
    padding-bottom: 0;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem;
  }
  .pb-md-3 {
    padding-bottom: 1rem;
  }
  .pb-md-4 {
    padding-bottom: 1.5rem;
  }
  .pb-md-5 {
    padding-bottom: 3rem;
  }
  .ps-md-0 {
    padding-left: 0;
  }
  .ps-md-1 {
    padding-left: 0.25rem;
  }
  .ps-md-2 {
    padding-left: 0.5rem;
  }
  .ps-md-3 {
    padding-left: 1rem;
  }
  .ps-md-4 {
    padding-left: 1.5rem;
  }
  .ps-md-5 {
    padding-left: 3rem;
  }
  .gap-md-0 {
    gap: 0;
  }
  .gap-md-1 {
    gap: 0.25rem;
  }
  .gap-md-2 {
    gap: 0.5rem;
  }
  .gap-md-3 {
    gap: 1rem;
  }
  .gap-md-4 {
    gap: 1.5rem;
  }
  .gap-md-5 {
    gap: 3rem;
  }
  .row-gap-md-0 {
    row-gap: 0;
  }
  .row-gap-md-1 {
    row-gap: 0.25rem;
  }
  .row-gap-md-2 {
    row-gap: 0.5rem;
  }
  .row-gap-md-3 {
    row-gap: 1rem;
  }
  .row-gap-md-4 {
    row-gap: 1.5rem;
  }
  .row-gap-md-5 {
    row-gap: 3rem;
  }
  .column-gap-md-0 {
    column-gap: 0;
  }
  .column-gap-md-1 {
    column-gap: 0.25rem;
  }
  .column-gap-md-2 {
    column-gap: 0.5rem;
  }
  .column-gap-md-3 {
    column-gap: 1rem;
  }
  .column-gap-md-4 {
    column-gap: 1.5rem;
  }
  .column-gap-md-5 {
    column-gap: 3rem;
  }
  .text-md-start {
    text-align: left;
  }
  .text-md-end {
    text-align: right;
  }
  .text-md-center {
    text-align: center;
  }
}
@media (min-width: 992px) {
  .float-lg-start {
    float: left;
  }
  .float-lg-end {
    float: right;
  }
  .float-lg-none {
    float: none;
  }
  .object-fit-lg-contain {
    object-fit: contain;
  }
  .object-fit-lg-cover {
    object-fit: cover;
  }
  .object-fit-lg-fill {
    object-fit: fill;
  }
  .object-fit-lg-scale {
    object-fit: scale-down;
  }
  .object-fit-lg-none {
    object-fit: none;
  }
  .d-lg-inline {
    display: inline;
  }
  .d-lg-inline-block {
    display: inline-block;
  }
  .d-lg-block {
    display: block;
  }
  .d-lg-grid {
    display: grid;
  }
  .d-lg-inline-grid {
    display: inline-grid;
  }
  .d-lg-table {
    display: table;
  }
  .d-lg-table-row {
    display: table-row;
  }
  .d-lg-table-cell {
    display: table-cell;
  }
  .d-lg-flex {
    display: flex;
  }
  .d-lg-inline-flex {
    display: inline-flex;
  }
  .d-lg-none {
    display: none;
  }
  .flex-lg-fill {
    flex: 1 1 auto;
  }
  .flex-lg-row {
    flex-direction: row;
  }
  .flex-lg-column {
    flex-direction: column;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-lg-grow-0 {
    flex-grow: 0;
  }
  .flex-lg-grow-1 {
    flex-grow: 1;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1;
  }
  .flex-lg-wrap {
    flex-wrap: wrap;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-lg-start {
    justify-content: flex-start;
  }
  .justify-content-lg-end {
    justify-content: flex-end;
  }
  .justify-content-lg-center {
    justify-content: center;
  }
  .justify-content-lg-between {
    justify-content: space-between;
  }
  .justify-content-lg-around {
    justify-content: space-around;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly;
  }
  .align-items-lg-start {
    align-items: flex-start;
  }
  .align-items-lg-end {
    align-items: flex-end;
  }
  .align-items-lg-center {
    align-items: center;
  }
  .align-items-lg-baseline {
    align-items: baseline;
  }
  .align-items-lg-stretch {
    align-items: stretch;
  }
  .align-content-lg-start {
    align-content: flex-start;
  }
  .align-content-lg-end {
    align-content: flex-end;
  }
  .align-content-lg-center {
    align-content: center;
  }
  .align-content-lg-between {
    align-content: space-between;
  }
  .align-content-lg-around {
    align-content: space-around;
  }
  .align-content-lg-stretch {
    align-content: stretch;
  }
  .align-self-lg-auto {
    align-self: auto;
  }
  .align-self-lg-start {
    align-self: flex-start;
  }
  .align-self-lg-end {
    align-self: flex-end;
  }
  .align-self-lg-center {
    align-self: center;
  }
  .align-self-lg-baseline {
    align-self: baseline;
  }
  .align-self-lg-stretch {
    align-self: stretch;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-0 {
    order: 0;
  }
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
  .order-lg-3 {
    order: 3;
  }
  .order-lg-4 {
    order: 4;
  }
  .order-lg-5 {
    order: 5;
  }
  .order-lg-last {
    order: 6;
  }
  .m-lg-0 {
    margin: 0;
  }
  .m-lg-1 {
    margin: 0.25rem;
  }
  .m-lg-2 {
    margin: 0.5rem;
  }
  .m-lg-3 {
    margin: 1rem;
  }
  .m-lg-4 {
    margin: 1.5rem;
  }
  .m-lg-5 {
    margin: 3rem;
  }
  .m-lg-auto {
    margin: auto;
  }
  .mx-lg-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-lg-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-lg-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-lg-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-lg-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-lg-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-lg-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-lg-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-lg-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-lg-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-lg-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-lg-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-lg-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-lg-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-lg-0 {
    margin-top: 0;
  }
  .mt-lg-1 {
    margin-top: 0.25rem;
  }
  .mt-lg-2 {
    margin-top: 0.5rem;
  }
  .mt-lg-3 {
    margin-top: 1rem;
  }
  .mt-lg-4 {
    margin-top: 1.5rem;
  }
  .mt-lg-5 {
    margin-top: 3rem;
  }
  .mt-lg-auto {
    margin-top: auto;
  }
  .me-lg-0 {
    margin-right: 0;
  }
  .me-lg-1 {
    margin-right: 0.25rem;
  }
  .me-lg-2 {
    margin-right: 0.5rem;
  }
  .me-lg-3 {
    margin-right: 1rem;
  }
  .me-lg-4 {
    margin-right: 1.5rem;
  }
  .me-lg-5 {
    margin-right: 3rem;
  }
  .me-lg-auto {
    margin-right: auto;
  }
  .mb-lg-0 {
    margin-bottom: 0;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem;
  }
  .mb-lg-3 {
    margin-bottom: 1rem;
  }
  .mb-lg-4 {
    margin-bottom: 1.5rem;
  }
  .mb-lg-5 {
    margin-bottom: 3rem;
  }
  .mb-lg-auto {
    margin-bottom: auto;
  }
  .ms-lg-0 {
    margin-left: 0;
  }
  .ms-lg-1 {
    margin-left: 0.25rem;
  }
  .ms-lg-2 {
    margin-left: 0.5rem;
  }
  .ms-lg-3 {
    margin-left: 1rem;
  }
  .ms-lg-4 {
    margin-left: 1.5rem;
  }
  .ms-lg-5 {
    margin-left: 3rem;
  }
  .ms-lg-auto {
    margin-left: auto;
  }
  .p-lg-0 {
    padding: 0;
  }
  .p-lg-1 {
    padding: 0.25rem;
  }
  .p-lg-2 {
    padding: 0.5rem;
  }
  .p-lg-3 {
    padding: 1rem;
  }
  .p-lg-4 {
    padding: 1.5rem;
  }
  .p-lg-5 {
    padding: 3rem;
  }
  .px-lg-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-lg-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-lg-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-lg-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-lg-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-lg-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-lg-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-lg-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-lg-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-lg-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-lg-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-lg-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-lg-0 {
    padding-top: 0;
  }
  .pt-lg-1 {
    padding-top: 0.25rem;
  }
  .pt-lg-2 {
    padding-top: 0.5rem;
  }
  .pt-lg-3 {
    padding-top: 1rem;
  }
  .pt-lg-4 {
    padding-top: 1.5rem;
  }
  .pt-lg-5 {
    padding-top: 3rem;
  }
  .pe-lg-0 {
    padding-right: 0;
  }
  .pe-lg-1 {
    padding-right: 0.25rem;
  }
  .pe-lg-2 {
    padding-right: 0.5rem;
  }
  .pe-lg-3 {
    padding-right: 1rem;
  }
  .pe-lg-4 {
    padding-right: 1.5rem;
  }
  .pe-lg-5 {
    padding-right: 3rem;
  }
  .pb-lg-0 {
    padding-bottom: 0;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem;
  }
  .pb-lg-3 {
    padding-bottom: 1rem;
  }
  .pb-lg-4 {
    padding-bottom: 1.5rem;
  }
  .pb-lg-5 {
    padding-bottom: 3rem;
  }
  .ps-lg-0 {
    padding-left: 0;
  }
  .ps-lg-1 {
    padding-left: 0.25rem;
  }
  .ps-lg-2 {
    padding-left: 0.5rem;
  }
  .ps-lg-3 {
    padding-left: 1rem;
  }
  .ps-lg-4 {
    padding-left: 1.5rem;
  }
  .ps-lg-5 {
    padding-left: 3rem;
  }
  .gap-lg-0 {
    gap: 0;
  }
  .gap-lg-1 {
    gap: 0.25rem;
  }
  .gap-lg-2 {
    gap: 0.5rem;
  }
  .gap-lg-3 {
    gap: 1rem;
  }
  .gap-lg-4 {
    gap: 1.5rem;
  }
  .gap-lg-5 {
    gap: 3rem;
  }
  .row-gap-lg-0 {
    row-gap: 0;
  }
  .row-gap-lg-1 {
    row-gap: 0.25rem;
  }
  .row-gap-lg-2 {
    row-gap: 0.5rem;
  }
  .row-gap-lg-3 {
    row-gap: 1rem;
  }
  .row-gap-lg-4 {
    row-gap: 1.5rem;
  }
  .row-gap-lg-5 {
    row-gap: 3rem;
  }
  .column-gap-lg-0 {
    column-gap: 0;
  }
  .column-gap-lg-1 {
    column-gap: 0.25rem;
  }
  .column-gap-lg-2 {
    column-gap: 0.5rem;
  }
  .column-gap-lg-3 {
    column-gap: 1rem;
  }
  .column-gap-lg-4 {
    column-gap: 1.5rem;
  }
  .column-gap-lg-5 {
    column-gap: 3rem;
  }
  .text-lg-start {
    text-align: left;
  }
  .text-lg-end {
    text-align: right;
  }
  .text-lg-center {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .float-xl-start {
    float: left;
  }
  .float-xl-end {
    float: right;
  }
  .float-xl-none {
    float: none;
  }
  .object-fit-xl-contain {
    object-fit: contain;
  }
  .object-fit-xl-cover {
    object-fit: cover;
  }
  .object-fit-xl-fill {
    object-fit: fill;
  }
  .object-fit-xl-scale {
    object-fit: scale-down;
  }
  .object-fit-xl-none {
    object-fit: none;
  }
  .d-xl-inline {
    display: inline;
  }
  .d-xl-inline-block {
    display: inline-block;
  }
  .d-xl-block {
    display: block;
  }
  .d-xl-grid {
    display: grid;
  }
  .d-xl-inline-grid {
    display: inline-grid;
  }
  .d-xl-table {
    display: table;
  }
  .d-xl-table-row {
    display: table-row;
  }
  .d-xl-table-cell {
    display: table-cell;
  }
  .d-xl-flex {
    display: flex;
  }
  .d-xl-inline-flex {
    display: inline-flex;
  }
  .d-xl-none {
    display: none;
  }
  .flex-xl-fill {
    flex: 1 1 auto;
  }
  .flex-xl-row {
    flex-direction: row;
  }
  .flex-xl-column {
    flex-direction: column;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-xl-grow-0 {
    flex-grow: 0;
  }
  .flex-xl-grow-1 {
    flex-grow: 1;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1;
  }
  .flex-xl-wrap {
    flex-wrap: wrap;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-xl-start {
    justify-content: flex-start;
  }
  .justify-content-xl-end {
    justify-content: flex-end;
  }
  .justify-content-xl-center {
    justify-content: center;
  }
  .justify-content-xl-between {
    justify-content: space-between;
  }
  .justify-content-xl-around {
    justify-content: space-around;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly;
  }
  .align-items-xl-start {
    align-items: flex-start;
  }
  .align-items-xl-end {
    align-items: flex-end;
  }
  .align-items-xl-center {
    align-items: center;
  }
  .align-items-xl-baseline {
    align-items: baseline;
  }
  .align-items-xl-stretch {
    align-items: stretch;
  }
  .align-content-xl-start {
    align-content: flex-start;
  }
  .align-content-xl-end {
    align-content: flex-end;
  }
  .align-content-xl-center {
    align-content: center;
  }
  .align-content-xl-between {
    align-content: space-between;
  }
  .align-content-xl-around {
    align-content: space-around;
  }
  .align-content-xl-stretch {
    align-content: stretch;
  }
  .align-self-xl-auto {
    align-self: auto;
  }
  .align-self-xl-start {
    align-self: flex-start;
  }
  .align-self-xl-end {
    align-self: flex-end;
  }
  .align-self-xl-center {
    align-self: center;
  }
  .align-self-xl-baseline {
    align-self: baseline;
  }
  .align-self-xl-stretch {
    align-self: stretch;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-0 {
    order: 0;
  }
  .order-xl-1 {
    order: 1;
  }
  .order-xl-2 {
    order: 2;
  }
  .order-xl-3 {
    order: 3;
  }
  .order-xl-4 {
    order: 4;
  }
  .order-xl-5 {
    order: 5;
  }
  .order-xl-last {
    order: 6;
  }
  .m-xl-0 {
    margin: 0;
  }
  .m-xl-1 {
    margin: 0.25rem;
  }
  .m-xl-2 {
    margin: 0.5rem;
  }
  .m-xl-3 {
    margin: 1rem;
  }
  .m-xl-4 {
    margin: 1.5rem;
  }
  .m-xl-5 {
    margin: 3rem;
  }
  .m-xl-auto {
    margin: auto;
  }
  .mx-xl-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-xl-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-xl-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-xl-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-xl-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-xl-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-xl-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-xl-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-xl-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-xl-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-xl-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-xl-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-xl-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-xl-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-xl-0 {
    margin-top: 0;
  }
  .mt-xl-1 {
    margin-top: 0.25rem;
  }
  .mt-xl-2 {
    margin-top: 0.5rem;
  }
  .mt-xl-3 {
    margin-top: 1rem;
  }
  .mt-xl-4 {
    margin-top: 1.5rem;
  }
  .mt-xl-5 {
    margin-top: 3rem;
  }
  .mt-xl-auto {
    margin-top: auto;
  }
  .me-xl-0 {
    margin-right: 0;
  }
  .me-xl-1 {
    margin-right: 0.25rem;
  }
  .me-xl-2 {
    margin-right: 0.5rem;
  }
  .me-xl-3 {
    margin-right: 1rem;
  }
  .me-xl-4 {
    margin-right: 1.5rem;
  }
  .me-xl-5 {
    margin-right: 3rem;
  }
  .me-xl-auto {
    margin-right: auto;
  }
  .mb-xl-0 {
    margin-bottom: 0;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem;
  }
  .mb-xl-3 {
    margin-bottom: 1rem;
  }
  .mb-xl-4 {
    margin-bottom: 1.5rem;
  }
  .mb-xl-5 {
    margin-bottom: 3rem;
  }
  .mb-xl-auto {
    margin-bottom: auto;
  }
  .ms-xl-0 {
    margin-left: 0;
  }
  .ms-xl-1 {
    margin-left: 0.25rem;
  }
  .ms-xl-2 {
    margin-left: 0.5rem;
  }
  .ms-xl-3 {
    margin-left: 1rem;
  }
  .ms-xl-4 {
    margin-left: 1.5rem;
  }
  .ms-xl-5 {
    margin-left: 3rem;
  }
  .ms-xl-auto {
    margin-left: auto;
  }
  .p-xl-0 {
    padding: 0;
  }
  .p-xl-1 {
    padding: 0.25rem;
  }
  .p-xl-2 {
    padding: 0.5rem;
  }
  .p-xl-3 {
    padding: 1rem;
  }
  .p-xl-4 {
    padding: 1.5rem;
  }
  .p-xl-5 {
    padding: 3rem;
  }
  .px-xl-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-xl-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-xl-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-xl-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-xl-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-xl-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-xl-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-xl-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-xl-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-xl-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-xl-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-xl-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-xl-0 {
    padding-top: 0;
  }
  .pt-xl-1 {
    padding-top: 0.25rem;
  }
  .pt-xl-2 {
    padding-top: 0.5rem;
  }
  .pt-xl-3 {
    padding-top: 1rem;
  }
  .pt-xl-4 {
    padding-top: 1.5rem;
  }
  .pt-xl-5 {
    padding-top: 3rem;
  }
  .pe-xl-0 {
    padding-right: 0;
  }
  .pe-xl-1 {
    padding-right: 0.25rem;
  }
  .pe-xl-2 {
    padding-right: 0.5rem;
  }
  .pe-xl-3 {
    padding-right: 1rem;
  }
  .pe-xl-4 {
    padding-right: 1.5rem;
  }
  .pe-xl-5 {
    padding-right: 3rem;
  }
  .pb-xl-0 {
    padding-bottom: 0;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem;
  }
  .pb-xl-3 {
    padding-bottom: 1rem;
  }
  .pb-xl-4 {
    padding-bottom: 1.5rem;
  }
  .pb-xl-5 {
    padding-bottom: 3rem;
  }
  .ps-xl-0 {
    padding-left: 0;
  }
  .ps-xl-1 {
    padding-left: 0.25rem;
  }
  .ps-xl-2 {
    padding-left: 0.5rem;
  }
  .ps-xl-3 {
    padding-left: 1rem;
  }
  .ps-xl-4 {
    padding-left: 1.5rem;
  }
  .ps-xl-5 {
    padding-left: 3rem;
  }
  .gap-xl-0 {
    gap: 0;
  }
  .gap-xl-1 {
    gap: 0.25rem;
  }
  .gap-xl-2 {
    gap: 0.5rem;
  }
  .gap-xl-3 {
    gap: 1rem;
  }
  .gap-xl-4 {
    gap: 1.5rem;
  }
  .gap-xl-5 {
    gap: 3rem;
  }
  .row-gap-xl-0 {
    row-gap: 0;
  }
  .row-gap-xl-1 {
    row-gap: 0.25rem;
  }
  .row-gap-xl-2 {
    row-gap: 0.5rem;
  }
  .row-gap-xl-3 {
    row-gap: 1rem;
  }
  .row-gap-xl-4 {
    row-gap: 1.5rem;
  }
  .row-gap-xl-5 {
    row-gap: 3rem;
  }
  .column-gap-xl-0 {
    column-gap: 0;
  }
  .column-gap-xl-1 {
    column-gap: 0.25rem;
  }
  .column-gap-xl-2 {
    column-gap: 0.5rem;
  }
  .column-gap-xl-3 {
    column-gap: 1rem;
  }
  .column-gap-xl-4 {
    column-gap: 1.5rem;
  }
  .column-gap-xl-5 {
    column-gap: 3rem;
  }
  .text-xl-start {
    text-align: left;
  }
  .text-xl-end {
    text-align: right;
  }
  .text-xl-center {
    text-align: center;
  }
}
@media (min-width: 1400px) {
  .float-xxl-start {
    float: left;
  }
  .float-xxl-end {
    float: right;
  }
  .float-xxl-none {
    float: none;
  }
  .object-fit-xxl-contain {
    object-fit: contain;
  }
  .object-fit-xxl-cover {
    object-fit: cover;
  }
  .object-fit-xxl-fill {
    object-fit: fill;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down;
  }
  .object-fit-xxl-none {
    object-fit: none;
  }
  .d-xxl-inline {
    display: inline;
  }
  .d-xxl-inline-block {
    display: inline-block;
  }
  .d-xxl-block {
    display: block;
  }
  .d-xxl-grid {
    display: grid;
  }
  .d-xxl-inline-grid {
    display: inline-grid;
  }
  .d-xxl-table {
    display: table;
  }
  .d-xxl-table-row {
    display: table-row;
  }
  .d-xxl-table-cell {
    display: table-cell;
  }
  .d-xxl-flex {
    display: flex;
  }
  .d-xxl-inline-flex {
    display: inline-flex;
  }
  .d-xxl-none {
    display: none;
  }
  .flex-xxl-fill {
    flex: 1 1 auto;
  }
  .flex-xxl-row {
    flex-direction: row;
  }
  .flex-xxl-column {
    flex-direction: column;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  .justify-content-xxl-start {
    justify-content: flex-start;
  }
  .justify-content-xxl-end {
    justify-content: flex-end;
  }
  .justify-content-xxl-center {
    justify-content: center;
  }
  .justify-content-xxl-between {
    justify-content: space-between;
  }
  .justify-content-xxl-around {
    justify-content: space-around;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly;
  }
  .align-items-xxl-start {
    align-items: flex-start;
  }
  .align-items-xxl-end {
    align-items: flex-end;
  }
  .align-items-xxl-center {
    align-items: center;
  }
  .align-items-xxl-baseline {
    align-items: baseline;
  }
  .align-items-xxl-stretch {
    align-items: stretch;
  }
  .align-content-xxl-start {
    align-content: flex-start;
  }
  .align-content-xxl-end {
    align-content: flex-end;
  }
  .align-content-xxl-center {
    align-content: center;
  }
  .align-content-xxl-between {
    align-content: space-between;
  }
  .align-content-xxl-around {
    align-content: space-around;
  }
  .align-content-xxl-stretch {
    align-content: stretch;
  }
  .align-self-xxl-auto {
    align-self: auto;
  }
  .align-self-xxl-start {
    align-self: flex-start;
  }
  .align-self-xxl-end {
    align-self: flex-end;
  }
  .align-self-xxl-center {
    align-self: center;
  }
  .align-self-xxl-baseline {
    align-self: baseline;
  }
  .align-self-xxl-stretch {
    align-self: stretch;
  }
  .order-xxl-first {
    order: -1;
  }
  .order-xxl-0 {
    order: 0;
  }
  .order-xxl-1 {
    order: 1;
  }
  .order-xxl-2 {
    order: 2;
  }
  .order-xxl-3 {
    order: 3;
  }
  .order-xxl-4 {
    order: 4;
  }
  .order-xxl-5 {
    order: 5;
  }
  .order-xxl-last {
    order: 6;
  }
  .m-xxl-0 {
    margin: 0;
  }
  .m-xxl-1 {
    margin: 0.25rem;
  }
  .m-xxl-2 {
    margin: 0.5rem;
  }
  .m-xxl-3 {
    margin: 1rem;
  }
  .m-xxl-4 {
    margin: 1.5rem;
  }
  .m-xxl-5 {
    margin: 3rem;
  }
  .m-xxl-auto {
    margin: auto;
  }
  .mx-xxl-0 {
    margin-right: 0;
    margin-left: 0;
  }
  .mx-xxl-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
  }
  .mx-xxl-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
  .mx-xxl-3 {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .mx-xxl-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
  }
  .mx-xxl-5 {
    margin-right: 3rem;
    margin-left: 3rem;
  }
  .mx-xxl-auto {
    margin-right: auto;
    margin-left: auto;
  }
  .my-xxl-0 {
    margin-top: 0;
    margin-bottom: 0;
  }
  .my-xxl-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .my-xxl-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .my-xxl-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .my-xxl-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .my-xxl-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
  .my-xxl-auto {
    margin-top: auto;
    margin-bottom: auto;
  }
  .mt-xxl-0 {
    margin-top: 0;
  }
  .mt-xxl-1 {
    margin-top: 0.25rem;
  }
  .mt-xxl-2 {
    margin-top: 0.5rem;
  }
  .mt-xxl-3 {
    margin-top: 1rem;
  }
  .mt-xxl-4 {
    margin-top: 1.5rem;
  }
  .mt-xxl-5 {
    margin-top: 3rem;
  }
  .mt-xxl-auto {
    margin-top: auto;
  }
  .me-xxl-0 {
    margin-right: 0;
  }
  .me-xxl-1 {
    margin-right: 0.25rem;
  }
  .me-xxl-2 {
    margin-right: 0.5rem;
  }
  .me-xxl-3 {
    margin-right: 1rem;
  }
  .me-xxl-4 {
    margin-right: 1.5rem;
  }
  .me-xxl-5 {
    margin-right: 3rem;
  }
  .me-xxl-auto {
    margin-right: auto;
  }
  .mb-xxl-0 {
    margin-bottom: 0;
  }
  .mb-xxl-1 {
    margin-bottom: 0.25rem;
  }
  .mb-xxl-2 {
    margin-bottom: 0.5rem;
  }
  .mb-xxl-3 {
    margin-bottom: 1rem;
  }
  .mb-xxl-4 {
    margin-bottom: 1.5rem;
  }
  .mb-xxl-5 {
    margin-bottom: 3rem;
  }
  .mb-xxl-auto {
    margin-bottom: auto;
  }
  .ms-xxl-0 {
    margin-left: 0;
  }
  .ms-xxl-1 {
    margin-left: 0.25rem;
  }
  .ms-xxl-2 {
    margin-left: 0.5rem;
  }
  .ms-xxl-3 {
    margin-left: 1rem;
  }
  .ms-xxl-4 {
    margin-left: 1.5rem;
  }
  .ms-xxl-5 {
    margin-left: 3rem;
  }
  .ms-xxl-auto {
    margin-left: auto;
  }
  .p-xxl-0 {
    padding: 0;
  }
  .p-xxl-1 {
    padding: 0.25rem;
  }
  .p-xxl-2 {
    padding: 0.5rem;
  }
  .p-xxl-3 {
    padding: 1rem;
  }
  .p-xxl-4 {
    padding: 1.5rem;
  }
  .p-xxl-5 {
    padding: 3rem;
  }
  .px-xxl-0 {
    padding-right: 0;
    padding-left: 0;
  }
  .px-xxl-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
  }
  .px-xxl-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .px-xxl-3 {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .px-xxl-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
  }
  .px-xxl-5 {
    padding-right: 3rem;
    padding-left: 3rem;
  }
  .py-xxl-0 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .py-xxl-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .py-xxl-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .py-xxl-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .py-xxl-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .py-xxl-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .pt-xxl-0 {
    padding-top: 0;
  }
  .pt-xxl-1 {
    padding-top: 0.25rem;
  }
  .pt-xxl-2 {
    padding-top: 0.5rem;
  }
  .pt-xxl-3 {
    padding-top: 1rem;
  }
  .pt-xxl-4 {
    padding-top: 1.5rem;
  }
  .pt-xxl-5 {
    padding-top: 3rem;
  }
  .pe-xxl-0 {
    padding-right: 0;
  }
  .pe-xxl-1 {
    padding-right: 0.25rem;
  }
  .pe-xxl-2 {
    padding-right: 0.5rem;
  }
  .pe-xxl-3 {
    padding-right: 1rem;
  }
  .pe-xxl-4 {
    padding-right: 1.5rem;
  }
  .pe-xxl-5 {
    padding-right: 3rem;
  }
  .pb-xxl-0 {
    padding-bottom: 0;
  }
  .pb-xxl-1 {
    padding-bottom: 0.25rem;
  }
  .pb-xxl-2 {
    padding-bottom: 0.5rem;
  }
  .pb-xxl-3 {
    padding-bottom: 1rem;
  }
  .pb-xxl-4 {
    padding-bottom: 1.5rem;
  }
  .pb-xxl-5 {
    padding-bottom: 3rem;
  }
  .ps-xxl-0 {
    padding-left: 0;
  }
  .ps-xxl-1 {
    padding-left: 0.25rem;
  }
  .ps-xxl-2 {
    padding-left: 0.5rem;
  }
  .ps-xxl-3 {
    padding-left: 1rem;
  }
  .ps-xxl-4 {
    padding-left: 1.5rem;
  }
  .ps-xxl-5 {
    padding-left: 3rem;
  }
  .gap-xxl-0 {
    gap: 0;
  }
  .gap-xxl-1 {
    gap: 0.25rem;
  }
  .gap-xxl-2 {
    gap: 0.5rem;
  }
  .gap-xxl-3 {
    gap: 1rem;
  }
  .gap-xxl-4 {
    gap: 1.5rem;
  }
  .gap-xxl-5 {
    gap: 3rem;
  }
  .row-gap-xxl-0 {
    row-gap: 0;
  }
  .row-gap-xxl-1 {
    row-gap: 0.25rem;
  }
  .row-gap-xxl-2 {
    row-gap: 0.5rem;
  }
  .row-gap-xxl-3 {
    row-gap: 1rem;
  }
  .row-gap-xxl-4 {
    row-gap: 1.5rem;
  }
  .row-gap-xxl-5 {
    row-gap: 3rem;
  }
  .column-gap-xxl-0 {
    column-gap: 0;
  }
  .column-gap-xxl-1 {
    column-gap: 0.25rem;
  }
  .column-gap-xxl-2 {
    column-gap: 0.5rem;
  }
  .column-gap-xxl-3 {
    column-gap: 1rem;
  }
  .column-gap-xxl-4 {
    column-gap: 1.5rem;
  }
  .column-gap-xxl-5 {
    column-gap: 3rem;
  }
  .text-xxl-start {
    text-align: left;
  }
  .text-xxl-end {
    text-align: right;
  }
  .text-xxl-center {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.25rem;
  }
  .fs-2 {
    font-size: 1.75rem;
  }
  .fs-3 {
    font-size: 1.5rem;
  }
}
@media print {
  .d-print-inline {
    display: inline;
  }
  .d-print-inline-block {
    display: inline-block;
  }
  .d-print-block {
    display: block;
  }
  .d-print-grid {
    display: grid;
  }
  .d-print-inline-grid {
    display: inline-grid;
  }
  .d-print-table {
    display: table;
  }
  .d-print-table-row {
    display: table-row;
  }
  .d-print-table-cell {
    display: table-cell;
  }
  .d-print-flex {
    display: flex;
  }
  .d-print-inline-flex {
    display: inline-flex;
  }
  .d-print-none {
    display: none;
  }
}
/*
Tiny slider
==================================================
Import of Tiny slider vendor.

https://github.com/ganlanyuan/tiny-slider

@sw-package framework
*/
.tns-outer {
  padding: 0 !important;
}
.tns-outer [hidden] {
  display: none !important;
}
.tns-outer [aria-controls], .tns-outer [data-action] {
  cursor: pointer;
}
.tns-slider {
  -webkit-transition: all 0s;
  -moz-transition: all 0s;
  transition: all 0s;
}
.tns-slider > .tns-item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}
.tns-horizontal.tns-subpixel > .tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}
.tns-horizontal.tns-no-subpixel:after {
  content: "";
  display: table;
  clear: both;
}
.tns-horizontal.tns-no-subpixel > .tns-item {
  float: left;
}
.tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
  margin-right: -100%;
}
.tns-no-calc {
  position: relative;
  left: 0;
}
.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}
.tns-gallery > .tns-item {
  position: absolute;
  left: -100%;
  -webkit-transition: transform 0s, opacity 0s;
  -moz-transition: transform 0s, opacity 0s;
  transition: transform 0s, opacity 0s;
}
.tns-gallery > .tns-slide-active {
  position: relative;
  left: auto !important;
}
.tns-gallery > .tns-moving {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
.tns-autowidth {
  display: inline-block;
}
.tns-lazy-img {
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  transition: opacity 0.6s;
  opacity: 0.6;
}
.tns-lazy-img.tns-complete {
  opacity: 1;
}
.tns-ah {
  -webkit-transition: height 0s;
  -moz-transition: height 0s;
  transition: height 0s;
}
.tns-ovh {
  overflow: hidden;
}
.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}
.tns-transparent {
  opacity: 0;
  visibility: hidden;
}
.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}
.tns-normal, .tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}
.tns-vpfix {
  white-space: nowrap;
}
.tns-vpfix > div, .tns-vpfix > li {
  display: inline-block;
}
.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}
.tns-t-ct {
  width: 2333.3333333333%;
  width: -webkit-calc(100% * 70 / 3);
  width: -moz-calc(100% * 70 / 3);
  width: calc(100% * 70 / 3);
  position: absolute;
  right: 0;
}
.tns-t-ct:after {
  content: "";
  display: table;
  clear: both;
}
.tns-t-ct > div {
  width: 1.4285714286%;
  width: -webkit-calc(100% / 70);
  width: -moz-calc(100% / 70);
  width: calc(100% / 70);
  height: 10px;
  float: left;
}
/*
Datepicker
==================================================
Import of flatpickr vendor.

https://flatpickr.js.org/getting-started/
*/
.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
  animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
  box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08);
}
.flatpickr-calendar.open, .flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
  animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before, .flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before, .flatpickr-calendar.arrowRight:before, .flatpickr-calendar.rightMost:after, .flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before, .flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before, .flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before, .flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
.flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0, 0, 0, 0.9);
  fill: rgba(0, 0, 0, 0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, .flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
  /*
      /*rtl:begin:ignore*/
  left: 0;
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, .flatpickr-months .flatpickr-next-month.flatpickr-next-month {
  /*
      /*rtl:begin:ignore*/
  right: 0;
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover, .flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path, .flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input, .numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button, .numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57, 57, 57, 0.15);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0, 0, 0, 0.1);
}
.numInputWrapper span:active {
  background: rgba(0, 0, 0, 0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57, 57, 57, 0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57, 57, 57, 0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0, 0, 0, 0.5);
}
.numInputWrapper:hover {
  background: rgba(0, 0, 0, 0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch \0 ;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0, 0, 0, 0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0, 0, 0, 0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled], .flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0, 0, 0, 0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0, 0, 0, 0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0, 0, 0, 0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: bolder;
}
.dayContainer, .flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
  box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
  -ms-flex-preferred-size: 14.2857143%;
  flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange, .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange, .flatpickr-day.today.inRange, .flatpickr-day.prevMonthDay.today.inRange, .flatpickr-day.nextMonthDay.today.inRange, .flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover, .flatpickr-day:focus, .flatpickr-day.prevMonthDay:focus, .flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover, .flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
  box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange, .flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
  box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57, 57, 57, 0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
  box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
  box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day, .flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57, 57, 57, 0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator, .flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
/*
 * Base stuff
 * ---------- */
/*
Base
==================================================
Contains global base styles for all pages

@sw-package framework
*/
html {
  /* stylelint-disable selector-class-pattern -- allow BEM here as it is a generated class name from the administration
     * sw-text-editor component adds a column selector to configure the width of table columns
     * this must no be shown in the storefront as it breaks table layouts
     */
  /* stylelint-enable selector-class-pattern */
}
html.no-scroll {
  position: relative;
  overflow: hidden;
}
html .sw-text-editor-table .sw-text-editor-table__col {
  border: 1px solid #000;
  padding: 8px;
  text-align: left;
}
html .sw-text-editor-table .sw-text-editor-table__col-selector {
  display: none;
}
html .sw-text-editor-table__head td {
  background: #eee;
}
@media (max-width: 575.98px) {
  :root {
    --sw-current-breakpoint: "xs";
  }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  :root {
    --sw-current-breakpoint: "sm";
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  :root {
    --sw-current-breakpoint: "md";
  }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  :root {
    --sw-current-breakpoint: "lg";
  }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
  :root {
    --sw-current-breakpoint: "xl";
  }
}
@media (min-width: 1400px) {
  :root {
    --sw-current-breakpoint: "xxl";
  }
}
/*
Reboot
==================================================
Reboot styles using only element selectors.

@sw-package framework

https://getbootstrap.com/docs/5.2/content/reboot
*/
input[type="search"]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}
input[type="search"]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
  display: none;
}
a[data-ajax-modal] {
  text-decoration: underline;
}
/*
 * Components
 * ---------- */
/*
Alert
==============================================
Custom styling for bootstrap alert component.

https://getbootstrap.com/docs/5.2/components/alerts
*/
.alert-list {
  padding-left: 20px;
  margin-bottom: 0;
}
/*
Card
==============================================
Custom styling for bootstrap card component.

https://getbootstrap.com/docs/5.2/components/card
*/
.card-title {
  color: #2b3136;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
}
.card-col {
  margin-bottom: 1rem;
  display: flex;
}
.card-col .card {
  width: 100%;
}
.card-col .card-body {
  display: flex;
  flex-direction: column;
}
.card-actions {
  align-items: flex-start;
  margin-top: auto;
}
/*
Sidebar category navigation
==============================================
Styling for category navigation component.
*/
.category-navigation {
  list-style: none;
  margin: 0;
  padding-left: 20px;
}
.category-navigation.level-0 > .category-navigation-entry {
  border-bottom: 1px solid #798490;
}
.category-navigation.level-0 {
  padding-left: 0;
  font-size: 16px;
}
.category-navigation.level-1 {
  font-size: 14px;
}
.category-navigation.level-2 {
  font-size: 12px;
}
.category-navigation-entry {
  margin: 0;
  padding: 0;
}
.category-navigation-link {
  display: block;
  padding: 8px 20px;
  font-weight: 400;
  color: #2b3136;
  text-decoration: none;
}
.category-navigation-link:hover {
  text-decoration: none;
}
.category-navigation-link.is-active {
  color: #00689C;
  font-weight: 700;
}
.category-navigation-link.in-path {
  font-weight: 700;
}
/*
Backdrop
==============================================
Custom styling for backdrop used by bootstrap modal und custom offcanvas component.

https://getbootstrap.com/docs/5.2/components/modal
*/
.modal-backdrop {
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.3, 0, 0.15, 1), visibility 0.45s linear;
}
@media (prefers-reduced-motion: reduce) {
  .modal-backdrop {
    transition: none;
  }
}
.modal-backdrop.modal-backdrop-open {
  opacity: 1;
}
.modal-backdrop > .loader {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -1rem;
  margin-top: -1rem;
}
/*
Base slider
==============================================
Styling for base slider component.
Contains minimal styling for a slider with arrow and/or dot navigation.
based on: https://github.com/ganlanyuan/tiny-slider
*/
.base-slider {
  position: relative;
  overflow: hidden;
}
.base-slider .tns-nav, .base-slider .base-slider-dots {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  margin: 10px 0;
}
.base-slider .tns-nav .base-slider-dot, .base-slider .tns-nav button, .base-slider .base-slider-dots .base-slider-dot, .base-slider .base-slider-dots button {
  background-color: #4a545b;
  border: 0;
  height: 8px;
  width: 8px;
  padding: 8px;
  border-radius: 50%;
  margin: 0 8px;
}
.base-slider .tns-nav .base-slider-dot:hover, .base-slider .tns-nav .base-slider-dot.tns-nav-active, .base-slider .tns-nav button:hover, .base-slider .tns-nav button.tns-nav-active, .base-slider .base-slider-dots .base-slider-dot:hover, .base-slider .base-slider-dots .base-slider-dot.tns-nav-active, .base-slider .base-slider-dots button:hover, .base-slider .base-slider-dots button.tns-nav-active {
  background-color: #00689C;
}
.base-slider .tns-nav .base-slider-dot.tns-nav-active, .base-slider .tns-nav button.tns-nav-active, .base-slider .base-slider-dots .base-slider-dot.tns-nav-active, .base-slider .base-slider-dots button.tns-nav-active {
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.base-slider .tns-nav .base-slider-dot:focus, .base-slider .tns-nav button:focus, .base-slider .base-slider-dots .base-slider-dot:focus, .base-slider .base-slider-dots button:focus {
  outline: none;
}
.base-slider.has-dots-outside {
  padding-bottom: 40px;
}
.base-slider.has-dots-outside .tns-nav, .base-slider.has-dots-outside .base-slider-dots {
  bottom: auto;
}
.base-slider.has-nav-outside {
  padding-left: 25px;
  padding-right: 25px;
}
.base-slider .tns-ovh {
  overflow: visible;
}
.base-slider-controls {
  margin-bottom: 0;
}
.base-slider-controls-prev, .base-slider-controls-next {
  display: block;
  width: 30px;
  height: 65px;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  line-height: 68px;
  transition: opacity 0.15s ease;
  cursor: pointer;
  padding: 0;
  color: #2b3136;
  background: #fff;
  border: 1px solid #fff;
}
.base-slider-controls-prev .icon, .base-slider-controls-next .icon {
  color: currentColor;
}
.base-slider-controls-prev:hover, .base-slider-controls-next:hover {
  border-color: #00689C;
  color: #00689C;
}
.base-slider-controls-prev[disabled], .base-slider-controls-next[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}
.base-slider-controls-prev {
  border-radius: 0 0 0 0;
}
.base-slider-controls-prev.is-nav-prev-outside {
  border-radius: 0 0 0 0;
}
.base-slider-controls-next {
  border-radius: 0 0 0 0;
}
.base-slider-controls-next.is-nav-next-outside {
  border-radius: 0 0 0 0;
}
@media (min-width: 768px) {
  .base-slider .tns-nav .base-slider-dot, .base-slider .tns-nav button, .base-slider .base-slider-dots .base-slider-dot, .base-slider .base-slider-dots button {
    margin: 0 5px;
  }
  .base-slider .tns-nav.hide-dots, .base-slider .base-slider-dots.hide-dots {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .base-slider .tns-nav, .base-slider .base-slider-dots {
    width: 55%;
    text-align: center;
  }
  .base-slider .tns-nav.hide-dots, .base-slider .tns-nav.hide-dots-mobile, .base-slider .base-slider-dots.hide-dots, .base-slider .base-slider-dots.hide-dots-mobile {
    display: none;
  }
}
/*
Image slider
==============================================
Styling for image slider component.
Displays images in a reusable slider component.
based on "base-slider" component and "tiny-slider" (https://github.com/ganlanyuan/tiny-slider)
*/
.image-slider.has-nav-outside .image-slider-item-container {
  padding: 0 25px;
}
.image-slider-container {
  position: relative;
  height: 100%;
}
.image-slider-container.has-vertical-align {
  display: flex;
}
.image-slider-container.has-vertical-align.is-align-top {
  align-items: flex-start;
}
.image-slider-container.has-vertical-align.is-align-center {
  align-items: center;
}
.image-slider-container.has-vertical-align.is-align-bottom {
  align-items: flex-end;
}
.image-slider-container .image-slider-image {
  display: block;
  width: 100%;
}
.image-slider-container .image-slider-item {
  display: grid;
  max-width: 100%;
  position: relative;
}
.image-slider-container .image-slider-item.is-not-first {
  display: none;
}
.image-slider-container .image-slider-item.is-cover {
  height: 100%;
}
.image-slider-container .image-slider-item.is-cover .image-slider-image {
  object-fit: cover;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.image-slider-container .image-slider-link {
  display: block;
}
.js-slider-initialized .image-slider-item.is-not-first {
  display: block;
}
.image-slider-controls-prev.is-nav-prev-inside {
  left: 0;
}
.image-slider-controls-prev.is-nav-prev-outside {
  left: 0;
}
.image-slider-controls-next.is-nav-next-inside {
  right: 0;
}
.image-slider-controls-next.is-nav-next-outside {
  right: 0;
}
@media (min-width: 768px) {
  .image-slider-controls-prev.is-nav-prev-outside {
    left: -5px;
  }
  .image-slider-controls-next.is-nav-next-outside {
    right: -5px;
  }
}
/*
Product slider
==============================================
Styling for product slider component.
Displays product-boxes in a reusable slider component.
based on "base-slider" component and "tiny-slider" (https://github.com/ganlanyuan/tiny-slider)
*/
.product-slider.has-border {
  border: 1px solid #798490;
  border-radius: 0;
  padding: 25px;
}
.product-slider-container {
  padding-bottom: 1px;
}
.product-slider-controls-prev, .product-slider-controls-next {
  border: 0;
  background: none;
}
.product-slider-controls-prev.is-nav-prev-inside, .product-slider-controls-prev.is-nav-next-inside, .product-slider-controls-next.is-nav-prev-inside, .product-slider-controls-next.is-nav-next-inside {
  background: var(--bs-gray-200);
}
.product-slider-controls-prev {
  left: -10px;
}
.product-slider-controls-prev.has-border {
  left: 0;
}
.product-slider-controls-prev.is-nav-prev-inside {
  left: 0;
}
.product-slider-controls-prev.is-nav-prev-inside.has-border {
  left: 25px;
}
.product-slider-controls-next {
  right: -10px;
}
.product-slider-controls-next.has-border {
  right: 0;
}
.product-slider-controls-next.is-nav-next-inside {
  right: 0;
}
.product-slider-controls-next.is-nav-next-inside.has-border {
  right: 25px;
}
/*
Gallery slider
==============================================
Styling for gallery slider component.
Displays images in a slider gallery with thumbnail navigation.
based on "base-slider" component and "tiny-slider" (https://github.com/ganlanyuan/tiny-slider)
*/
.gallery-slider {
  width: 99.9%;
}
.gallery-slider.has-nav-outside .gallery-slider-item-container {
  padding: 0 25px;
}
.gallery-slider-row {
  margin-bottom: 1rem;
}
.gallery-slider-row.is-loading {
  height: auto;
  overflow: hidden;
}
.gallery-slider-row.is-loading .gallery-slider-item-container:not(:first-child) {
  display: none;
}
.gallery-slider-row.is-loading .gallery-slider-thumbnails-col.is-underneath {
  display: none;
}
.gallery-slider-row.is-loading .gallery-slider-thumbnails-col.is-left .gallery-slider-thumbnails {
  max-height: 425px;
  overflow: hidden;
}
.gallery-slider-row.is-single-image {
  justify-content: center;
}
.gallery-slider-single-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-slider-container {
  position: relative;
  height: 100%;
}
.gallery-slider-container .gallery-slider-image {
  display: block;
}
.gallery-slider-container.has-vertical-align {
  display: flex;
}
.gallery-slider-container.has-vertical-align.is-align-top {
  align-items: flex-start;
}
.gallery-slider-container.has-vertical-align.is-align-center {
  align-items: center;
}
.gallery-slider-container.has-vertical-align.is-align-bottom {
  align-items: flex-end;
}
.gallery-slider-item, .gallery-slider-single-image {
  position: relative;
  backface-visibility: hidden;
  cursor: default;
  display: block;
  height: 100%;
  max-width: 100%;
}
.gallery-slider-item.is-cover, .gallery-slider-item.is-contain, .gallery-slider-single-image.is-cover, .gallery-slider-single-image.is-contain {
  height: 100%;
}
.gallery-slider-item.is-cover .gallery-slider-image, .gallery-slider-item.is-contain .gallery-slider-image, .gallery-slider-single-image.is-cover .gallery-slider-image, .gallery-slider-single-image.is-contain .gallery-slider-image {
  object-fit: cover;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0 auto;
}
.gallery-slider-item.is-cover .gallery-slider-image, .gallery-slider-single-image.is-cover .gallery-slider-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.gallery-slider-item.is-contain .gallery-slider-image, .gallery-slider-single-image.is-contain .gallery-slider-image {
  margin: auto;
  object-fit: contain;
}
.gallery-slider-controls-prev {
  left: 0;
}
.gallery-slider-controls-prev.is-nav-prev-outside {
  left: 0;
}
.gallery-slider-controls-next {
  right: 0;
}
.gallery-slider-controls-next.is-nav-next-outside {
  right: 0;
}
.gallery-slider-thumbnails-container {
  position: relative;
}
.gallery-slider-thumbnails-container .tns-inner {
  display: flex;
  justify-content: center;
}
.gallery-slider-thumbnails-container.is-underneath .tns-inner {
  display: block;
}
.gallery-slider-thumbnails-container.is-underneath .tns-outer {
  margin: 0 30px;
}
.gallery-slider-thumbnails-container.hide-thumbs {
  display: none;
}
.gallery-slider-thumbnails-col .gallery-slider-thumbnails-controls-prev, .gallery-slider-thumbnails-col .gallery-slider-thumbnails-controls-next {
  border: 0;
  background: none;
  height: 30px;
  width: 65px;
  line-height: normal;
}
.gallery-slider-thumbnails-col.is-left {
  padding-right: 0;
}
.gallery-slider-thumbnails-col.is-left .gallery-slider-thumbnails-controls-prev {
  top: -30px;
}
.gallery-slider-thumbnails-col.is-left .gallery-slider-thumbnails-controls-next {
  bottom: -20px;
  top: auto;
}
.gallery-slider-thumbnails-col.is-left .gallery-slider-thumbnails-controls-prev, .gallery-slider-thumbnails-col.is-left .gallery-slider-thumbnails-controls-next {
  left: 50%;
  transform: translateX(-50%);
}
.gallery-slider-thumbnails-col.is-underneath .gallery-slider-thumbnails-controls-prev {
  left: -25px;
}
.gallery-slider-thumbnails-col.is-underneath .gallery-slider-thumbnails-controls-next {
  right: -25px;
}
.gallery-slider-thumbnails-col.is-underneath .gallery-slider-thumbnails-controls-prev, .gallery-slider-thumbnails-col.is-underneath .gallery-slider-thumbnails-controls-next {
  transform: translateY(-30%);
}
.gallery-slider-modal-controls {
  z-index: 10;
}
.gallery-slider-modal-controls .gallery-slider-thumbnails-controls-prev {
  left: 0;
}
.gallery-slider-modal-controls .gallery-slider-thumbnails-controls-next {
  right: 0;
}
.gallery-slider-thumbnails.is-underneath {
  display: flex;
  margin-top: 1rem;
}
.gallery-slider-thumbnails.is-underneath .gallery-slider-thumbnails-item {
  width: auto;
}
.gallery-slider-thumbnails-item {
  cursor: pointer;
  height: 75px;
  width: 75px;
}
.gallery-slider-thumbnails-item.tns-nav-active .gallery-slider-thumbnails-item-inner {
  border-color: #00689C;
}
.gallery-slider-thumbnails-item-inner {
  border: 1px solid #798490;
  border-radius: 0;
  width: 100%;
  height: 100%;
  padding: 0.25rem;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  position: relative;
}
.gallery-slider-thumbnails-image, .gallery-slider-image {
  flex: 0 0 auto;
  max-height: 100%;
  max-width: 100%;
}
.gallery-slider-thumbnails-play-button {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.gallery-slider-thumbnails-play-button::before, .gallery-slider-thumbnails-play-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
}
.gallery-slider-thumbnails-play-button::before {
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.5);
}
.gallery-slider-thumbnails-play-button::after {
  transform: translate(-40%, -50%);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #fff;
}
.gallery-slider-thumbnails-controls {
  display: none;
  margin: 0;
}
.gallery-slider-canvas-disabled .spatial-canvas-spinner {
  display: none;
}
.gallery-slider-canvas-disabled .gallery-slider-spatial-canvas-wrapper {
  display: none;
}
.spatial-anim-container .spatial-anim-button {
  height: 40px;
  width: 40px;
  border: none;
  outline: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.7);
}
.spatial-anim-container .spatial-anim-button.spatial-anim-play .icon-play {
  display: none;
}
.spatial-anim-container .spatial-anim-button:not(.spatial-anim-play) .icon-pause {
  display: none;
}
.spatial-anim-container .spatial-anim-button .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--bs-white);
  width: 16px;
  height: 16px;
}
.spatial-anim-container .spatial-anim-button .icon svg {
  top: unset;
}
.spatial-anim-container .spatial-anim-button-circle {
  --stroke-width: 3px;
  --circomference: calc((50% - (var(--stroke-width) / 2)) * 3.14 * 2);
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.spatial-anim-container .spatial-anim-button-circle circle {
  fill: none;
  stroke-width: var(--stroke-width);
  stroke: var(--bs-white, #fff);
  stroke-dasharray: var(--circomference);
  stroke-dashoffset: calc(var(--circomference) * (1 - var(--progress, 0)));
  stroke-linecap: round;
  position: relative;
}
.spatial-anim-container .spatial-anim-switch-container .icon {
  position: absolute;
  right: 12px;
  width: 12px;
  height: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--bs-white);
  pointer-events: none;
}
.spatial-anim-container .spatial-anim-switch-container svg {
  top: unset;
}
.spatial-anim-container .spatial-anim-switch {
  appearance: none;
  height: 40px;
  width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background-color: rgba(0, 0, 0, 0.7);
  color: var(--bs-white, #fff);
  border-radius: 8px;
  border: none;
  outline: none;
  padding: 0 34px 0 12px;
}
.spatial-canvas-note {
  position: absolute;
  bottom: 36px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #4a545b;
  color: #fff;
  padding: 0 8px;
  border-radius: 8px;
  opacity: 1;
  transition: opacity 0.3s ease-in-out;
}
.spatial-canvas-note.spatial-canvas-note--hidden {
  opacity: 0;
}
.spatial-canvas-note.spatial-slider-movement-note {
  bottom: 86px;
}
.ar-button {
  top: 10px;
  right: 9px;
  height: 32px;
  border: 2px solid #bcc1c7;
  border-radius: 5px;
  background-color: #fff;
}
.ar-button .icon-augmented {
  height: 18px;
  width: 18px;
  margin-right: 5px;
}
.ar-button .icon-augmented svg {
  top: unset;
}
.ar-button:hover {
  box-shadow: 0 0 11px #bcc1c7;
}
.gallery-slider-spatial-canvas-wrapper {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.gallery-slider-spatial-canvas-wrapper.spatial-canvas-display {
  background-color: #fff;
  opacity: 1;
}
@media (max-width: 575.98px) {
  .gallery-slider-item.is-cover, .gallery-slider-item.is-contain {
    min-height: 225px !important;
  }
}
@media (max-width: 767.98px) {
  .gallery-slider-single-image.is-cover, .gallery-slider-single-image.is-contain {
    min-height: 225px !important;
  }
}
@media (min-width: 768px) {
  .gallery-slider-row {
    justify-content: center;
  }
  .gallery-slider-thumbnails-controls {
    display: block;
  }
  .gallery-slider-thumbnails-col.is-left .gallery-slider-thumbnails-item {
    margin-bottom: 0 !important;
    padding-bottom: 10px;
  }
}
/*
Magnifier
==============================================
Styling for magnifier component.
Displays a lens over a single image or gallery slider and shows the magnified version of the image.
*/
.magnifier-overlay, .magnifier-zoom-image {
  background-clip: padding-box;
  opacity: 0;
  animation: magnifyLensFade 0.5s forwards;
  pointer-events: none;
  z-index: 1100;
}
.magnifier-overlay {
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  position: absolute;
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid #798490;
}
.magnifier-zoom-image {
  width: 100%;
  height: 100%;
  position: absolute;
  background-repeat: no-repeat;
  background-position: 0 0;
  top: 0;
  left: 0;
}
@keyframes magnifyLensFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
Zoom modal
==============================================
Styling for zoom modal component.
Displays a single image or a gallery slider in a zoom modal with zoom functions.
*/
.zoom-modal-wrapper {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.modal.zoom-modal {
  overflow: hidden;
}
.modal.zoom-modal .zoom-modal-actions, .modal.zoom-modal .btn-close {
  position: absolute;
  top: 0;
  opacity: 1;
  z-index: 1051;
  margin: 15px;
}
.modal.zoom-modal .zoom-modal-actions {
  left: 0;
}
.modal.zoom-modal .btn-close {
  right: 0;
}
.modal.zoom-modal .modal-dialog .modal-content, .modal.zoom-modal .modal-dialog .modal-body {
  padding: 0;
  overflow: hidden;
}
.modal.zoom-modal .modal-footer {
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 0 1rem;
  justify-content: center;
  background-color: #fff;
  margin: 0 30px;
}
.modal.zoom-modal .gallery-slider {
  top: 0;
  bottom: 0;
  position: absolute;
  height: auto;
  width: 100%;
}
.modal.zoom-modal .gallery-slider-thumbnails {
  margin: 0 auto;
}
.modal.zoom-modal .gallery-slider-controls-next {
  right: 0;
}
.modal.zoom-modal .gallery-slider-controls-prev {
  left: 0;
}
.modal.zoom-modal .gallery-slider-thumbnails-item {
  width: auto;
}
.modal.zoom-modal .gallery-slider-thumbnails-controls-next {
  right: -30px;
}
.modal.zoom-modal .gallery-slider-thumbnails-controls-prev {
  left: -30px;
}
.modal.zoom-modal .image-zoom-container {
  height: 100%;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  touch-action: auto !important;
  -webkit-user-select: auto !important;
  -webkit-touch-callout: default !important;
  -webkit-user-drag: auto !important;
}
.modal.zoom-modal .image-zoom-container > * {
  position: relative;
}
.modal.zoom-modal .image-zoom-btn.disabled {
  opacity: 0.3;
}
@media (min-width: 768px) {
  .modal.zoom-modal .gallery-slider {
    bottom: 100px;
  }
  .modal.zoom-modal .modal-footer {
    display: flex;
  }
}
/*
OffCanvas
==============================================
Move page content like the navigation menu in a sliding OffCanvas menu.
The sliding direction can be left or right.

@see https://getbootstrap.com/docs/5.2/components/offcanvas
*/
.offcanvas {
  transition: all 0.45s cubic-bezier(0.3, 0, 0.15, 1);
}
.offcanvas.offcanvas-start .offcanvas-close {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.offcanvas.offcanvas-bottom {
  --bs-offcanvas-height: 90%;
  border-radius: 8px 8px 0 0;
}
.offcanvas.is-fullwidth {
  width: 100%;
}
.offcanvas .offcanvas-header {
  --bs-offcanvas-padding-y: 0;
  --bs-offcanvas-padding-x: 0;
  background-color: #fff;
}
.offcanvas .offcanvas-header .offcanvas-title {
  font-size: 24px;
  font-weight: 700;
}
.offcanvas .offcanvas-footer {
  bottom: 0;
  top: auto;
}
.offcanvas .offcanvas-close {
  width: 100%;
  border-radius: 0;
  font-weight: 400;
  padding: 0.5rem 1rem;
  text-align: left;
}
.offcanvas .offcanvas-close:focus-visible {
  box-shadow: inset 0 0 0 0.125rem #00689c, inset 0 0 0 0.25rem #fff;
}
.offcanvas > .loader, .offcanvas .offcanvas-body > .loader {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -1rem;
  margin-top: -1rem;
}
.offcanvas .line-item-total-price-value, .offcanvas .offcanvas-body .line-item-total-price-value {
  text-align: left;
}
@media (max-width: 420px) {
  .offcanvas.offcanvas-end, .offcanvas.offcanvas-start {
    width: calc(100% - 20px);
  }
}
@media (max-width: 575.98px) {
  .offcanvas.offcanvas-start .offcanvas-close {
    gap: 0.5rem;
  }
  .offcanvas .offcanvas-close {
    white-space: normal;
    line-height: normal;
  }
  .offcanvas .offcanvas-close .icon {
    flex: 0 0 auto;
  }
}
/*
Product box
==============================================
Styling for productbox component.
*/
.product-box {
  height: 100%;
}
.product-box.box-standard .stretched-link::after, .product-box.box-minimal .stretched-link::after {
  height: calc(200px + var(--bs-card-spacer-y));
}
.product-box.box-image .stretched-link::after {
  height: calc(332px + var(--bs-card-spacer-y));
}
.product-box.box-image .product-image-wrapper {
  height: 332px;
}
.product-box.box-image .product-image {
  max-height: 332px;
}
.product-box.box-image .product-image.is-standard {
  height: 100%;
  object-fit: cover;
}
.product-variant-characteristics {
  min-height: 3em;
}
.product-variant-characteristics .product-variant-characteristics-text {
  overflow: hidden;
  line-height: 1.5em;
  height: 3em;
  text-align: justify;
  margin-right: -1em;
  padding-right: 1em;
  max-width: 95%;
  /* stylelint-disable */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* stylelint-enable */
  line-clamp: 2;
  text-overflow: ellipsis;
  font-size: 0.875rem;
}
.product-variant-characteristics .product-variant-characteristics-option {
  font-weight: 700;
}
.product-image-wrapper {
  height: 200px;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 180px;
  margin-bottom: 15px;
  position: relative;
}
.product-image-link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-image-link.is-cover {
  align-items: flex-start;
}
.product-image {
  display: block;
  max-width: 100%;
  max-height: 200px;
}
.product-image.is-standard, .product-image.is-cover, .product-image.is-contain {
  width: 100%;
  height: 100%;
}
.product-image.is-cover {
  object-fit: cover;
}
.product-image.is-contain {
  object-fit: contain;
}
.product-image.is-standard {
  object-fit: scale-down;
}
.product-image-placeholder {
  max-width: 180px;
  height: 100%;
}
.product-rating {
  margin-bottom: 10px;
  height: 25px;
}
/* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
.product-name {
  color: #2b3136;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  height: 2.75rem;
  margin-bottom: 10px;
  font-size: 1.125rem;
  line-height: 1.375rem;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
}
.product-name:hover {
  color: var(--text-color-brand-primary);
  text-decoration: none;
}
.product-description {
  height: 4.5rem;
  margin-top: 10px;
  font-size: 1rem;
  line-height: 1.5;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
/* stylelint-enable value-no-vendor-prefix, property-no-vendor-prefix */
.product-price-info {
  margin-top: 10px;
}
.product-price-info .product-advanced-list-price-wrapper {
  font-weight: 400;
}
.product-price-unit {
  height: 36px;
  font-size: 0.875rem;
  line-height: 1.125rem;
  overflow: hidden;
}
.product-unit-label {
  font-weight: 700;
}
.product-cheapest-price {
  min-height: 20px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  margin-bottom: 32px;
}
.product-cheapest-price .product-cheapest-price-price {
  font-weight: 700;
}
.product-cheapest-price.with-regulation-price, .product-cheapest-price.with-list-price {
  margin-bottom: 6px;
}
.product-cheapest-price.with-from-price {
  margin-bottom: 5px;
}
.product-price {
  color: #2b3136;
  min-height: 20px;
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.25rem;
  overflow: hidden;
}
.product-price.with-list-price {
  color: #c20017;
}
.product-price .list-price {
  color: #2b3136;
  font-weight: 400;
  padding-left: 5px;
  font-size: 0.75rem;
}
.product-price .list-price .list-price-price {
  text-decoration: line-through;
}
.product-price .regulation-price {
  color: #2b3136;
  font-weight: 400;
  font-size: 0.75rem;
  padding-left: 0;
}
.product-price .list-price-no-line-through .list-price-price {
  text-decoration: none;
}
.product-price .strikeprice-text {
  color: #2b3136;
  font-weight: 400;
  padding-left: 5px;
  font-size: 0.75rem;
}
.product-action {
  margin-top: 20px;
}
.product-badges {
  position: absolute;
  top: 30px;
  left: -1px;
  z-index: 10;
  display: flex;
  flex-direction: column;
}
.product-badges .badge {
  --bs-badge-padding-x: 8px;
  --bs-badge-padding-y: 0;
  --bs-badge-font-size: 1.125rem;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  --bs-badge-border-radius: 0 3px 3px 0;
  width: max-content;
  height: 2rem;
  margin: 0 0 8px;
  line-height: 2rem;
  letter-spacing: 0;
}
.product-price-wrapper {
  font-size: 1.125rem;
}
/*
Loader
==============================================
Defines the loader icon
*/
.loader {
  --bs-text-opacity: 1;
  --bs-spinner-border-width: 3px;
  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity));
}
/*
Element loader
==============================================
Element loader can be applied to any element.
*/
.has-element-loader {
  z-index: 15;
  pointer-events: none;
  position: relative;
}
.element-loader-backdrop {
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.3, 0, 0.15, 1), visibility 0.45s linear;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 11px 7px rgba(255, 255, 255, 0.5);
  z-index: 15;
}
.element-loader-backdrop.element-loader-backdrop-open {
  opacity: 1;
}
.element-loader-backdrop > .loader {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -1rem;
  margin-top: -1rem;
}
/*
Skeleton screen
==============================================
Skeleton screen for reloading product-listing with subtle shimmer effect
*/
@keyframes skeletonShimmer {
  0% {
    background-position: -500px 0;
  }
  100% {
    background-position: 500px 0;
  }
}
.has-element-loader .cms-element-product-listing .product-badges, .has-element-loader .cms-element-product-listing .product-image-link, .has-element-loader .cms-element-product-listing .product-image, .has-element-loader .cms-element-product-listing .product-review-rating {
  display: none;
}
.has-element-loader .cms-element-product-listing .product-image-wrapper, .has-element-loader .cms-element-product-listing .product-rating, .has-element-loader .cms-element-product-listing .product-name, .has-element-loader .cms-element-product-listing .product-variant-characteristics, .has-element-loader .cms-element-product-listing .product-description, .has-element-loader .cms-element-product-listing .product-price-unit, .has-element-loader .cms-element-product-listing .product-cheapest-price-price, .has-element-loader .cms-element-product-listing .product-price {
  border-radius: 0;
  color: transparent;
  animation: skeletonShimmer 1.5s linear 0s infinite normal forwards running;
  background: linear-gradient(to right, #bcc1c7 8%, #f9f9f9 18%, #bcc1c7 28%);
  background-size: 800px 100px;
}
.has-element-loader .cms-element-product-listing .product-rating {
  width: 50%;
}
.has-element-loader .cms-element-product-listing .product-name {
  width: 75%;
}
.has-element-loader .cms-element-product-listing .product-price {
  width: 35%;
}
.has-element-loader .cms-element-product-listing .product-wishlist-info-item {
  border-radius: 0;
  color: transparent;
  animation: skeletonShimmer 1.5s linear 0s infinite normal forwards running;
  background: linear-gradient(to right, #bcc1c7 8%, #f9f9f9 18%, #bcc1c7 28%);
  background-size: 800px 100px;
}
.has-element-loader .cms-element-product-listing .product-wishlist-info-status {
  display: none;
}
.has-element-loader .cms-element-product-listing .product-variant-characteristics-text, .has-element-loader .cms-element-product-listing .product-wishlist-remove {
  display: none;
}
/*
Button loading indicator
==============================================
Can be shown before or after the button text or replace it.
*/
.btn > .loader {
  --bs-spinner-width: 18px;
  --bs-spinner-height: 18px;
  --bs-spinner-vertical-align: -0.25em;
  color: var(--bs-btn-color);
}
.btn.is-loading-indicator-before .loader {
  margin-right: var(--bs-btn-padding-x);
}
.btn.is-loading-indicator-after .loader {
  margin-left: var(--bs-btn-padding-x);
}
@keyframes slide-in {
  0% {
    opacity: 0;
    margin-bottom: -30px;
  }
  100% {
    opacity: 1;
    margin-bottom: 0;
  }
}
.btn.is-loading-indicator-inner .loader {
  animation: 0.15s ease-out 0s 1 slide-in, var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
  /* stylelint-enable */
}
/*
Modal
==============================================
Custom styling for bootstrap modal component.

https://getbootstrap.com/docs/5.2/components/modal
*/
.modal .modal-header.only-close {
  border-bottom-color: transparent;
}
.modal .modal-close:focus {
  outline: 0;
}
.modal .cms-section-default .boxed {
  padding: 0;
}
.modal.is-fullscreen .modal-dialog, .modal.is-fullscreen .modal-content {
  width: 100%;
  height: 100%;
  min-height: 100%;
  position: absolute;
  max-width: 100%;
  top: 0;
  left: 0;
  margin: 0;
  overflow-y: scroll;
  box-shadow: none;
}
.modal.is-fullscreen .modal-dialog, .modal.is-fullscreen .modal-content, .modal.is-fullscreen .modal-header, .modal.is-fullscreen .modal-body, .modal.is-fullscreen .modal-footer {
  border-radius: 0;
}
/*
 * Temporary focusable element added via JS after a modal/offcanvas to keep the Bootstrap focus-trap
 * working when it is the last focusable element before `</body>`. Pinned inside the viewport so the
 * browser does not scroll to the bottom of the page while focus briefly bumps to it.
 *
 * @todo: Remove when upstream issue https://github.com/twbs/bootstrap/issues/42503 is resolved.
 */
.js-focus-trap-guard {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
/*
Language flags
==================================================
Displays a country flag the size of 14px x 11px used for language selections purposes.

inspired by: https://github.com/dhanishgajjar/css-flags

@deprecated tag:v6.8.0 - This file will be removed

You can use the Twig block 'layout_header_actions_languages_widget_form_items_flag_inner' and
'layout_header_actions_language_widget_content_inner' to add custom flags if desired.
*/
.language-flag {
  display: inline-block;
  height: 12px;
  width: 16px;
  border: 1px solid #adb5bd;
  margin-top: 1px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
}
.language-flag.country-de {
  background-image: linear-gradient(to bottom, #000 33%, #f00 33%, #f00 66%, #fc0 66%);
}
.language-flag.country-gb {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJmbGFnLWljb24tY3NzLWdiIiB2aWV3Qm94PSIwIDAgNjQwIDQ4MCI+CiAgPHBhdGggZmlsbD0iIzAxMjE2OSIgZD0iTTAgMGg2NDB2NDgwSDB6Ii8+CiAgPHBhdGggZmlsbD0iI0ZGRiIgZD0iTTc1IDBsMjQ0IDE4MUw1NjIgMGg3OHY2Mkw0MDAgMjQxbDI0MCAxNzh2NjFoLTgwTDMyMCAzMDEgODEgNDgwSDB2LTYwbDIzOS0xNzhMMCA2NFYwaDc1eiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik00MjQgMjgxbDIxNiAxNTl2NDBMMzY5IDI4MWg1NXptLTE4NCAyMGw2IDM1TDU0IDQ4MEgwbDI0MC0xNzl6TTY0MCAwdjNMMzkxIDE5MWwyLTQ0TDU5MCAwaDUwek0wIDBsMjM5IDE3NmgtNjBMMCA0MlYweiIvPgogIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0yNDEgMHY0ODBoMTYwVjBIMjQxek0wIDE2MHYxNjBoNjQwVjE2MEgweiIvPgogIDxwYXRoIGZpbGw9IiNDODEwMkUiIGQ9Ik0wIDE5M3Y5Nmg2NDB2LTk2SDB6TTI3MyAwdjQ4MGg5NlYwaC05NnoiLz4KPC9zdmc+Cg==");
}
.language-flag.country-us {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJmbGFnLWljb24tY3NzLXVzIiB2aWV3Qm94PSIwIDAgNjQwIDQ4MCI+CiAgPGcgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxnIHN0cm9rZS13aWR0aD0iMXB0Ij4KICAgICAgPHBhdGggZmlsbD0iI2JkM2Q0NCIgZD0iTTAgMGg5NzIuOHYzOS40SDB6bTAgNzguOGg5NzIuOHYzOS40SDB6bTAgNzguN2g5NzIuOFYxOTdIMHptMCA3OC44aDk3Mi44djM5LjRIMHptMCA3OC44aDk3Mi44djM5LjRIMHptMCA3OC43aDk3Mi44djM5LjRIMHptMCA3OC44aDk3Mi44VjUxMkgweiIgdHJhbnNmb3JtPSJzY2FsZSguOTM3NSkiLz4KICAgICAgPHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzkuNGg5NzIuOHYzOS40SDB6bTAgNzguOGg5NzIuOHYzOS4zSDB6bTAgNzguN2g5NzIuOHYzOS40SDB6bTAgNzguOGg5NzIuOHYzOS40SDB6bTAgNzguOGg5NzIuOHYzOS40SDB6bTAgNzguN2g5NzIuOHYzOS40SDB6IiB0cmFuc2Zvcm09InNjYWxlKC45Mzc1KSIvPgogICAgPC9nPgogICAgPHBhdGggZmlsbD0iIzE5MmY1ZCIgZD0iTTAgMGgzODkuMXYyNzUuN0gweiIgdHJhbnNmb3JtPSJzY2FsZSguOTM3NSkiLz4KICAgIDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0zMi40IDExLjhMMzYgMjIuN2gxMS40bC05LjIgNi43IDMuNSAxMS05LjMtNi44LTkuMiA2LjcgMy41LTEwLjktOS4zLTYuN0gyOXptNjQuOSAwbDMuNSAxMC45aDExLjVsLTkuMyA2LjcgMy41IDExLTkuMi02LjgtOS4zIDYuNyAzLjUtMTAuOS05LjItNi43aDExLjR6bTY0LjggMGwzLjYgMTAuOUgxNzdsLTkuMiA2LjcgMy41IDExLTkuMy02LjgtOS4yIDYuNyAzLjUtMTAuOS05LjMtNi43aDExLjV6bTY0LjkgMGwzLjUgMTAuOUgyNDJsLTkuMyA2LjcgMy42IDExLTkuMy02LjgtOS4zIDYuNyAzLjYtMTAuOS05LjMtNi43aDExLjR6bTY0LjggMGwzLjYgMTAuOWgxMS40bC05LjIgNi43IDMuNSAxMS05LjMtNi44LTkuMiA2LjcgMy41LTEwLjktOS4yLTYuN2gxMS40em02NC45IDBsMy41IDEwLjloMTEuNWwtOS4zIDYuNyAzLjYgMTEtOS4zLTYuOC05LjMgNi43IDMuNi0xMC45LTkuMy02LjdoMTEuNXpNNjQuOSAzOS40bDMuNSAxMC45aDExLjVMNzAuNiA1NyA3NCA2Ny45bC05LTYuNy05LjMgNi43TDU5IDU3bC05LTYuN2gxMS40em02NC44IDBsMy42IDEwLjloMTEuNGwtOS4zIDYuNyAzLjYgMTAuOS05LjMtNi43LTkuMyA2LjdMMTI0IDU3bC05LjMtNi43aDExLjV6bTY0LjkgMGwzLjUgMTAuOWgxMS41bC05LjMgNi43IDMuNSAxMC45LTkuMi02LjctOS4zIDYuNyAzLjUtMTAuOS05LjItNi43SDE5MXptNjQuOCAwbDMuNiAxMC45aDExLjRsLTkuMyA2LjcgMy42IDEwLjktOS4zLTYuNy05LjIgNi43IDMuNS0xMC45LTkuMy02LjdIMjU2em02NC45IDBsMy41IDEwLjloMTEuNUwzMzAgNTdsMy41IDEwLjktOS4yLTYuNy05LjMgNi43IDMuNS0xMC45LTkuMi02LjdoMTEuNHpNMzIuNCA2Ni45TDM2IDc4aDExLjRsLTkuMiA2LjcgMy41IDEwLjktOS4zLTYuOC05LjIgNi44IDMuNS0xMS05LjMtNi43SDI5em02NC45IDBsMy41IDExaDExLjVsLTkuMyA2LjcgMy41IDEwLjktOS4yLTYuOC05LjMgNi44IDMuNS0xMS05LjItNi43aDExLjR6bTY0LjggMGwzLjYgMTFIMTc3bC05LjIgNi43IDMuNSAxMC45LTkuMy02LjgtOS4yIDYuOCAzLjUtMTEtOS4zLTYuN2gxMS41em02NC45IDBsMy41IDExSDI0MmwtOS4zIDYuNyAzLjYgMTAuOS05LjMtNi44LTkuMyA2LjggMy42LTExLTkuMy02LjdoMTEuNHptNjQuOCAwbDMuNiAxMWgxMS40bC05LjIgNi43IDMuNSAxMC45LTkuMy02LjgtOS4yIDYuOCAzLjUtMTEtOS4yLTYuN2gxMS40em02NC45IDBsMy41IDExaDExLjVsLTkuMyA2LjcgMy42IDEwLjktOS4zLTYuOC05LjMgNi44IDMuNi0xMS05LjMtNi43aDExLjV6TTY0LjkgOTQuNWwzLjUgMTAuOWgxMS41bC05LjMgNi43IDMuNSAxMS05LjItNi44LTkuMyA2LjcgMy41LTEwLjktOS4yLTYuN2gxMS40em02NC44IDBsMy42IDEwLjloMTEuNGwtOS4zIDYuNyAzLjYgMTEtOS4zLTYuOC05LjMgNi43IDMuNi0xMC45LTkuMy02LjdoMTEuNXptNjQuOSAwbDMuNSAxMC45aDExLjVsLTkuMyA2LjcgMy41IDExLTkuMi02LjgtOS4zIDYuNyAzLjUtMTAuOS05LjItNi43SDE5MXptNjQuOCAwbDMuNiAxMC45aDExLjRsLTkuMiA2LjcgMy41IDExLTkuMy02LjgtOS4yIDYuNyAzLjUtMTAuOS05LjMtNi43SDI1NnptNjQuOSAwbDMuNSAxMC45aDExLjVsLTkuMyA2LjcgMy41IDExLTkuMi02LjgtOS4zIDYuNyAzLjUtMTAuOS05LjItNi43aDExLjR6TTMyLjQgMTIyLjFMMzYgMTMzaDExLjRsLTkuMiA2LjcgMy41IDExLTkuMy02LjgtOS4yIDYuNyAzLjUtMTAuOS05LjMtNi43SDI5em02NC45IDBsMy41IDEwLjloMTEuNWwtOS4zIDYuNyAzLjUgMTAuOS05LjItNi43LTkuMyA2LjcgMy41LTEwLjktOS4yLTYuN2gxMS40em02NC44IDBsMy42IDEwLjlIMTc3bC05LjIgNi43IDMuNSAxMS05LjMtNi44LTkuMiA2LjcgMy41LTEwLjktOS4zLTYuN2gxMS41em02NC45IDBsMy41IDEwLjlIMjQybC05LjMgNi43IDMuNiAxMS05LjMtNi44LTkuMyA2LjcgMy42LTEwLjktOS4zLTYuN2gxMS40em02NC44IDBsMy42IDEwLjloMTEuNGwtOS4yIDYuNyAzLjUgMTEtOS4zLTYuOC05LjIgNi43IDMuNS0xMC45LTkuMi02LjdoMTEuNHptNjQuOSAwbDMuNSAxMC45aDExLjVsLTkuMyA2LjcgMy42IDExLTkuMy02LjgtOS4zIDYuNyAzLjYtMTAuOS05LjMtNi43aDExLjV6TTY0LjkgMTQ5LjdsMy41IDEwLjloMTEuNWwtOS4zIDYuNyAzLjUgMTAuOS05LjItNi44LTkuMyA2LjggMy41LTExLTkuMi02LjdoMTEuNHptNjQuOCAwbDMuNiAxMC45aDExLjRsLTkuMyA2LjcgMy42IDEwLjktOS4zLTYuOC05LjMgNi44IDMuNi0xMS05LjMtNi43aDExLjV6bTY0LjkgMGwzLjUgMTAuOWgxMS41bC05LjMgNi43IDMuNSAxMC45LTkuMi02LjgtOS4zIDYuOCAzLjUtMTEtOS4yLTYuN0gxOTF6bTY0LjggMGwzLjYgMTAuOWgxMS40bC05LjIgNi43IDMuNSAxMC45LTkuMy02LjgtOS4yIDYuOCAzLjUtMTEtOS4zLTYuN0gyNTZ6bTY0LjkgMGwzLjUgMTAuOWgxMS41bC05LjMgNi43IDMuNSAxMC45LTkuMi02LjgtOS4zIDYuOCAzLjUtMTEtOS4yLTYuN2gxMS40ek0zMi40IDE3Ny4ybDMuNiAxMWgxMS40bC05LjIgNi43IDMuNSAxMC44LTkuMy02LjctOS4yIDYuNyAzLjUtMTAuOS05LjMtNi43SDI5em02NC45IDBsMy41IDExaDExLjVsLTkuMyA2LjcgMy42IDEwLjgtOS4zLTYuNy05LjMgNi43IDMuNi0xMC45LTkuMy02LjdoMTEuNHptNjQuOCAwbDMuNiAxMUgxNzdsLTkuMiA2LjcgMy41IDEwLjgtOS4zLTYuNy05LjIgNi43IDMuNS0xMC45LTkuMy02LjdoMTEuNXptNjQuOSAwbDMuNSAxMUgyNDJsLTkuMyA2LjcgMy42IDEwLjgtOS4zLTYuNy05LjMgNi43IDMuNi0xMC45LTkuMy02LjdoMTEuNHptNjQuOCAwbDMuNiAxMWgxMS40bC05LjIgNi43IDMuNSAxMC44LTkuMy02LjctOS4yIDYuNyAzLjUtMTAuOS05LjItNi43aDExLjR6bTY0LjkgMGwzLjUgMTFoMTEuNWwtOS4zIDYuNyAzLjYgMTAuOC05LjMtNi43LTkuMyA2LjcgMy42LTEwLjktOS4zLTYuN2gxMS41ek02NC45IDIwNC44bDMuNSAxMC45aDExLjVsLTkuMyA2LjcgMy41IDExLTkuMi02LjgtOS4zIDYuNyAzLjUtMTAuOS05LjItNi43aDExLjR6bTY0LjggMGwzLjYgMTAuOWgxMS40bC05LjMgNi43IDMuNiAxMS05LjMtNi44LTkuMyA2LjcgMy42LTEwLjktOS4zLTYuN2gxMS41em02NC45IDBsMy41IDEwLjloMTEuNWwtOS4zIDYuNyAzLjUgMTEtOS4yLTYuOC05LjMgNi43IDMuNS0xMC45LTkuMi02LjdIMTkxem02NC44IDBsMy42IDEwLjloMTEuNGwtOS4yIDYuNyAzLjUgMTEtOS4zLTYuOC05LjIgNi43IDMuNS0xMC45LTkuMy02LjdIMjU2em02NC45IDBsMy41IDEwLjloMTEuNWwtOS4zIDYuNyAzLjUgMTEtOS4yLTYuOC05LjMgNi43IDMuNS0xMC45LTkuMi02LjdoMTEuNHpNMzIuNCAyMzIuNGwzLjYgMTAuOWgxMS40bC05LjIgNi43IDMuNSAxMC45LTkuMy02LjctOS4yIDYuNyAzLjUtMTEtOS4zLTYuN0gyOXptNjQuOSAwbDMuNSAxMC45aDExLjVMMTAzIDI1MGwzLjYgMTAuOS05LjMtNi43LTkuMyA2LjcgMy42LTExLTkuMy02LjdoMTEuNHptNjQuOCAwbDMuNiAxMC45SDE3N2wtOSA2LjcgMy41IDEwLjktOS4zLTYuNy05LjIgNi43IDMuNS0xMS05LjMtNi43aDExLjV6bTY0LjkgMGwzLjUgMTAuOUgyNDJsLTkuMyA2LjcgMy42IDEwLjktOS4zLTYuNy05LjMgNi43IDMuNi0xMS05LjMtNi43aDExLjR6bTY0LjggMGwzLjYgMTAuOWgxMS40bC05LjIgNi43IDMuNSAxMC45LTkuMy02LjctOS4yIDYuNyAzLjUtMTEtOS4yLTYuN2gxMS40em02NC45IDBsMy41IDEwLjloMTEuNWwtOS4zIDYuNyAzLjYgMTAuOS05LjMtNi43LTkuMyA2LjcgMy42LTExLTkuMy02LjdoMTEuNXoiIHRyYW5zZm9ybT0ic2NhbGUoLjkzNzUpIi8+CiAgPC9nPgo8L3N2Zz4K");
}
/*
Icons
==============================================
Basic styling for icon component plus helper classes for sizing and colors.
Credit: https://github.com/FortAwesome/Font-Awesome
*/
.icon {
  width: 1.375rem;
  height: 1.375rem;
  display: inline-flex;
  align-self: center;
  font-size: inherit;
  overflow: visible;
  color: #4a545b;
}
.icon > svg {
  width: 100%;
  height: 100%;
  top: 0.25em;
  position: relative;
  fill: currentColor;
}
.icon > svg path, .icon > svg use {
  fill: currentColor;
}
.icon-primary {
  color: var(--text-color-brand-primary);
}
.icon-secondary {
  color: #474a57;
}
.icon-success {
  color: #007e4e;
}
.icon-info {
  color: #005b99;
}
.icon-warning {
  color: #974200;
}
.icon-danger {
  color: #c20017;
}
.icon-light {
  color: #eee;
}
.icon-dark {
  color: #4a545b;
}
.icon-review {
  color: #fedc70;
}
.icon-fluid {
  width: 100%;
  height: 100%;
}
.icon-lg {
  width: 1.8333333333rem;
  height: 1.8333333333rem;
}
.icon-sm {
  width: 1.203125rem;
  height: 1.203125rem;
}
.icon-xs {
  width: 1.03125rem;
  height: 1.03125rem;
}
.icon-1x {
  width: 1.375rem;
  height: 1.375rem;
}
.icon-2x {
  width: 2.75rem;
  height: 2.75rem;
}
.icon-3x {
  width: 4.125rem;
  height: 4.125rem;
}
.icon-4x {
  width: 5.5rem;
  height: 5.5rem;
}
.icon-5x {
  width: 6.875rem;
  height: 6.875rem;
}
.icon-6x {
  width: 8.25rem;
  height: 8.25rem;
}
.icon-7x {
  width: 9.625rem;
  height: 9.625rem;
}
.icon-8x {
  width: 11rem;
  height: 11rem;
}
.icon-9x {
  width: 12.375rem;
  height: 12.375rem;
}
.icon-10x {
  width: 13.75rem;
  height: 13.75rem;
}
.icon-rotate-90 svg {
  filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  transform: rotate(90deg);
}
.icon-rotate-180 svg {
  filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  transform: rotate(180deg);
}
.icon-rotate-270 svg {
  filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  transform: rotate(270deg);
}
.icon-flip-horizontal svg {
  filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  transform: scale(-1, 1);
}
.icon-flip-vertical svg {
  filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(1, -1);
}
.icon-flip-both svg, .icon-flip-horizontal.icon-flip-vertical svg {
  filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  transform: scale(-1, -1);
}
:root .icon-rotate-90 svg, :root .icon-rotate-180 svg, :root .icon-rotate-270 svg, :root .icon-flip-horizontal svg, :root .icon-flip-vertical svg, :root .icon-flip-both svg {
  filter: none;
}
.alert-primary .icon {
  color: #00689C;
}
.alert-secondary .icon {
  color: #474a57;
}
.alert-success .icon {
  color: #007e4e;
}
.alert-info .icon {
  color: #005b99;
}
.alert-warning .icon {
  color: #974200;
}
.alert-danger .icon {
  color: #c20017;
}
.alert-light .icon {
  color: #f9f9f9;
}
.alert-dark .icon {
  color: #4a545b;
}
.btn-primary .icon {
  color: #fff;
}
.btn-secondary .icon {
  color: #fff;
}
.btn-success .icon {
  color: #fff;
}
.btn-info .icon {
  color: #fff;
}
.btn-warning .icon {
  color: #fff;
}
.btn-danger .icon {
  color: #fff;
}
.btn-light .icon {
  color: #000;
}
.btn-dark .icon {
  color: #fff;
}
.btn .icon > svg {
  top: 6px;
}
.pagination .icon {
  width: 13px;
  height: 13px;
}
.pagination .icon > svg {
  top: 2px;
}
.is-left .offcanvas-close svg, .offcanvas-start .offcanvas-close svg {
  top: 0;
}
.is-right .offcanvas-close svg, .offcanvas-end .offcanvas-close svg {
  top: 0.25rem;
}
.navigation-offcanvas-link-icon .icon > svg {
  top: 0;
}
/*
Pagination
==============================================
Custom styling for bootstrap pagination component.

https://getbootstrap.com/docs/5.2/components/pagination
*/
.pagination {
  margin-bottom: 0;
}
.pagination .page-link {
  cursor: pointer;
  margin-bottom: 0;
}
/*
CMS sections
==============================================
General styling for cms sections
*/
.cms-section {
  overflow: hidden;
}
.cms-section.bg-image {
  background-repeat: no-repeat;
  background-position: 50%;
}
.cms-section .full-width {
  --bs-gutter-x: 40px;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-right: auto;
  margin-left: auto;
  --bs-gutter-x: 0;
}
.cms-section .cms-section-sidebar > .row {
  --bs-gutter-x: 60px;
}
@media (max-width: 767.98px) {
  .cms-section-sidebar-mobile-wrap {
    flex-direction: column;
  }
  .cms-section-sidebar-mobile-hidden .cms-section-sidebar-sidebar-content {
    display: none;
  }
}
/*
CMS blocks
==============================================
General styling for cms blocks and
specific styling for elements dependent on their parent block
*/
.cms-block.bg-image {
  position: relative;
  background-repeat: no-repeat;
  background-position: 50%;
}
.cms-block .cms-block-background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: none;
}
.cms-block .cms-block-background.media-mode--contain {
  object-fit: contain;
}
.cms-block .cms-block-background.media-mode--cover {
  object-fit: cover;
}
.cms-block .cms-block-container {
  position: relative;
}
.cms-block .cms-block-container .cms-block-container-row {
  flex-direction: row;
}
.cms-block-center-text .cms-element-text {
  padding: 30px;
}
.cms-block-image-three-cover .row {
  margin: 0;
}
.cms-block-image-three-cover [class^="col-"] {
  padding: 0;
}
.cms-block-image-text-bubble .cms-element-image .cms-image-container, .cms-block-image-bubble-row .cms-element-image .cms-image-container {
  height: 300px;
  width: 300px;
  margin: auto;
  border-radius: 50%;
  background-clip: padding-box;
  overflow: hidden;
}
.cms-block-image-highlight-row .cms-element-image {
  border: 12px solid #fff;
}
.cms-block-image-text-bubble .cms-element-text, .cms-block-image-text-row .cms-element-text {
  padding-top: 20px;
}
.cms-block-image-text-gallery .image-text-gallery-card {
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
}
.cms-block-image-text-gallery .cms-element-text {
  padding: 20px;
}
.cms-block-text-on-image .cms-element-text {
  padding: 30px;
  align-items: center;
  min-height: 240px;
}
.cms-block-image-text-cover .cms-element-text {
  padding-top: 30px;
}
.cms-block-image-simple-grid .left-top {
  margin-bottom: 40px;
}
.cms-block-image-simple-grid .right {
  height: 100%;
}
@media (min-width: 992px) {
  .cms-block-container .cms-block-container-row.has--sidebar {
    flex-direction: column;
  }
  .cms-block-container .cms-block-container-row.has--sidebar > div {
    flex-basis: auto;
    flex-grow: 1;
    max-width: 100%;
  }
}
@media (max-width: 767.98px) {
  .cms-block-image-text-gallery .cms-row > :not(:last-child), .cms-block-image-two-column .cms-row > :not(:last-child), .cms-block-image-three-column .cms-row > :not(:last-child), .cms-block-image-four-column .cms-row > :not(:last-child), .cms-block-image-bubble-row .cms-row > :not(:last-child), .cms-block-image-highlight-row .cms-row > :not(:last-child) {
    margin-bottom: 40px;
  }
  .cms-block-image-text .cms-row > :first-child, .cms-block-image-text-cover .cms-row > :first-child {
    margin-bottom: 40px;
  }
  .cms-block-image-simple-grid .left-bottom {
    margin-bottom: 40px;
  }
}
.cms-block-sidebar-filter {
  overflow: visible;
  /*
    The filter's col is set to "initial" because the "boundary" option
    of the filter panel bootstrap dropdown is not working otherwise.
    The "boundary" option sets the dropdown container to "static" to
    be able to "break out" of "overflow: hidden". But this interferes
    with position "relative" on surrounding columns.
    */
}
.cms-block-sidebar-filter .col-12 {
  position: initial;
}
.cms-element-product-name {
  display: inline-block;
}
.cms-element-manufacturer-logo .cms-image-link {
  height: 100%;
}
.cms-element-manufacturer-logo .cms-image-container.is-standard img {
  max-height: 100px;
}
/*
CMS elements
==============================================
General styling for cms elements
*/
.cms-element-image, .cms-element-video {
  position: relative;
  height: 100%;
}
.cms-element-image[tabindex]:focus-visible, .cms-element-video[tabindex]:focus-visible {
  outline: 0;
}
.cms-element-image[tabindex]:focus-visible .cms-video-container, .cms-element-video[tabindex]:focus-visible .cms-video-container {
  box-shadow: 0 0 0 0.25rem #00689c;
}
.cms-element-image .cms-image, .cms-element-image .cms-video, .cms-element-video .cms-image, .cms-element-video .cms-video {
  display: block;
  max-width: 100%;
}
.cms-element-image .cms-video:not([controls]), .cms-element-video .cms-video:not([controls]) {
  cursor: pointer;
}
.cms-element-image .cms-image-container, .cms-element-image .cms-video-container, .cms-element-video .cms-image-container, .cms-element-video .cms-video-container {
  display: block;
  max-width: 100%;
  position: relative;
}
.cms-element-image .cms-image-container.is-cover, .cms-element-image .cms-video-container.is-cover, .cms-element-video .cms-image-container.is-cover, .cms-element-video .cms-video-container.is-cover {
  object-fit: contain;
  height: 100%;
}
.cms-element-image .cms-image-container.is-cover .cms-image, .cms-element-image .cms-image-container.is-cover .cms-video, .cms-element-image .cms-video-container.is-cover .cms-image, .cms-element-image .cms-video-container.is-cover .cms-video, .cms-element-video .cms-image-container.is-cover .cms-image, .cms-element-video .cms-image-container.is-cover .cms-video, .cms-element-video .cms-video-container.is-cover .cms-image, .cms-element-video .cms-video-container.is-cover .cms-video {
  object-fit: cover;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.cms-element-image .cms-image-container.is-cover .cms-image, .cms-element-image .cms-image-container.is-cover .cms-video, .cms-element-image .cms-image-container.is-stretch .cms-image, .cms-element-image .cms-image-container.is-stretch .cms-video, .cms-element-image .cms-video-container.is-cover .cms-image, .cms-element-image .cms-video-container.is-cover .cms-video, .cms-element-image .cms-video-container.is-stretch .cms-image, .cms-element-image .cms-video-container.is-stretch .cms-video, .cms-element-video .cms-image-container.is-cover .cms-image, .cms-element-video .cms-image-container.is-cover .cms-video, .cms-element-video .cms-image-container.is-stretch .cms-image, .cms-element-video .cms-image-container.is-stretch .cms-video, .cms-element-video .cms-video-container.is-cover .cms-image, .cms-element-video .cms-video-container.is-cover .cms-video, .cms-element-video .cms-video-container.is-stretch .cms-image, .cms-element-video .cms-video-container.is-stretch .cms-video {
  width: 100%;
}
.cms-element-image .cms-video-play-icon, .cms-element-video .cms-video-play-icon {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  width: 96px;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: opacity 220ms ease-out, transform 140ms ease-in;
  will-change: transform, opacity;
}
.cms-element-image .cms-video-play-icon img, .cms-element-video .cms-video-play-icon img {
  display: block;
  width: 100%;
  height: 100%;
}
.cms-element-image.is-animating .cms-video-play-icon, .cms-element-video.is-animating .cms-video-play-icon {
  animation: cms-video-start 220ms ease-out;
}
.cms-element-image.is-playing .cms-video-play-icon, .cms-element-video.is-playing .cms-video-play-icon {
  opacity: 0;
  transform: translate(-50%, -50%) scale(1);
}
.cms-element-image.is-paused .cms-video-play-icon, .cms-element-video.is-paused .cms-video-play-icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  animation: cms-video-stop 300ms linear;
}
.cms-element-image .cms-image-link, .cms-element-video .cms-image-link {
  display: block;
}
.cms-element-image.is-stretch .cms-element-alignment, .cms-element-video.is-stretch .cms-element-alignment {
  width: 100%;
}
.cms-element-image__backdrop, .cms-element-video__backdrop {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.cms-element-image__backdrop > div, .cms-element-video__backdrop > div {
  background: rgba(255, 255, 255, 0.9);
  padding: 1rem;
}
@keyframes cms-video-start {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  60% {
    transform: translate(-50%, -50%) scale(1.32);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
  }
}
@keyframes cms-video-stop {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0;
  }
  40% {
    transform: translate(-50%, -50%) scale(1.32);
    opacity: 0.2;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}
.cms-element-youtube-video {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cms-element-youtube-video.is--streched {
  height: 100%;
}
.cms-element-youtube-video::before {
  padding-top: calc((9 / 16) * 100%);
}
.cms-element-youtube-video, .cms-element-vimeo-video {
  position: relative;
  width: 100%;
}
.cms-element-youtube-video::before, .cms-element-vimeo-video::before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 56.25%;
}
.cms-element-youtube-video__video, .cms-element-youtube-video__placeholder, .cms-element-vimeo-video__video, .cms-element-vimeo-video__placeholder {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 0 none;
}
.cms-element-youtube-video__placeholder img, .cms-element-vimeo-video__placeholder img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.cms-element-youtube-video__backdrop, .cms-element-vimeo-video__backdrop {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.cms-element-youtube-video__backdrop > div, .cms-element-vimeo-video__backdrop > div {
  background: rgba(255, 255, 255, 0.9);
  padding: 1rem;
}
.cms-element-youtube-video__container:hover .js-vimeo-link, .cms-element-vimeo-video__container:hover .js-vimeo-link {
  display: block;
}
.cms-element-product-listing-actions {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.cms-element-product-listing-actions .sorting {
  margin-left: auto;
}
.cms-element-buy-box, .cms-element-product-box {
  width: 100%;
}
.cms-element-product-slider .cms-element-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #2b3136;
}
.cms-element-product-slider.has-vertical-alignment {
  justify-content: center;
}
.cms-element-product-slider.has-vertical-alignment .cms-element-alignment {
  width: 100%;
}
.cms-element-product-slider.has-border .cms-element-title {
  margin-top: 0.5rem;
}
.cms-element-text, .cms-element-image, .cms-element-video, .cms-element-product-box, .cms-element-buy-box, .cms-element-product-slider, .cms-element-product-description-reviews, .cms-element-image-slider, .cms-element-image-gallery {
  word-break: break-word;
}
.cms-element-text.has-vertical-alignment, .cms-element-image.has-vertical-alignment, .cms-element-video.has-vertical-alignment, .cms-element-product-box.has-vertical-alignment, .cms-element-buy-box.has-vertical-alignment, .cms-element-product-slider.has-vertical-alignment, .cms-element-product-description-reviews.has-vertical-alignment, .cms-element-image-slider.has-vertical-alignment, .cms-element-image-gallery.has-vertical-alignment {
  display: flex;
  height: 100%;
}
.cms-element-image-gallery .js-magnifier-zoom-image-container .magnifier-overlay {
  display: none;
}
@media (max-width: 991.98px) {
  .cms-element-product-listing-actions {
    flex-wrap: wrap;
    justify-content: center;
  }
  .cms-element-product-listing-actions .sorting {
    width: 100%;
    margin-top: 5px;
    margin-left: 0;
  }
}
div.card-tabs .cms-card-header {
  padding-left: 0;
  padding-right: 0;
}
.cms-element-text {
  position: relative;
  overflow: auto;
}
.cms-element-text img {
  max-width: 100%;
  height: auto;
}
.confirm-message {
  padding: 10% 20%;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}
.confirm-message div.alert {
  margin-top: 1em;
}
.confirm-alert {
  padding: 1em 1em 3em;
}
@media (max-width: 767.98px) {
  .confirm-message {
    padding: 10% 0;
  }
}
/*
Form
==============================================
Custom styling for bootstrap forms.

https://getbootstrap.com/docs/5.2/forms/overview
*/
.was-validated .form-control:valid, .form-control.is-valid {
  background-position: right 0.75rem center;
}
.was-validated .form-control:invalid, .form-control.is-invalid {
  background-position: right 0.75rem center;
}
.was-validated .custom-control-input:valid ~ .custom-control-label.no-validation {
  color: inherit;
}
.was-validated .custom-control-input:valid ~ .custom-control-label.no-validation::before {
  border-color: inherit;
}
.required-fields {
  margin-bottom: 1rem;
}
.form-text {
  font-size: 1rem;
}
.forms-boolean {
  display: block;
  border: 1px solid #798490;
  padding: 0 36px;
  margin: 12px 0;
  height: 40px;
  border-radius: 3px;
  cursor: pointer;
}
.forms-boolean.is-active {
  border-color: #00689C;
}
.forms-boolean:hover {
  border-color: #00689C;
  color: #00689C;
}
.forms-boolean-label {
  cursor: pointer;
  height: 38px;
  line-height: 38px;
  width: 100%;
}
.forms-boolean-label::before, .forms-boolean-label::after {
  top: 11px;
}
.address-manager-modal {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.address-manager-modal .btn-icon-hover-white:hover span.icon, .address-manager-modal .btn-icon-hover-white:focus span.icon {
  color: #fff;
}
.address-manager-modal .loader {
  color: #fff;
}
.address-manager-modal .address-manager-modal-header-content {
  width: 100%;
}
.address-manager-modal .modal-body {
  padding-top: 0;
  height: 550px;
}
.address-manager-modal .modal-footer {
  background-color: #f9f9f9;
}
.address-manager-modal .address-manager-modal-select-address:hover {
  border-color: #00689C;
  cursor: pointer;
}
.address-manager-modal .address-manager-modal-select-address {
  height: 210px;
}
.sorting {
  display: inline-block;
  width: 260px;
}
/*
Delivery status
==============================================
Shows the delivery status for products e.g. on detail page.
*/
.delivery-status-indicator {
  border-radius: 100%;
  background-clip: padding-box;
  display: inline-block;
  height: 10px;
  line-height: 10px;
  margin-right: 5px;
  position: relative;
  width: 10px;
}
.quickview-minimal-top, .quickview-minimal-image {
  margin-bottom: 1rem;
}
.quickview-minimal-product-manufacturer-logo {
  width: 100%;
}
@media (min-width: 768px) {
  .quickview-minimal-top {
    margin-bottom: 1.5rem;
  }
}
/*
Payment method
==============================================
Custom styling for payment form used e.g. on account and checkout pages.
*/
.payment-method-image {
  max-height: 24px;
  max-width: 100%;
  margin-right: 0.25rem;
  margin-left: 0.25rem;
  float: right;
}
/*
Shipping method
==============================================
Custom styling for shipping form used e.g. on account and checkout pages.
*/
.shipping-method-image {
  max-height: 24px;
  max-width: 100%;
  margin-right: 0.25rem;
  margin-left: 0.25rem;
  float: right;
}
/*
Filter panel
==============================================
Styling for filter panel component.
This file contains the generic styling for all filter items.
*/
.filter-panel {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  margin-bottom: 8px;
}
.icon.icon-filter-panel-item-toggle {
  margin-left: 8px;
}
.icon.icon-filter-panel-item-toggle > svg {
  top: 4px;
}
.filter-panel-items-container {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  margin-bottom: 8px;
  width: 100%;
}
.filter-panel-item {
  margin-right: 12px;
  margin-bottom: 12px;
}
.filter-panel-item .filter-panel-item-toggle {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-btn-border-color: #798490;
  --bs-btn-hover-border-color: #798490;
  --bs-btn-active-border-color: #00689C;
  --bs-btn-active-color: #00689C;
  --bs-btn-font-weight: 400;
}
.filter-panel-item-toggle.show .icon-filter-panel-item-toggle svg {
  color: #00689C;
  transform: rotate(180deg);
}
.filter-panel-item-dropdown {
  min-width: 240px;
  max-height: 200px;
  overflow: auto;
  padding: 13px 0;
}
.filter-panel-submit {
  height: 40px;
  margin-bottom: 12px;
  border: 1px solid #00689C;
  background-color: #fff;
  color: #4a545b;
}
.filter-active {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-btn-border-color: #798490;
  --bs-btn-hover-border-color: #00689C;
  --bs-btn-hover-color: #00689C;
  --bs-btn-hover-bg: #f9f9f9;
  --bs-btn-active-border-color: #00689C;
  --bs-btn-active-color: #00689C;
  --bs-btn-font-weight: 400;
  --bs-btn-border-radius: 50rem;
  --bs-btn-padding-y: 0.125rem;
  --bs-btn-line-height: 1.625rem;
}
.filter-active-preview {
  display: inline-block;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  border: 1px solid #798490;
  margin-right: 0.25rem;
  background-position: center center;
  background-size: cover;
  vertical-align: -0.125em;
}
.btn.filter-reset-all {
  --bs-btn-border-radius: 50rem;
  --bs-btn-padding-y: 0.125rem;
  --bs-btn-line-height: 1.625rem;
  --bs-btn-font-weight: 400;
}
.is--sidebar .filter-panel, .is--sidebar .filter-panel-items-container {
  display: block;
}
.is--sidebar .filter-panel-item-dropdown {
  min-width: 100%;
  border: 1px solid #00689C;
  border-top: 0;
  border-radius: 0 0 4px 4px;
}
.is--sidebar .filter-panel-item {
  margin-right: 0;
  width: 100%;
}
.is--sidebar .filter-panel-item-toggle {
  text-align: left;
  display: flex;
}
.is--sidebar .filter-panel-item-toggle[aria-expanded="true"] {
  color: #00689C;
  border-color: #00689C;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0 none;
}
.is--sidebar .filter-panel-item-toggle[aria-expanded="true"] svg {
  color: #00689C;
  transform: rotate(180deg);
}
.is--sidebar .icon-filter-panel-item-toggle {
  margin-left: auto;
}
.is--sidebar .icon-filter-panel-item-toggle > svg {
  top: 0;
}
.is-loading .filter-panel-item-toggle, .is-loading .filter-active, .is-loading .filter-reset-all, .is-loading .filter-boolean, .is-loading .filter-panel-submit {
  pointer-events: none;
  opacity: 0.6;
}
.btn.filter-panel-wrapper-toggle {
  --bs-btn-padding-x: 6px;
  --bs-btn-padding-y: 6px;
  --bs-btn-hover-bg: var(--bs-gray-200);
  --bs-btn-hover-color: var(--bs-primary);
  --bs-btn-active-bg: var(--bs-gray-200);
  --bs-btn-active-color: var(--bs-primary);
  display: none;
  width: 100%;
}
.btn.filter-panel-wrapper-toggle .icon {
  color: currentColor;
  margin-right: 0.5rem;
  vertical-align: text-bottom;
}
.btn.filter-panel-wrapper-toggle .icon svg {
  top: 0;
}
.filter-panel-offcanvas-header {
  height: 80px;
  align-items: center;
  padding: 25px;
  display: none;
}
.filter-panel-offcanvas-title {
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 700;
  color: #2b3136;
}
.filter-panel-offcanvas-close {
  margin-left: auto;
}
@media (max-width: 991.98px) {
  .btn.filter-panel-wrapper-toggle {
    display: block;
  }
  .filter-panel-wrapper {
    display: none;
  }
}
.offcanvas-filter {
  overflow: hidden;
}
.offcanvas-filter .filter-panel {
  height: calc(100% - 80px);
  overflow-y: auto;
  width: 100%;
  padding: 0 25px 25px;
}
.offcanvas-filter .filter-panel-offcanvas-header {
  display: flex;
}
/*
Filter multi select
==============================================
Styling for multi select filter item.
This filter item should only be used inside a filter panel.
*/
.filter-multi-select .filter-panel-item-toggle.disabled {
  cursor: default;
}
.filter-multi-select-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.filter-multi-select-list-item {
  padding: 5px 15px;
}
.filter-multi-select-list-item.disabled {
  opacity: 0.3;
}
.filter-multi-select-list-item.disabled .filter-multi-select-item-label {
  cursor: default;
}
.filter-multi-select-item-label {
  cursor: pointer;
  margin-bottom: 0;
  padding: 0 10px;
  width: 100%;
}
.filter-multi-select-count {
  margin-left: 3px;
}
/*
Filter property select
==============================================
Styling for property select filter item.
This filter item should only be used inside a filter panel.
*/
.filter-property-select-list-item {
  display: flex;
  align-items: center;
}
.filter-property-select-preview {
  width: 32px;
  height: 32px;
  display: inline-block;
  border-radius: 4px;
  border: 1px solid #798490;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cpath fill='%23cdd5db' d='M0 0h30v30H0zM30 30h30v30H30zM60 0h30v30H60zM60 60h30v30H60zM0 60h30v30H0z'/%3E%3C/svg%3E");
  background-position: center center;
  background-size: cover;
  position: relative;
  flex-shrink: 0;
}
.filter-property-select-preview-checkmark {
  width: 20px;
  height: 20px;
  position: absolute;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease-in-out;
  opacity: 0;
  transform: translateY(-5px);
  background-color: #00689C;
  border: 0.125rem solid #fff;
  top: -0.375rem;
  right: -0.375rem;
}
.filter-property-select-preview-checkmark .icon {
  width: 10px;
  height: 10px;
  color: #fff;
}
.filter-property-select-preview-checkmark .icon svg {
  top: 0;
}
.filter-property-select-checkbox {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  appearance: none;
  background-color: transparent;
  outline: none;
}
.filter-property-select-checkbox:focus {
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.filter-property-select-checkbox:checked ~ .filter-property-select-preview-checkmark {
  transform: translateY(0);
  opacity: 1;
}
/*
Filter boolean
==============================================
Styling for boolean filter item.
This filter item should only be used inside a filter panel.
*/
.filter-boolean {
  display: inline-block;
  border: 1px solid #798490;
  padding-left: 12px;
  padding-right: 12px;
  height: 40px;
  border-radius: 0;
  cursor: pointer;
}
.filter-boolean.is-active {
  border-color: #00689C;
}
.filter-boolean:hover {
  border-color: #00689C;
  color: #00689C;
}
.filter-boolean.disabled {
  cursor: default;
  background: #eee;
  border-color: #eee;
}
.filter-boolean.disabled .filter-boolean-label {
  color: #bcc1c7;
  cursor: default;
}
.filter-boolean-input {
  margin-top: 11px;
}
.filter-boolean-label {
  cursor: pointer;
  height: 38px;
  line-height: 38px;
  width: 100%;
}
/*
Filter range
==============================================
Styling for range filter item.
This filter item should only be used inside a filter panel.
*/
.filter-range-dropdown {
  padding: 0;
  overflow: hidden;
}
.filter-range-container {
  display: flex;
  align-items: flex-end;
  padding: 16px;
}
.filter-range-error {
  padding: 0 16px 16px;
  font-size: 13px;
  color: #c20017;
}
.filter-range-min, .filter-range-max {
  width: calc(50% - 14px);
  margin-bottom: 0;
  font-size: 11px;
  position: relative;
}
.min-input, .max-input {
  margin-bottom: 0;
  height: 28px;
  padding: 6px 10px;
  appearance: none;
}
.min-input::-webkit-inner-spin-button, .min-input::-webkit-outer-spin-button, .max-input::-webkit-inner-spin-button, .max-input::-webkit-outer-spin-button {
  appearance: none;
  margin: 0;
}
.filter-range-unit {
  position: absolute;
  bottom: 1px;
  right: 1px;
  height: 26px;
  line-height: 26px;
  font-size: 14px;
  padding: 0 10px;
  background-color: #fff;
  border-radius: 0;
}
.filter-range-divider {
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  font-weight: 700;
}
/*
Filter rating select
==============================================
Styling for rating select filter item.
This filter item should only be used inside a filter panel.
*/
.filter-rating-select-radio {
  appearance: none;
  opacity: 0;
}
.filter-rating-select-radio:checked ~ .filter-rating-select-item-checkmark {
  transform: translateY(2px);
  opacity: 1;
}
.filter-rating-select-radio:focus-visible ~ .filter-rating-select-item-label {
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.filter-rating-select-radio:focus-visible ~ .filter-rating-select-item-label .filter-rating-select-item-label-text {
  color: #00689C;
  font-weight: 700;
}
.filter-rating-select-item-label {
  cursor: pointer;
  display: flex;
  align-items: center;
}
.filter-rating-select-item-label .product-review-rating {
  margin-right: 8px;
  display: inline-block;
  margin-top: 3px;
}
.filter-rating-select-item-label:hover .icon-review {
  color: #fed03d;
}
.filter-rating-select-item-label:hover .filter-rating-select-item-label-text {
  color: #00689C;
  font-weight: 700;
}
.filter-rating-select-list-item {
  display: flex;
  position: relative;
  margin-left: 16px;
}
.filter-rating-select-list-item .filter-rating-select-item-label {
  margin-bottom: 5px;
}
.filter-rating-select-list-item:last-child.filter-rating-select-item-label {
  margin-bottom: 0;
}
.filter-rating-select-list-item.disabled {
  opacity: 0.3;
}
.filter-rating-select-list-item.disabled .icon-review {
  color: #bcc1c7;
}
.filter-rating-select-list-item.disabled .filter-rating-select-item-label {
  cursor: default;
}
.filter-rating-select-list-item.disabled:hover .filter-rating-select-item-label-text {
  color: #2b3136;
  font-weight: 400;
}
.filter-rating-select-item-checkmark {
  width: 20px;
  height: 20px;
  background-color: #798490;
  position: absolute;
  border: 1px solid #fff;
  border-radius: 50%;
  top: -8px;
  left: -8px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease-in-out;
  opacity: 0;
  transform: translateY(-7px);
}
.filter-rating-select-item-checkmark .icon {
  width: 10px;
  height: 10px;
  color: #fff;
}
.filter-rating-select-item-checkmark .icon svg {
  top: 0;
}
.filter-multi-select-rating .filter-panel-item-dropdown {
  padding-bottom: 6px;
}
.product-feature-list-list {
  list-style: none;
  padding-left: unset;
}
.product-feature-feature {
  font-size: 0.875rem;
}
.product-feature-value {
  font-weight: 700;
}
/*
Notification dot
==============================================
Styling for notification dot component.
*/
.notification-dot {
  background-color: #bcc1c7;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}
.notification-dot.notification-dot-primary {
  background-color: #00689C;
}
.notification-dot.notification-dot-secondary {
  background-color: #474a57;
}
.notification-dot.notification-dot-success {
  background-color: #007e4e;
}
.notification-dot.notification-dot-danger {
  background-color: #c20017;
}
.notification-dot.notification-dot-warning {
  background-color: #974200;
}
.notification-dot.notification-dot-info {
  background-color: #005b99;
}
.notification-dot.notification-dot-light {
  background-color: #f9f9f9;
}
.notification-dot.notification-dot-dark {
  background-color: #4a545b;
}
/*
Product box for wishlist
==============================================
Styling for productbox component.
*/
.product-box.box-wishlist .stretched-link::after {
  height: calc(200px + var(--bs-card-spacer-y));
}
.product-wishlist {
  margin-top: 10px;
}
.product-wishlist .icon-wishlist svg {
  top: 0;
}
.product-wishlist-not-added .icon-wishlist-added, .product-wishlist-not-added .text-wishlist-remove {
  display: none;
}
.product-wishlist-not-added .icon-wishlist-not-added, .product-wishlist-not-added .text-wishlist-not-added {
  display: inline-flex;
}
.product-wishlist-not-added .icon-wishlist-not-added {
  animation: pulse 0.5s alternate;
}
.product-wishlist-added .icon-wishlist-added, .product-wishlist-added .text-wishlist-remove {
  display: inline-flex;
}
.product-wishlist-added .icon-wishlist-added {
  animation: pulse 0.5s alternate;
}
.product-wishlist-added .icon-wishlist-not-added, .product-wishlist-added .text-wishlist-not-added {
  display: none;
}
.product-wishlist-action-circle {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}
.product-wishlist-action-circle.btn {
  text-overflow: initial;
}
.product-wishlist-action-circle::before {
  content: "";
  position: absolute;
  width: 120%;
  height: 120%;
  left: calc(50% - 24px);
  top: calc(50% - 24px);
}
.product-wishlist-action {
  background: transparent;
  border-style: none;
  padding: 0;
  display: inline-flex;
}
.product-wishlist-btn {
  --bs-btn-border-radius: 50%;
  --bs-btn-border-width: 0;
  --bs-btn-padding-x: 0.5rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-color: var(--bs-gray-800);
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  height: 40px;
  width: 40px;
}
.product-wishlist-btn-remove {
  z-index: 10;
  position: absolute;
  right: 1.5rem;
  top: 1.5rem;
}
.product-wishlist .icon-wishlist svg, .product-wishlist .icon-wishlist-remove svg {
  top: 0;
}
.product-wishlist-btn-content {
  text-decoration: underline;
}
.product-wishlist-btn-content-md {
  margin-left: 8px;
  font-size: 14px;
}
.product-wishlist-btn-content-sm {
  margin-left: 6px;
  font-size: 12px;
}
.product-wishlist-btn-content-disabled {
  display: none;
}
.product-wishlist-btn-content-active {
  display: inline-flex;
}
.product-wishlist-info {
  /* stylelint-disable value-no-vendor-prefix, property-no-vendor-prefix */
}
.product-wishlist-info-item {
  min-height: 2em;
  font-size: 0.875rem;
}
.product-wishlist-info-text {
  font-weight: 700;
}
.product-wishlist-info-manufacturer {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-wishlist-info .product-variant-characteristics-text {
  text-transform: capitalize;
}
@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.quantity-selector-group .quantity-selector-group-input {
  -moz-appearance: textfield;
  text-align: center;
  border-left: 0;
  border-right: 0;
  padding-left: 0;
  padding-right: 0;
  line-height: 1rem;
}
.quantity-selector-group .quantity-selector-group-input:disabled {
  color: #798490;
}
.quantity-selector-group .quantity-selector-group-input::-webkit-outer-spin-button, .quantity-selector-group .quantity-selector-group-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.quantity-selector-group .btn-outline-light {
  --bs-btn-disabled-bg: #eee;
  --bs-btn-disabled-border-color: #798490;
  --bs-btn-border-color: #798490;
  --bs-btn-active-border-color: #798490;
  --bs-btn-hover-border-color: #798490;
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.quantity-selector-group .btn-outline-light.btn-plus {
  border-left: 0;
}
.quantity-selector-group .btn-outline-light.btn-minus {
  border-right: 0;
}
.quantity-selector-group .btn-outline-light:disabled .icon {
  color: #bcc1c7;
}
.quantity-selector-group .btn-outline-light svg {
  top: 4px;
}
.quantity-selector-group .input-group-text {
  line-height: 1rem;
}
.basic-captcha-content-image {
  width: 85%;
}
.basic-captcha-content-image img {
  border: 1px solid #798490;
  border-radius: 0;
  width: 100%;
}
.basic-captcha-content-code {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25em;
  max-width: 440px;
}
.basic-captcha-content-refresh-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column-reverse;
  height: 42px;
  align-self: flex-end;
  border-color: #798490;
}
.basic-captcha-content-refresh-icon.btn .icon > svg {
  top: 0;
}
.basic-captcha-content-refresh-icon:hover {
  cursor: pointer;
  border-color: #00689C;
  background-color: #fff;
}
.basic-captcha-content-refresh-icon:hover .icon.icon-arrow-switch {
  color: #00689C;
}
.line-item {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #798490;
}
.line-item.is-discount .line-item-total-price {
  color: #007e4e;
}
.line-item:last-child {
  border-bottom: 0;
}
.line-item-info {
  order: 1;
  margin-bottom: 1rem;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 83.33333333%;
}
@media (min-width: 768px) {
  .line-item-info {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
}
.line-item-details {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 576px) {
  .line-item-details {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
}
@media (min-width: 768px) {
  .line-item-details {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
}
.line-item-quantity {
  order: 3;
  margin-bottom: 0.5rem;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 576px) {
  .line-item-quantity {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
@media (min-width: 768px) {
  .line-item-quantity {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
}
.line-item-quantity-label {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 50%;
}
@media (min-width: 576px) {
  .line-item-quantity-label {
    flex: 0 0 auto;
    width: 100%;
  }
}
.line-item-quantity-select-wrapper {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 50%;
}
@media (min-width: 576px) {
  .line-item-quantity-select-wrapper {
    flex: 0 0 auto;
    width: 100%;
  }
}
.line-item-unit-price {
  display: none;
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 576px) {
  .line-item-unit-price {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
@media (min-width: 768px) {
  .line-item-unit-price {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
}
.line-item-tax-price {
  justify-content: flex-end;
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 576px) {
  .line-item-tax-price {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
@media (min-width: 768px) {
  .line-item-tax-price {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
}
.line-item-total-price {
  order: 4;
  font-weight: 700;
  justify-content: flex-end;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 100%;
}
@media (min-width: 576px) {
  .line-item-total-price {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
@media (min-width: 768px) {
  .line-item-total-price {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
}
.line-item-remove {
  order: 2;
  text-align: right;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 0 0 auto;
  width: 16.66666667%;
}
@media (min-width: 768px) {
  .line-item-remove {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
}
.is-offcanvas .line-item-info {
  flex: 0 0 auto;
  width: 83.33333333%;
}
.is-offcanvas .line-item-details {
  flex: 0 0 auto;
  width: 100%;
}
.is-offcanvas .line-item-quantity {
  flex: 0 0 auto;
  width: 100%;
}
.is-offcanvas .line-item-quantity-label {
  flex: 0 0 auto;
  width: 58.33333333%;
}
.is-offcanvas .line-item-quantity-select-wrapper {
  flex: 0 0 auto;
  width: 41.66666667%;
}
.is-offcanvas .line-item-unit-price {
  flex: 0 0 auto;
  width: 100%;
  display: none;
  font-size: 0.875rem;
  font-style: italic;
}
.is-offcanvas .line-item-unit-price.is-shown {
  display: flex;
  justify-content: flex-end;
}
.is-offcanvas .line-item-tax-price {
  flex: 0 0 auto;
  width: 100%;
}
.is-offcanvas .line-item-total-price {
  flex: 0 0 auto;
  width: 100%;
}
.is-offcanvas .line-item-remove {
  flex: 0 0 auto;
  width: 16.66666667%;
}
.is-offcanvas .line-item-details-container {
  padding-left: 0;
}
.is-offcanvas .line-item-unit-price-value-descriptor {
  display: inline;
}
.is-offcanvas .line-item-unit-price-label, .is-offcanvas .line-item-tax-price-label, .is-offcanvas .line-item-total-price-label {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.is-offcanvas .line-item-unit-price-label:not(caption), .is-offcanvas .line-item-tax-price-label:not(caption), .is-offcanvas .line-item-total-price-label:not(caption) {
  position: absolute !important;
}
.is-offcanvas .line-item-unit-price-label *, .is-offcanvas .line-item-tax-price-label *, .is-offcanvas .line-item-total-price-label * {
  overflow: hidden !important;
}
@media (min-width: 768px) {
  .no-remove-button .line-item-info {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 768px) {
  .no-remove-button .line-item-details {
    flex: 0 0 auto;
    width: 75%;
  }
}
@media (min-width: 768px) {
  .no-summary .line-item-info {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
}
@media (min-width: 768px) {
  .no-summary .line-item-details {
    flex: 0 0 auto;
    width: 75%;
  }
}
@media (min-width: 768px) {
  .no-summary.no-remove-button .line-item-info {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
}
@media (min-width: 768px) {
  .no-summary.no-remove-button .line-item-details {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
}
.line-item.is-order {
  margin-left: 20px;
  margin-right: 20px;
}
.line-item.is-order .line-item-children .line-item {
  margin-left: 0;
  margin-right: 0;
}
.line-item-info, .line-item-details, .line-item-quantity, .line-item-unit-price, .line-item-total-price, .line-item-tax-price, .line-item-remove {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}
.line-item-discount-icon, .line-item-icon {
  text-align: center;
  height: 100%;
}
.line-item-discount-icon .icon, .line-item-icon .icon {
  height: 100%;
}
.line-item-discount-icon .icon > svg, .line-item-icon .icon > svg {
  top: 0;
}
.line-item-discount .line-item-icon .icon, .line-item-promotion .line-item-icon .icon {
  color: #007e4e;
}
.line-item-container .line-item-icon .icon {
  color: #474a57;
}
.line-item-nested-icon {
  background-color: #798490;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  display: flex;
  margin: 0 auto;
  width: 65px;
  height: 65px;
}
.line-item-nested-icon .icon > svg {
  top: 0;
}
.line-item-unit-price, .line-item-tax-price {
  order: 5;
}
.line-item-img-container {
  text-align: center;
  width: 70px;
  margin-bottom: 0.5rem;
}
.line-item-img-link {
  display: block;
}
.line-item-img {
  width: 100%;
  height: 70px;
  object-fit: contain;
  padding: 0.25rem;
  border: 1px solid #798490;
  border-radius: 0;
}
.line-item-total-price, .line-item-tax-price {
  justify-content: space-between;
  display: flex;
}
@media (max-width: 575.98px) {
  .line-item-tax-price, .line-item-unit-price {
    font-size: 0.875rem;
    font-style: italic;
  }
}
@media (min-width: 576px) {
  .line-item-unit-price {
    display: flex;
    justify-content: flex-end;
  }
}
.line-item-unit-price.is-shown {
  display: flex;
  justify-content: flex-end;
}
.line-item-quantity-label, .line-item-unit-price-label, .line-item-total-price-label, .line-item-tax-price-label {
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.line-item-quantity-row {
  align-items: center;
  margin-bottom: 0.5rem;
}
.line-item-details-characteristics {
  font-size: 0.875rem;
  margin: 0.5rem 0;
}
.line-item-details-characteristics .line-item-details-characteristics-option {
  font-weight: 700;
}
.line-item-variants {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
.line-item-variants-properties {
  display: flex;
}
.line-item-variants-properties-name {
  font-weight: 700;
  margin-right: 0.5rem;
}
@media (min-width: 576px) {
  .is-default .line-item-quantity-container, .is-order .line-item-quantity-container {
    margin-left: auto;
  }
  .is-default .line-item-quantity-row, .is-order .line-item-quantity-row {
    align-items: normal;
    margin-bottom: 0;
  }
  .is-default .line-item-quantity, .is-order .line-item-quantity {
    flex-direction: column;
    display: flex;
  }
  .is-default .line-item-unit-price, .is-default .line-item-total-price, .is-default .line-item-tax-price, .is-order .line-item-unit-price, .is-order .line-item-total-price, .is-order .line-item-tax-price {
    text-align: right;
    justify-content: normal;
    flex-direction: column;
  }
  .is-default .line-item-tax-price, .is-order .line-item-tax-price {
    order: 4;
  }
  .is-default .line-item-total-price, .is-order .line-item-total-price {
    order: 5;
  }
}
@media (min-width: 768px) {
  .is-default .line-item-info, .is-default .line-item-quantity, .is-default .line-item-unit-price, .is-default .line-item-total-price, .is-default .line-item-tax-price, .is-default .line-item-remove, .is-order .line-item-info, .is-order .line-item-quantity, .is-order .line-item-unit-price, .is-order .line-item-total-price, .is-order .line-item-tax-price, .is-order .line-item-remove {
    order: 0;
  }
  .is-default .line-item-info, .is-order .line-item-info {
    margin-bottom: 0;
  }
  .is-default .line-item-quantity-label, .is-order .line-item-quantity-label {
    display: none;
  }
}
.line-item-children {
  background-color: #f9f9f9;
  font-size: 0.875rem;
  width: 100%;
  padding: 10px 20px;
  order: 10;
  margin-top: 10px;
  flex-shrink: initial;
}
.line-item-children .line-item-children-elements {
  padding: 12px 0 0;
}
.line-item-children .line-item-headline {
  padding: 0;
  font-weight: 600;
}
.line-item-children .line-item-change-button {
  width: fit-content;
  margin: 0 12px;
  font-size: 12px;
  text-decoration: underline;
  background-color: transparent;
  border-style: none;
}
.line-item-children .line-item-change-button:focus {
  outline: none;
}
.line-item-children .line-item-collapse {
  margin: 0;
  align-items: center;
}
.line-item-children .line-item-collapse-container, .line-item-children .line-item-child-label {
  padding: 0;
}
.line-item-children .line-item-child-label {
  position: relative;
}
.line-item-children .line-item-collapse-icon-container {
  padding: 0;
  text-align: right;
}
.line-item-children .line-item-collapse-button, .line-item-children .line-item-child-remove-icon {
  background-color: transparent;
  border-style: none;
}
.line-item-children .line-item-collapse-button:focus, .line-item-children .line-item-child-remove-icon:focus {
  outline: none;
}
.line-item-children .line-item-collapse-button > .line-item-collapse-icon {
  transform: rotate(180deg);
  transition: all 0.2s ease-out;
}
.line-item-children .line-item-collapse-button.collapsed > .line-item-collapse-icon {
  transform: rotate(0deg);
}
.line-item-children .line-item-children-element {
  margin: 0;
  padding: 8px 4px 0;
}
.line-item-children .line-item-children-element > .nesting-level-0 {
  list-style: none;
}
.line-item-children .line-item-children-element:last-child, .line-item-children .line-item-children-element-divider:last-child {
  border-style: none;
}
.line-item-children .line-item-child-label-bullet {
  display: list-item;
}
.line-item-children .line-item-child-total-price {
  padding: 0;
  text-align: right;
  font-weight: 600;
}
.line-item-children .line-item-child-remove-icon-container {
  padding: 0;
  text-align: right;
}
.line-item-children .line-item-children-element-divider {
  border-top: 1px solid #798490;
  margin: 1rem 0;
}
.line-item-children.nesting-level-2 {
  background-color: #f0f0f0;
}
.line-item-children.nesting-level-3 {
  background-color: #ebebeb;
}
.line-item-children .line-item-details-container {
  padding-left: 0;
}
.line-item-children .line-item-headline-text {
  font-weight: normal;
}
@media (min-width: 768px) {
  .line-item-children.nesting-level-1 {
    margin-left: 96px;
  }
}
@media (min-width: 992px) {
  .line-item-children.nesting-level-1 {
    margin-left: 4px;
  }
}
@media (min-width: 1200px) {
  .line-item-children.nesting-level-1 {
    margin-left: 96px;
  }
}
.is-offcanvas .line-item-children {
  margin-left: 0;
  padding-left: 12px;
  padding-right: 12px;
}
.line-item-product-number {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.line-item-delivery-date {
  font-size: 0.875rem;
}
.line-item-label {
  color: #2b3136;
  font-weight: 700;
}
a.line-item-label:hover {
  color: #00689C;
}
.line-item-tax-price-label {
  display: inline;
  font-weight: normal;
  margin-right: 5px;
}
@media (max-width: 575.98px) {
  .line-item-unit-price-label, .line-item-total-price-label {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .line-item-unit-price-label:not(caption), .line-item-total-price-label:not(caption) {
    position: absolute !important;
  }
  .line-item-unit-price-label *, .line-item-total-price-label * {
    overflow: hidden !important;
  }
}
@media (min-width: 768px) {
  .line-item-unit-price-label, .line-item-tax-price-label, .line-item-total-price-label {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .line-item-unit-price-label:not(caption), .line-item-tax-price-label:not(caption), .line-item-total-price-label:not(caption) {
    position: absolute !important;
  }
  .line-item-unit-price-label *, .line-item-tax-price-label *, .line-item-total-price-label * {
    overflow: hidden !important;
  }
}
@media (min-width: 576px) {
  .line-item-unit-price-value-descriptor {
    display: none;
  }
  .line-item-tax-price-label {
    display: block;
    font-weight: bold;
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .line-item-details-container {
    padding-left: 0.25rem;
  }
}
.line-item-characteristics {
  margin: 0.5rem 0;
  font-size: 0.875rem;
}
.line-item-characteristics .line-item-characteristics-option {
  font-weight: 700;
}
.line-item-remove-button .icon {
  color: inherit;
}
@media (max-width: 767.98px) {
  .hidden-mobile {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .hidden-tablet {
    display: none;
  }
}
@media (min-width: 992px) {
  .hidden-desktop {
    display: none;
  }
}
.spatial-ar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(1, 0, 0, 0.5);
  display: none;
  z-index: 1100;
}
.spatial-ar-overlay .spatial-ar-exit-button {
  position: absolute;
  top: 25px;
  right: 20px;
  width: 36px;
  height: 36px;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  display: none;
  z-index: 1101;
  background-color: #000;
  border: 1px solid #fff;
}
.spatial-ar-overlay .spatial-ar-exit-button svg {
  color: #fff;
}
.spatial-ar-overlay .spatial-ar-placement-hint {
  display: none;
  background-color: black;
}
.spatial-ar-overlay .spatial-ar-movement-hint {
  display: none;
  background-color: rgba(0, 0, 0, 0.45);
}
.spatial-ar-overlay .spatial-ar-movement-hint svg {
  color: #fff;
}
.spatial-ar-overlay .spatial-ar-movement-hint .ar-anim-container {
  position: relative;
  margin-bottom: 90px;
  margin-left: -200px;
}
.spatial-ar-overlay .spatial-ar-movement-hint .ar-anim-container .icon-ar-icon-surface {
  position: absolute;
  width: 200px;
  height: auto;
}
.spatial-ar-overlay .spatial-ar-movement-hint .ar-anim-container .icon-ar-icon-phone {
  position: absolute;
  bottom: -75px;
  left: 2px;
  width: 30px;
  height: auto;
  animation-duration: 4s;
  animation-iteration-count: infinite;
  animation-name: move-around;
}
@keyframes move-around {
  0% {
    bottom: -75px;
    left: 2px;
  }
  25% {
    bottom: -100px;
    left: 80px;
  }
  50% {
    bottom: -75px;
    left: 165px;
  }
  75% {
    bottom: -100px;
    left: 80px;
  }
  100% {
    bottom: -75px;
    left: 2px;
  }
}
.spatial-ar-overlay .progress {
  bottom: 80px;
  height: 4px;
}
.spatial-ar-overlay.is--visible {
  display: block;
}
.spatial-ar-overlay.is--session-running .spatial-ar-exit-button {
  display: block;
}
.spatial-ar-overlay.is--session-running:not(.is--tracking):not(.is--placement-hint):not(.is--loading) .spatial-ar-movement-hint {
  display: block;
}
.spatial-ar-overlay.is--placement-hint .spatial-ar-placement-hint, .spatial-ar-overlay.is--loading .spatial-ar-placement-hint {
  display: block;
}
.ar-qr-modal-open-session .ar-splash-screen {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.ar-qr-modal-open-session .ar-splash-screen .cube-splash-icon {
  max-width: 200px;
  left: 0px;
  right: 0px;
}
.ar-qr-modal-open-session .ar-splash-screen .floor-splash-icon {
  max-width: 400px;
  left: 0px;
  right: 0px;
  margin-top: 33%;
}
.ar-qr-modal-open-session .ar-splash-screen .ar-btn-open-session {
  max-width: 170px;
  left: 0px;
  right: 0px;
  margin-top: 75%;
}
.ar-qr-modal-open-session .icon-cube-3d-shade {
  color: transparent;
}
.ar-qr-modal-open-session .ar-btn-icon-with-label {
  vertical-align: middle;
}
.ar-qr-modal-open-session .ar-btn-icon-with-label span {
  vertical-align: middle;
}
.ar-qr-modal-open-session .ar-btn-icon-with-label svg {
  vertical-align: middle;
  top: 0px;
}
.ar-qr-modal .ar-qr-modal-content {
  width: 30.25rem;
}
.ar-qr-modal .ar-qr-modal-content .ar-qr-modal-header {
  height: 5rem;
  padding: 0 2rem 0 4rem;
}
.ar-qr-modal .ar-qr-modal-content .ar-qr-modal-body {
  padding: 1.5rem 2rem 0 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  font-weight: 600;
  font-size: 0.875rem;
}
.ar-qr-modal .ar-qr-modal-content .ar-qr-modal-body .ar-qr-modal-body-qr-code {
  max-width: 300px;
  max-height: 300px;
}
.ar-qr-modal .ar-qr-modal-content .ar-qr-modal-footer {
  padding: 0 2rem 2rem 2rem;
  justify-content: center;
  font-weight: 400;
  font-size: 0.75rem;
}
.ar-qr-modal .ar-qr-modal-content .ar-qr-modal-footer .ar-qr-modal-footer-headline {
  font-weight: 600;
}
/*
 * Layout-related sections
 * ----------------------- */
/*
Container
==============================================
Additional styling for bootstrap container layout.

https://getbootstrap.com/docs/5.2/layout/containers
*/
.container-main {
  padding: 20px 0;
  min-height: 200px;
}
@media (min-width: 1200px) {
  .container-main {
    min-height: 700px;
  }
}
/*
Header
==================================================
Contains custom styles for the header at the top of the page.
The header contains the shop logo, the search form and various actions like the offcanvas cart button.
*/
.header-row {
  padding: 0.5rem 0;
}
.header-logo-picture {
  max-width: 300px;
  min-width: 200px;
}
.header-search-form {
  position: relative;
}
.header-search-form .header-close-btn {
  display: none;
}
.header-search-form:has(.search-suggest) .header-search-btn {
  display: none;
}
.header-search-form:has(.search-suggest) .header-close-btn {
  display: block;
}
.header-search-btn.is-loading-indicator-before .loader {
  margin: 0;
}
.header-search-btn .loader ~ .header-search-icon, .header-search-btn .loader ~ .header-close-btn {
  display: none;
}
.header-cart .header-cart-badge, .header-wishlist .header-wishlist-badge {
  position: absolute;
  right: -0.25rem;
  top: 0;
}
.header-actions-btn {
  position: relative;
}
@media (min-width: 576px) {
  .header-row {
    padding-bottom: 1rem;
  }
  .header-search-col .collapse:not(.show) {
    display: block;
  }
  .header-search {
    max-width: 400px;
  }
}
.storefront-staging-info .icon {
  color: #fff;
}
.storefront-staging-info .icon svg {
  top: 0;
}
/*
Header minimal
==================================================
Contains custom styles for the minimal header which is used on checkout pages.
*/
.header-minimal {
  background: #fff;
  border-bottom: 1px solid var(--text-color-brand-primary);
}
.header-minimal.fixed-top {
  position: static;
}
.header-minimal-row {
  justify-content: space-between;
  align-items: center;
}
.header-minimal-contact {
  display: none;
}
.header-minimal-contact a {
  color: #00689C;
}
.header-minimal-back-to-shop {
  display: flex;
  justify-content: flex-end;
}
.header-minimal-back-to-shop-button {
  color: #2b3136;
}
.header-minimal-logo {
  display: flex;
  align-items: center;
  margin-bottom: 0.25rem;
}
.header-minimal-logo .header-logo-picture {
  min-width: unset;
}
.header-minimal-home {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.header-minimal-home-btn {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (min-width: 768px) {
  .header-minimal-contact {
    display: block;
  }
  .header-minimal-logo, .header-minimal-switch {
    margin-bottom: 0;
  }
}
/*
Footer
==================================================
Contains custom styles for the footer located at the bottom of the page.
*/
.footer-column-content-inner {
  padding-bottom: 1rem;
}
.footer-column-headline {
  padding: 0.5rem 0;
  display: flex;
  justify-content: space-between;
}
.footer-column-headline .icon-footer-minus {
  display: none;
}
.footer-column-headline .icon-footer-plus > svg, .footer-column-headline .icon-footer-minus > svg {
  top: 0.25em;
}
.footer-column-headline .footer-column-toggle[aria-expanded="true"] .icon-footer-plus {
  display: none;
}
.footer-column-headline .footer-column-toggle[aria-expanded="true"] .icon-footer-minus {
  display: inline-flex;
}
.footer-column-toggle {
  padding: 0;
  --bs-btn-line-height: 1.375;
}
.footer-link-item {
  padding: 0.5rem 0;
}
.footer-bottom {
  padding: 1rem;
}
.footer-bottom > .container, .cms-section .footer-bottom > .boxed {
  padding: 0;
}
.footer-vat, .footer-copyright, .footer-service-menu-list {
  text-align: center;
}
.footer-copyright .icon {
  vertical-align: middle;
}
.footer-copyright .icon > svg {
  top: -2px;
}
.footer-service-menu-list {
  padding: 1rem 0;
}
.footer-service-menu-list:empty {
  padding: 0;
  margin: 0;
}
.footer-service-menu-item {
  display: inline-block;
}
.footer-service-menu-link {
  padding: 5px 0;
  display: inline-block;
}
.footer-logos {
  padding: 1rem;
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
  flex-wrap: wrap;
}
.footer-logo {
  margin-right: 1.5rem;
  margin-bottom: 0.5rem;
}
.footer-logo:last-child {
  margin-right: 0;
}
.footer-logo-image {
  max-height: 35px;
  max-width: 100px;
}
@media (min-width: 768px) {
  .footer-columns {
    padding-bottom: 20px;
  }
  .footer-column-headline {
    padding: 3rem 0 0.5rem 0;
  }
  .footer-column-toggle {
    display: none;
  }
  .footer-column-content.collapse {
    display: block;
  }
}
/*
Navigation offcanvas
==============================================
Custom styling for navigation offcanvas which replaces main navigation on smaller screens.
Based on custom offcanvas component.
*/
.navigation-offcanvas {
  --bs-offcanvas-padding-x: 0;
  --bs-offcanvas-padding-y: 0;
  overflow-x: hidden;
}
.navigation-offcanvas-container {
  position: relative;
}
.navigation-offcanvas-overlay.has-transition {
  transition: left 0.5s ease-in;
}
.navigation-offcanvas-placeholder, .navigation-offcanvas-overlay {
  width: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.navigation-offcanvas-actions {
  padding-top: 1rem;
  margin-bottom: 0.5rem;
}
.navigation-offcanvas-actions .top-bar-nav-item {
  padding: 0 1rem;
}
.navigation-offcanvas-actions .top-bar-nav-name {
  display: inline;
}
.navigation-offcanvas-headline {
  padding: 20px 1rem 1rem;
}
.navigation-offcanvas-link-icon {
  display: inline-flex;
}
.navigation-offcanvas-link-icon .loader {
  width: 1.203125rem;
  height: 1.203125rem;
}
.navigation-offcanvas-link {
  transition: color 0.45s cubic-bezier(0.3, 0, 0.15, 1);
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 12px 1rem;
}
@media (prefers-reduced-motion: reduce) {
  .navigation-offcanvas-link {
    transition: none;
  }
}
.navigation-offcanvas-link.is-home-link, .navigation-offcanvas-link.is-back-link {
  justify-content: flex-start;
}
.navigation-offcanvas-link.is-home-link .navigation-offcanvas-link-icon, .navigation-offcanvas-link.is-back-link .navigation-offcanvas-link-icon {
  margin-right: 0.5rem;
}
/*
Offcanvas cart
==============================================
Extends the basic offcanvas component with additional cart styles.
*/
.offcanvas-cart .alert {
  margin-top: 1rem;
}
.offcanvas-cart-items, .offcanvas-summary {
  margin: 1rem 0;
}
.offcanvas-cart-items {
  border-bottom: 1px solid #798490;
}
.offcanvas-summary-list {
  margin-bottom: 0;
  justify-content: space-between;
}
.offcanvas-summary-list > * {
  width: initial;
}
.offcanvas-shipping-info {
  justify-content: space-between;
}
.offcanvas-shipping-info > * {
  width: initial;
}
.offcanvas-cart-promotion-form {
  margin-bottom: 1rem;
}
.offcanvas-cart-promotion-form .offcanvas-cart-promotion-button .icon-checkmark {
  color: inherit;
}
.offcanvas-summary .js-toggle-shipping-selection {
  --bs-btn-font-weight: var(--bs-body-font-weight);
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 0;
  --bs-btn-font-size: 90%;
  --bs-btn-color: var($primary);
  --bs-btn-line-height: inherit;
}
.offcanvas-summary .offcanvas-shipping-preference {
  transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
  max-height: 100px;
  height: auto;
  visibility: visible;
  opacity: 1;
}
.offcanvas-summary .offcanvas-shipping-preference--hidden {
  max-height: 0;
  visibility: hidden;
  opacity: 0;
  margin: 0 !important;
}
.offcanvas-summary .summary-value, .offcanvas-summary .shipping-value {
  text-align: right;
}
/*
Account menu
==================================================
Contains custom styles for the account menu which opens via click/touch on the avatar icon in the header section.
The menu opens on smaller viewports inside an offcanvas and on larger viewports inside a bootstrap dropdown.
*/
.account-menu-header {
  border-bottom: 1px solid #798490;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.5rem 0;
  color: #2b3136;
}
.account-menu-register {
  text-align: center;
}
.account-menu-login {
  padding: 1rem 0;
  border-bottom: 1px solid #798490;
  margin-bottom: 0.25rem;
}
.account-menu-login-button {
  width: 100%;
  margin-bottom: 0.5rem;
}
.account-menu-dropdown {
  padding: 0.5rem 1rem;
  min-width: 200px;
}
.account-menu-dropdown .offcanvas-body {
  overflow: visible;
}
.account-menu-offcanvas .account-menu-inner, .account-menu-dropdown .account-menu-inner {
  border: 0;
}
.account-menu-offcanvas .account-aside-item, .account-menu-dropdown .account-aside-item {
  padding: 0.5rem 0;
}
.account-menu-offcanvas .account-aside-footer, .account-menu-dropdown .account-aside-footer {
  background: none;
  padding: 0.25rem 0;
}
@media (min-width: 576px) {
  .account-menu .offcanvas-close {
    display: none;
  }
  .account-menu .offcanvas-body {
    padding: 0;
  }
}
/*
Search suggest
==================================================
Contains styles for the search suggest popover in the shop header.
*/
.search-suggest-container {
  position: absolute;
  top: 55px;
  left: 0;
  list-style: none;
  touch-action: manipulation;
  background: #fff;
  padding: 1rem;
  border: 1px solid #798490;
  width: 100%;
  z-index: 1000;
  box-shadow: 0 10px 25px -15px #000;
}
.search-suggest-container::after {
  transform: rotate(135deg);
  width: 12px;
  height: 12px;
  top: -7px;
  content: "";
  display: block;
  position: absolute;
  background: #fff;
  left: 48%;
  border: 1px solid #798490;
  border-top: 0 none;
  border-right: 0 none;
}
.search-suggest-product {
  border-bottom: 1px solid #798490;
}
.search-suggest-product:last-child {
  border-bottom: 0;
}
.search-suggest-product-link:hover, .search-suggest-total-link:hover {
  text-decoration: none;
}
.search-suggest-product-link:focus, .search-suggest-product-link:focus-visible, .search-suggest-total-link:focus, .search-suggest-total-link:focus-visible {
  color: #00689C;
  box-shadow: inset 0 0 0 0.125rem #00689c, inset 0 0 0 0.25rem #fff;
  outline: none;
}
.search-suggest-product-link {
  display: block;
  padding: 0.5rem 0;
  color: #2b3136;
  text-decoration: none;
}
.search-suggest-product-link:hover {
  color: #00689C;
}
.search-suggest-product-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.search-suggest-product-variation {
  font-size: 0.875rem;
  color: #798490;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-suggest-product-price {
  text-align: right;
  padding-right: 0.25rem;
}
.search-suggest-product-list-price, .search-suggest-product-reference-price {
  color: #798490;
  text-align: right;
  display: block;
}
.search-suggest-product-image-container {
  width: 35px;
  height: 35px;
  margin: 0 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-suggest-product-image {
  max-width: 35px;
  max-height: 35px;
  display: block;
}
.search-suggest-total {
  padding: 0.5rem;
}
.search-suggest-no-result {
  text-align: center;
}
@media (min-width: 768px) {
  .search-suggest-container {
    width: 500px;
    left: 50%;
    transform: translateX(-50%);
  }
}
/*
Cookie permission
==============================================
Shows a cookie permission alert at the bottom of the page.

@sw-package framework
*/
.cookie-permission-container {
  display: none;
  border-top: 1px solid #798490;
  background: #fff;
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  text-align: center;
  padding: 0.5rem;
  font-size: 0.875rem;
  z-index: 1100;
}
.cookie-permission-content {
  margin-bottom: 0.5rem;
}
.cookie-permission-content a {
  display: inline-block;
}
.cookie-permission-actions {
  gap: 0.5rem;
}
@media (max-width: 575.98px) {
  .cookie-permission-actions .btn {
    white-space: normal;
    line-height: normal;
    padding: var(--bs-btn-padding-x) calc(var(--bs-btn-padding-y) * 5);
  }
}
@media (min-width: 768px) {
  .cookie-permission-content {
    text-align: left;
    margin-bottom: 0;
  }
}
/*
Cookie configuration
==============================================
Offcanvas containing a list of cookies which need to be manually selected by the user.

@sw-package framework
*/
.offcanvas-cookie-description, .offcanvas-cookie-list {
  margin-bottom: 32px;
  border-bottom: 1px solid #798490;
}
.offcanvas-cookie-list {
  padding-bottom: 32px;
}
.offcanvas-cookie-group {
  position: relative;
  margin: 12px 0;
}
.offcanvas-cookie-group input ~ label {
  user-select: none;
}
.offcanvas-cookie-group input:not([disabled]) ~ label {
  cursor: pointer;
}
@supports (-webkit-hyphens: none) {
  .offcanvas-cookie-group .form-check .form-check-input {
    float: none;
    display: inline-block;
  }
}
@media (max-width: 575.98px) {
  .offcanvas-cookie-group .form-check {
    padding-right: 2rem;
  }
  .offcanvas-cookie-group input ~ label {
    display: block;
    overflow-wrap: anywhere;
  }
}
.offcanvas-cookie-entries-toggle {
  position: absolute;
  top: -4px;
  right: 0;
}
.offcanvas-cookie-entries-toggle svg {
  transform-origin: center center;
  transition: transform 0.3s ease;
}
.offcanvas-cookie-entries-toggle[aria-expanded="true"] svg {
  transform: rotate(90deg);
}
.offcanvas-cookie-entries > p {
  padding: 8px 8px 0;
  margin: 0;
}
.offcanvas-cookie-entries .offcanvas-cookie-entry {
  padding: 8px 8px 0 24px;
  margin: 0 0 0 24px;
  overflow: visible;
}
.offcanvas-cookie-entries .offcanvas-cookie-entry > p {
  margin: 8px 0;
}
.offcanvas-cookie-entries .offcanvas-cookie-entry.custom-control, .offcanvas-cookie-entries .offcanvas-cookie-entry.form-check {
  min-height: unset;
}
/*
Scroll up
==============================================
Shows a scroll up button at the bottom right of the page.
*/
.scroll-up-button {
  bottom: 1.5rem;
  cursor: pointer;
  opacity: 0.1;
  position: fixed;
  right: 1.5rem;
  transform: scale(0);
  transition: 0.3s cubic-bezier(0.3, 0, 0.15, 1);
  z-index: 700;
  pointer-events: none;
}
.scroll-up-button.is-visible {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.grecaptcha-badge {
  visibility: hidden;
  opacity: 0;
}
.grecaptcha-v2-container iframe.has-error {
  border: 1px solid #dc3545;
  border-radius: 3px;
}
/*
 * Page-specific styles
 * -------------------- */
.product-detail-headline {
  margin-bottom: 3rem;
}
.product-detail-content {
  margin-bottom: 1.5rem;
}
.product-detail-content .product-breadcrumb {
  padding: 0;
  margin: 1rem 0;
}
.product-detail-name-container {
  display: flex;
  align-items: center;
}
.product-detail-name-container .product-detail-variant-characteristics {
  padding-left: 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #adb5bd;
}
.product-detail-buy {
  margin-bottom: 1rem;
}
.product-detail-price {
  font-size: calc(1.3rem + 0.6vw);
}
@media (min-width: 1200px) {
  .product-detail-price {
    font-size: 1.75rem;
  }
}
.product-detail-price-unit {
  font-size: 0.875rem;
}
.product-detail-tax {
  font-size: 1rem;
}
.product-detail-delivery-information {
  margin-bottom: 1.5rem;
}
.product-detail-form-container {
  margin-bottom: 1rem;
}
.product-detail-ordernumber-container {
  margin-bottom: 1rem;
}
.product-block-prices-grid thead {
  background-color: #f9f9f9;
}
.product-block-prices-grid th {
  font-weight: 400;
}
.product-block-prices-grid td {
  font-weight: 700;
}
.product-block-prices-grid .product-block-prices-cell {
  border: 0 none;
  padding: 10px 0 10px 16px;
  line-height: 20px;
}
.product-block-prices-grid .product-block-prices-cell.product-block-prices-cell-thin {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 22px;
}
.product-block-prices-grid .product-block-prices-body .product-block-prices-row {
  border-top: 1px solid #eee;
}
.product-block-prices-grid .product-block-prices-body .product-block-prices-row:first-of-type {
  border-top: 0 none;
}
.product-detail-configurator-option-label {
  --bs-btn-font-weight: 400;
  --bs-btn-border-color: #798490;
  --bs-btn-color: #2b3136;
  --bs-btn-padding-y: 0.125rem;
  --bs-btn-line-height: 1.625rem;
  --bs-btn-active-bg: #fff;
  --bs-btn-active-color: #2b3136;
  --bs-btn-active-border-color: #00689C;
  --bs-btn-disabled-border-color: #798490;
  --bs-btn-disabled-color: #2b3136;
  --bs-btn-disabled-opacity: 0.65;
}
.product-detail-configurator-option-label.disabled {
  pointer-events: auto;
  text-decoration: line-through;
}
.product-detail-configurator-option-label.is-display-color, .product-detail-configurator-option-label.is-display-media {
  --bs-btn-padding-x: 0.125rem;
  background-clip: content-box;
  min-width: 3.75rem;
  height: 3.75rem;
}
.btn-check:checked + .product-detail-configurator-option-label {
  --bs-btn-border-width: 2px;
}
.product-detail-tabs-content {
  display: none;
}
.product-detail-tabs-content .offcanvas-body {
  overflow: initial;
  padding: 0;
}
.product-detail-description-text {
  margin-bottom: 1.5rem;
}
@media (min-width: 576px) {
  .product-detail-tabs-content {
    display: block;
  }
  .product-detail-tabs .offcanvas-close, .product-detail-tab-navigation-icon, .product-detail-tab-preview {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  .product-detail-tab-preview {
    flex-basis: 100%;
  }
}
.product-detail-review-widget {
  margin-bottom: 1rem;
  z-index: 1;
}
.product-detail-reviews {
  margin-bottom: 1rem;
}
.product-detail-reviews .icon svg {
  top: 2px;
}
.product-detail-review-teaser-btn .product-detail-review-teaser-hide {
  display: none;
}
.product-detail-review-teaser-btn.collapsed .product-detail-review-teaser-show {
  display: none;
}
.product-detail-review-teaser-btn.collapsed .product-detail-review-teaser-hide {
  display: block;
}
.product-review-rating {
  margin-right: 1rem;
}
.product-detail-review-item-points {
  margin-bottom: 0.5rem;
}
.product-detail-review-item-content {
  word-break: break-word;
}
.product-detail-review-form-radio {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.product-detail-review-form-radio:not(caption) {
  position: absolute !important;
}
.product-detail-review-form-radio * {
  overflow: hidden !important;
}
.product-detail-review-form-rating-input {
  display: flex;
}
.product-detail-review-form-rating-input .product-detail-review-form-rating-text {
  margin-left: 0.5rem;
  margin-bottom: 0;
}
.product-review-point svg {
  top: 0;
}
.product-review-point, .point-container {
  display: inline-block;
  position: relative;
}
.point-rating {
  display: block;
}
.point-rating.point-blank .icon {
  color: #eee;
}
.point-partial {
  position: absolute;
  top: 0;
  left: 0;
}
.product-detail-review-form-star {
  margin-right: 10px;
}
.product-detail-review-form-star:has(.product-detail-review-form-radio:focus-visible) {
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.product-detail-review-login .login-card .card-body {
  padding-top: 0;
}
.product-detail-review-language {
  margin-bottom: 1rem;
}
.product-detail-review-sortby-label {
  margin-right: 0.25rem;
}
.product-detail-review-cancel {
  margin-right: 5px;
}
.offcanvas .product-detail-review-widget {
  position: static;
}
.offcanvas .product-detail-review-form-rating-input .product-review-point {
  margin-right: 0.5rem;
}
@media (min-width: 768px) {
  .product-detail-review-widget {
    margin-bottom: 0;
  }
  .product-detail-review-sortby-form {
    justify-content: flex-end;
  }
  .product-detail-review-language {
    margin-bottom: 0;
  }
  .product-detail-review-item-points {
    padding-right: 0;
    margin-bottom: 0;
  }
  .product-detail-review-item-title {
    padding-left: 0;
  }
  .product-detail-review-form-star {
    margin-right: 5px;
  }
}
.account-welcome {
  padding-top: 1rem;
  margin-bottom: 1.5rem;
}
.account-address .address-action-create .icon {
  margin-top: 2px;
  margin-right: 0.5rem;
}
.account-address .btn > .icon {
  vertical-align: top;
}
.account-address .account-address-back:hover span.icon, .account-address .account-address-back:focus span.icon {
  color: #fff;
}
.address-manager-select-address {
  min-height: 200px;
}
.address-manager-modal-address-form .icon {
  color: currentColor;
}
.address-manager-modal-address-form .icon svg {
  top: 0.25em;
}
.account-overview-card {
  margin-bottom: 3rem;
}
.register-form .privacy-notice {
  margin-bottom: 1rem;
}
.register-different-shipping {
  margin-top: 1rem;
}
.register-shipping {
  margin-top: 3rem;
}
.order-table {
  margin-bottom: 1.5rem;
  border: 1px solid #798490;
  position: relative;
}
.order-table .order-item-detail {
  border-top: 0 none;
}
.order-table .order-detail-content {
  border-top: 1px solid #798490;
  padding: 0;
  box-shadow: none;
}
.order-table-header {
  display: none;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 20px;
  padding-right: 20px;
}
.order-table-header :first-child {
  position: relative;
}
.order-table-header:last-of-type {
  border-bottom: 0;
}
.order-hide-btn .order-hide-btn-text {
  display: block;
}
.order-hide-btn .order-view-btn-text {
  display: none;
}
.order-hide-btn.collapsed .order-hide-btn-text {
  display: none;
}
.order-hide-btn.collapsed .order-view-btn-text {
  display: block;
}
.order-wrapper:last-of-type {
  border-bottom: 0;
}
.order-item-header {
  padding: 0.5rem 20px;
}
.order-table-header-heading, .order-table-header-order-status, .order-table-header-context-menu {
  display: inline-block;
}
.order-table-header-order-status {
  font-weight: 700;
}
.order-table-header-context-menu-wrapper {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
}
.order-table-header-context-menu-wrapper, .order-table-header-heading {
  margin-top: 0.5rem;
}
.order-table-header-order-number {
  display: block;
  font-weight: 400;
  margin-bottom: 1.5rem;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.order-table-header-order-number .order-table-header-label {
  display: inline;
}
.order-table-header-order-table-body, .order-table-header-order-table-header {
  padding-left: 0;
  padding-right: 0;
}
.order-table-header-order-table-body {
  border-top: 1px solid #798490;
  font-weight: 400;
}
.order-table-header-order-table-body .order-table-header-order-table-body-cell[class*="col-"] {
  margin-top: 10px;
}
.order-table-header-order-table-body .order-table-header-order-table-body-cell[class*="col-"]:first-of-type {
  padding-left: 0;
}
.order-table-header-order-table-body .order-table-header-order-table-body-cell[class*="col-"]:last-of-type {
  padding-right: 0;
}
.order-table-header-order-table-header {
  font-weight: 700;
}
.order-table-header-order-table-header .order-table-header-order-table-header-cell[class*="col-"] {
  margin-bottom: 10px;
}
.order-table-header-order-table-header .order-table-header-order-table-header-cell[class*="col-"]:first-of-type {
  padding-left: 0;
}
.order-table-header-order-table-header .order-table-header-order-table-header-cell[class*="col-"]:last-of-type {
  padding-right: 0;
}
.order-table-header-order-table {
  width: 100%;
}
.payment-control input, .payment-control label {
  cursor: pointer;
}
.order-item {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.order-item-actions {
  text-align: center;
}
.order-item-label {
  float: left;
  width: 50%;
}
.order-item-value {
  width: 50%;
}
.order-table-header-context-menu-indicator {
  position: absolute;
  top: -3px;
  right: 7px;
}
.order-item-status-badge {
  /*
     * Set colors of the order status badge according to the order state.
     * The stylelint rule `selector-class-pattern` is disabled.
     * The technicalName of the order state includes underscores.
     */
  /* stylelint-disable selector-class-pattern */
  /* stylelint-enable selector-class-pattern */
}
.order-item-status-badge.order-item-status-badge-open, .order-item-status-badge.order-item-status-badge-in_progress {
  background-color: #005b99;
  color: #fff;
}
.order-item-status-badge.order-item-status-badge-completed {
  background-color: #007e4e;
  color: #fff;
}
.order-item-status-badge.order-item-status-badge-failed, .order-item-status-badge.order-item-status-badge-cancelled {
  background-color: #c20017;
  color: #fff;
}
.order-item-status-badge .icon {
  color: currentColor;
}
.order-item-status-badge .icon svg {
  top: 5px;
}
@media (min-width: 768px) {
  .order-table-header {
    display: block;
  }
  .order-table-header, .order-item-header {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .order-item {
    padding-top: 0;
    padding-bottom: 0;
  }
  .order-item-actions {
    text-align: right;
  }
}
@media (min-width: 576px) {
  .order-table-header-order-table-body .order-table-header-label {
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .order-table-header-order-table-body .order-table-header-label:not(caption) {
    position: absolute !important;
  }
  .order-table-header-order-table-body .order-table-header-label * {
    overflow: hidden !important;
  }
}
@media (max-width: 575.98px) {
  .order-table-header-order-table-header {
    display: none;
  }
  .order-table-header-order-table-body {
    border-top: 0;
  }
  .order-table-header-label {
    display: block;
    float: left;
    width: 50%;
  }
  .order-table-header-order-number {
    margin-bottom: 0;
  }
  .order-table-body-value {
    width: 50%;
  }
  .order-table-header-order-status {
    margin-top: 0;
    margin-bottom: 1rem;
  }
  .order-table-header-context-menu-wrapper {
    top: 0.5rem;
    right: 1rem;
  }
  .order-table-header-context-menu-indicator {
    top: -3px;
    right: -3px;
  }
}
.edit-order {
  padding-top: 70px;
  display: flex;
  justify-content: center;
}
.edit-order-container {
  max-width: 895px;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}
.edit-order-tos-checkbox, .edit-order-tos-label {
  cursor: pointer;
}
.edit-order-checkout-aside {
  width: 50%;
  margin-left: 50%;
  padding-left: 20px;
  padding-right: 20px;
}
@media (max-width: 991.98px) {
  .edit-order {
    padding-top: 0;
  }
  .edit-order-checkout-aside {
    width: 100%;
    margin-left: 0;
  }
}
.order-detail-content {
  border-top: 1px solid #798490;
}
.order-detail-content-header {
  display: none;
  padding-left: 0;
  padding-right: 0;
  margin-right: 20px;
  margin-left: 20px;
}
.document-detail-content-header {
  display: block;
  border-bottom: 1px solid #798490;
  padding-bottom: 0.5rem;
}
.download-detail-content-header {
  display: block;
  border-bottom: 1px solid #798490;
  padding-bottom: 0.5rem;
}
.order-detail-content-body.has-element-loader {
  min-height: 70px;
  display: flex;
}
.order-detail-content-body .element-loader-backdrop {
  box-shadow: none;
}
.order-detail-content-row {
  font-weight: 400;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-right: 20px;
  margin-left: 20px;
}
.order-detail-content-row .document-item {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.order-detail-content-row .order-item:last-of-type, .order-detail-content-row .document-item:last-of-type {
  padding-right: 0;
}
.order-detail-content-row .order-item:first-of-type, .order-detail-content-row .document-item:first-of-type {
  padding-left: 0;
}
.order-detail-content-row .download-item {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.order-detail-content-row .download-item:last-of-type {
  padding-right: 0;
}
.order-detail-content-row .download-item:first-of-type {
  padding-left: 0;
}
.order-detail-content-row .card-title, .order-detail-content-row .card-content {
  padding-left: 0;
}
@media (max-width: 991.98px) {
  .order-item, .document-item {
    padding-left: 0;
    padding-right: 0;
  }
}
.order-item-detail-list-item {
  margin-bottom: 1rem;
}
.order-item-detail-list-item-divider {
  border-top: 1px solid #798490;
  margin: 1rem 20px;
}
.order-item-detail-list-item:last-of-type .order-detail-content-row {
  border-bottom: 0 none;
}
.order-item-detail-list-item.is-discount .cart-item-total-price {
  color: #007e4e;
}
.order-item-discount-icon {
  text-align: center;
}
.order-item-total {
  font-weight: 700;
}
.order-item-nested-icon {
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  display: flex;
  margin: 0 auto;
  width: 50px;
  height: 50px;
}
.order-item-nested-icon .icon > svg {
  top: 0;
}
.order-item-reorder {
  display: flex;
  justify-content: center;
}
.order-item-detail-footer {
  padding: 1rem;
  padding-left: 20px;
  padding-right: 20px;
}
.order-item-detail-footer dl dt.col, .order-item-detail-footer dl dt[class*="col-"] {
  margin-bottom: 0.5rem;
  padding-right: 0.5rem;
}
.order-item-detail-labels {
  margin-bottom: 0;
}
.order-item-detail-labels-value {
  font-weight: 400;
}
.order-item-detail-summary, .order-item-detail-summary dd:last-child {
  margin-bottom: 0;
}
.order-detail-comment {
  border-top: 0;
  display: block;
  padding-top: 0;
  padding-bottom: 1rem;
}
.card-title.order-detail-comment-title {
  margin-bottom: 0;
  padding: 1rem;
}
.order-detail-comment-body {
  padding: 1rem;
}
.order-detail-comment-value {
  margin-bottom: 0;
}
.order-item-variants-properties {
  display: flex;
}
.order-item-variants-properties-name {
  margin-right: 0.5rem;
}
.order-detail-form {
  float: right;
}
.document-item-view-file {
  text-align: right;
}
.download-item-download-file {
  text-align: right;
}
.order-download-row {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.order-item-detail-footnote {
  background-color: #f9f9f9;
  padding: 0 1rem 1rem;
}
@media (min-width: 768px) {
  .order-detail-content-header {
    display: block;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #798490;
  }
  .order-item-label {
    display: none;
  }
  .order-detail-content {
    border-top: 0;
  }
  .order-header-tax-price, .order-header-price, .order-item-price, .order-header-total, .order-item-total, .order-header-actions {
    text-align: right;
  }
  .order-header-quantity, .order-item-quantity {
    text-align: center;
  }
  .order-item-reorder {
    justify-content: flex-end;
  }
  .order-item-detail-summary dt, .order-item-detail-summary dd {
    text-align: right;
  }
  .document-item-view-file-icon-btn {
    display: none;
  }
  .download-item-view-file-icon-btn {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .document-header-date {
    display: none;
  }
  .document-item-view-file-text-btn {
    display: none;
  }
  .download-header-date {
    display: none;
  }
  .download-item-view-file-text-btn {
    display: none;
  }
}
.checkout-container {
  margin-bottom: 1.5rem;
}
.checkout-product-table {
  margin-bottom: 1.5rem;
}
.checkout-confirm-tos-checkbox, .checkout-confirm-tos-label {
  cursor: pointer;
}
.is-ctl-checkout .footer-minimal .footer-service-menu-list, .is-act-checkoutregisterpage .footer-minimal .footer-service-menu-list, .is-active-route-frontend-checkout-cart-page .footer-minimal .footer-service-menu-list, .is-active-route-frontend-checkout-confirm-page .footer-minimal .footer-service-menu-list, .is-active-route-frontend-checkout-finish-page .footer-minimal .footer-service-menu-list, .is-active-route-frontend-checkout-info .footer-minimal .footer-service-menu-list, .is-active-route-frontend-cart-offcanvas .footer-minimal .footer-service-menu-list {
  display: block;
}
.checkout-aside-summary-label {
  font-weight: 400;
}
.checkout-aside-summary-list.display-rounded .checkout-aside-summary-total {
  font-weight: 400;
  font-size: 1rem;
}
.checkout-aside-summary-total {
  font-size: 1.125rem;
  font-weight: 700;
  padding-top: 13px;
  border-top: 1px solid #798490;
  margin-top: 5px;
}
.checkout-aside-summary-total-rounded {
  font-size: 1.125rem;
  font-weight: 700;
}
.checkout-aside-summary-label.summary-net, .checkout-aside-summary-value.summary-net {
  margin-top: 10px;
}
.checkout-aside-summary-header {
  margin-bottom: 20px;
}
.checkout-aside-summary-value {
  text-align: right;
}
.checkout-aside-action {
  margin-top: 1rem;
}
.checkout-aside-add-promotion-button .icon-checkmark {
  color: inherit;
}
.is-act-cartpage .checkout .checkout-container, .is-active-route-frontend-checkout-cart-page .checkout .checkout-container {
  --bs-gutter-x: 40px;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.is-act-cartpage .checkout .checkout-main, .is-active-route-frontend-checkout-cart-page .checkout .checkout-main {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .is-act-cartpage .checkout .checkout-main, .is-active-route-frontend-checkout-cart-page .checkout .checkout-main {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
}
.is-act-cartpage .checkout .checkout-aside, .is-active-route-frontend-checkout-cart-page .checkout .checkout-aside {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}
@media (min-width: 768px) {
  .is-act-cartpage .checkout .checkout-aside, .is-active-route-frontend-checkout-cart-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 41.66666667%;
    margin-left: 58.33333333%;
  }
}
@media (min-width: 992px) {
  .is-act-cartpage .checkout .checkout-aside, .is-active-route-frontend-checkout-cart-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 33.33333333%;
    margin-left: 0;
  }
}
.is-act-cartpage .checkout .checkout-aside-container, .is-active-route-frontend-checkout-cart-page .checkout .checkout-aside-container {
  position: sticky;
  top: 0;
  z-index: 1;
}
.cart-main-header {
  margin-bottom: 1.5rem;
}
.cart-table-header {
  display: none;
}
.cart-header-unit-price, .cart-header-total-price, .cart-header-tax-price {
  text-align: right;
}
.cart-header-quantity {
  text-align: center;
}
.cart-header-row, .line-item-row {
  margin-right: -0.25rem;
  margin-left: -0.25rem;
}
.cart-header-row > .col, .cart-header-row > [class*="col-"], .line-item-row > .col, .line-item-row > [class*="col-"] {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}
.cart-add-product-container {
  margin-bottom: 1rem;
}
.cart-add-product-container .add-product-button .icon-checkmark {
  color: inherit;
}
.cart-shipping-costs-container {
  align-self: center;
}
.cart-shipping-costs-btn {
  padding-left: 0;
  margin: 1px 0;
}
@media (min-width: 768px) {
  .cart-table-header {
    display: block;
  }
  .cart-add-product-container {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .cart-table-header {
    display: block;
  }
}
.is-act-checkoutregisterpage .checkout, .is-active-route-frontend-checkout-register-page .checkout {
  padding-top: 70px;
}
.is-act-checkoutregisterpage .checkout .checkout-container, .is-active-route-frontend-checkout-register-page .checkout .checkout-container {
  --bs-gutter-x: 40px;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.is-act-checkoutregisterpage .checkout .checkout-main, .is-active-route-frontend-checkout-register-page .checkout .checkout-main {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .is-act-checkoutregisterpage .checkout .checkout-main, .is-active-route-frontend-checkout-register-page .checkout .checkout-main {
    flex: 0 0 auto;
    width: 66.66666667%;
    margin-bottom: 0;
  }
}
.is-act-checkoutregisterpage .checkout .checkout-aside, .is-active-route-frontend-checkout-register-page .checkout .checkout-aside {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}
@media (min-width: 992px) {
  .is-act-checkoutregisterpage .checkout .checkout-aside, .is-active-route-frontend-checkout-register-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 33.33333333%;
    display: block;
  }
}
.is-act-confirmpage .checkout, .is-ctl-accountorder .checkout, .is-active-route-frontend-checkout-confirm-page .checkout, .is-active-route-frontend-account-order-page .checkout, .is-active-route-frontend-account-order-cancel .checkout, .is-active-route-frontend-account-order-single-page .checkout, .is-active-route-widgets-account-order-detail .checkout, .is-active-route-frontend-account-edit-order-page .checkout {
  padding-top: 70px;
}
.is-act-confirmpage .checkout .checkout-container, .is-ctl-accountorder .checkout .checkout-container, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-container, .is-active-route-frontend-account-order-page .checkout .checkout-container, .is-active-route-frontend-account-order-cancel .checkout .checkout-container, .is-active-route-frontend-account-order-single-page .checkout .checkout-container, .is-active-route-widgets-account-order-detail .checkout .checkout-container, .is-active-route-frontend-account-edit-order-page .checkout .checkout-container {
  --bs-gutter-x: 40px;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.is-act-confirmpage .checkout .checkout-main, .is-ctl-accountorder .checkout .checkout-main, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-main, .is-active-route-frontend-account-order-page .checkout .checkout-main, .is-active-route-frontend-account-order-cancel .checkout .checkout-main, .is-active-route-frontend-account-order-single-page .checkout .checkout-main, .is-active-route-widgets-account-order-detail .checkout .checkout-main, .is-active-route-frontend-account-edit-order-page .checkout .checkout-main {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}
@media (min-width: 992px) {
  .is-act-confirmpage .checkout .checkout-main, .is-ctl-accountorder .checkout .checkout-main, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-main, .is-active-route-frontend-account-order-page .checkout .checkout-main, .is-active-route-frontend-account-order-cancel .checkout .checkout-main, .is-active-route-frontend-account-order-single-page .checkout .checkout-main, .is-active-route-widgets-account-order-detail .checkout .checkout-main, .is-active-route-frontend-account-edit-order-page .checkout .checkout-main {
    flex: 0 0 auto;
    width: 66.66666667%;
    margin-left: 16.66666667%;
  }
}
.is-act-confirmpage .checkout .checkout-additional, .is-ctl-accountorder .checkout .checkout-additional, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-additional, .is-active-route-frontend-account-order-page .checkout .checkout-additional, .is-active-route-frontend-account-order-cancel .checkout .checkout-additional, .is-active-route-frontend-account-order-single-page .checkout .checkout-additional, .is-active-route-widgets-account-order-detail .checkout .checkout-additional, .is-active-route-frontend-account-edit-order-page .checkout .checkout-additional {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .is-act-confirmpage .checkout .checkout-additional, .is-ctl-accountorder .checkout .checkout-additional, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-additional, .is-active-route-frontend-account-order-page .checkout .checkout-additional, .is-active-route-frontend-account-order-cancel .checkout .checkout-additional, .is-active-route-frontend-account-order-single-page .checkout .checkout-additional, .is-active-route-widgets-account-order-detail .checkout .checkout-additional, .is-active-route-frontend-account-edit-order-page .checkout .checkout-additional {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 992px) {
  .is-act-confirmpage .checkout .checkout-additional, .is-ctl-accountorder .checkout .checkout-additional, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-additional, .is-active-route-frontend-account-order-page .checkout .checkout-additional, .is-active-route-frontend-account-order-cancel .checkout .checkout-additional, .is-active-route-frontend-account-order-single-page .checkout .checkout-additional, .is-active-route-widgets-account-order-detail .checkout .checkout-additional, .is-active-route-frontend-account-edit-order-page .checkout .checkout-additional {
    flex: 0 0 auto;
    width: 33.33333333%;
    margin-left: 16.66666667%;
  }
}
.is-act-confirmpage .checkout .checkout-aside, .is-ctl-accountorder .checkout .checkout-aside, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-aside, .is-active-route-frontend-account-order-page .checkout .checkout-aside, .is-active-route-frontend-account-order-cancel .checkout .checkout-aside, .is-active-route-frontend-account-order-single-page .checkout .checkout-aside, .is-active-route-widgets-account-order-detail .checkout .checkout-aside, .is-active-route-frontend-account-edit-order-page .checkout .checkout-aside {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 1 1 0;
  max-width: 100%;
}
@media (min-width: 768px) {
  .is-act-confirmpage .checkout .checkout-aside, .is-ctl-accountorder .checkout .checkout-aside, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-aside, .is-active-route-frontend-account-order-page .checkout .checkout-aside, .is-active-route-frontend-account-order-cancel .checkout .checkout-aside, .is-active-route-frontend-account-order-single-page .checkout .checkout-aside, .is-active-route-widgets-account-order-detail .checkout .checkout-aside, .is-active-route-frontend-account-edit-order-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 50%;
    margin-left: 50%;
  }
}
@media (min-width: 992px) {
  .is-act-confirmpage .checkout .checkout-aside, .is-ctl-accountorder .checkout .checkout-aside, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-aside, .is-active-route-frontend-account-order-page .checkout .checkout-aside, .is-active-route-frontend-account-order-cancel .checkout .checkout-aside, .is-active-route-frontend-account-order-single-page .checkout .checkout-aside, .is-active-route-widgets-account-order-detail .checkout .checkout-aside, .is-active-route-frontend-account-edit-order-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
.is-act-confirmpage .checkout .checkout-aside-no-offset, .is-ctl-accountorder .checkout .checkout-aside-no-offset, .is-active-route-frontend-checkout-confirm-page .checkout .checkout-aside-no-offset, .is-active-route-frontend-account-order-page .checkout .checkout-aside-no-offset, .is-active-route-frontend-account-order-cancel .checkout .checkout-aside-no-offset, .is-active-route-frontend-account-order-single-page .checkout .checkout-aside-no-offset, .is-active-route-widgets-account-order-detail .checkout .checkout-aside-no-offset, .is-active-route-frontend-account-edit-order-page .checkout .checkout-aside-no-offset {
  margin-left: 0;
}
.confirm-main-header, .confirm-tos, .confirm-address, .confirm-payment-shipping, .confirm-payment, .confirm-product {
  margin-bottom: 1.5rem;
}
.confirm-tos-bottom {
  margin-bottom: 3rem;
}
.confirm-payment-current, .confirm-shipping-current {
  margin-bottom: 3rem;
}
.confirm-payment-current.is-invalid, .confirm-shipping-current.is-invalid {
  color: #c20017;
}
.confirm-method-tooltip {
  margin-left: 0.25rem;
}
.payment-method-label, .shipping-method-label {
  width: 100%;
}
.payment-method-label .payment-method-description, .payment-method-label .shipping-method-description, .shipping-method-label .payment-method-description, .shipping-method-label .shipping-method-description {
  width: 66%;
}
.is-act-finishpage .checkout, .is-active-route-frontend-checkout-finish-page .checkout {
  padding-top: 70px;
}
.is-act-finishpage .checkout .checkout-container, .is-active-route-frontend-checkout-finish-page .checkout .checkout-container {
  --bs-gutter-x: 40px;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.is-act-finishpage .checkout .checkout-main, .is-active-route-frontend-checkout-finish-page .checkout .checkout-main {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}
@media (min-width: 992px) {
  .is-act-finishpage .checkout .checkout-main, .is-active-route-frontend-checkout-finish-page .checkout .checkout-main {
    flex: 0 0 auto;
    width: 66.66666667%;
    margin-left: 16.66666667%;
  }
}
.is-act-finishpage .checkout .checkout-additional, .is-active-route-frontend-checkout-finish-page .checkout .checkout-additional {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media (min-width: 576px) {
  .is-act-finishpage .checkout .checkout-additional, .is-active-route-frontend-checkout-finish-page .checkout .checkout-additional {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
}
@media (min-width: 768px) {
  .is-act-finishpage .checkout .checkout-additional, .is-active-route-frontend-checkout-finish-page .checkout .checkout-additional {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 992px) {
  .is-act-finishpage .checkout .checkout-additional, .is-active-route-frontend-checkout-finish-page .checkout .checkout-additional {
    flex: 0 0 auto;
    width: 33.33333333%;
    margin-left: 16.66666667%;
  }
}
.is-act-finishpage .checkout .checkout-aside, .is-active-route-frontend-checkout-finish-page .checkout .checkout-aside {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left: calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
  flex: 1 1 0;
  max-width: 100%;
}
@media (min-width: 576px) {
  .is-act-finishpage .checkout .checkout-aside, .is-active-route-frontend-checkout-finish-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 58.33333333%;
    margin-left: 41.66666667%;
  }
}
@media (min-width: 768px) {
  .is-act-finishpage .checkout .checkout-aside, .is-active-route-frontend-checkout-finish-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 50%;
    margin-left: 50%;
  }
}
@media (min-width: 992px) {
  .is-act-finishpage .checkout .checkout-aside, .is-active-route-frontend-checkout-finish-page .checkout .checkout-aside {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
}
.is-act-finishpage .checkout .checkout-aside-no-offset, .is-active-route-frontend-checkout-finish-page .checkout .checkout-aside-no-offset {
  margin-left: 0;
}
.finish-content {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 6rem;
}
.finish-ordernumber {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}
.finish-teaser {
  text-align: center;
}
.finish-header {
  margin-bottom: 1.5rem;
  text-align: center;
}
.finish-order-subtitle {
  text-align: center;
}
.finish-change-payment-wrapper {
  text-align: center;
}
.finish-action {
  text-align: center;
  margin-bottom: 3rem;
}
.finish-info {
  margin-bottom: 3rem;
}
.search-page .filter-panel-wrapper-toggle {
  margin-bottom: 1rem;
}
.wishlist-headline {
  margin: 0;
  height: 155px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wishlist-listing-col {
  margin-top: 86px;
}
.wishlist-listing-col .wishlist-listing-empty {
  height: 250px;
  width: 100%;
}
.wishlist-listing-col .wishlist-listing-header {
  font-weight: bold;
  color: #2b3136;
}
.wishlist-listing-col .wishlist-listing-description {
  font-size: 14px;
  line-height: 20px;
}
@media (min-width: 768px) {
  .wishlist-listing-header {
    margin-top: 53px;
    font-size: 36px;
    line-height: 40px;
  }
  .wishlist-listing-empty {
    max-height: 200px;
  }
}
@media (max-width: 767.98px) {
  .wishlist-listing-empty {
    max-height: 120px;
  }
  .wishlist-listing-header {
    margin-top: 48px;
    font-size: 23px;
    line-height: 34px;
  }
}
/*
Shopware skin
==================================================
Contains the imports to all Shopware skin styles.

The file organization follows the 7-1 pattern architecture
https://sass-guidelin.es/#the-7-1-pattern

@sw-package framework
*/
/*
 * Vendors
 * ------- */
/*
Inter typeface family
==================================================
Import of Inter font vendor.

https://rsms.me/inter/

@sw-package framework
*/
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-CyrillicExt.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-CyrillicExt.woff2") format("woff2-variations");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Cyrillic.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Cyrillic.woff2") format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-GreekExt.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-GreekExt.woff2") format("woff2-variations");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Greek.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Greek.woff2") format("woff2-variations");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Vietnamese.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Vietnamese.woff2") format("woff2-variations");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-LatinExt.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-LatinExt.woff2") format("woff2-variations");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Latin.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Roman-Latin.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-CyrillicExt.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-CyrillicExt.woff2") format("woff2-variations");
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Cyrillic.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Cyrillic.woff2") format("woff2-variations");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-GreekExt.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-GreekExt.woff2") format("woff2-variations");
  unicode-range: U+1F00-1FFF;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Greek.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Greek.woff2") format("woff2-variations");
  unicode-range: U+0370-03FF;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Vietnamese.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Vietnamese.woff2") format("woff2-variations");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-LatinExt.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-LatinExt.woff2") format("woff2-variations");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 700;
  font-display: fallback;
  src: url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Latin.woff2") format("woff2 supports variations"), url("../../019bfee8810570398fd2de556fe50bdf/assets/font/Inter-Variable-Italic-Latin.woff2") format("woff2-variations");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body {
  font-feature-settings: "cv02" 1, "cv03" 1, "cv04" 1;
}
/*
 * Variables, Mixins, Functions
 * ---------------------------- */
/*
 * Base stuff
 * ---------- */
/*
Base
==================================================
Contains global base styles for all pages

@sw-package framework
*/
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}
main {
  flex-grow: 1;
}
/*
Typography
==============================================
Custom styling for bootstrap typography.

https://getbootstrap.com/docs/5.2/content/typography

@sw-package framework
*/
h1, .h1 {
  line-height: 2.5rem;
}
h2, .h2 {
  line-height: 2.125rem;
}
h3, .h3 {
  line-height: 2.063rem;
}
h4, .h4 {
  line-height: 1.5rem;
}
h5, .h5 {
  line-height: 1.313rem;
}
h6, .h6 {
  line-height: 1.25rem;
}
ol, ul, dl {
  margin-bottom: 2rem;
}
blockquote {
  font-size: 1.125rem;
  font-style: italic;
  line-height: 24px;
  margin-top: 16px;
  margin-left: 20px;
  position: relative;
}
blockquote::before {
  content: '"';
  font-size: 40px;
  line-height: 16px;
  color: #9aa7be;
  position: absolute;
  top: 10px;
  left: -24px;
}
/*
 * Components
 * ---------- */
/*
Alert
==============================================
Custom skin styling for bootstrap alert component.

https://getbootstrap.com/docs/5.2/components/alerts
*/
.alert .icon {
  margin-right: 0.5rem;
  flex-shrink: 0;
}
.alert .icon svg {
  top: 0;
}
.alert-primary {
  --bs-alert-border-color: #00689C;
  --bs-alert-bg: #dff2fc;
  --bs-alert-color: #2b3136;
}
.alert-secondary {
  --bs-alert-border-color: #474a57;
  --bs-alert-bg: #e6e6f5;
  --bs-alert-color: #2b3136;
}
.alert-success {
  --bs-alert-border-color: #007e4e;
  --bs-alert-bg: #defaee;
  --bs-alert-color: #2b3136;
}
.alert-info {
  --bs-alert-border-color: #005b99;
  --bs-alert-bg: #dff0fc;
  --bs-alert-color: #2b3136;
}
.alert-warning {
  --bs-alert-border-color: #974200;
  --bs-alert-bg: #fcebdf;
  --bs-alert-color: #2b3136;
}
.alert-danger {
  --bs-alert-border-color: #c20017;
  --bs-alert-bg: #ffe0e3;
  --bs-alert-color: #2b3136;
}
.alert-light {
  --bs-alert-border-color: #f9f9f9;
  --bs-alert-bg: #fefefe;
  --bs-alert-color: #2b3136;
}
.alert-dark {
  --bs-alert-border-color: #4a545b;
  --bs-alert-bg: #e6eef6;
  --bs-alert-color: #2b3136;
}
/*
Badge
==============================================
Custom skin styling for bootstrap badge component.

https://getbootstrap.com/docs/5.2/components/badge/
*/
.badge {
  border: 0;
  box-sizing: content-box;
  height: 20px;
  line-height: 20px;
  margin: 0 5px;
  min-width: 10px;
}
.badge-lg {
  height: 28px;
  line-height: 28px;
  padding: 0 10px;
}
/*
Breadcrumb
==============================================
Custom skin styling for bootstrap breadcrumb component.

https://getbootstrap.com/docs/5.2/components/breadcrumb
*/
.breadcrumb .breadcrumb-placeholder {
  margin: 0 0.5rem;
}
.breadcrumb svg {
  height: 1rem;
  width: auto;
  top: 3px;
}
.breadcrumb .breadcrumb-item + .breadcrumb-item:before {
  line-height: 24px;
  padding-top: 3px;
}
.breadcrumb a {
  color: #2b3136;
  font-size: 1rem;
}
.breadcrumb a:hover {
  color: #00689C;
  text-decoration: none;
}
.breadcrumb a.is-active {
  color: #00689C;
  font-weight: bolder;
}
/*
Button
==============================================
Custom skin styling for bootstrap button component.

https://getbootstrap.com/docs/5.2/components/buttons
*/
.btn {
  --bs-btn-disabled-color: #bcc1c7;
  overflow: hidden;
  text-overflow: ellipsis;
}
.btn-buy {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0042a0;
  --bs-btn-border-color: #0042a0;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #003888;
  --bs-btn-hover-border-color: #003580;
  --bs-btn-focus-shadow-rgb: 38, 94, 174;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #003580;
  --bs-btn-active-border-color: #003278;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0042a0;
  --bs-btn-disabled-border-color: #0042a0;
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-buy.disabled, .btn-buy:disabled {
  opacity: 1;
  background: #eee;
  border-color: #eee;
  color: #bcc1c7;
}
.btn-link {
  --bs-btn-font-weight: 600;
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-link-inline {
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-font-weight: 400;
  --bs-btn-font-size: inherit;
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-btn-line-height: 1.5;
  --bs-btn-padding-y: 0;
  --bs-btn-padding-x: 0;
  --bs-btn-border-width: 0;
  text-decoration: underline;
  vertical-align: baseline;
  text-align: left;
  white-space: normal;
}
.btn-link-inline:hover {
  text-decoration: underline;
}
.btn-primary, .btn-outline-primary {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-secondary, .btn-outline-secondary {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-success, .btn-outline-success {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-info, .btn-outline-info {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-warning, .btn-outline-warning {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-danger, .btn-outline-danger {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-light, .btn-outline-light {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.btn-dark, .btn-outline-dark {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
/*
Card
==============================================
Custom skin styling for bootstrap card component.

https://getbootstrap.com/docs/5.2/components/card
*/
.card-title {
  border-bottom: 1px solid #798490;
  padding-bottom: 10px;
}
/*
Custom Select
==============================================
Custom skin styling for bootstrap custom select menu.

https://getbootstrap.com/docs/5.2/forms/select
*/
.custom-select {
  cursor: pointer;
}
.custom-select:invalid {
  color: #666977;
}
.custom-select:hover {
  border-color: #00689C;
  color: #00689C;
}
/*
Form
==============================================
Custom skin styling for bootstrap forms.

https://getbootstrap.com/docs/5.2/forms/overview
*/
.form-group {
  margin-bottom: 20px;
}
.was-validated .form-control:invalid:focus, .was-validated .form-control.is-invalid:focus, .was-validated .form-control:valid:focus, .was-validated .form-control.is-valid:focus, .was-validated .form-select:invalid:focus, .was-validated .form-select.is-invalid:focus, .was-validated .form-select:valid:focus, .was-validated .form-select.is-valid:focus, .form-control:invalid:focus, .form-control.is-invalid:focus, .form-control:valid:focus, .form-control.is-valid:focus, .form-select:invalid:focus, .form-select.is-invalid:focus, .form-select:valid:focus, .form-select.is-valid:focus {
  box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
}
.form-required-label {
  color: #c20017;
}
.form-field-feedback .invalid-feedback {
  display: block;
}
/*
Modal
==============================================
Custom skin styling for bootstrap modal component.

https://getbootstrap.com/docs/5.2/components/modal
*/
.modal-content {
  box-shadow: var(--bs-modal-box-shadow);
}
.modal-content .modal-title {
  margin: 0;
  line-height: 1.5;
}
.js-pseudo-modal-back-btn .icon {
  color: currentColor;
  margin-right: 0.5rem;
}
/*
Product box
==============================================
Styling for productbox component.
*/
.product-box {
  --bs-card-bg: var(--bs-body-bg);
  border-color: #798490;
}
.product-box .card-body {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
}
.product-name {
  font-weight: 600;
}
.product-price {
  color: #2b3136;
}
/*
Tab Menu
==============================================
Custom skin styling for bootstrap card with included tab navigation.

https://getbootstrap.com/docs/5.2/components/card/#navigation
*/
.card-tabs {
  --bs-card-border-width: 0;
}
.card-tabs .card-header {
  --bs-card-cap-bg: none;
  --bs-card-cap-padding-x: 10px;
}
.card-tabs .nav-item {
  margin-right: 10px;
}
.card-tabs .nav-link {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 5px;
  --bs-nav-link-color: #2b3136;
  --bs-nav-tabs-border-width: 0;
  --bs-nav-tabs-border-radius: 0;
  --bs-nav-tabs-link-hover-border-color: #00689C;
  --bs-nav-link-hover-color: #00689C;
  --bs-nav-tabs-link-active-color: #2b3136;
  --bs-nav-tabs-link-active-border-color: #00689C;
  border-bottom: 2px solid #798490;
}
.card-tabs .nav-link.active, .card-tabs .nav-link:hover {
  background-image: none;
}
.card-tabs .nav-link .product-cross-selling-tab-navigation {
  padding: 0;
}
.card-tabs .nav-link:hover {
  background-color: #ccc;
}
.card-tabs .card-body {
  padding-top: 30px;
}
/*
CMS blocks
==============================================
Skin styling for cms blocks and
specific skin styling for elements dependent on their parent block
*/
.cms-block-text-hero .cms-element-text hr {
  max-width: 160px;
  margin-left: auto;
  margin-right: auto;
  border: 2px solid #e9edf0;
}
/*
CMS elements
==============================================
Skin styling for cms elements
*/
.cms-element-product-listing .cms-listing-row {
  --bs-gutter-x: 30px;
  --bs-gutter-y: 30px;
  margin-bottom: 1.5rem;
}
.quickview-minimal-product-name {
  color: #2b3136;
}
.quickview-minimal-product-name:hover {
  text-decoration: none;
}
.quickview-minimal-product-number {
  font-size: 0.875rem;
}
.quickview-minimal-footer-heading {
  border-bottom: 1px solid #798490;
}
.pagination .page-link {
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 576px) {
  .pagination .page-link {
    min-width: 40px;
  }
}
.pagination .page-link .icon {
  color: inherit;
}
/*
 * Layout-related sections
 * ----------------------- */
/*
Top bar
==================================================
Contains skin styles for the top bar located at the top of the page.
The top bar contains e.g. the language switcher, the currency switcher and the service menu.
*/
.top-bar-nav-btn.btn {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-btn-color: #2b3136;
  --bs-btn-font-weight: 400;
  --bs-btn-border-width: 0;
  --bs-btn-border-color: transparent;
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  --bs-btn-hover-color: #00689C;
}
.top-bar-list {
  --bs-dropdown-link-hover-bg: transparent;
  --bs-dropdown-link-hover-color: #00689C;
  --bs-dropdown-link-active-color: #00689C;
  --bs-dropdown-link-active-bg: transparent;
}
.top-bar-list-item-currency-symbol {
  min-width: 1.7rem;
}
/*
Header
==================================================
Contains custom skin styles for the header at the top of the page.
The header contains the shop logo, the search form and various actions like the offcanvas cart button.
*/
.header-search-btn, .header-close-btn {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-btn-border-color: #798490;
  --bs-btn-hover-color: #00689C;
  --bs-btn-hover-border-color: #798490;
  --bs-btn-active-border-color: #798490;
  --bs-btn-disabled-bg: var(--bs-body-bg);
  --bs-btn-disabled-border-color: #798490;
  border-left: 0 none;
}
.header-search-btn:hover .icon, .header-close-btn:hover .icon {
  color: #00689C;
}
.header-search-btn.btn:disabled, .header-close-btn.btn:disabled {
  display: flex;
  align-items: center;
}
.header-search-input {
  border-right: 0;
}
.header-search-input:focus, .header-search-input:focus ~ .header-search-btn, .header-search-input:focus ~ .header-close-btn {
  border-color: #00689C;
}
.header-actions-btn {
  --bs-btn-focus-box-shadow: 0 0 0 0.125rem #fff, 0 0 0 0.25rem #00689c;
  --bs-btn-active-border-color: transparent;
  --bs-btn-active-bg: transparent;
  --bs-btn-hover-color: transparent;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-hover-bg: transparent;
}
.header-actions-btn:hover, .header-actions-btn:hover .icon {
  color: #00689C;
}
.header-cart-total {
  color: #00689C;
  font-size: 1.125rem;
}
@media (min-width: 576px) {
  .header-cart-badge {
    display: none;
  }
}
/*
Footer
==================================================
Contains custom skin styles for the footer located at the bottom of the page.
*/
.footer-main {
  border-top: 1px solid #798490;
}
.footer-column {
  border-bottom: 1px solid #798490;
}
.footer-column-headline {
  color: #00689C;
  font-size: 1.125rem;
  font-weight: 700;
}
.footer-link {
  color: #2b3136;
}
.footer-link:hover {
  color: #00689C;
}
.footer-contact-hotline a {
  display: block;
  margin: 1rem 0 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #00689C;
}
.footer-bottom {
  background: #f9f9f9;
}
.footer-service-menu-item {
  padding-right: 1rem;
  font-weight: 700;
}
.footer-service-menu-item:last-child {
  padding-right: 0;
}
.footer-service-menu-link {
  color: inherit;
}
@media (min-width: 768px) {
  .footer-column {
    border: 0;
  }
  .footer-link-item {
    padding: 2px 0;
  }
}
/*
Main navigation
==============================================
Custom styling for main navigation on larger screens.

Based on bootstrap nav:
https://getbootstrap.com/docs/5.2/components/navs-tabs
*/
@media (min-width: 768px) {
  .main-navigation-menu {
    --bs-navbar-color: #2b3136;
    --bs-navbar-nav-link-padding-x: 0;
  }
  .main-navigation-menu .nav-item:not(:last-child) {
    padding-right: 1rem;
  }
  .main-navigation-link.root.active .main-navigation-link-text {
    border-color: #00689C;
  }
  .main-navigation-link-text {
    border-bottom: 2px solid transparent;
    padding-bottom: 3px;
  }
}
.main-navigation-menu .dropdown-menu::after {
  content: "";
  position: absolute;
  height: calc(1 * var(--bs-dropdown-spacer) + 1px);
  left: 0;
  right: 0;
}
.main-navigation-menu .dropdown:not(.dropup) .dropdown-menu::after {
  top: calc(-1 * var(--bs-dropdown-spacer) - 1px);
}
.main-navigation-menu .dropup .dropdown-menu::after {
  bottom: calc(-1 * var(--bs-dropdown-spacer) - 1px);
}
/*
Navigation flyout
==============================================
Custom skin styling for navigation flyout which opens on hover over the main navigation.
*/
.navigation-flyout-categories:not(.is-level-0) {
  margin-left: 20px;
}
.navigation-flyout-categories.is-level-0 > .navigation-flyout-col {
  margin-bottom: 30px;
  position: relative;
}
.navigation-flyout-categories.is-level-0 > .navigation-flyout-col::before {
  border-left: 1px solid #798490;
  content: "";
  height: 100%;
  left: 15px;
  position: absolute;
  top: 0;
}
.navigation-flyout-link {
  transition: padding 0.25s cubic-bezier(0, 0.77, 0.33, 1);
  color: #2b3136;
  font-size: 1rem;
  margin: 0 1rem;
  padding: 0.25rem 0;
}
@media (prefers-reduced-motion: reduce) {
  .navigation-flyout-link {
    transition: none;
  }
}
.navigation-flyout-link.is-level-0 {
  font-weight: 700;
}
.navigation-flyout-link.is-level-2 {
  font-size: 1rem;
  padding: 0.125rem 0;
}
.navigation-flyout-link.nav-link:hover {
  color: #00689C;
  padding-left: 5px;
}
.navigation-flyout-link.active {
  color: #00689C;
  font-weight: 700;
}
.navigation-flyout-bar {
  align-items: center;
  padding: 20px 0;
}
.navigation-flyout-category-link {
  font-weight: 700;
  font-size: 1rem;
}
/*
Navigation offcanvas
==============================================
Custom skin styling for navigation offcanvas which replaces main navigation on smaller screens.
Based on custom offcanvas component.
*/
.navigation-offcanvas-headline {
  font-weight: 700;
  color: #474a57;
}
.navigation-offcanvas-headline:focus-visible {
  box-shadow: inset 0 0 0 0.125rem #00689c, inset 0 0 0 0.25rem #fff;
}
.navigation-offcanvas-list-item {
  background-color: #fff;
  border-top: 1px solid #bcc1c7;
}
.navigation-offcanvas-list-item:last-child {
  border-bottom: 1px solid #bcc1c7;
}
.navigation-offcanvas-link {
  color: #2b3136;
}
.navigation-offcanvas-link:focus-visible {
  box-shadow: inset 0 0 0 0.125rem #00689c, inset 0 0 0 0.25rem #fff;
}
.navigation-offcanvas-link.is-home-link, .navigation-offcanvas-link.is-home-link .icon {
  color: #00689C;
}
.navigation-offcanvas-link.is-back-link {
  border-top: 1px solid #bcc1c7;
  font-weight: 700;
  color: #474a57;
}
.navigation-offcanvas-link.is-current-category {
  color: #00689C;
  font-weight: 700;
}
/*
Offcanvas cart
==============================================
Custom skin styling for the cart offcanvas.
*/
.offcanvas-cart-header-count {
  color: var(--bs-secondary-color);
  font-weight: 700;
}
.offcanvas-cart-tax {
  color: var(--bs-secondary-color);
}
/*
 * Page-specific styles
 * -------------------- */
.product-detail-name {
  color: #2b3136;
}
.product-detail-price {
  color: #2b3136;
  margin-bottom: 0;
  font-weight: 700;
  vertical-align: middle;
}
.product-detail-price.with-list-price {
  color: #c20017;
  display: inline-block;
}
.product-detail-price.with-regulation-price {
  display: inline-block;
}
.product-detail-price.with-advanced-list-price {
  color: #c20017;
  font-size: 1rem;
  display: inline-block;
}
.list-price-badge {
  display: inline-block;
  background: #c20017;
  color: #fff;
  text-align: center;
  border-radius: 3px;
  line-height: 32px;
  height: 32px;
  width: 32px;
  font-size: 18px;
  font-weight: 600;
  vertical-align: middle;
  margin-bottom: 8px;
  margin-left: 5px;
  margin-right: 6px;
}
.product-detail-regulation-price-wrapper, .product-detail-list-price-wrapper {
  color: #2b3136;
  font-weight: 400;
  font-size: 0.75rem;
  display: inline-block;
  height: 1.625rem;
  vertical-align: bottom;
}
@media (max-width: 991.98px) {
  .product-detail-regulation-price-wrapper, .product-detail-list-price-wrapper {
    height: 1.375rem;
  }
}
.product-detail-regulation-price-wrapper .list-price-price, .product-detail-list-price-wrapper .list-price-price {
  text-decoration: line-through;
}
.product-detail-advanced-regulation-price-wrapper, .product-detail-advanced-list-price-wrapper {
  color: #2b3136;
  font-weight: 400;
  font-size: 12px;
  vertical-align: bottom;
  display: block;
  padding-left: 0;
}
.product-detail-advanced-regulation-price-wrapper .list-price-price, .product-detail-advanced-list-price-wrapper .list-price-price {
  text-decoration: line-through;
}
.product-detail-advanced-regulation-price-wrapper.with-list-price, .product-detail-advanced-list-price-wrapper.with-list-price {
  padding-left: 0;
}
.product-detail-advanced-regulation-price-wrapper-no-line-through .list-price-price, .product-detail-advanced-list-price-wrapper-no-line-through .list-price-price {
  text-decoration: none;
}
@media (min-width: 576px) {
  .product-detail-advanced-list-price-wrapper {
    display: inline-block;
    padding-left: 8px;
  }
}
@media (min-width: 992px) {
  .product-detail-advanced-list-price-wrapper {
    display: block;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .product-detail-advanced-list-price-wrapper {
    display: inline-block;
    padding-left: 8px;
  }
}
.product-detail-ordernumber-label {
  font-weight: 700;
}
.product-detail-quantity-select {
  height: 100%;
}
.product-detail-tabs {
  margin-bottom: 1.5rem;
}
.product-detail-tabs .product-detail-tab-navigation {
  padding: 0;
}
.product-detail-tab-navigation-list {
  flex-direction: column;
  padding-bottom: 5px;
}
.product-detail-properties-table th, .product-detail-properties-table td {
  border: 0;
}
.product-detail-tab-preview {
  font-weight: 400;
  margin-top: 0.5rem;
}
.product-detail-tab-preview-more {
  color: #00689C;
  font-weight: 700;
}
@media (max-width: 575.98px) {
  .product-detail-tabs .product-detail-tab-navigation-link {
    background: none;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    font-weight: 700;
    word-wrap: normal;
  }
}
@media (min-width: 576px) {
  .product-detail-tabs {
    margin-bottom: 0;
  }
  .product-detail-tab-navigation-list {
    border: 0;
    flex-direction: row;
    padding-bottom: 0;
  }
}
.product-detail-review-widget {
  top: 20px;
}
.product-detail-review-progressbar-container {
  height: 14px;
  margin-top: 4px;
}
.product-detail-review-progressbar-bar {
  background-color: #fedc70;
}
.product-detail-review-item {
  border-bottom: 1px solid #798490;
  margin-bottom: 2rem;
}
.product-detail-review-item-date p {
  margin-bottom: 1rem;
}
.product-detail-review-item-verify {
  text-align: right;
}
.product-detail-review-item-likebox {
  text-align: right;
}
.product-detail-review-form-star.is-active .icon {
  color: #fedc70;
}
.product-detail-review-form-star .icon:hover {
  cursor: pointer;
}
@media (min-width: 768px) {
  .product-detail-review-rating {
    display: flex;
  }
  .product-detail-review-form-footer {
    display: flex;
  }
  .product-detail-review-form-footer .product-detail-review-form-actions {
    margin-left: auto;
  }
}
@media (max-width: 575.98px) {
  .product-detail-cross-selling .product-detail-tabs-content {
    display: block;
  }
  .product-detail-cross-selling .product-cross-selling-tab-navigation {
    display: none;
  }
  .product-detail-cross-selling .tab-pane {
    margin-top: 1.5rem;
    display: block;
    opacity: 1;
  }
  .product-detail-cross-selling .tab-pane .cms-element-title {
    display: block;
  }
  .product-detail-cross-selling .tab-pane .cms-element-title-paragraph {
    margin: 0;
  }
}
.product-detail-cross-selling .card {
  margin-top: 1.5rem;
}
.product-detail-cross-selling .cms-element-title {
  display: none;
}
.account-aside-header {
  background: none;
  color: #2b3136;
  font-weight: 700;
  margin-bottom: 1rem;
}
.account-aside-item {
  --bs-list-group-item-padding-x: 0;
  --bs-list-group-action-active-color: #00689C;
  --bs-list-group-action-active-bg: var(--bs-body-bg);
  --bs-list-group-action-hover-color: #00689C;
  --bs-list-group-action-hover-bg: var(--bs-body-bg);
  --bs-list-group-border-width: 0;
}
.account-aside-item.is-active {
  color: #00689C;
  font-weight: 700;
}
.account-aside-footer {
  background: none;
  margin-top: 1px;
  border-top: 1px solid #798490;
}
.account-aside-btn {
  line-height: normal;
  padding: 3px 0;
}
.account-aside-btn .icon {
  vertical-align: middle;
  margin-right: 0.25rem;
}
.account-aside-btn .icon svg {
  top: 0;
}
.account-guest-abort {
  border-top: 0;
}
@media (min-width: 768px) {
  .register-submit {
    text-align: right;
  }
}
.account-address .address-action-create {
  font-size: 1.1em;
  text-align: left;
}
.account-address .address-action-create:hover {
  border: 1px solid #798490;
}
.account-address .address-card .card-body .address:first-line {
  font-weight: 700;
}
.account-profile-mail-label {
  font-weight: 700;
}
.account-profile-change {
  font-weight: 700;
  font-size: 1rem;
}
.order-item-status-badge {
  margin: 10px 0;
}
@media (max-width: 575.98px) {
  .order-item-status-badge {
    margin-top: 0;
  }
}
.order-table-header .row, .order-item-header .row, .order-detail-content-header .row {
  margin-right: 0;
  margin-left: 0;
}
.order-table-header .row > .col, .order-table-header .row > [class*="col-"], .order-item-header .row > .col, .order-item-header .row > [class*="col-"], .order-detail-content-header .row > .col, .order-detail-content-header .row > [class*="col-"] {
  padding-right: 10px;
  padding-left: 10px;
}
@media (max-width: 575.98px) {
  .order-table-header .row > .col, .order-table-header .row > [class*="col-"], .order-item-header .row > .col, .order-item-header .row > [class*="col-"], .order-detail-content-header .row > .col, .order-detail-content-header .row > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
  }
}
.order-table-header {
  font-weight: 700;
}
.order-item-header .row > .order-table-header-heading, .order-item-header .row > .order-table-header-order-number {
  padding-right: 0;
  padding-left: 0;
}
.order-item-name {
  color: #4a545b;
}
.order-detail-content-header {
  margin-top: 1rem;
  font-weight: 700;
}
.order-detail-content-header .order-detail-content-header-cell[class*="col-"]:first-of-type {
  padding-left: 0;
}
.order-detail-content-header .order-detail-content-header-cell[class*="col-"]:last-of-type {
  padding-right: 0;
}
.order-item-product-name {
  color: #2b3136;
}
.order-item-product-name:hover {
  color: #00689C;
  text-decoration: none;
}
.order-item-product-name strong {
  font-weight: 700;
}
@media (min-width: 768px) {
  .order-item-product-image .product-image-link {
    justify-content: normal;
  }
  .order-item-product-image img {
    max-width: 100px;
  }
}
.order-item-number-value {
  font-weight: 700;
}
.order-pseudo-price-value {
  text-decoration: line-through;
}
.order-item-detail-list-item {
  margin: 0;
}
.order-item-detail-list-item.is-child {
  background-color: #f9f9f9;
}
.order-item-nested-icon {
  background-color: #798490;
}
.order-item-detail-footer {
  background-color: #f9f9f9;
}
.order-detail-table-footer {
  background-color: #f9f9f9;
}
.order-price-unit {
  font-size: 0.875rem;
}
.order-item-variants {
  font-size: 0.875rem;
}
.order-item-variants-properties-name {
  font-weight: 700;
}
.checkout-aside-summary {
  background-color: #f9f9f9;
}
.checkout-aside-summary, .checkout-aside-products {
  padding: 1rem;
}
@media (max-width: 767.98px) {
  .cart-table {
    border: 0;
  }
  .cart-table-body {
    padding: 0;
  }
}
.contact-action {
  display: flex;
  justify-content: flex-end;
}
.newsletter-action {
  display: flex;
  justify-content: flex-end;
}
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on September 3, 2020 */
@font-face {
  font-family: "opendyslexic";
  src: url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-bold-webfont.woff2") format("woff2"), url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-bold-webfont.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "opendyslexic";
  src: url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-bolditalic-webfont.woff2") format("woff2"), url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-bolditalic-webfont.woff") format("woff");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "opendyslexic";
  src: url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-italic-webfont.woff2") format("woff2"), url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "opendyslexic";
  src: url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-regular-webfont.woff2") format("woff2"), url("/bundles/verigndvaccessibilitysw6/fonts/opendyslexic-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
.dvaccess-contrast-invert-colors {
  filter: invert(100%);
  -webkit-filter: invert(100%);
}
.dvaccess-contrast-desaturate {
  filter: grayscale(100%) !important;
  -webkit-filter: grayscale(100%) !important;
}
.dvaccess-contrast-dark-contrast {
  background: #000 !important;
}
.dvaccess-contrast-dark-contrast *:before, .dvaccess-contrast-dark-contrast *:after, .dvaccess-contrast-dark-contrast button, .dvaccess-contrast-dark-contrast button i, .dvaccess-contrast-dark-contrast button span, .dvaccess-contrast-dark-contrast button svg, .dvaccess-contrast-dark-contrast select, .dvaccess-contrast-dark-contrast option, .dvaccess-contrast-dark-contrast input, .dvaccess-contrast-dark-contrast textarea, .dvaccess-contrast-dark-contrast input::placeholder, .dvaccess-contrast-dark-contrast textarea::placeholder, .dvaccess-contrast-dark-contrast a, .dvaccess-contrast-dark-contrast span, .dvaccess-contrast-dark-contrast abbr, .dvaccess-contrast-dark-contrast article, .dvaccess-contrast-dark-contrast aside, .dvaccess-contrast-dark-contrast b, .dvaccess-contrast-dark-contrast big, .dvaccess-contrast-dark-contrast body, .dvaccess-contrast-dark-contrast div, .dvaccess-contrast-dark-contrast em, .dvaccess-contrast-dark-contrast footer, .dvaccess-contrast-dark-contrast form, .dvaccess-contrast-dark-contrast h1, .dvaccess-contrast-dark-contrast .h1, .dvaccess-contrast-dark-contrast h2, .dvaccess-contrast-dark-contrast .h2, .dvaccess-contrast-dark-contrast h3, .dvaccess-contrast-dark-contrast .h3, .dvaccess-contrast-dark-contrast h4, .dvaccess-contrast-dark-contrast .h4, .dvaccess-contrast-dark-contrast h5, .dvaccess-contrast-dark-contrast .h5, .dvaccess-contrast-dark-contrast h6, .dvaccess-contrast-dark-contrast .h6, .dvaccess-contrast-dark-contrast header, .dvaccess-contrast-dark-contrast i:not([href] i):not(button i), .dvaccess-contrast-dark-contrast label, .dvaccess-contrast-dark-contrast li, .dvaccess-contrast-dark-contrast main, .dvaccess-contrast-dark-contrast nav, .dvaccess-contrast-dark-contrast p, .dvaccess-contrast-dark-contrast small, .dvaccess-contrast-dark-contrast .small, .dvaccess-contrast-dark-contrast strong, .dvaccess-contrast-dark-contrast td, .dvaccess-contrast-dark-contrast th, .dvaccess-contrast-dark-contrast ul {
  background-color: #000 !important;
  border-color: #fff !important;
  color: #50d0a0 !important;
}
.dvaccess-contrast-light-contrast {
  background: #fff !important;
}
.dvaccess-contrast-light-contrast *:before, .dvaccess-contrast-light-contrast *:after, .dvaccess-contrast-light-contrast button, .dvaccess-contrast-light-contrast button i, .dvaccess-contrast-light-contrast button span, .dvaccess-contrast-light-contrast button svg, .dvaccess-contrast-light-contrast select, .dvaccess-contrast-light-contrast option, .dvaccess-contrast-light-contrast input, .dvaccess-contrast-light-contrast textarea, .dvaccess-contrast-light-contrast input::placeholder, .dvaccess-contrast-light-contrast textarea::placeholder, .dvaccess-contrast-light-contrast a, .dvaccess-contrast-light-contrast span, .dvaccess-contrast-light-contrast abbr, .dvaccess-contrast-light-contrast article, .dvaccess-contrast-light-contrast aside, .dvaccess-contrast-light-contrast b, .dvaccess-contrast-light-contrast big, .dvaccess-contrast-light-contrast body, .dvaccess-contrast-light-contrast div, .dvaccess-contrast-light-contrast em, .dvaccess-contrast-light-contrast footer, .dvaccess-contrast-light-contrast form, .dvaccess-contrast-light-contrast h1, .dvaccess-contrast-light-contrast .h1, .dvaccess-contrast-light-contrast h2, .dvaccess-contrast-light-contrast .h2, .dvaccess-contrast-light-contrast h3, .dvaccess-contrast-light-contrast .h3, .dvaccess-contrast-light-contrast h4, .dvaccess-contrast-light-contrast .h4, .dvaccess-contrast-light-contrast h5, .dvaccess-contrast-light-contrast .h5, .dvaccess-contrast-light-contrast h6, .dvaccess-contrast-light-contrast .h6, .dvaccess-contrast-light-contrast header, .dvaccess-contrast-light-contrast i:not([href] i):not(button i), .dvaccess-contrast-light-contrast label, .dvaccess-contrast-light-contrast li, .dvaccess-contrast-light-contrast main, .dvaccess-contrast-light-contrast nav, .dvaccess-contrast-light-contrast p, .dvaccess-contrast-light-contrast small, .dvaccess-contrast-light-contrast .small, .dvaccess-contrast-light-contrast strong, .dvaccess-contrast-light-contrast td, .dvaccess-contrast-light-contrast th, .dvaccess-contrast-light-contrast ul {
  background-color: #fff !important;
  color: #000 !important;
  border-color: #000 !important;
}
.dvaccess-contrast-dark-contrast select, .dvaccess-contrast-light-contrast select, .dvaccess-contrast-dark-contrast button, .dvaccess-contrast-light-contrast button {
  background-image: none;
}
.dvaccess-reading-guide {
  position: fixed;
  top: 0;
  width: 100%;
  height: 6px;
  background: black;
  border-top: 2px solid red;
  border-bottom: 2px solid red;
  box-sizing: border-box;
  z-index: 90;
}
.dvaccess-focus-reading-guide {
  width: 100%;
}
.dvaccess-focus-reading-guide.upper-overlay, .dvaccess-focus-reading-guide.lower-overlay {
  background: rgba(0, 0, 0, 0.7);
  height: 100%;
  position: fixed;
  z-index: 90;
}
.dvaccess-focus-reading-guide.upper-overlay {
  transform: translateY(-100%);
  border-bottom: 10px solid #0096de;
  margin-top: -100px;
}
.dvaccess-focus-reading-guide.lower-overlay {
  border-top: 10px solid #0096de;
  margin-top: 100px;
}
.dvaccess-focus-reading-guide.visible-overlay {
  z-index: -1;
  position: fixed;
  height: 300px;
}
.dvaccess-tooltips {
  display: none;
  position: fixed;
  max-width: 350px;
  padding: 10px 20px;
  font-size: 18px;
  background: #fff;
  border: 2px solid black;
  line-height: 1.3;
  z-index: 91;
}
.dvaccess-keyboard-nav *:focus {
  outline: dashed 2px #c00 !important;
}
.dvaccess-highlight-links a, .dvaccess-highlight-links [href], .dvaccess-highlight-links [href] *, .dvaccess-highlight-links a * {
  text-decoration: underline !important;
}
.dvaccess-highlight-links a, .dvaccess-highlight-links [href], .dvaccess-highlight-links [href] *, .dvaccess-highlight-links a *, .dvaccess-highlight-links [role=link], .dvaccess-highlight-links [role=link] *, .dvaccess-highlight-links button, .dvaccess-highlight-links button i, .dvaccess-highlight-links button span, .dvaccess-highlight-links button svg, .dvaccess-highlight-links select, .dvaccess-highlight-links option, .dvaccess-highlight-links input, .dvaccess-highlight-links textarea, .dvaccess-highlight-links input::placeholder, .dvaccess-highlight-links textarea::placeholder {
  color: #000 !important;
  background: #fcff3c !important;
}
.dvaccess-legible-fonts *:not(.dvaccess-shadow-root) {
  font-family: Arial, serif !important;
}
.dvaccess-legible-fonts-1 *:not(.dvaccess-shadow-root) {
  font-family: "opendyslexic" !important;
}
.dvaccess-big-cursor, .dvaccess-big-cursor * {
  cursor: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyOS4xODhweCIgaGVpZ2h0PSI0My42MjVweCIgdmlld0JveD0iMCAwIDI5LjE4OCA0My42MjUiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI5LjE4OCA0My42MjUiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHN0cm9rZT0iI0Q5REFEOSIgc3Ryb2tlLXdpZHRoPSIxLjE0MDYiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgcG9pbnRzPSIyLjgsNC41NDkgMjYuODQ3LDE5LjkwMiAxNi45NjQsMjIuNzAxIDI0LjIzOSwzNy43NDkgMTguMjc4LDQyLjAxNyA5Ljc0MSwzMC43MjQgMS4xMzgsMzUuODA5ICIvPjxnPjxnPjxnPjxwYXRoIGZpbGw9IiMyMTI2MjciIGQ9Ik0yOS4xNzUsMjEuMTU1YzAuMDcxLTAuNjEzLTAuMTY1LTEuMjUzLTAuNjM1LTEuNTczTDIuMTY1LDAuMjU4Yy0wLjQyNC0wLjMyLTAuOTg4LTAuMzQ2LTEuNDM1LTAuMDUzQzAuMjgyLDAuNDk3LDAsMS4wMywwLDEuNjE3djM0LjE3MWMwLDAuNjEzLDAuMzA2LDEuMTQ2LDAuNzc2LDEuNDM5YzAuNDcxLDAuMjY3LDEuMDU5LDAuMjEzLDEuNDgyLTAuMTZsNy40ODItNi4zNDRsNi44NDcsMTIuMTU1YzAuMjU5LDAuNDgsMC43MjksMC43NDYsMS4yLDAuNzQ2YzAuMjM1LDAsMC40OTQtMC4wOCwwLjcwNi0wLjIxM2w2Ljk4OC00LjU4NWMwLjMyOS0wLjIxMywwLjU2NS0wLjU4NiwwLjY1OS0xLjAxM2MwLjA5NC0wLjQyNiwwLjAyNC0wLjg4LTAuMTg4LTEuMjI2bC02LjM3Ni0xMS4zODJsOC42MTEtMi43NDVDMjguNzA1LDIyLjI3NCwyOS4xMDUsMjEuNzY4LDI5LjE3NSwyMS4xNTV6IE0xNi45NjQsMjIuNzAxYy0wLjQyNCwwLjEzMy0wLjc3NiwwLjUwNi0wLjk0MSwwLjk2Yy0wLjE2NSwwLjQ4LTAuMTE4LDEuMDEzLDAuMTE4LDEuNDM5bDYuNTg4LDExLjc4MWwtNC41NDEsMi45ODVsLTYuODk0LTEyLjMxNWMtMC4yMTItMC4zNzMtMC41NDEtMC42NC0wLjk0MS0wLjcyYy0wLjA5NC0wLjAyNy0wLjE2NS0wLjAyNy0wLjI1OS0wLjAyN2MtMC4zMDYsMC0wLjU4OCwwLjEwNy0wLjg0NywwLjMyTDIuOCwzMi41OVY0LjU0OWwyMS41OTksMTUuODA2TDE2Ljk2NCwyMi43MDF6Ii8+PC9nPjwvZz48L2c+PC9nPjwvc3ZnPg==), auto !important;
}
.dvaccess-text-spacing-0 body, .dvaccess-text-spacing-0 *:not(.dvaccess-shadow-root) {
  letter-spacing: 1px !important;
}
.dvaccess-text-spacing-1 body, .dvaccess-text-spacing-1 *:not(.dvaccess-shadow-root) {
  letter-spacing: 2px !important;
}
.dvaccess-text-spacing-2 body, .dvaccess-text-spacing-2 *:not(.dvaccess-shadow-root) {
  letter-spacing: 4px !important;
}
.dvaccess-line-height-0 {
  line-height: 1.5 !important;
}
.dvaccess-line-height-1 {
  line-height: 2 !important;
}
.dvaccess-line-height-2 {
  line-height: 2.5 !important;
}
.dvaccess-bigger-text-0 {
  zoom: 1.2 !important;
}
.dvaccess-bigger-text-0 .dvaccess-tooltips, .dvaccess-bigger-text-0 .dvaccess-reading-guide, .dvaccess-bigger-text-0 .dvaccess-focus-reading-guide, .dvaccess-bigger-text-0 .dvaccess-shadow-root {
  zoom: 0.835;
}
.dvaccess-bigger-text-1 {
  zoom: 1.3 !important;
}
.dvaccess-bigger-text-1 .dvaccess-tooltips, .dvaccess-bigger-text-1 .dvaccess-reading-guide, .dvaccess-bigger-text-1 .dvaccess-focus-reading-guide, .dvaccess-bigger-text-1 .dvaccess-shadow-root {
  zoom: 0.77;
}
.dvaccess-bigger-text-2 {
  zoom: 1.5 !important;
}
.dvaccess-bigger-text-2 .dvaccess-tooltips, .dvaccess-bigger-text-2 .dvaccess-reading-guide, .dvaccess-bigger-text-2 .dvaccess-focus-reading-guide, .dvaccess-bigger-text-2 .dvaccess-shadow-root {
  zoom: 0.667;
}
.dvaccess-bigger-text-3 {
  zoom: 1.6 !important;
}
.dvaccess-bigger-text-3 .dvaccess-tooltips, .dvaccess-bigger-text-3 .dvaccess-reading-guide, .dvaccess-bigger-text-3 .dvaccess-focus-reading-guide, .dvaccess-bigger-text-3 .dvaccess-shadow-root {
  zoom: 0.625;
}
.dvaccess-pause-animations * {
  transition: none !important;
  animation-play-state: paused !important;
}
.dvaccess-speech-enabled .dvaccess-speech {
  cursor: help;
}
.dvaccess-speech-enabled .dvaccess-speech:hover {
  outline: 3px solid yellow;
}
.dvaccess-speech-enabled .dvaccess-speech.dvaccess-speech-speaking {
  outline: 3px solid greenyellow;
}
.dvaccess {
  position: fixed;
  z-index: 1000000000;
}
.dvaccess *, .dvaccess ::after, .dvaccess ::before {
  box-sizing: border-box;
}
.dvaccess-bg {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
}
.dvaccess-toggle {
  background: #0096DE;
  width: 46px;
  height: 46px;
  position: fixed;
  cursor: pointer;
  z-index: 100;
  border: none;
  padding: 0;
}
.dvaccess-menu {
  display: none;
  width: auto;
  height: auto;
  position: fixed;
  background: #fff;
  z-index: 99;
  max-width: calc(90% - 50px);
  max-height: 95%;
}
.dvaccess-pos-lb .dvaccess-toggle {
  left: 10px;
  bottom: 10px;
}
.dvaccess-pos-lb .dvaccess-menu {
  left: 56px;
  bottom: 10px;
}
.dvaccess-pos-lc .dvaccess-toggle {
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.dvaccess-pos-lc .dvaccess-menu {
  left: 56px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.dvaccess-pos-lt .dvaccess-toggle {
  left: 10px;
  top: 10px;
}
.dvaccess-pos-lt .dvaccess-menu {
  left: 56px;
  top: 10px;
}
.dvaccess-pos-ct .dvaccess-toggle {
  left: 50%;
  top: 10px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}
.dvaccess-pos-ct .dvaccess-menu {
  left: 50%;
  top: 56px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}
.dvaccess-pos-rt .dvaccess-toggle {
  right: 10px;
  top: 10px;
}
.dvaccess-pos-rt .dvaccess-menu {
  right: 56px;
  top: 10px;
}
.dvaccess-pos-rc .dvaccess-toggle {
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.dvaccess-pos-rc .dvaccess-menu {
  right: 56px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}
.dvaccess-pos-rb .dvaccess-toggle {
  right: 10px;
  bottom: 10px;
}
.dvaccess-pos-rb .dvaccess-menu {
  right: 56px;
  bottom: 10px;
}
.dvaccess-pos-cb .dvaccess-toggle {
  left: 50%;
  bottom: 10px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}
.dvaccess-pos-cb .dvaccess-menu {
  left: 50%;
  bottom: 56px;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}
.dvaccess-pos-rb .dvaccess-menu, .dvaccess-pos-rt .dvaccess-menu, .dvaccess-pos-rc .dvaccess-menu, .dvaccess-pos-lc .dvaccess-menu {
  width: calc(100% - 60px);
}
.dvaccess-pos-lt .dvaccess-menu {
  left: 0;
  top: 0;
}
.dvaccess-pos-lb .dvaccess-menu {
  left: 0;
  bottom: 0;
}
.dvaccess-pos-lb .dvaccess-menu .panel-utility .dvaccess-copyright {
  padding-left: 57px;
}
.dvaccess-pos-rb .dvaccess-menu {
  right: 0;
}
.dvaccess-pos-rb .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-rt .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-rc .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-lc .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-lb .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-ct .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-cb .dvaccess-menu .dvaccess-titlebar {
  padding-left: 15px;
}
@media screen and (min-width: 768px) {
  .dvaccess-pos-lb .dvaccess-menu .panel-utility {
    padding-left: 80px;
  }
  .dvaccess-pos-rb .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-rt .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-rc .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-lc .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-ct .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-cb .dvaccess-menu .dvaccess-titlebar, .dvaccess-pos-rb .dvaccess-menu .panel-module, .dvaccess-pos-rt .dvaccess-menu .panel-module, .dvaccess-pos-rc .dvaccess-menu .panel-module, .dvaccess-pos-lc .dvaccess-menu .panel-module, .dvaccess-pos-ct .dvaccess-menu .panel-module, .dvaccess-pos-cb .dvaccess-menu .panel-module {
    padding-left: 15px;
  }
  .dvaccess-pos-rb .dvaccess-menu {
    right: 56px;
  }
}
.dvaccess .dvaccess-toggle:before {
  content: "";
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_accessibility.svg");
  background-repeat: no-repeat;
  display: inline-block;
  width: 30px;
  height: 35px;
  margin: 6px 8px;
}
.dvaccess.menu-opened .dvaccess-toggle:after {
  content: "";
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_check.svg");
  background-repeat: no-repeat;
  display: inline-block;
  width: 12px;
  height: 12px;
  position: absolute;
  top: -5px;
  right: -5px;
}
.dvaccess .dvaccess-menu .dvaccess-button[aria-pressed="true"]:before {
  content: " ";
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_check.svg");
  top: 5px;
  right: 5px;
  width: 15px;
  height: 15px;
  position: absolute;
}
.dvaccess .dvaccess-menu .dvaccess-button-icon {
  background-repeat: no-repeat;
  background-position: center center;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-keyboard-nav .dvaccess-button-icon {
  background-size: auto 70%;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_keyboard-navigation.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-contrast .dvaccess-button-icon {
  background-size: auto 70%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-contrast[data-status="-1"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_contrast.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-contrast[data-status="0"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_contrast_inverse.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-contrast[data-status="1"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_contrast_dark.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-contrast[data-status="2"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_contrast_bright.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-contrast[data-status="3"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_contrast_bw.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-highlight-links .dvaccess-button-icon {
  background-size: auto 50%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-highlight-links .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_highlight-links.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-bigger-text .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_font-size.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-bigger-text[data-status="-1"] .dvaccess-button-icon {
  background-size: auto 40%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-bigger-text[data-status="0"] .dvaccess-button-icon {
  background-size: auto 50%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-bigger-text[data-status="1"] .dvaccess-button-icon {
  background-size: auto 60%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-bigger-text[data-status="2"] .dvaccess-button-icon {
  background-size: auto 70%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-bigger-text[data-status="3"] .dvaccess-button-icon {
  background-size: auto 80%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-text-spacing .dvaccess-button-icon {
  background-size: auto 60%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-text-spacing[data-status="-1"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_letter-spacing.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-text-spacing[data-status="0"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_letter-spacing.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-text-spacing[data-status="1"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_letter-spacing_m.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-text-spacing[data-status="2"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_letter-spacing_l.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-legible-fonts .dvaccess-button-icon {
  background-size: auto 60%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-legible-fonts[data-status="-1"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_fonts_legible.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-legible-fonts[data-status="0"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_fonts_readable.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-legible-fonts[data-status="1"] .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_fonts_legible.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-big-cursor .dvaccess-button-icon {
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_big-cursor.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-big-cursor[data-status="-1"] .dvaccess-button-icon {
  background-size: auto 50%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-big-cursor[data-status="0"] .dvaccess-button-icon {
  background-size: auto 80%;
}
.dvaccess .dvaccess-menu .dvaccess-button.button-reading-guide .dvaccess-button-icon {
  background-size: auto 50%;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_reading-guide.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-line-height .dvaccess-button-icon {
  background-size: auto 50%;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_zab.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-tooltips .dvaccess-button-icon {
  background-size: auto 60%;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_tooltips.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-pause-animations .dvaccess-button-icon {
  background-size: auto 70%;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_animations.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-speech .dvaccess-button-icon {
  background-size: auto 70%;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_screenreader.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-move .dvaccess-button-icon {
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 5px;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_accessibility_black.svg");
}
.dvaccess .dvaccess-menu .dvaccess-button.button-reset .dvaccess-button-icon {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 5px;
  background-image: url("/bundles/verigndvaccessibilitysw6/icon_reset.svg");
}
.dvaccess-button {
  cursor: pointer;
  user-select: none;
}
.dvaccess-panel {
  position: relative;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons {
  position: relative;
  margin: 40px auto;
  width: 300px;
  height: 200px;
  background: #D3D3D3;
  border: 2px solid #6C6C6C;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button {
  position: absolute;
  display: block;
  height: 30px;
  width: 30px;
  border: 2px solid #0096DE;
  background: white;
  text-align: center;
  padding: 0;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button .dvaccess-button-label {
  display: none;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.active {
  background: #0096DE;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.active .dvaccess-button-icon:before {
  content: url("/bundles/verigndvaccessibilitysw6/icon_accessibility.svg");
  display: inline-block;
  width: 20px;
  height: 20px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-lt {
  top: 10px;
  left: 10px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-ct {
  top: 10px;
  left: 50%;
  margin-left: -15px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-rt {
  top: 10px;
  right: 10px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-rc {
  top: 50%;
  margin-top: -15px;
  right: 10px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-rb {
  right: 10px;
  bottom: 10px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-cb {
  bottom: 10px;
  left: 50%;
  margin-left: -15px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-lb {
  left: 10px;
  bottom: 10px;
}
.dvaccess-panel.panel-move .dvaccess-panel-buttons .dvaccess-button.button-lc {
  top: 50%;
  margin-top: -15px;
  left: 10px;
}
body.dvaccess-overlay-active {
  overflow: hidden;
}
.dvaccess-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 110;
  display: none;
  align-items: center;
}
.dvaccess-overlay .dvaccess-overlay-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
.dvaccess-overlay .dvaccess-overlay-content {
  margin: 0 auto;
  z-index: 2;
  width: 600px;
  max-width: 95%;
  max-height: 90%;
  overflow-y: auto;
}
.dvaccess-overlay .dvaccess-overlay-content-inner {
  padding: 10px 15px;
  background: #fff;
}
.dvaccess-overlay .dvaccess-overlay-close-btn {
  box-shadow: none;
  font-size: 16px;
  margin: 0 auto;
  display: block;
  border: 2px solid;
  border-color: #0096DE;
  color: #fff;
  background: #0096DE;
}
.dvaccess-overlay .dvaccess-overlay-close-btn:hover {
  background: #fff;
  color: #0096DE;
}
.dvaccess-titlebar {
  background: #0096DE;
  color: #fff;
  min-height: 46px;
  line-height: 46px;
  padding: 0 15px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
}
.dvaccess-titlebar .dvaccess-titlebar-content {
  order: 1;
  width: 100%;
}
.dvaccess-titlebar .dvaccess-titlebar-close {
  cursor: pointer;
  padding: 0;
  border: 0;
  background: inherit;
}
.dvaccess-titlebar .dvaccess-titlebar-close:before {
  content: url("/bundles/verigndvaccessibilitysw6/icon_close-w.svg");
  display: inline-block;
  width: 12px;
  height: 12px;
}
@media screen and (min-width: 1600px) {
  .dvaccess-titlebar .dvaccess-titlebar-content {
    order: 0;
    width: auto;
    margin-right: auto;
    padding-left: 30px;
  }
}
.dvaccess-tabpanel .dvaccess-tabpanel-tab {
  display: none;
}
.dvaccess-tabpanel .dvaccess-tabpanel-tab.active {
  display: block;
}
.dvaccess-tabpanel .dvaccess-tabpanel-nav-item {
  cursor: pointer;
}
.dvaccess-tabpanel .dvaccess-tabpanel-nav-item.active {
  text-decoration: underline;
}
.dvaccess-tabpanel-nav {
  display: flex;
  padding-bottom: 20px;
}
.dvaccess-tabpanel-nav .dvaccess-tabpanel-nav-item {
  position: relative;
  text-align: center;
  height: 40px;
  line-height: 40px;
}
.dvaccess-tabpanel-nav .dvaccess-tabpanel-nav-item:after {
  content: "";
  border: 2px solid #D3D3D3;
  position: absolute;
  left: 0px;
  right: -2px;
  top: 0px;
  bottom: -2px;
  display: block;
}
.dvaccess-tabpanel-nav .dvaccess-tabpanel-nav-item:not(.active):after {
  border-top: none;
}
.dvaccess-tabpanel-nav .dvaccess-tabpanel-nav-item:not(.active):first-child:after {
  border-left: none;
}
.dvaccess-tabpanel-nav .dvaccess-tabpanel-nav-item:not(.active):last-child:after {
  border-right: none;
}
.dvaccess-tabpanel-nav .dvaccess-tabpanel-nav-item.active {
  color: #0096DE;
  text-decoration: none;
  z-index: 2;
}
.dvaccess-tabpanel-nav .dvaccess-tabpanel-nav-item.active:after {
  border-color: #0096DE;
}
.dvaccess-tabpanel-nav[data-panels="1"] .dvaccess-tabpanel-nav-item {
  width: 100%;
}
.dvaccess-tabpanel-nav[data-panels="2"] .dvaccess-tabpanel-nav-item {
  width: 50%;
}
.dvaccess-tabpanel-nav[data-panels="3"] .dvaccess-tabpanel-nav-item {
  width: 33.33333333%;
}
.dvaccess-structure-list {
  list-style: none;
}
.dvaccess-structure-list .dvaccess-structure-list-item {
  margin-bottom: 15px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h1 {
  padding-left: 0;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h2 {
  padding-left: 20px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h3 {
  padding-left: 40px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h4 {
  padding-left: 60px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h5 {
  padding-left: 80px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h6 {
  padding-left: 100px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h7 {
  padding-left: 120px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h8 {
  padding-left: 140px;
}
.dvaccess-structure-list .dvaccess-structure-list-item.tagname-h9 {
  padding-left: 160px;
}
.dvaccess-structure-list .dvaccess-structure-list-item-prefix {
  display: inline-block;
  background: #6C6C6C;
  color: #fff;
  padding: 3px 7px;
  margin-right: 10px;
  border-radius: 3px;
}
.dvaccess-structure-list .dvaccess-structure-list-link {
  cursor: pointer;
  color: #000;
}
.dvaccess-structure-list .dvaccess-structure-list-link.dvaccess-structure-list-link-external:after {
  content: "⮺";
  font-size: 15px;
  margin-left: 5px;
  text-decoration: none;
}
.dvaccess-structure-list .dvaccess-structure-list-item-element-hidden {
  opacity: 0.5;
}
.dvaccess-structure-list .dvaccess-structure-list-item-element-hidden, .dvaccess-structure-list .dvaccess-structure-list-item-element-hidden a {
  cursor: default;
}
.dvaccess-structure-list .dvaccess-structure-list-item-element-hidden a {
  text-decoration: none;
}
.dvaccess-menu {
  width: 100%;
  max-width: 400px;
  max-height: 100%;
  overflow-y: auto;
  font-size: 14px;
  box-shadow: 0px 0px 10px;
}
.dvaccess-menu .dvaccess-titlebar {
  padding-left: 80px;
  color: #000;
  background: #fff;
  min-height: 56px;
  padding-top: 10px;
}
.dvaccess-menu .dvaccess-titlebar .dvaccess-titlebar-close:before {
  content: url("/bundles/verigndvaccessibilitysw6/icon_close.svg");
}
.dvaccess-menu .dvaccess-profile-select {
  padding: 5px 10px;
  border: 1px solid #D3D3D3;
  width: 100%;
  background: #fff;
}
.dvaccess-menu .dvaccess-profile-select:focus {
  outline: none;
  border-color: #000;
}
.dvaccess-menu .dvaccess-panel {
  padding: 15px 15px;
}
.dvaccess-menu .dvaccess-button {
  text-align: center;
  position: relative;
  color: #000;
  background: #fff;
  border: none;
}
.dvaccess-menu .panel-module {
  padding-bottom: 0;
}
.dvaccess-menu .panel-module .dvaccess-panel-buttons {
  display: flex;
  flex-wrap: wrap;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button {
  width: 50%;
  position: relative;
  height: 90px;
  z-index: 1;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:after {
  content: "";
  border: 2px solid #D3D3D3;
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  display: block;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button[aria-pressed="true"] {
  z-index: 2;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button[aria-pressed="true"]:after {
  border-color: #0096DE;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:focus:not([aria-pressed="true"]) {
  outline: none;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:focus:not([aria-pressed="true"]):after {
  border-color: #000;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-icon, .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-label {
  display: block;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-status-display {
  display: flex;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-icon {
  height: 50px;
  line-height: 50px;
  margin-top: 5px;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-label {
  margin: 0 10px;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-status-display {
  padding: 2px 10px;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-toggle-button-status {
  display: block;
  height: 2px;
  background: #000;
  border-radius: 1px;
  margin: 0 2%;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-toggle-button-status.active {
  background: #0096DE;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-status-display.statuses-1 {
  display: none;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-status-display.statuses-2 .dvaccess-toggle-button-status {
  width: 46%;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-status-display.statuses-3 .dvaccess-toggle-button-status {
  width: 29.33333333%;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-status-display.statuses-4 .dvaccess-toggle-button-status {
  width: 21%;
}
.dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-status-display.statuses-5 .dvaccess-toggle-button-status {
  width: 16%;
}
.dvaccess-menu .panel-utility .dvaccess-button {
  display: inline-block;
  width: 100%;
  padding: 5px 10px;
  border: 1px solid transparent;
  border-bottom-color: #D3D3D3;
}
.dvaccess-menu .panel-utility .dvaccess-button .dvaccess-button-label {
  display: inline;
}
.dvaccess-menu .panel-utility .dvaccess-button:focus {
  outline: none;
  border-color: #000;
}
.dvaccess-menu .panel-utility .dvaccess-copyright {
  font-size: 10px;
  color: black;
}
.dvaccess-menu .panel-utility .dvaccess-copyright a {
  color: #0096DE;
}
@media screen and (max-width: 991px) {
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button.button-big-cursor, .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button.button-keyboard-nav {
    display: none;
  }
}
@media screen and (max-width: 1599px) {
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-label {
    height: 21px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):after {
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):focus:after {
    border-left-color: #000;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):nth-child(even):after {
    border-right-color: transparent;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):nth-child(even):focus:after {
    border-right-color: #000;
  }
  .dvaccess-menu .panel-utility {
    padding-top: 0;
  }
}
@media screen and (min-width: 1600px) {
  .dvaccess-menu {
    font-size: 16px;
    max-width: none;
  }
  .dvaccess-menu .dvaccess-profile-select {
    width: auto;
  }
  .dvaccess-menu .panel-module .dvaccess-panel-buttons {
    flex-wrap: nowrap;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button {
    width: 150px;
    height: 120px;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:after {
    border-top-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):first-child:after {
    border-left-color: transparent;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):last-child:after {
    border-right-color: transparent;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):first-child:focus:after {
    border-left-color: #000;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button:not([aria-pressed="true"]):last-child:focus:after {
    border-right-color: #000;
  }
  .dvaccess-menu .panel-module .dvaccess-button.dvaccess-toggle-button .dvaccess-button-label {
    height: 48px;
  }
  .dvaccess-menu .panel-utility .dvaccess-button {
    width: auto;
    padding: 5px 30px;
    border: 1px solid #D3D3D3;
    margin-right: 10px;
  }
  .dvaccess-menu .panel-utility .dvaccess-copyright {
    position: absolute;
    bottom: 24px;
    right: 20px;
  }
}
.input-group > .dvaccess-text {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
#productDetailPageBuyProductForm .input-group {
  flex-wrap: nowrap;
}
/* ============================================================
   PM SAFETY CARD – Sicherheitskarte (CLP/GHS)
   ============================================================ */
.pm-desc-safety-block {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}
.pm-desc-safety-block__description {
  flex: 1 1 0;
  min-width: 0;
}
.pm-desc-safety-block__safety {
  flex: 0 0 320px;
  max-width: 340px;
  width: 100%;
}
.pm-desc-safety-block--no-safety {
  display: block;
}
.pm-desc-safety-block--no-safety .pm-desc-safety-block__description {
  width: 100%;
  max-width: none;
}
.pm-desc-safety-block:not(:has(.pm-safety-card)) {
  display: block;
}
.pm-desc-safety-block:not(:has(.pm-safety-card)) .pm-desc-safety-block__safety {
  display: none;
}
.pm-desc-safety-block:not(:has(.pm-safety-card)) .pm-desc-safety-block__description {
  width: 100%;
  max-width: none;
}
@media (max-width: 991px) {
  .pm-desc-safety-block {
    flex-direction: column;
  }
  .pm-desc-safety-block__safety {
    flex: 1 1 auto;
    max-width: 100%;
    width: 100%;
  }
}
.pm-safety-card {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.45;
  color: #374151;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  position: sticky;
  top: 100px;
}
.pm-safety-card > .sc-header {
  border-radius: 11px 11px 0 0;
}
.pm-safety-card > .sc-footer-note {
  border-radius: 0 0 11px 11px;
}
.sc-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #1f2937;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.02em;
}
.sc-header-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: #fbbf24;
}
.sc-header-title {
  flex: 1;
}
.sc-signal-word {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1.5px solid currentColor;
}
.sc-signal-word--gefahr {
  color: #dc2626;
  background: rgba(220, 38, 38, 0.12);
}
.sc-signal-word--achtung {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.12);
}
.sc-section {
  padding: 12px 16px;
  border-bottom: 1px solid #f3f4f6;
}
.sc-section:last-of-type {
  border-bottom: none;
}
.sc-section--row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.sc-section--ivb {
  background: #f9fafb;
}
.sc-section-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9ca3af;
  margin-bottom: 8px;
}
.sc-ghs-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sc-ghs-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 64px;
}
.sc-ghs-svg {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  display: block;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.12));
}
.sc-ghs-label {
  font-size: 8.5px;
  text-align: center;
  color: #6b7280;
  line-height: 1.25;
  font-weight: 500;
  word-break: break-word;
  hyphens: auto;
  width: 100%;
}
.sc-statements {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  position: relative;
}
.sc-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  font-family: "Courier New", monospace;
  letter-spacing: 0.02em;
}
.sc-badge--h {
  background: #fee2e2;
  color: #b91c1c;
  border: 1px solid #fca5a5;
}
.sc-badge--p {
  background: #dbeafe;
  color: #1d4ed8;
  border: 1px solid #93c5fd;
}
.sc-badge--euh {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
}
.sc-info-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sc-info-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #9ca3af;
}
.sc-info-value {
  font-size: 12px;
  font-weight: 600;
  color: #111827;
}
.sc-info-value--link {
  color: #2563eb;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
}
.sc-info-value--link:hover {
  text-decoration: underline;
  color: #1d4ed8;
}
.sc-mono {
  font-family: "Courier New", monospace;
  letter-spacing: 0.05em;
}
.sc-ivb-name {
  font-weight: 700;
  color: #111827;
  margin-bottom: 2px;
}
.sc-ivb-addr {
  color: #6b7280;
  font-size: 12px;
  margin-bottom: 4px;
  white-space: pre-line;
}
.sc-ivb-link {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #2563eb;
  text-decoration: none;
  margin-top: 3px;
}
.sc-ivb-link:hover {
  text-decoration: underline;
  color: #1d4ed8;
}
.sc-sdb-link {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: #1f2937;
  text-decoration: none;
  padding: 8px 14px;
  background: #f3f4f6;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  transition: background 0.15s, border-color 0.15s;
}
.sc-sdb-link:hover {
  background: #e5e7eb;
  border-color: #d1d5db;
  color: #111827;
  text-decoration: none;
}
.sc-sdb-link svg {
  flex-shrink: 0;
}
.sc-footer-note {
  padding: 8px 16px;
  font-size: 10px;
  color: #9ca3af;
  background: #f9fafb;
  border-top: 1px solid #f3f4f6;
  text-align: center;
  font-style: italic;
}
.sc-badge--tip {
  position: relative;
  cursor: help;
}
.sc-badge--tip::after {
  content: "?";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.18);
  font-size: 8px;
  font-weight: 700;
  font-family: sans-serif;
  margin-left: 4px;
  flex-shrink: 0;
}
.sc-badge--tip::before {
  content: attr(data-sc-tip);
  position: absolute;
  bottom: calc(100% + 7px);
  right: 0;
  left: auto;
  transform: translateY(4px);
  background: #1f2937;
  color: #f9fafb;
  font-size: 11px;
  font-weight: 400;
  font-family: sans-serif;
  line-height: 1.5;
  padding: 7px 10px;
  border-radius: 7px;
  width: 240px;
  max-width: min(240px, calc(100vw - 48px));
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
  z-index: 200;
}
.sc-badge--tip:hover::before, .sc-badge--tip:focus::before {
  opacity: 1;
  transform: translateY(0);
}
@media (hover: none) {
  .sc-badge--tip:active::before {
    opacity: 1;
    transform: translateY(0);
  }
}
.sc-sdb-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sc-sdb-flag-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 12px;
  background: #f3f4f6;
  border: 1.5px solid #e5e7eb;
  border-radius: 8px;
  text-decoration: none;
  color: #1f2937;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: background 0.15s, border-color 0.15s, transform 0.1s;
}
.sc-sdb-flag-btn:hover {
  background: #e5e7eb;
  border-color: #9ca3af;
  color: #111827;
  text-decoration: none;
  transform: translateY(-1px);
}
.sc-sdb-flag-btn--generic {
  font-weight: 600;
  letter-spacing: normal;
  font-size: 12px;
}
.sc-sdb-flag {
  display: inline-flex;
  align-items: center;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
  flex-shrink: 0;
  line-height: 0;
}
.pm-product-info-tab {
  --pi-gold:        #B6995B;
  --pi-gold-soft:   rgba(182, 153, 91, .15);
  --pi-gold-line:   rgba(182, 153, 91, .35);
  --pi-black:       #1A1A18;
  --pi-text:        #1A1A18;
  --pi-muted:       #6b6b68;
  --pi-line:        #e5e3de;
  display: flex;
  flex-direction: column;
  gap: 36px;
  padding: 16px 0;
  max-width: 920px;
  color: var(--pi-text);
  font-family: inherit;
}
.pi-group {
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
  padding: 0;
  box-shadow: none;
}
.pi-group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 0 12px 0;
  margin: 0 0 20px 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--pi-gold);
  font-size: 17px;
  font-weight: 700;
  color: var(--pi-black);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.pi-group-title svg {
  color: var(--pi-gold);
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.pi-rows {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pi-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 24px;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid var(--pi-line);
  font-size: 14px;
}
.pi-row:last-child {
  border-bottom: none;
}
@media (max-width: 575px) {
  .pi-row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 0;
  }
}
.pi-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--pi-muted);
  letter-spacing: 0.02em;
}
.pi-value {
  color: var(--pi-black);
  font-size: 15px;
  font-weight: 500;
}
.pi-mono {
  font-family: "Courier New", "Consolas", monospace;
  letter-spacing: 0.03em;
  font-size: 14px;
  color: var(--pi-black);
}
.pi-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 0 18px 0;
  border-bottom: 1px solid var(--pi-line);
  margin-bottom: 16px;
}
.pi-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 0;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid;
  background: transparent;
  line-height: 1.4;
}
.pi-pill--feat {
  color: var(--pi-black);
  border-color: var(--pi-black);
  opacity: 0.75;
}
.pi-notes {
  font-size: 14px;
  color: var(--pi-text);
  line-height: 1.7;
  white-space: pre-line;
  padding: 0;
}
.product-detail-tab-navigation-link[id^="pm-pi-"].active, .product-detail-tab-navigation-link[id^="pm-pi-"][aria-selected="true"] {
  color: #B6995B;
  border-bottom-color: #B6995B;
}
.product-detail-tab-navigation-link[id^="pm-pi-"]:hover {
  color: #B6995B;
}
@media (max-width: 991px) {
  .offcanvas .pm-product-info-tab, .is-tab-offcanvas .pm-product-info-tab {
    padding: 20px 20px 32px 20px;
    gap: 28px;
    max-width: 100%;
  }
  .offcanvas:has(.pm-product-info-tab) .tab-pane-container, .is-tab-offcanvas:has(.pm-product-info-tab) .tab-pane-container {
    padding: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 60px);
    display: block;
    justify-content: flex-start;
    align-items: stretch;
  }
  .offcanvas:has(.pm-product-info-tab) .tab-pane.active, .offcanvas:has(.pm-product-info-tab) .tab-pane.show, .is-tab-offcanvas:has(.pm-product-info-tab) .tab-pane.active, .is-tab-offcanvas:has(.pm-product-info-tab) .tab-pane.show {
    display: block !important;
    justify-content: flex-start;
  }
  .offcanvas:has(.pm-product-info-tab) > .offcanvas-body {
    flex: 0 0 auto;
    padding: 0;
    margin: 0;
    min-height: 0;
    height: 0;
  }
  .offcanvas:has(.pm-product-info-tab) > .tab-pane-container {
    flex: 0 1 auto;
  }
  .pm-product-info-tab {
    margin-top: 0;
    margin-bottom: auto;
  }
  .pm-product-info-tab .pi-row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 9px 0;
  }
  .pm-product-info-tab .pi-group-title {
    font-size: 14px;
    gap: 8px;
    padding-bottom: 10px;
    margin-bottom: 16px;
  }
  .pm-product-info-tab .pi-pills {
    gap: 6px;
    padding-bottom: 14px;
  }
  .pm-product-info-tab .pi-pill {
    font-size: 10px;
    padding: 5px 11px;
    letter-spacing: 0.06em;
  }
}
@media (max-width: 480px) {
  .offcanvas .pm-product-info-tab, .is-tab-offcanvas .pm-product-info-tab {
    padding: 16px 16px 28px 16px;
    gap: 24px;
  }
}
.sc-hazard-text {
  padding: 8px 16px 4px;
  font-size: 12px;
  font-weight: 600;
  color: #b91c1c;
  line-height: 1.5;
  border-top: 1px solid #fee2e2;
  background: #fff5f5;
}
.sc-mandatory-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sc-mandatory-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 64px;
}
.sc-mandatory-svg {
  width: 52px;
  height: 52px;
  display: block;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.12));
}
.sc-mandatory-label {
  font-size: 8.5px;
  text-align: center;
  color: #1d4ed8;
  line-height: 1.25;
  font-weight: 600;
  word-break: break-word;
  hyphens: auto;
  width: 100%;
}
/** ------------------------------
 * PMTHEME – Top Bar
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Header Centered
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Header-Icons (Account / Warenkorb / Merkliste / Suche)
 * ------------------------------
 * Frueher gab es dafuer zehn Felder (pmthemeAccountBg, pmthemeCartBg,
 * pmthemeSearchBg, pmthemeWishlistBG, pmthemeHeaderCenteredIcon* …), die
 * je nach gewaehltem Header-Layout entweder gegriffen haben oder nicht.
 * Jetzt speisen vier Felder alle Varianten; die Suche behaelt eigene
 * Werte, weil sie je nach Layout auf einer dunklen Flaeche sitzt.
 */
/** ------------------------------
 * PMTHEME – Navigation
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Top Info Bar
 * ------------------------------ */
/* Info-Bar-Hintergrund
   ------------------------------------------------------------------
   Frueher stand hier ein fest einprogrammierter Verlauf eines anderen
   Shops direkt im _top-info.scss, und $top-info-bg-color war
   auskommentiert - das Konfigurationsfeld hatte also keine Wirkung.

   ALTWERTE: in $infoBarBgColor steckt in bestehenden Shops teils ein
   kompletter linear-gradient(...) statt einer Farbe. type-of() faengt
   das ab und verwendet den Wert dann als background-image, damit
   solche Shops nicht ohne Hintergrund dastehen. */
/* unquote() ist Absicht: Shopware liefert Textfelder je nach Version als
   Zeichenkette MIT Anfuehrungszeichen. Ohne unquote() landet
   background-image: "linear-gradient(...)" im Kompilat - das ist
   ungueltiges CSS und der Hintergrund bleibt leer. */
/** ------------------------------
 * PMTHEME – Listing
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – USP Footer
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Footer
 * ------------------------------ */
/** ------------------------------
 * REGISTER FORM
 * ------------------------------ */
/* Links & Inline Buttons */
/** ------------------------------
 * HEADER MINIMAL
 * ------------------------------ */
/* Button */
/* Hintergrund des Footers
   ------------------------------------------------------------------
   Frueher stand hier ein fest einprogrammiertes Bild eines anderen
   Shops:

       url("/media/f2/f1/d1/1783491722/001--340902266.jpg")

   Die Media-ID existiert in diesem Shop nicht - das Bild lief also ins
   Leere, und die Hintergrundfarbe war trotzdem wirkungslos, weil das
   background-Shorthand sie mit ueberschrieben hat.

   Jetzt gilt: ohne ausgewaehltes Bild die Farbe, mit Bild das Bild plus
   konfigurierbarem Schleier.

   Die Typpruefung ist noetig, weil ein leeres Medienfeld als null
   ankommt und url(null) das Kompilat brechen wuerde. */
/** ------------------------------
 * PMTHEME – Listing: Hersteller
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Produkt-Badges (Shopware-Standard)
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Footer: Flaechen & Texte
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Registrierseite
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Produktdetail: Tabellen
 * ------------------------------ */
/** ------------------------------
 * PMTHEME – Account-Menue im Header
 * ------------------------------ */
:root {
  --pm-primary:              #474747;
  --pm-primary-rgb:          71, 71, 71;
  --pm-primary-dark:         #383838;
  --pm-primary-darker:       #282828;
  --pm-primary-tint:         #626262;
  --pm-primary-soft:         rgba(var(--pm-primary-rgb), .08);
  --pm-primary-hover:        rgba(var(--pm-primary-rgb), .12);
  --pm-on-primary:           #ffffff;
  --pm-secondary:            #00689C;
  --pm-secondary-rgb:        0, 104, 156;
  --pm-secondary-dark:       #004d73;
  --pm-secondary-soft:       rgba(var(--pm-secondary-rgb), .08);
  --pm-secondary-hover:      rgba(var(--pm-secondary-rgb), .12);
  --pm-on-secondary:         #fff;
  --pm-accent:               #00689C;
  --pm-accent-rgb:           0, 104, 156;
  --pm-accent-soft:          #E9F0F5;
  --pm-accent-dark:          #00689C;
  --pm-text:                 #222222;
  --pm-text-rgb:             34, 34, 34;
  --pm-text-muted:           #707782;
  --pm-text-subtle:          rgba(var(--pm-text-rgb), .56);
  --pm-text-inverted:        #ffffff;
  --pm-surface:              #ffffff;
  --pm-light:                #f7f7f7;
  --pm-dark:                 #343433;
  --pm-dark-tint:            #464645;
  --pm-dark-rgb:             52, 52, 51;
  --pm-border:               #e6e6e6;
  --pm-border-soft:          rgba(var(--pm-primary-rgb), .12);
  --pm-border-strong:        rgba(var(--pm-primary-rgb), .28);
  --pm-danger:               #b91c1c;
  --pm-warning:              #FFC107;
  --pm-info:                 #00689C;
  --pm-header-icon:          #ffffff;
  --pm-header-icon-hover:    #ffffff;
  --pm-header-icon-bg:       #193A8F;
  --pm-header-icon-bg-hover: #611E82;
  --pm-search-icon:          #ffffff;
  --pm-search-icon-hover:    #ffffff;
  --pm-search-icon-bg:       #193A8F;
  --pm-search-icon-bg-hover: #611E82;
  --pm-header-badge-bg:      var(--pm-header-icon);
  --pm-header-badge-color:   var(--pm-text-inverted);
  --pm-filter-bg:            transparent;
  --pm-filter-text:          #193A8F;
  --pm-filter-text-strong:   #222222;
  --pm-filter-muted:         #707782;
  --pm-filter-accent:        #B6995B;
  --pm-filter-accent-rgb:    182, 153, 91;
  --pm-filter-border:        #e6e6e6;
  --pm-filter-panel-bg:      #ffffff;
  --pm-detail-table-accent:   #B6995B;
  --pm-detail-table-heading:  #222222;
  --pm-detail-table-label:    #707782;
  --pm-detail-table-value:    #222222;
  --pm-detail-table-border:   #e6e6e6;
  --pm-detail-table-bg:       #ffffff;
  --pm-detail-table-stripe:   #f7f7f7;
  --pm-detail-table-hover:    #f0f0f0;
  --pm-detail-table-accent-w: 5px;
  --pm-focus:                var(--pm-secondary);
  --pm-focus-ring:           rgba(var(--pm-primary-rgb), .45);
  --pm-radius-sm:            8px;
  --pm-radius-md:            12px;
  --pm-radius-lg:            16px;
  --pm-shadow-soft:          0 4px 20px rgba(0, 0, 0, 0.06);
  --pm-shadow-strong:        0 22px 55px rgba(0, 0, 0, 0.16);
  --pm-font-base:            century-gothic, sans-serif;
  --pm-font-headline:        sol-pro, sans-serif;
  --pm-font-accent:          sol-pro, sans-serif;
  --pm-font-size-base:       18px;
  --pm-font-weight-base:     400;
  --pm-font-weight-headline: 700;
  --pm-content-max-width:    1320px;
}
:root {
  --sidebar-gold:            var(--pm-filter-accent);
  --sidebar-accent:          var(--pm-filter-accent);
  --sidebar-text:            var(--pm-filter-text);
  --sidebar-text-strong:     var(--pm-filter-text-strong);
  --sidebar-muted:           var(--pm-filter-muted);
  --sidebar-border:          var(--pm-filter-border);
  --sidebar-border-soft:     var(--pm-filter-border);
  --sidebar-hover:           rgba(var(--pm-filter-accent-rgb), .12);
  --sidebar-active:          var(--pm-filter-accent);
  --sidebar-focus:           rgba(var(--pm-filter-accent-rgb), .45);
  --pts-gold:                var(--pm-detail-table-accent);
  --pts-gold-soft:           var(--pm-detail-table-label);
  --pts-gold-line:           var(--pm-detail-table-accent);
  --pts-accent:              var(--pm-detail-table-accent);
  --pts-accent-soft:         var(--pm-detail-table-label);
  --pts-accent-line:         var(--pm-detail-table-accent);
  --pts-black:               var(--pm-detail-table-value);
  --pts-text:                var(--pm-detail-table-value);
  --pts-text-strong:         var(--pm-detail-table-value);
  --pts-muted:               var(--pm-detail-table-label);
  --pts-line:                var(--pm-detail-table-border);
  --properties-base:         var(--pm-detail-table-heading);
  --properties-accent:       var(--pm-detail-table-accent);
  --properties-soft:         var(--pm-detail-table-stripe);
  --properties-border:       var(--pm-detail-table-border);
  --properties-muted:        var(--pm-detail-table-value);
  --pf-gold:                 var(--pm-accent);
  --pf-gold-dark:            var(--pm-accent-dark);
  --pf-gold-soft:            var(--pm-accent-soft);
  --pf-gold-line:            var(--pm-accent);
  --pf-accent:               var(--pm-accent);
  --account-gold:            #B6995B;
  --account-accent:          #B6995B;
  --account-border:          #e6e6e6;
  --account-dark:            #ffffff;
  --account-dark-soft:       #193A8F;
  --account-shadow:          var(--pm-shadow-strong);
  --product-info-base:       var(--pm-detail-table-heading);
  --product-info-accent:     var(--pm-detail-table-accent);
  --product-info-soft:       var(--pm-detail-table-stripe);
  --product-info-border:     var(--pm-detail-table-border);
  --product-info-muted:      var(--pm-detail-table-label);
  --about-gold:              var(--pm-accent);
  --about-accent:            var(--pm-accent);
  --jobs-gold:               var(--pm-accent);
  --jobs-accent:             var(--pm-accent);
  --home-max-width:          var(--pm-content-max-width);
  --home-panel-radius:       var(--pm-radius-lg);
  --home-soft-shadow:        var(--pm-shadow-strong);
}
/* ========================================================================
   PMTHEME – DARKMODE (Kontrastoptimiert)
   ======================================================================== */
/* ----------------------------------------------------
   1) Overlay entfernen
   ---------------------------------------------------- */
body.tcinn-a11y-inverted #tcinn-a11y-overlay {
  display: none !important;
}
body.tcinn-a11y-inverted img, body.tcinn-a11y-inverted picture, body.tcinn-a11y-inverted svg {
  filter: none !important;
}
/* =====================================================================
   BILDER IM DARKMODE ABDUNKELN
   ===================================================================== */
body.tcinn-a11y-inverted img, body.tcinn-a11y-inverted picture img, body.tcinn-a11y-inverted .cms-element-image img, body.tcinn-a11y-inverted figure img {
  filter: brightness(0.75) !important;
  /* 0.75 = 25% dunkler */
  transition: filter 0.25s ease;
}
/* ========================================================================
   2) Global
   ======================================================================== */
body.tcinn-a11y-inverted {
  background-color: #333 !important;
  color: #eee !important;
}
/* ========================================================================
   3) HEADER & TOPBAR
   ======================================================================== */
body.tcinn-a11y-inverted .top-bar, body.tcinn-a11y-inverted .pmtheme-top-bar-extended {
  background-color: #333;
  color: #eee;
}
body.tcinn-a11y-inverted .top-bar a, body.tcinn-a11y-inverted .pmtheme-top-bar-extended a {
  color: #eee;
}
body.tcinn-a11y-inverted .pmtheme-header-centered, body.tcinn-a11y-inverted .header-main, body.tcinn-a11y-inverted .pmtheme-top-bar-extended, body.tcinn-a11y-inverted .search-suggest-container, body.tcinn-a11y-inverted #header-main-search-input::placeholder, body.tcinn-a11y-inverted .header-minimal {
  background-color: #333 !important;
  color: #eee;
}
body.tcinn-a11y-inverted .pmtheme-header-centered a, body.tcinn-a11y-inverted .header-main a, body.tcinn-a11y-inverted .pmtheme-top-bar-extended a, body.tcinn-a11y-inverted .search-suggest-container a, body.tcinn-a11y-inverted #header-main-search-input::placeholder a, body.tcinn-a11y-inverted .header-minimal a {
  color: #eee;
}
body.tcinn-a11y-inverted .header-minimal strong {
  color: #00689C;
}
body.tcinn-a11y-inverted .pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search {
  border-color: #00689C;
}
body.tcinn-a11y-inverted .search-suggest-no-result {
  color: #eee;
}
/* ========================================================================
   4) NAVIGATION
   ======================================================================== */
body.tcinn-a11y-inverted .nav-main, body.tcinn-a11y-inverted .main-navigation {
  background-color: #333 !important;
  color: #eee !important;
}
body.tcinn-a11y-inverted .nav-main .nav-link, body.tcinn-a11y-inverted .main-navigation .nav-link, body.tcinn-a11y-inverted .navigation-flyout-category-link a {
  color: #eee;
}
body.tcinn-a11y-inverted .nav-main .nav-link:hover, body.tcinn-a11y-inverted .main-navigation .nav-link:hover, body.tcinn-a11y-inverted .navigation-flyout-category-link a:hover {
  background-color: #333;
  color: #00689C;
}
body.tcinn-a11y-inverted .dropdown-menu {
  background-color: #333;
  color: #eee;
}
/* ========================================================================
   5) LISTING / PRODUCT CARDS
   ======================================================================== */
body.tcinn-a11y-inverted .product-box, body.tcinn-a11y-inverted .cms-element-product-box, body.tcinn-a11y-inverted .product-card, body.tcinn-a11y-inverted .pagination .page-link .icon, body.tcinn-a11y-inverted .page-link, body.tcinn-a11y-inverted .product-block-prices-grid, body.tcinn-a11y-inverted .product-block-prices-row, body.tcinn-a11y-inverted .feature-item, body.tcinn-a11y-inverted .product-block-prices-cell, body.tcinn-a11y-inverted .product-detail {
  background-color: #333 !important;
  color: #eee !important;
  border-color: #333 !important;
}
body.tcinn-a11y-inverted .active .page-link {
  color: #00689C !important;
}
body.tcinn-a11y-inverted .product-name, body.tcinn-a11y-inverted .product-name a, body.tcinn-a11y-inverted .card-tabs .nav-link, body.tcinn-a11y-inverted .input-group-text, body.tcinn-a11y-inverted .line-item-label, body.tcinn-a11y-inverted .product-detail-name {
  color: #eee !important;
}
body.tcinn-a11y-inverted .breadcrumb a, body.tcinn-a11y-inverted .nav-tabs .nav-link.active {
  color: #00689C !important;
}
body.tcinn-a11y-inverted .product-price, body.tcinn-a11y-inverted .product-detail-price {
  color: #cfcfcf !important;
}
/* Buttons */
body.tcinn-a11y-inverted .btn-buy, body.tcinn-a11y-inverted .buy-widget .btn {
  background-color: #00689C !important;
  color: #fff !important;
}
body.tcinn-a11y-inverted .btn-buy:hover, body.tcinn-a11y-inverted .buy-widget .btn:hover {
  background-color: #004669 !important;
}
body.tcinn-a11y-inverted .product-block-prices-grid body.tcinn-a11y-inverted .product-block-prices-row, body.tcinn-a11y-inverted .product-detail-configurator, body.tcinn-a11y-inverted .product-detail-configurator-group, body.tcinn-a11y-inverted .product-detail-configurator-group-title, body.tcinn-a11y-inverted .product-detail-configurator-options, body.tcinn-a11y-inverted .product-detail-configurator-option, body.tcinn-a11y-inverted .product-detail-configurator-option-label, body.tcinn-a11y-inverted .product-detail-review-actions, body.tcinn-a11y-inverted .product-block-prices-cell {
  background-color: #333 !important;
  color: #eee !important;
  border-color: #00689C !important;
}
body.tcinn-a11y-inverted .btn-check:checked + .btn {
  background-color: #00689C !important;
}
/* ========================================================================
   6) CMS SECTIONS / CARDS
   ======================================================================== */
body.tcinn-a11y-inverted .cms-section, body.tcinn-a11y-inverted .cms-block, body.tcinn-a11y-inverted .card-title, body.tcinn-a11y-inverted #region-card-grid .region-card, body.tcinn-a11y-inverted .checkout-aside-summary, body.tcinn-a11y-inverted .media-cta-block, body.tcinn-a11y-inverted .cms-element {
  background-color: #333 !important;
  color: #eee !important;
  border: none;
}
body.tcinn-a11y-inverted .card {
  background-color: #333 !important;
  border: none;
}
body.tcinn-a11y-inverted .contact-locations-heading, body.tcinn-a11y-inverted #region-card-grid .region-card h2, body.tcinn-a11y-inverted #region-card-grid .region-card .h2, body.tcinn-a11y-inverted #region-card-grid .region-card p, body.tcinn-a11y-inverted #region-card-grid .region-highlight, body.tcinn-a11y-inverted #region-card-grid .region-points li, body.tcinn-a11y-inverted .cms-element-product-slider .cms-element-title, body.tcinn-a11y-inverted .media-cta-block__copy p, body.tcinn-a11y-inverted .media-cta-block__title h2, body.tcinn-a11y-inverted .media-cta-block__title .h2, body.tcinn-a11y-inverted .media-cta-block__points, body.tcinn-a11y-inverted .contact-form-heading {
  color: #eee !important;
}
/* ========================================================================
   7) FORMULARE
   ======================================================================== */
body.tcinn-a11y-inverted input, body.tcinn-a11y-inverted select, body.tcinn-a11y-inverted .register-card .form-label, body.tcinn-a11y-inverted .register-required-info, body.tcinn-a11y-inverted .register-card .form-check .form-check-input, body.tcinn-a11y-inverted textarea {
  background-color: #333 !important;
  color: #eee !important;
  border-color: #00689C !important;
}
body.tcinn-a11y-inverted input:focus, body.tcinn-a11y-inverted select:focus, body.tcinn-a11y-inverted .register-card .form-label:focus, body.tcinn-a11y-inverted .register-required-info:focus, body.tcinn-a11y-inverted .register-card .form-check .form-check-input:focus, body.tcinn-a11y-inverted textarea:focus {
  box-shadow: 0 0 0 2px #00689C !important;
}
body.tcinn-a11y-inverted .line-item-remove button {
  background-color: #00689C !important;
}
body.tcinn-a11y-inverted .header-minimal-back-to-shop-button {
  border-color: #00689C !important;
}
/* ========================================================================
   8) OFFCANVAS / MODALS
   ======================================================================== */
body.tcinn-a11y-inverted .offcanvas, body.tcinn-a11y-inverted .account-aside-list-group, body.tcinn-a11y-inverted .list-group-item, body.tcinn-a11y-inverted .order-item-detail-footer, body.tcinn-a11y-inverted .modal-content {
  background-color: #333 !important;
  color: #eee !important;
}
body.tcinn-a11y-inverted .btn-close {
  background-color: #fff !important;
}
body.tcinn-a11y-inverted .revocation-notice, body.tcinn-a11y-inverted .btn-close, body.tcinn-a11y-inverted .form-label, body.tcinn-a11y-inverted .account-aside-header, body.tcinn-a11y-inverted .header-minimal-back-to-shop-button, body.tcinn-a11y-inverted .icon-checkmark svg, body.tcinn-a11y-inverted .checkout-confirm-tos-label {
  color: #eee !important;
}
body.tcinn-a11y-inverted .add-product-button, body.tcinn-a11y-inverted .btn-minus, body.tcinn-a11y-inverted .btn-minus svg, body.tcinn-a11y-inverted .btn-plus, body.tcinn-a11y-inverted .btn-plus svg, body.tcinn-a11y-inverted .checkout-aside-add-promotion-button {
  border-color: #00689C;
  color: #eee !important;
}
body.tcinn-a11y-inverted .login-password-recover a:hover {
  color: #eee;
}
body.tcinn-a11y-inverted .account-aside-btn, body.tcinn-a11y-inverted .account-aside-btn svg {
  color: #00689C;
}
/* ========================================================================
   9) FOOTER
   ======================================================================== */
body.tcinn-a11y-inverted footer, body.tcinn-a11y-inverted .footer-main {
  background-color: #333 !important;
  color: #eee !important;
}
body.tcinn-a11y-inverted .footer-main a {
  color: #cfcfcf;
}
body.tcinn-a11y-inverted .footer-main a:hover {
  color: #00689C;
}
/* ========================================================================
   10) USP FOOTER
   ======================================================================== */
body.tcinn-a11y-inverted .usp-footer {
  background-color: #333 !important;
  color: #eee !important;
}
body.tcinn-a11y-inverted .usp-footer-title {
  color: #eee !important;
}
body.tcinn-a11y-inverted .section-usp-footer-bar .usp-footer-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65) !important;
  /* kräftiges Abdunkeln */
  backdrop-filter: brightness(0.5);
  /* optional noch stärker */
  z-index: 1;
}
/* Inhalt darüber sichtbar halten */
body.tcinn-a11y-inverted .section-usp-footer-bar * {
  color: #eee !important;
  position: relative;
  z-index: 2;
}
/* =============================================================================
   IFRAME – Darkmode Overlay
   ============================================================================= */
body.tcinn-a11y-inverted .iframe-wrapper {
  position: relative;
}
/* Overlay */
body.tcinn-a11y-inverted .iframe-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  /* Stärke nach Wunsch */
  backdrop-filter: brightness(0.6);
  pointer-events: none;
  /* Sehr wichtig → IFRAME weiter klickbar!! */
  z-index: 3;
}
/* IFRAME selbst */
body.tcinn-a11y-inverted .iframe-wrapper iframe {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
}
/* ========================================================================
   11) BOOTSTRAP / SHOPWARE GLOBAL-VARIABLEN (UNBEDINGT NOTWENDIG)
   ======================================================================== */
body.tcinn-a11y-inverted {
  /* Grundschrift */
  --bs-body-color: #eee;
  --bs-body-bg: #111;
  /* Überschriften H1–H6 */
  --bs-heading-color: #f2f2f2;
  /* Links */
  --bs-link-color: #8fc9ff;
  --bs-link-hover-color: lighten(#8fc9ff, 10%);
  /* Abgeblendete Farben (Produktdetails, Listen etc.) */
  --bs-secondary-color: #cfcfcf;
  /* Borders */
  --bs-border-color: #333;
  /* BG-Farben für Shopware-Standardboxen */
  --bs-secondary-bg: #1a1a1a;
  --bs-tertiary-bg: #222;
  /* Formular-Hintergründe (Bootstrap) */
  --bs-form-control-bg: #1a1a1a;
  --bs-form-control-color: #eee;
  --bs-pagination-color: #fff;
  --bs-btn-close-color: #fff;
  --bs-list-group-bg: #333;
}
/* ============================================================
   PMTHEME HEADER & NAVIGATION STYLES
   ============================================================ */
/* ============================================================
   PMTHEME HEADER – Centered Layout
   ============================================================ */
.top-bar {
  margin-top: 0.5rem;
}
.header-main {
  background: #ffffff;
}
.header-search-btn {
  border: none;
  background-color: var(--pm-accent);
}
.icon-search {
  color: #333;
}
.header-search-btn:hover .icon-search {
  color: var(--pm-accent) !important;
}
.header-search .header-search-form input {
  background: none;
  border: none;
  color: #000;
}
.header-search .header-search-form input::placeholder {
  color: #222;
  font-family: "elza-narrow", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.search-suggest-no-result {
  color: #000;
}
.pmtheme-header--centered {
  /* ------------------------------------------------------------
       Hauptcontainer
       ------------------------------------------------------------ */
  /* ------------------------------------------------------------
       Logo mittig
       ------------------------------------------------------------ */
  /* ------------------------------------------------------------
       Actions (Wishlist, Account, Cart, Search, Menu)
       ------------------------------------------------------------ */
  /* ============================================================
       MOBILE – Gleichmäßige Verteilung der Action-Icons
       ============================================================ */
}
.pmtheme-header--centered .pmtheme-header__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  background: #ffffff;
  transition: background-color 0.3s ease;
}
@media (max-width: 991.98px) {
  .pmtheme-header--centered .pmtheme-header__main {
    padding-bottom: 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.5rem;
  }
}
.pmtheme-header--centered .pmtheme-header__logo {
  text-align: center;
  padding-bottom: 7px;
}
.pmtheme-header--centered .pmtheme-header__logo .header-logo-main img {
  max-height: 120px;
  width: auto;
}
@media (max-width: 991.98px) {
  .pmtheme-header--centered .pmtheme-header__logo {
    margin-bottom: 20px;
  }
}
.pmtheme-header--centered .pmtheme-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.9rem;
  position: relative;
  /* Einheitliche Basis für alle Buttons */
  /* Desktop: größer und mit mehr Abstand */
}
.pmtheme-header--centered .pmtheme-header__actions .header-actions-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  background: none;
  border: none;
  padding: 0;
  line-height: 1;
  transition: color 0.25s ease, transform 0.25s ease;
}
.pmtheme-header--centered .pmtheme-header__actions .header-actions-btn .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: #00689C;
  transition: color 0.25s ease;
}
.pmtheme-header--centered .pmtheme-header__actions .header-actions-btn:hover {
  transform: translateY(-1px);
}
.pmtheme-header--centered .pmtheme-header__actions .header-actions-btn:hover .icon {
  background-color: #ffffff;
  color: #B7B9B8;
  transition: #333 0.3s ease;
}
.pmtheme-header--centered .pmtheme-header__actions .header-actions-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(183, 185, 184, 0.25);
}
@media (min-width: 992px) {
  .pmtheme-header--centered .pmtheme-header__actions {
    gap: 1rem;
    /* Mobile-Buttons im Desktop ausblenden */
  }
  .pmtheme-header--centered .pmtheme-header__actions .header-actions-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .pmtheme-header--centered .pmtheme-header__actions .header-actions-btn .icon {
    width: 24px;
    height: 24px;
  }
  .pmtheme-header--centered .pmtheme-header__actions .pmtheme-header__search-toggle, .pmtheme-header--centered .pmtheme-header__actions .pmtheme-header__menu-toggle {
    display: none !important;
  }
}
@media (max-width: 991.98px) {
  .pmtheme-header--centered {
    /* Nur mobile Buttons sichtbar */
  }
  .pmtheme-header--centered .pmtheme-header__actions {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    gap: 0;
    padding-top: 0.3rem;
  }
  .pmtheme-header--centered .pmtheme-header__search-toggle, .pmtheme-header--centered .pmtheme-header__menu-toggle {
    display: flex !important;
  }
  .pmtheme-header--centered .header-wishlist, .pmtheme-header--centered .account-menu, .pmtheme-header--centered .pmtheme-top-bar__cart, .pmtheme-header--centered .pmtheme-header__search-toggle, .pmtheme-header--centered .pmtheme-header__menu-toggle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
  }
  .pmtheme-header--centered .header-actions-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .pmtheme-header--centered .header-actions-btn .icon {
    width: 20px;
    height: 20px;
  }
}
/* ============================================================
   HEADER – SEARCH CONTAINER (MOBILE)
   ============================================================ */
.pmtheme-header--centered .header-search-container {
  width: 100%;
  background: #ffffff;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding: 0.5rem 0;
  transition: all 0.3s ease;
}
.pmtheme-header--centered .pmtheme-header__searchbar--mobile .header-search {
  max-width: 90%;
  margin: 0 auto;
}
.pmtheme-header--centered .pmtheme-header__searchbar--mobile .header-search .header-search-input {
  font-size: 0.95rem;
}
/* ------------------------------------------------------------
   1. HEADER-VARIANTE: Logo links, Navigation rechts
   ------------------------------------------------------------ */
.pmtheme-header--logo-left {
  position: absolute;
  top: 0px;
  left: 5%;
  z-index: 1020;
}
.pmtheme-header--logo-left .pmtheme-navlogo__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.pmtheme-header--logo-left .pmtheme-navlogo__logo {
  flex: 0 0 auto;
}
.pmtheme-header--logo-left .pmtheme-navlogo__logo .header-logo-main {
  margin: 0;
}
.pmtheme-header--logo-left .pmtheme-navlogo__logo .header-logo-main img {
  max-height: 60px;
  width: auto;
}
.pmtheme-header--logo-left .pmtheme-navlogo__right {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.25rem;
}
.pmtheme-header--logo-left .pmtheme-navlogo__right .pmtheme-navlogo__links {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.pmtheme-header--logo-left .pmtheme-navlogo__right .pmtheme-navlogo__links a.nav-link {
  font-weight: 500;
  color: var(--bs-body-color);
  text-decoration: none;
  transition: color 0.2s ease;
}
.pmtheme-header--logo-left .pmtheme-navlogo__right .pmtheme-navlogo__links a.nav-link:hover, .pmtheme-header--logo-left .pmtheme-navlogo__right .pmtheme-navlogo__links a.nav-link.active {
  color: var(--bs-primary);
}
.pmtheme-header--logo-left .pmtheme-navlogo__right .pmtheme-navlogo__search {
  max-width: 280px;
  width: 100%;
}
.pmtheme-header--logo-left .pmtheme-navlogo__right .pmtheme-navlogo__search .header-search {
  margin: 0;
}
/* Mobile Suche */
.pmtheme-navlogo__searchbar--mobile .header-search {
  width: 100%;
  padding: 0 0.5rem;
}
.header-logo-picture {
  max-width: 300px;
  min-width: 305px;
}
@media (max-width: 1400px) {
  .header-logo-picture {
    max-width: 270px;
    min-width: 135px;
  }
  .pmtheme-header--logo-left {
    position: absolute;
    top: 0px;
    left: 2%;
    z-index: 2000;
  }
}
@media (max-width: 1200px) {
  .header-logo-picture {
    max-width: 230px;
    min-width: 135px;
  }
}
@media (max-width: 999px) {
  .pmtheme-header--logo-left {
    position: relative;
    top: 0;
    left: 0%;
    z-index: auto;
    align-items: center;
    align-content: center;
    justify-content: center;
    display: flex;
  }
  .header-logo-picture {
    max-width: 200px;
    min-width: 200px;
  }
}
/* ------------------------------------------------------------
   2. NAVBAR: Logo links, Navigation rechts
   ------------------------------------------------------------ */
.pmtheme-navbar-logo-left {
  padding-block: 1rem;
  backdrop-filter: blur(10px);
}
.pmtheme-navbar-logo-left .pmtheme-navbar__logo img {
  max-height: 48px;
  width: auto;
}
.pmtheme-navbar-logo-left .navbar-nav {
  margin-left: auto;
}
.pmtheme-navbar-logo-left .navbar-nav .nav-link {
  font-size: 1rem;
  letter-spacing: 0.02em;
  color: #fff;
  padding: 5px 10px;
  transition: color 0.2s ease, transform 0.2s ease;
}
.pmtheme-navbar-logo-left .navbar-nav .nav-link:hover {
  color: #B7B9B8;
  transform: translateY(-1px);
  border-color: #fff;
}
/* ------------------------------------------------------------
   3. TOP BAR EXTENDED – Variablenbasiertes Styling
   ------------------------------------------------------------ */
.pmtheme-top-bar-extended {
  background: #ffffff;
  color: #222222;
  padding: 0.4rem 0;
  backdrop-filter: blur(8px);
  font-size: 0.9rem;
  /* ============================================================
       SEARCH-BEREICH – Kompatibel mit Shopware search.html.twig
       ============================================================ */
  /* ============================================================
       3.X – INDIVIDUELLE ICON-BUTTONS (Account, Cart, Wishlist, Search)
       ============================================================ */
  /* Account Button */
  /* Wishlist Button */
  /* Cart Button */
}
.pmtheme-top-bar-extended__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.6rem;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search {
  position: relative;
  width: 320px;
  transition: all 0.25s ease;
}
@media (min-width: 992px) {
  .pmtheme-top-bar-extended .pmtheme-top-bar__search {
    width: 340px;
  }
}
@media (max-width: 991.98px) {
  .pmtheme-top-bar-extended .pmtheme-top-bar__search {
    width: auto;
    flex: 1 1 100%;
    order: 3;
    margin-top: 0.5rem;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__search .collapse {
    width: 100%;
  }
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search {
  background: var(--pm-accent);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 50px;
  padding: 0.2rem 0.5rem;
  transition: all 0.25s ease;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search:focus-within {
  border-color: #00689C;
  color: #B7B9B8;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-form {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-input, .pmtheme-top-bar-extended .pmtheme-top-bar__search .form-control {
  flex: 1;
  border: none;
  background: transparent;
  color: #222222;
  font-size: 0.9rem;
  height: 34px;
  padding: 0 0.4rem;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-input:focus, .pmtheme-top-bar-extended .pmtheme-top-bar__search .form-control:focus {
  outline: none;
  box-shadow: none;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-input::placeholder, .pmtheme-top-bar-extended .pmtheme-top-bar__search .form-control::placeholder {
  color: rgba(34, 34, 34, 0.6);
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-btn, .pmtheme-top-bar-extended .pmtheme-top-bar__search .header-close-btn {
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-btn .icon, .pmtheme-top-bar-extended .pmtheme-top-bar__search .header-close-btn .icon {
  color: #ffffff;
  display: flex;
  width: 18px;
  height: 18px;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-btn:hover, .pmtheme-top-bar-extended .pmtheme-top-bar__search .header-close-btn:hover {
  transform: translateY(-1px);
  background-color: #ffffff;
  color: #B7B9B8;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-btn:hover .icon, .pmtheme-top-bar-extended .pmtheme-top-bar__search .header-close-btn:hover .icon {
  color: white;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .header-search-btn:focus, .pmtheme-top-bar-extended .pmtheme-top-bar__search .header-close-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 58, 143, 0.3);
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .search-suggest {
  position: absolute;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 50px;
  width: 100%;
  top: calc(100% + 4px);
  left: 0;
  z-index: 1100;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn {
  background: #193A8F;
  border: none;
  border-radius: 50%;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn .icon {
  color: #ffffff;
  width: 18px;
  height: 18px;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn:hover {
  background-color: #ffffff;
  color: #B7B9B8;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn:focus {
  outline: none;
  box-shadow: none;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn, .pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn, .pmtheme-top-bar-extended .pmtheme-top-bar__wishlist .header-actions-btn, .pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s ease;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn .icon, .pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn .icon, .pmtheme-top-bar-extended .pmtheme-top-bar__wishlist .header-actions-btn .icon, .pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn .icon {
  width: 20px;
  height: 20px;
  transition: color 0.25s ease;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn:focus, .pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn:focus, .pmtheme-top-bar-extended .pmtheme-top-bar__wishlist .header-actions-btn:focus, .pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 104, 156, 0.25);
}
.pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn {
  background: #193A8F;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn .icon {
  color: #ffffff;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn:hover {
  background-color: #ffffff;
  color: #B7B9B8;
  transform: translateY(-2px);
}
.pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn:hover .icon {
  color: white;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__wishlist .header-actions-btn {
  background: #193A8F;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__wishlist .header-actions-btn .icon {
  color: #ffffff;
  display: flex;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__wishlist .header-actions-btn:hover {
  background-color: #ffffff;
  color: #B7B9B8;
  transform: translateY(-2px);
}
.pmtheme-top-bar-extended .pmtheme-top-bar__wishlist .header-actions-btn:hover .icon {
  color: white;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn {
  background: #193A8F;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn .icon {
  color: #ffffff;
  display: flex;
}
.pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn:hover {
  background-color: #ffffff;
  color: #B7B9B8;
  transform: translateY(-2px);
}
.pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn:hover .icon {
  color: white;
}
/* ============================================================
   CART BADGE – außerhalb des Kreises positionieren
   ============================================================ */
.pmtheme-top-bar__cart, .pmtheme-top-bar__wishlist {
  position: relative;
  /* Badges (Warenkorb / Wunschliste) */
}
.pmtheme-top-bar__cart .header-actions-btn, .pmtheme-top-bar__wishlist .header-actions-btn {
  position: relative;
  overflow: visible;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pmtheme-top-bar__cart .header-cart-total-badge, .pmtheme-top-bar__cart .header-cart-total, .pmtheme-top-bar__cart .header-cart-badge, .pmtheme-top-bar__wishlist .header-cart-total-badge, .pmtheme-top-bar__wishlist .header-cart-total, .pmtheme-top-bar__wishlist .header-cart-badge {
  position: absolute;
  top: -3px;
  right: -8px;
  font-size: 0.7rem;
  line-height: 1;
  padding: 0.2rem 0.35rem;
  border-radius: 999px;
}
.pmtheme-top-bar__cart .header-wishlist-badge, .pmtheme-top-bar__wishlist .header-wishlist-badge {
  position: absolute;
  top: -3px;
  right: -8px;
  font-size: 0.7rem;
  line-height: 1.2;
  padding: 0.2rem 0.35rem;
  border-radius: 999px;
  width: 12px;
  height: 15px;
}
.pmtheme-top-bar__cart .header-cart-total-badge, .pmtheme-top-bar__cart .header-cart-total, .pmtheme-top-bar__cart .header-cart-badge, .pmtheme-top-bar__cart .header-wishlist-badge, .pmtheme-top-bar__wishlist .header-cart-total-badge, .pmtheme-top-bar__wishlist .header-cart-total, .pmtheme-top-bar__wishlist .header-cart-badge, .pmtheme-top-bar__wishlist .header-wishlist-badge {
  transform: translate(50%, 0);
  background: #F2F2F2;
  color: var(--pm-accent);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  z-index: 3;
  text-align: center;
}
@media (max-width: 575.98px) {
  .pmtheme-top-bar__cart .header-cart-badge, .pmtheme-top-bar__wishlist .header-cart-badge {
    position: absolute;
    top: -3px;
    right: -8px;
    font-size: 0.7rem;
    line-height: 20px;
    padding: 0px 5px;
    border-radius: 999px;
  }
}
/* ------------------------------------------------------------
   4. SVG FIXES & Z-INDEX
   ------------------------------------------------------------ */
.pmtheme-top-bar-extended .btn .icon > svg, .pmtheme-top-bar .btn .icon > svg {
  top: 0 !important;
  position: relative !important;
  transform: none !important;
  vertical-align: middle;
}
.pmtheme-top-bar, .pmtheme-top-bar-extended {
  position: relative;
  z-index: 1020;
}
.pmtheme-top-bar .search-suggest, .pmtheme-top-bar-extended .search-suggest {
  z-index: 1100;
}
/* ------------------------------------------------------------
   5. MOBILE SUCH-COLLAPSE & BUTTON-AUSRICHTUNG
   ------------------------------------------------------------ */
@media (max-width: 991.98px) {
  .pmtheme-top-bar-extended {
    padding: 0.5rem 0.75rem;
    position: relative;
    /* Reihenfolge & Platzierung */
    /* Gleichmäßige Verteilung der Buttons */
    /* Vertikale & horizontale Zentrierung aller Buttons */
  }
  .pmtheme-top-bar-extended__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__language, .pmtheme-top-bar-extended .pmtheme-top-bar__currency {
    display: none !important;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__search {
    order: 2;
    flex: 0 0 auto;
    margin: 0;
    position: relative;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__search #searchCollapse {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 90vw;
    max-width: 360px;
    margin-top: 0.4rem;
    border-radius: 50px;
    padding: 0.6rem;
    background: transparent;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
    z-index: 2000;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__search #searchCollapse.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-30%, 0);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0s;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__account, .pmtheme-top-bar-extended .pmtheme-top-bar__cart, .pmtheme-top-bar-extended .pmtheme-top-bar__search {
    flex: 0 0 auto;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__account .header-actions-btn, .pmtheme-top-bar-extended .pmtheme-top-bar__cart .header-actions-btn, .pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn, .pmtheme-top-bar-extended .navbar-toggler {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    padding: 0;
    margin: 0;
    line-height: 1;
  }
  .pmtheme-top-bar-extended .navbar-toggler {
    position: relative;
    top: 1px;
    background: #00689C;
    border: none;
    border-radius: 50%;
    color: #B7B9B8;
    transition: all 0.25s ease;
  }
  .pmtheme-top-bar-extended .navbar-toggler .icon {
    width: 18px;
    height: 18px;
    color: #B7B9B8;
  }
  .pmtheme-top-bar-extended .navbar-toggler:hover {
    background: #004d73;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__search .search-toggle-btn {
    position: relative;
    top: 1px;
  }
  .pmtheme-top-bar-extended .pmtheme-top-bar__account .icon, .pmtheme-top-bar-extended .pmtheme-top-bar__cart .icon, .pmtheme-top-bar-extended .pmtheme-top-bar__search .icon, .pmtheme-top-bar-extended .navbar-toggler .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
  }
}
/* ============================================================
   TOP BAR – SPRACHE & WÄHRUNG (inkl. Flaggen)
   ============================================================ */
/* Buttons */
.pmtheme-top-bar__language .btn, .pmtheme-top-bar__currency .btn, .top-bar-nav .top-bar-nav-btn, .top-bar-nav .language-form .btn, .top-bar-nav .currency-form .btn {
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 50px;
  color: #222222;
  font-size: 0.85rem;
  padding: 0.25rem 0.9rem;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.pmtheme-top-bar__language .btn .top-bar-list-icon, .pmtheme-top-bar__language .btn .top-bar-list-item-currency-symbol, .pmtheme-top-bar__currency .btn .top-bar-list-icon, .pmtheme-top-bar__currency .btn .top-bar-list-item-currency-symbol, .top-bar-nav .top-bar-nav-btn .top-bar-list-icon, .top-bar-nav .top-bar-nav-btn .top-bar-list-item-currency-symbol, .top-bar-nav .language-form .btn .top-bar-list-icon, .top-bar-nav .language-form .btn .top-bar-list-item-currency-symbol, .top-bar-nav .currency-form .btn .top-bar-list-icon, .top-bar-nav .currency-form .btn .top-bar-list-item-currency-symbol {
  color: #00689C;
  transition: color 0.25s ease;
}
.pmtheme-top-bar__language .btn:hover, .pmtheme-top-bar__language .btn:focus, .pmtheme-top-bar__language .btn.show, .pmtheme-top-bar__currency .btn:hover, .pmtheme-top-bar__currency .btn:focus, .pmtheme-top-bar__currency .btn.show, .top-bar-nav .top-bar-nav-btn:hover, .top-bar-nav .top-bar-nav-btn:focus, .top-bar-nav .top-bar-nav-btn.show, .top-bar-nav .language-form .btn:hover, .top-bar-nav .language-form .btn:focus, .top-bar-nav .language-form .btn.show, .top-bar-nav .currency-form .btn:hover, .top-bar-nav .currency-form .btn:focus, .top-bar-nav .currency-form .btn.show {
  background: #B7B9B8;
  color: #B7B9B8;
  border-color: #00689C;
}
.pmtheme-top-bar__language .btn:hover .top-bar-list-icon, .pmtheme-top-bar__language .btn:hover .top-bar-list-item-currency-symbol, .pmtheme-top-bar__language .btn:focus .top-bar-list-icon, .pmtheme-top-bar__language .btn:focus .top-bar-list-item-currency-symbol, .pmtheme-top-bar__language .btn.show .top-bar-list-icon, .pmtheme-top-bar__language .btn.show .top-bar-list-item-currency-symbol, .pmtheme-top-bar__currency .btn:hover .top-bar-list-icon, .pmtheme-top-bar__currency .btn:hover .top-bar-list-item-currency-symbol, .pmtheme-top-bar__currency .btn:focus .top-bar-list-icon, .pmtheme-top-bar__currency .btn:focus .top-bar-list-item-currency-symbol, .pmtheme-top-bar__currency .btn.show .top-bar-list-icon, .pmtheme-top-bar__currency .btn.show .top-bar-list-item-currency-symbol, .top-bar-nav .top-bar-nav-btn:hover .top-bar-list-icon, .top-bar-nav .top-bar-nav-btn:hover .top-bar-list-item-currency-symbol, .top-bar-nav .top-bar-nav-btn:focus .top-bar-list-icon, .top-bar-nav .top-bar-nav-btn:focus .top-bar-list-item-currency-symbol, .top-bar-nav .top-bar-nav-btn.show .top-bar-list-icon, .top-bar-nav .top-bar-nav-btn.show .top-bar-list-item-currency-symbol, .top-bar-nav .language-form .btn:hover .top-bar-list-icon, .top-bar-nav .language-form .btn:hover .top-bar-list-item-currency-symbol, .top-bar-nav .language-form .btn:focus .top-bar-list-icon, .top-bar-nav .language-form .btn:focus .top-bar-list-item-currency-symbol, .top-bar-nav .language-form .btn.show .top-bar-list-icon, .top-bar-nav .language-form .btn.show .top-bar-list-item-currency-symbol, .top-bar-nav .currency-form .btn:hover .top-bar-list-icon, .top-bar-nav .currency-form .btn:hover .top-bar-list-item-currency-symbol, .top-bar-nav .currency-form .btn:focus .top-bar-list-icon, .top-bar-nav .currency-form .btn:focus .top-bar-list-item-currency-symbol, .top-bar-nav .currency-form .btn.show .top-bar-list-icon, .top-bar-nav .currency-form .btn.show .top-bar-list-item-currency-symbol {
  color: #B7B9B8;
}
.language-flag {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 0;
  margin-top: 0;
  text-indent: 0;
  overflow: hidden;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
  display: inline-block;
}
/* ============================================================
   DROPDOWNS
   ============================================================ */
.top-bar-nav .dropdown-menu {
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  font-size: 0.85rem;
  padding: 0.25rem 0;
  min-width: 9rem;
}
.top-bar-nav .dropdown-menu .dropdown-item {
  color: #222222;
  transition: all 0.2s ease;
  padding: 0.4rem 0.9rem;
  display: flex;
  align-items: center;
}
.top-bar-nav .dropdown-menu .dropdown-item:hover, .top-bar-nav .dropdown-menu .dropdown-item.active {
  background: #B7B9B8;
  color: #B7B9B8;
}
/* ============================================================
   MOBILE AUSBLENDUNG
   ============================================================ */
@media (max-width: 992px) {
  .pmtheme-top-bar__language, .pmtheme-top-bar__currency, .top-bar-nav .top-bar-nav-item {
    display: none !important;
  }
}
/*.pmtheme-top-bar__cart .header-actions-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    overflow: visible;
}

.pmtheme-top-bar__cart .header-cart-total-badge,
.pmtheme-top-bar__cart .header-cart-total {
    position: absolute;
    left: 100%;
    top: 0;
    transform: translate(0, -38%);
    background: #193A8F;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    z-index: 5;
    pointer-events: none;
}*/
.header-minimal .header-logo-main a:hover, .header-minimal .header-logo-main a:focus {
  transform: none;
  border: none !important;
  color: var(--pm-accent) !important;
  background-color: transparent;
  transition: none;
}
.header-minimal .header-logo-main a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 0;
  height: 0px;
  background-color: transparent;
  transition: none;
}
.header-search-form .input-group {
  border: 1px solid var(--pm-accent);
  border-radius: 25px;
}
/* ============================================================
   Zusammengeführt aus ehem. _mobile-header.scss
   (Mobile App-Header, < 992px)
   ============================================================ */
/* ============================================================
   PMTHEME – Mobile App-Header
   ============================================================
   Nur < LG (992px) sichtbar. Nutzt bestehende Theme-Variablen.
   ============================================================ */
.pm-mobile-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1040;
  background: var(--pm-mobile-header-bg, #ffffff);
  color: var(--pm-mobile-header-color, #222);
  border-bottom: 1px solid var(--pm-mobile-header-border, rgba(0, 0, 0, 0.08));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
/* Body-Padding-Top, damit der Inhalt nicht hinter dem fixed Header verschwindet.
   Wird nur aktiv wenn der Mobile-Header gerendert ist (< LG). */
@media (max-width: 991px) {
  body:has(.pm-mobile-header) {
    padding-top: 60px;
  }
}
.pm-mobile-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding: 0 0.25rem 0 0.5rem;
  gap: 0.25rem;
  max-width: 100%;
  overflow: hidden;
}
.pm-mobile-header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  min-width: 0;
  max-width: 40%;
  padding: 0;
  margin: 0;
}
.pm-mobile-header__logo > *, .pm-mobile-header__logo .header-logo-main-link, .pm-mobile-header__logo .logo-main {
  display: flex;
  align-items: center;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100%;
}
.pm-mobile-header__logo img {
  max-height: 40px;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.pm-mobile-header__actions {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}
.pm-mobile-header__icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  font-size: 17px;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  flex-shrink: 0;
  transition: background-color 0.15s;
  /* Font Awesome Icon im Button */
}
.pm-mobile-header__icon-btn:hover, .pm-mobile-header__icon-btn:focus-visible {
  background: rgba(0, 0, 0, 0.05);
  outline: none;
  color: inherit;
}
.pm-mobile-header__icon-btn[aria-expanded="true"] {
  background: rgba(0, 0, 0, 0.08);
}
.pm-mobile-header__icon-btn i, .pm-mobile-header__icon-btn svg {
  color: currentColor;
}
.pm-mobile-header__icon {
  display: inline-flex;
  width: 22px;
  height: 22px;
}
.pm-mobile-header__icon svg {
  width: 100%;
  height: 100%;
  color: currentColor;
}
.pm-mobile-header__badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--pm-mobile-header-accent, #00689C);
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  font-weight: 600;
  text-align: center;
}
/* ---- Suche (ausziehbar) ---- */
.pm-mobile-header__search {
  display: none;
  position: relative;
  z-index: 2;
  padding: 0.625rem 0.75rem;
  background: var(--pm-mobile-header-bg, #ffffff);
  border-top: 1px solid var(--pm-mobile-header-border, rgba(0, 0, 0, 0.08));
  /* Wichtigster Fix: Bootstrap-Collapse-Container offen erzwingen.
     Das Standard-Search-Template wickelt die Suche in
     <div class="collapse" id="searchCollapse"> ein, was per Bootstrap
     hidden ist solange nicht die Klasse 'show' dazu kommt. */
  /* Search-Form als Flex-Layout fuer Input + Buttons nebeneinander */
  /* Suggest-Dropdown ueber Page-Content */
}
.pm-mobile-header__search.is-open {
  display: block;
}
.pm-mobile-header__search .collapse, .pm-mobile-header__search .collapsing, .pm-mobile-header__search #searchCollapse {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
  overflow: visible !important;
}
.pm-mobile-header__search .header-search, .pm-mobile-header__search .header-search-form {
  display: block !important;
  margin: 0 !important;
  width: 100%;
}
.pm-mobile-header__search .input-group {
  display: flex !important;
  width: 100%;
}
.pm-mobile-header__search .header-search-input, .pm-mobile-header__search input[type="search"] {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
}
.pm-mobile-header__search .header-search-btn, .pm-mobile-header__search .header-close-btn {
  flex: 0 0 auto;
}
.pm-mobile-header__search .search-suggest-container, .pm-mobile-header__search .header-search-suggest {
  z-index: 1041;
}
/* ============================================================
   Cart - bulletproof Pattern:
   Icon ist im Wrapper, der Link liegt transparent darueber.
   Das Cart-Widget-JS aendert nur den Link-Inhalt, nicht das Icon.
   ============================================================ */
.pm-mobile-header__cart-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  flex-shrink: 0;
}
.pm-mobile-header__cart-wrap:hover, .pm-mobile-header__cart-wrap:focus-within {
  background: rgba(0, 0, 0, 0.05);
}
/* Icon zentriert im Wrapper, immer sichtbar */
.pm-mobile-header__cart-icon-overlay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: var(--pm-mobile-header-color, #222);
  pointer-events: none;
  position: relative;
  z-index: 1;
}
/* Anzahl-Badge oben rechts.
   Hat zusaetzlich die Klasse 'header-cart-badge' damit das Cart-Widget-JS
   den Inhalt nach Cart-Updates aktualisiert. Die Theme-Standard-Styles fuer
   diese Klasse ueberschreiben wir hier komplett. */
.pm-mobile-header__cart-wrap .pm-mobile-header__cart-count, .pm-mobile-header__cart-wrap .header-cart-badge.pm-mobile-header__cart-count {
  position: absolute !important;
  top: -2px !important;
  right: -2px !important;
  left: auto !important;
  bottom: auto !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 9px !important;
  background: var(--pm-mobile-header-accent, #00689C) !important;
  color: #fff !important;
  font-size: 10px !important;
  line-height: 18px !important;
  font-weight: 600 !important;
  text-align: center !important;
  z-index: 3 !important;
  pointer-events: none !important;
  transform: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}
/* Bei leerem Cart das Badge verstecken */
.pm-mobile-header__cart-count.is-empty {
  display: none !important;
}
/* Der Link liegt UEBER dem Icon und faengt Klicks ab.
   Komplett unsichtbar; Cart-Widget-JS darf hier reinrendern was es will. */
.pm-mobile-header__cart-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  font-size: 0;
  color: transparent;
  border-radius: inherit;
}
/* Alles, was das Cart-Widget-JS in den Link schreibt, bleibt unsichtbar */
.pm-mobile-header__cart-link * {
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
}
/* ---- Standard-Offcanvas-Schliessen-Button im Slide-Menue verstecken ---- */
.pm-mobile-menu__panel .offcanvas-close, .pm-mobile-menu__panel .navigation-offcanvas-close, .pm-mobile-menu__panel .btn-close {
  display: none !important;
}
/* ---- Burger-Animation ---- */
.pm-burger {
  position: relative;
  width: 22px;
  height: 16px;
}
.pm-burger__line {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
  transition: transform 0.25s, opacity 0.25s, top 0.25s;
}
.pm-burger__line--top {
  top: 0;
}
.pm-burger__line--mid {
  top: 7px;
}
.pm-burger__line--bot {
  top: 14px;
}
[aria-expanded="true"] .pm-burger__line--top {
  top: 7px;
  transform: rotate(45deg);
}
[aria-expanded="true"] .pm-burger__line--mid {
  opacity: 0;
}
[aria-expanded="true"] .pm-burger__line--bot {
  top: 7px;
  transform: rotate(-45deg);
}
/* ============================================================
   Kontakt-Sheet (faehrt von oben ein)
   ============================================================ */
.pm-contact-sheet {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1045;
  pointer-events: none;
}
.pm-contact-sheet[hidden] {
  display: block;
}
.pm-contact-sheet[hidden] .pm-contact-sheet__inner {
  transform: translateY(-100%);
}
.pm-contact-sheet[hidden] .pm-contact-sheet__backdrop {
  opacity: 0;
}
.pm-contact-sheet__inner {
  position: relative;
  z-index: 2;
  background: var(--pm-mobile-header-bg, #ffffff);
  color: var(--pm-mobile-header-color, #222);
  padding: calc(60px + 1rem) 1rem 1.25rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(0);
  transition: transform 0.3s ease;
  pointer-events: auto;
}
.pm-contact-sheet__backdrop {
  position: fixed;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.3);
  opacity: 1;
  transition: opacity 0.3s ease;
  pointer-events: auto;
}
.pm-contact-sheet__title {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pm-mobile-header-accent, #00689C);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pm-contact-sheet__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.pm-contact-sheet__item {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 0.875rem;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
}
.pm-contact-sheet__item:hover, .pm-contact-sheet__item:focus-visible {
  background: rgba(0, 0, 0, 0.06);
  color: inherit;
}
.pm-contact-sheet__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 18px;
  color: var(--pm-mobile-header-accent, #00689C);
  flex-shrink: 0;
}
.pm-contact-sheet__icon svg {
  width: 100%;
  height: 100%;
}
.pm-contact-sheet__label {
  display: block;
  font-size: 0.75rem;
  opacity: 0.7;
  line-height: 1;
  margin-bottom: 2px;
}
.pm-contact-sheet__value {
  display: block;
  font-weight: 500;
}
/* ============================================================
   Slide-Menue (faehrt von rechts ein)
   ============================================================ */
.pm-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 1050;
  pointer-events: none;
}
.pm-mobile-menu[hidden] {
  display: block;
}
.pm-mobile-menu[hidden] .pm-mobile-menu__panel {
  transform: translateX(100%);
}
.pm-mobile-menu[hidden] .pm-mobile-menu__backdrop {
  opacity: 0;
}
.pm-mobile-menu__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 1;
  transition: opacity 0.3s ease;
  pointer-events: auto;
}
.pm-mobile-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(85vw, 360px);
  background: var(--pm-mobile-header-bg, #ffffff);
  color: var(--pm-mobile-header-color, #222);
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(0);
  transition: transform 0.3s ease;
  pointer-events: auto;
  overflow-y: auto;
}
.pm-mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0.75rem 0 1.25rem;
  height: 60px;
  border-bottom: 1px solid var(--pm-mobile-header-border, rgba(0, 0, 0, 0.08));
  flex-shrink: 0;
}
.pm-mobile-menu__title {
  font-size: 1rem;
  font-weight: 600;
}
.pm-mobile-menu__close {
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: transparent;
  color: inherit;
  font-size: 18px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.pm-mobile-menu__close svg {
  width: 22px;
  height: 22px;
}
.pm-mobile-menu__close:hover {
  background: rgba(0, 0, 0, 0.05);
}
.pm-mobile-menu__nav {
  flex: 1;
  padding: 0;
  /* Positioniert die Drilldown-Panels in einer Stage. */
  position: relative;
  overflow: hidden;
}
/* ---- Drilldown-Stage: relativer Container, in dem die Panels liegen ---- */
.pm-mobile-menu__drilldown-stage {
  position: relative;
  width: 100%;
  min-height: 100%;
}
/* ---- Einzelnes Panel (eine Ebene) ---- */
.pm-mobile-menu__panel-level {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: var(--pm-mobile-header-bg, #ffffff);
  /* Anfangs außerhalb sichtbar – wird per .is-active eingeschoben. */
  transform: translateX(100%);
  transition: transform 0.25s ease;
  pointer-events: none;
}
.pm-mobile-menu__panel-level[hidden] {
  /* Trotz hidden visuell außen halten, falls JS noch nicht gelaufen ist. */
  display: block !important;
}
.pm-mobile-menu__panel-level.is-active {
  transform: translateX(0);
  pointer-events: auto;
  position: relative;
  /* aktives Panel bestimmt Höhe der Stage */
}
/* Das Root-Panel (Level 0) startet von links – fühlt sich natürlicher an. */
.pm-mobile-menu__panel-level[data-pm-menu-level="0"] {
  transform: translateX(0);
}
.pm-mobile-menu__panel-level[data-pm-menu-level="0"]:not(.is-active) {
  transform: translateX(-100%);
}
/* ---- Zurück-Button + aktuelle Eltern-Headline ---- */
.pm-mobile-menu__back {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.25rem;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--pm-mobile-header-border, rgba(0, 0, 0, 0.08));
  font-weight: 500;
  font-size: 0.95rem;
  color: inherit;
  cursor: pointer;
}
.pm-mobile-menu__back:hover {
  background: rgba(0, 0, 0, 0.04);
}
.pm-mobile-menu__back i {
  font-size: 0.85rem;
  opacity: 0.75;
}
.pm-mobile-menu__current {
  padding: 1rem 1.25rem 0.5rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--pm-mobile-header-accent, #00689C);
}
.pm-mobile-menu__show-all {
  display: block;
  padding: 0.5rem 1.25rem 1rem;
  font-size: 0.85rem;
  color: inherit;
  text-decoration: underline;
  border-bottom: 1px solid var(--pm-mobile-header-border, rgba(0, 0, 0, 0.08));
}
.pm-mobile-menu__show-all strong {
  font-weight: 600;
}
.pm-mobile-menu__show-all:hover {
  color: var(--pm-mobile-header-accent, #00689C);
}
/* ---- Listen + Items ---- */
.pm-mobile-menu__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pm-mobile-menu__item {
  border-bottom: 1px solid var(--pm-mobile-header-border, rgba(0, 0, 0, 0.08));
}
.pm-mobile-menu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.875rem 1.25rem;
  background: transparent;
  border: none;
  color: inherit;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  text-align: left;
  cursor: pointer;
}
.pm-mobile-menu__link span {
  flex: 1;
}
.pm-mobile-menu__link i {
  font-size: 0.85rem;
  opacity: 0.6;
  margin-left: 0.75rem;
}
.pm-mobile-menu__link:hover, .pm-mobile-menu__link:focus-visible {
  background: rgba(0, 0, 0, 0.04);
  color: var(--pm-mobile-header-accent, #00689C);
  text-decoration: none;
}
.pm-mobile-menu__footer {
  padding: 1rem 1.25rem;
  border-top: 1px solid var(--pm-mobile-header-border, rgba(0, 0, 0, 0.08));
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-shrink: 0;
}
.pm-mobile-menu__footer a {
  color: inherit;
  text-decoration: none;
  padding: 0.5rem 0;
  font-weight: 500;
}
.pm-mobile-menu__footer a:hover {
  color: var(--pm-mobile-header-accent, #00689C);
}
/* ---- body-State: Wenn Menue/Sheet offen, kein Scroll ---- */
body.has-pm-sheet-open, body.has-pm-menu-open {
  overflow: hidden;
}
/* ---- prefers-reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
  .pm-mobile-menu__panel, .pm-mobile-menu__backdrop, .pm-contact-sheet__inner, .pm-contact-sheet__backdrop, .pm-burger__line {
    transition: none;
  }
}
/* ---- Auf Desktop komplett aus, zur Sicherheit ---- */
@media (min-width: 992px) {
  .pm-mobile-header, .pm-mobile-menu, .pm-contact-sheet {
    display: none !important;
  }
}
/* ---- Standard-Header auf Mobile ausblenden, wenn Feature aktiv ---- */
@media (max-width: 991px) {
  /* Top-Info-Bar (extended) gleich mit ausblenden, da sie zum Desktop-Header gehoert */
  .pm-hide-on-mobile {
    display: none !important;
  }
  body:has(.pm-mobile-header) .top-bar-extended, body:has(.pm-mobile-header) .nav-main {
    display: none;
  }
}
.form-control:valid:focus {
  box-shadow: none;
  border-radius: 25px;
  border: 2px var(--pm-accent) solid;
}
.header-search .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(-1 * var(--bs-border-width));
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  background-color: var(--pm-accent);
  border-bottom-right-radius: 19px;
  border-top-right-radius: 19px;
}
/* =========================================================
   Search Suggest / Dropdown Suche
   Farbkonzept: #404753 / #AA2A33
========================================================= */
.search-suggest-container {
  --search-main: #404753;
  --search-accent: #AA2A33;
  --search-soft: #f6f6f7;
  --search-border: rgba(64, 71, 83, 0.12);
  --search-muted: #7a808a;
  list-style: none;
  width: 100%;
  margin: 10px 0 0;
  padding: 8px;
  background: #ffffff;
  border: 1px solid var(--search-border);
  border-top: 3px solid var(--search-accent);
  border-radius: 0 0 18px 18px;
  box-shadow: 0 18px 45px rgba(64, 71, 83, 0.18);
  overflow: hidden;
  font-family: Arial, Helvetica, sans-serif;
  z-index: 1000;
}
/* =========================================================
   Einzelnes Suchergebnis
========================================================= */
.search-suggest-container .search-suggest-product {
  margin: 0;
  padding: 0;
}
.search-suggest-container .search-suggest-product-link {
  display: block;
  padding: 10px;
  color: var(--search-main);
  text-decoration: none;
  border-radius: 14px;
  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.search-suggest-container .search-suggest-product-link:hover, .search-suggest-container .search-suggest-product-link:focus {
  background: var(--search-soft);
  transform: translateY(-1px);
  box-shadow: inset 4px 0 0 var(--search-accent);
  text-decoration: none;
}
/* =========================================================
   Produktbild / Placeholder
========================================================= */
.search-suggest-container .search-suggest-product-image-container {
  width: 74px;
  height: 74px;
  margin-right: 14px;
  background: #ffffff;
  border: 1px solid var(--search-border);
  border-radius: 14px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-suggest-container .search-suggest-product-image-container img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.search-suggest-container .search-suggest-product-image-container .icon {
  width: 42px;
  height: 42px;
  color: var(--search-muted);
  opacity: 0.55;
}
.search-suggest-container .search-suggest-product-image-container svg {
  width: 42px;
  height: 42px;
  display: block;
}
/* =========================================================
   Produktname
========================================================= */
.search-suggest-container .search-suggest-product-name {
  color: var(--search-main);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 700;
  padding-right: 14px;
}
.search-suggest-container .search-suggest-product-link:hover .search-suggest-product-name {
  color: var(--search-accent);
}
/* =========================================================
   Preis
   Optional: kann bei reiner Anfrage-Logik auch ausgeblendet werden
========================================================= */
.search-suggest-container .col-auto.search-suggest-product-price {
  margin-left: 10px;
}
.search-suggest-container .col-auto.search-suggest-product-price > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 7px 10px;
  background: var(--search-main);
  color: #ffffff;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  white-space: nowrap;
}
/* =========================================================
   "Alle Suchergebnisse anzeigen"
========================================================= */
.search-suggest-container .search-suggest-total {
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px solid var(--search-border);
}
.search-suggest-container .search-suggest-total .row {
  padding: 10px 12px;
  background: var(--search-main);
  border-radius: 14px;
}
.search-suggest-container .search-suggest-total-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  text-decoration: none;
}
.search-suggest-container .search-suggest-total-link:hover, .search-suggest-container .search-suggest-total-link:focus {
  color: #ffffff;
  text-decoration: none;
}
.search-suggest-container .search-suggest-total-link .icon {
  color: #ffffff;
}
.search-suggest-container .search-suggest-total-link svg use {
  fill: #ffffff;
}
.search-suggest-container .search-suggest-total-count {
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
}
/* =========================================================
   Optional: Preise im Suchvorschlag ausblenden
   Nur aktivieren, wenn der Anfrage-Shop grundsätzlich keine Preise zeigen soll.
========================================================= */
/*
.search-suggest-container .search-suggest-product-price {
    display: none !important;
}
*/
/* =========================================================
   Mobile Optimierung
========================================================= */
@media (max-width: 575.98px) {
  .search-suggest-container {
    margin-top: 8px;
    padding: 6px;
    border-radius: 0 0 14px 14px;
  }
  .search-suggest-container .search-suggest-product-link {
    padding: 8px;
  }
  .search-suggest-container .search-suggest-product-image-container {
    width: 58px;
    height: 58px;
    margin-right: 10px;
    border-radius: 12px;
  }
  .search-suggest-container .search-suggest-product-name {
    font-size: 13px;
    line-height: 1.35;
  }
  .search-suggest-container .col-auto.search-suggest-product-price > span {
    min-width: auto;
    padding: 6px 8px;
    font-size: 12px;
  }
  .search-suggest-container .search-suggest-total .row {
    padding: 10px;
  }
  .search-suggest-container .search-suggest-total-count {
    display: none;
  }
}
/* Icon-Hover in den Header-Aktionen */
.header-actions-col .icon:hover svg {
  color: var(--pm-accent);
}
/* ------------------------------------------------------------------
   Header-Icons: Hover
   ------------------------------------------------------------------
   Die vier Hover-Felder hatten bisher keine Regel, die sie liest -
   die Symbole aenderten sich beim Ueberfahren also nicht. */
.pmtheme-top-bar__account .header-actions-btn, .pmtheme-top-bar__wishlist .header-actions-btn, .pmtheme-top-bar__cart .header-actions-btn {
  transition: background-color 0.18s ease, color 0.18s ease;
}
.pmtheme-top-bar__account .header-actions-btn:hover, .pmtheme-top-bar__account .header-actions-btn:focus-visible, .pmtheme-top-bar__wishlist .header-actions-btn:hover, .pmtheme-top-bar__wishlist .header-actions-btn:focus-visible, .pmtheme-top-bar__cart .header-actions-btn:hover, .pmtheme-top-bar__cart .header-actions-btn:focus-visible {
  background: #611E82;
}
.pmtheme-top-bar__account .header-actions-btn:hover .icon, .pmtheme-top-bar__account .header-actions-btn:hover .icon svg, .pmtheme-top-bar__account .header-actions-btn:focus-visible .icon, .pmtheme-top-bar__account .header-actions-btn:focus-visible .icon svg, .pmtheme-top-bar__wishlist .header-actions-btn:hover .icon, .pmtheme-top-bar__wishlist .header-actions-btn:hover .icon svg, .pmtheme-top-bar__wishlist .header-actions-btn:focus-visible .icon, .pmtheme-top-bar__wishlist .header-actions-btn:focus-visible .icon svg, .pmtheme-top-bar__cart .header-actions-btn:hover .icon, .pmtheme-top-bar__cart .header-actions-btn:hover .icon svg, .pmtheme-top-bar__cart .header-actions-btn:focus-visible .icon, .pmtheme-top-bar__cart .header-actions-btn:focus-visible .icon svg {
  color: #ffffff;
}
.pmtheme-top-bar__search .header-search-btn, .pmtheme-top-bar__search button[type="submit"] {
  transition: background-color 0.18s ease, color 0.18s ease;
}
.pmtheme-top-bar__search .header-search-btn:hover, .pmtheme-top-bar__search .header-search-btn:focus-visible, .pmtheme-top-bar__search button[type="submit"]:hover, .pmtheme-top-bar__search button[type="submit"]:focus-visible {
  background: #611E82;
}
.pmtheme-top-bar__search .header-search-btn:hover .icon, .pmtheme-top-bar__search .header-search-btn:hover .icon svg, .pmtheme-top-bar__search .header-search-btn:focus-visible .icon, .pmtheme-top-bar__search .header-search-btn:focus-visible .icon svg, .pmtheme-top-bar__search button[type="submit"]:hover .icon, .pmtheme-top-bar__search button[type="submit"]:hover .icon svg, .pmtheme-top-bar__search button[type="submit"]:focus-visible .icon, .pmtheme-top-bar__search button[type="submit"]:focus-visible .icon svg {
  color: #ffffff;
}
/* ============================================================
   PMTHEME – Mobile Bottom-Sheet
   ============================================================
   Aufziehbarer Footer mit Kontakt, Service-Links, Rechtliches.
   Nur < LG sichtbar, aktivierbar per Theme-Config.
   ============================================================ */
.pm-bottom-sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  pointer-events: none;
}
.pm-bottom-sheet__backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.pm-bottom-sheet.is-open .pm-bottom-sheet__backdrop {
  opacity: 1;
  pointer-events: auto;
}
.pm-bottom-sheet__panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--pm-sheet-bg, #ffffff);
  color: var(--pm-sheet-color, #222);
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  transform: translateY(calc(100% - 56px));
  transition: transform 0.3s ease;
  /* Begrenze die Hoehe so, dass Header (Trigger/X) immer sichtbar bleibt.
     'svh' ist der kleinstmoegliche Viewport (mit URL-Bar) und damit sicher.
     Fallback auf vh fuer aeltere Browser. */
  max-height: 80vh;
  max-height: 80svh;
  display: flex;
  flex-direction: column;
}
.pm-bottom-sheet.is-open .pm-bottom-sheet__panel {
  transform: translateY(0);
}
.pm-bottom-sheet__trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  padding: 0 1.25rem;
  width: 100%;
  border: none;
  background: transparent;
  color: inherit;
  font-weight: 600;
  cursor: pointer;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  flex-shrink: 0;
}
.pm-bottom-sheet__trigger:hover, .pm-bottom-sheet__trigger:focus-visible {
  background: rgba(0, 0, 0, 0.03);
  outline: none;
}
.pm-bottom-sheet__handle {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 4px;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 2px;
}
.pm-bottom-sheet__label {
  font-size: 0.9375rem;
}
.pm-bottom-sheet__close-icon {
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.pm-bottom-sheet__close-icon svg {
  width: 100%;
  height: 100%;
}
.pm-bottom-sheet.is-open .pm-bottom-sheet__close-icon {
  opacity: 0.7;
}
.pm-bottom-sheet.is-open .pm-bottom-sheet__label {
  opacity: 0.6;
}
.pm-bottom-sheet__content {
  padding: 0 1.25rem 1.5rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.pm-bottom-sheet__section {
  padding-top: 0.75rem;
  border-top: 1px solid var(--pm-sheet-border, rgba(0, 0, 0, 0.08));
}
.pm-bottom-sheet__section:first-child {
  border-top: none;
  padding-top: 0;
}
.pm-bottom-sheet__heading {
  margin: 0 0 0.625rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pm-sheet-accent, #00689C);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
/* Subheading fuer Footer-Nav-Spalten */
.pm-bottom-sheet__sublabel {
  margin: 0.875rem 0 0.375rem;
  font-size: 0.8125rem;
  font-weight: 600;
  opacity: 0.75;
}
.pm-bottom-sheet__sublabel:first-of-type {
  margin-top: 0;
}
.pm-bottom-sheet__contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
}
.pm-bottom-sheet__contact-btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.875rem;
  padding: 0.75rem 0.875rem;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
}
.pm-bottom-sheet__contact-btn:hover, .pm-bottom-sheet__contact-btn:focus-visible {
  background: rgba(0, 0, 0, 0.08);
  color: inherit;
}
.pm-bottom-sheet__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-size: 18px;
  color: var(--pm-sheet-accent, #00689C);
  flex-shrink: 0;
}
.pm-bottom-sheet__contact-icon svg {
  width: 100%;
  height: 100%;
}
.pm-bottom-sheet__contact-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
  min-width: 0;
}
.pm-bottom-sheet__contact-label {
  font-size: 0.75rem;
  opacity: 0.7;
  margin-bottom: 2px;
}
.pm-bottom-sheet__contact-value {
  font-weight: 500;
  font-size: 0.95rem;
  word-break: break-all;
}
/* Lieferungs-Banner (kein Heading, nur Hervorhebung) */
.pm-bottom-sheet__section--delivery {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 10px;
  border-top: none !important;
  font-size: 0.875rem;
  font-weight: 500;
  margin-top: 0;
}
.pm-bottom-sheet__delivery-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  font-size: 14px;
  color: var(--pm-sheet-accent, #00689C);
  flex-shrink: 0;
}
.pm-bottom-sheet__delivery-text {
  flex: 1;
}
/* Copyright unten */
.pm-bottom-sheet__copyright {
  margin: 0.5rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--pm-sheet-border, rgba(0, 0, 0, 0.08));
  text-align: center;
  font-size: 0.75rem;
  opacity: 0.6;
}
.pm-bottom-sheet__links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.pm-bottom-sheet__links li {
  border-top: 1px solid var(--pm-sheet-border, rgba(0, 0, 0, 0.08));
}
.pm-bottom-sheet__links li:first-child {
  border-top: none;
}
.pm-bottom-sheet__links a {
  display: block;
  padding: 0.625rem 0;
  color: var(--pm-sheet-color, #222) !important;
  text-decoration: none;
  font-size: 0.9rem;
}
.pm-bottom-sheet__links a:hover, .pm-bottom-sheet__links a:focus-visible {
  color: var(--pm-sheet-accent, #00689C) !important;
}
/* ---- Globaler Schutz: alle Texte/Links im Bottom-Sheet sollen dunkel sein,
   weil der Footer (Eltern-Element) weisse Schrift erbt.
   Das hier laeuft nur innerhalb unseres Sheets. ---- */
.pm-bottom-sheet, .pm-bottom-sheet * {
  color: var(--pm-sheet-color, #222);
}
.pm-bottom-sheet a {
  color: var(--pm-sheet-color, #222);
}
.pm-bottom-sheet a:hover, .pm-bottom-sheet a:focus-visible {
  color: var(--pm-sheet-accent, #00689C);
}
/* ---- body-State beim Öffnen ---- */
body.has-pm-sheet-open {
  overflow: hidden;
}
/* ---- Desktop: hart ausgeschaltet ---- */
@media (min-width: 992px) {
  .pm-bottom-sheet {
    display: none !important;
  }
}
/* ---- prefers-reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
  .pm-bottom-sheet__panel, .pm-bottom-sheet__backdrop, .pm-bottom-sheet__close-icon {
    transition: none;
  }
}
/* ============================================================
   SCROLL-TO-TOP: Anpassung wegen Bottom-Sheet
   ============================================================
   Der Shopware-Default-Button bekommt per JS einen Inline-Style
   `bottom: calc(24px)` gesetzt. Wir müssen mit !important arbeiten,
   um den Inline-Style zu überschreiben. Auf Mobile schieben wir den
   Button höher, damit er nicht hinter dem 56px-Bottom-Sheet-Trigger
   verschwindet, und machen ihn kompakter. */
@media (max-width: 991.98px) {
  .scroll-up-container .scroll-up-button {
    bottom: 80px !important;
  }
  .scroll-up-container .scroll-up-button .btn {
    padding: 0.4rem 0.7rem;
    line-height: 1;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
  }
  .scroll-up-container .scroll-up-button .icon-arrow-up, .scroll-up-container .scroll-up-button .icon svg {
    width: 16px;
    height: 16px;
  }
}
/* ============================================================
   ACCOUNT-MENUE IM HEADER
   ============================================================
   Das Klappmenue am Konto-Symbol.

   Frueher liehen sich die Regeln hier die Variablen der Top-Bar und
   der Navigation ($top-bar-*, $navbar-*). Beide sind fuer eine dunkle
   Leiste gedacht - im hellen Klappmenue fuehrte das zu unlesbaren
   Kombinationen. Der Registrieren-Link etwa wurde beim Hover
   $navbar-link-hover-color, also Weiss auf weissem Grund.

   Jetzt eigene Felder unter
   "Anmelden & Registrieren" -> "Account-Menue im Header".
   ============================================================ */
.account-menu-dropdown {
  top: 106px !important;
  z-index: 1599;
}
.account-menu-modern {
  color: #222222;
  background: #ffffff;
  padding: 1.5rem;
  min-width: 320px;
  /* Login-Button */
  /* Register-Link */
  /* Hinweiszeile unter dem Anmelde-Button */
  /* Fokus auf Barrierefreiheit */
  /* Optional: abgerundete Kontur und weicher Hintergrund */
  backdrop-filter: blur(8px);
}
.account-menu-modern h4, .account-menu-modern .h4 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #222222;
  margin-bottom: 1rem;
  margin-top: 1rem;
}
.account-menu-modern p {
  margin-bottom: 0.75rem;
  color: #222222;
}
.account-menu-modern .btn-primary {
  background-color: #193A8F;
  border: none;
  color: var(--pm-text-inverted);
  font-weight: 600;
  border-radius: 50px;
  padding: 0.6rem 1rem;
  transition: background-color 0.2s ease, transform 0.15s ease;
}
.account-menu-modern .btn-primary:hover {
  background-color: #611E82;
  transform: translateY(-2px);
  color: var(--pm-text-inverted);
}
.account-menu-modern .link-register, .account-menu-modern .account-menu-register-link {
  color: #611E82;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}
.account-menu-modern .link-register:hover, .account-menu-modern .link-register:focus-visible, .account-menu-modern .account-menu-register-link:hover, .account-menu-modern .account-menu-register-link:focus-visible {
  color: #892229;
  text-decoration: underline;
}
.account-menu-modern .text-muted, .account-menu-modern .account-menu-hint {
  color: #707782;
}
.account-menu-modern a:focus, .account-menu-modern button:focus {
  outline: 2px solid #222222;
  outline-offset: 2px;
}
.account-register h1, .account-register .h1 {
  margin-top: 1rem;
}
/* Auf Mobile die Registrierungs-Headline kompakter, sonst nimmt sie
   überproportional viel Platz oberhalb des Logins/Formulars ein. */
@media (max-width: 768px) {
  .account-register h1, .account-register .h1 {
    font-size: 1.4rem;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }
}
.account-aside-item {
  background: transparent;
}
.address-item-default-badge {
  background-color: #00689C;
}
/* =========================================================
   Account Dropdown / Kundenkonto Menü
   Modernes Design für Shopware Account-Menü
   ========================================================= */
/* Dropdown-Grundfläche */
/* ============================================================
   ZWEITE GESTALTUNGSEBENE
   ============================================================
   Ab hier lag eine zweite, vollstaendige Fassung derselben
   Komponenten. Sie hat dieselbe Spezifitaet wie die Regeln oben,
   steht aber spaeter in der Datei und gewann dadurch - Aenderungen
   an der ersten Fassung blieben wirkungslos.

   Ausserdem steckten hier Reste der frueheren Gold-Palette
   (rgba(var(--pm-secondary-rgb), ...), var(--account-accent)).

   Beide Ebenen folgen jetzt derselben Konfiguration. Zusammenlegen
   waere sauberer, haette aber Layout-Unterschiede zwischen beiden
   Faassungen verwischt - deshalb bewusst nur die Farben angeglichen.
   ============================================================ */
.account-menu-dropdown {
  min-width: 320px;
  padding: 0;
  border: none;
  background: #ffffff;
  box-shadow: var(--account-shadow);
  overflow: hidden;
}
/* Dropdown-Pfeil / Bootstrap-Optik entschärfen */
.account-menu-dropdown.dropdown-menu {
  border-radius: 0.9rem;
  margin-top: 0.75rem !important;
}
/* =========================================================
   Offcanvas Header / Schließen Button
   ========================================================= */
.account-menu-dropdown .offcanvas-header {
  padding: 1rem;
  background: linear-gradient(135deg, var(--account-dark-soft), var(--account-dark));
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
/* Schließen Button */
.account-menu-dropdown .offcanvas-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0.7rem;
  background: #ffffff;
  color: #222222;
  font-size: 0.9rem;
  font-weight: 700;
  /* Ohne feste Zeilenhoehe bringt der Text seinen eigenen
       Zeilenkasten mit. Der ist hoeher als das 24px-Symbol, wodurch
       die Beschriftung gegenueber dem X nach oben rutscht. */
  line-height: 1;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.account-menu-dropdown .offcanvas-close:hover {
  background: #f0f0f0;
  border-color: #f0f0f0;
  color: #222222;
}
/* Der Icon-Container ist inline-flex, richtet seinen Inhalt aber nicht
   aus. Das SVG sitzt dadurch oben im Kasten, waehrend der Kasten
   selbst mittig steht - das X wirkt tiefer als der Text.

   align-items zentriert das Symbol im Container, line-height: 0
   entfernt den Zeilenkasten, den ein inline-Element sonst erzeugt,
   und display: block am SVG die Luecke unter der Grundlinie. */
.account-menu-dropdown .offcanvas-close .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  flex: 0 0 auto;
}
.account-menu-dropdown .offcanvas-close .icon svg {
  display: block;
  /* URSACHE DES VERSATZES
       Shopwares .icon-Regel setzt am SVG:

           top: 0.25em;
           position: relative;

       Das ist ein Ausgleich fuer Symbole, die in laufendem Text neben
       der Grundlinie stehen. In einem Flex-Button ist der Versatz
       falsch - dort zentriert bereits align-items, und die 0.25em
       druecken das Symbol zusaetzlich nach unten. Genau die rund
       5 Pixel, um die das X tiefer sass als die Beschriftung.

       Deshalb hier zuruecksetzen statt mit einem Gegenversatz zu
       arbeiten: der waere an die aktuelle Schriftgroesse gebunden,
       weil 0.25em mitwaechst. */
  top: 0;
  position: static;
}
/* Symbol im Schliessen-Button
   ------------------------------------------------------------------
   Shopware rendert das X als <use xlink:href="#icons-default-x"
   fill="#758CA3">. Das fill steht als Praesentationsattribut im
   Markup - es bleibt dort auch dann sichtbar, wenn CSS es
   ueberschreibt. Im Quelltext sieht es deshalb unveraendert aus; was
   zaehlt, ist der berechnete Wert in den Entwicklertools.

   Sowohl <svg> als auch <use> werden gesetzt, weil je nach
   Icon-Variante mal das eine, mal das andere traegt - dasselbe
   Muster wie beim Suchbutton im Header.

   currentColor bindet das Symbol an die Textfarbe des Buttons und
   damit an das Feld "Schliessen-Button - Text & Symbol". */
.account-menu-dropdown .offcanvas-close .icon, .account-menu-dropdown .offcanvas-close svg, .account-menu-dropdown .offcanvas-close svg use {
  color: currentColor;
  fill: currentColor;
}
.account-menu-dropdown .offcanvas-close:hover .icon, .account-menu-dropdown .offcanvas-close:hover svg, .account-menu-dropdown .offcanvas-close:hover svg use {
  fill: currentColor;
}
/* =========================================================
   Body
   ========================================================= */
.account-menu-dropdown .offcanvas-body {
  padding: 0;
  background: #ffffff;
}
.account-menu-modern {
  padding: 0 !important;
}
/* =========================================================
   Gastbereich
   ========================================================= */
.account-guest-area {
  position: relative;
  padding: 2rem 1.5rem 1.6rem;
  text-align: center;
  background: linear-gradient(to bottom, rgba(var(--pm-secondary-rgb), 0.07), rgba(var(--pm-secondary-rgb), 0.02));
}
/* Kleine Akzentlinie oben */
.account-guest-area::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.5rem;
  right: 1.5rem;
  height: 3px;
  background: #B6995B;
}
/* Überschrift */
.account-guest-area h4, .account-guest-area .h4 {
  position: relative;
  margin: 0 0 1rem !important;
  color: #222222;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.2;
}
/* Optionaler kleiner Untertitel über CSS */
.account-guest-area h4::after, .account-guest-area .h4::after {
  content: "Melden Sie sich an und verwalten Sie Bestellungen, Daten und Merklisten.";
  display: block;
  max-width: 250px;
  margin: 0.75rem auto 0;
  color: #707782;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.55;
}
/* =========================================================
   Login Button
   ========================================================= */
.account-guest-area .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 0.5rem;
  margin-bottom: 1rem !important;
  padding: 0.95rem 1.4rem;
  border: none;
  border-radius: 0.7rem;
  background: #193A8F;
  color: #ffffff !important;
  font-weight: 800;
  box-shadow: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.account-guest-area .btn-primary:hover {
  background: #611E82;
  color: #ffffff;
  transform: translateY(-2px);
}
.account-guest-area .btn-primary:focus-visible {
  outline: 3px solid rgba(var(--pm-secondary-rgb), 0.38);
  outline-offset: 3px;
}
/* =========================================================
   Registrieren Text
   ========================================================= */
.account-guest-area .small {
  color: #707782 !important;
  font-size: 0.92rem;
}
/* Zweite Fassung des Registrieren-Links. Sie stand weiter unten in
   derselben Datei, war mit zwei Klassen spezifischer und hat die
   Regel oben ueberschrieben - inklusive einer Restfarbe aus der
   frueheren Gold-Palette (rgba(var(--pm-secondary-rgb), .55)).
   Zusammengefuehrt, beide Fassungen folgen jetzt der Konfiguration. */
.account-guest-area .link-register, .account-guest-area .account-menu-register-link {
  color: #611E82;
  text-decoration: underline;
  text-decoration-color: rgba(0, 0, 0, 0);
  text-underline-offset: 3px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.account-guest-area .link-register:hover, .account-guest-area .link-register:focus-visible, .account-guest-area .account-menu-register-link:hover, .account-guest-area .account-menu-register-link:focus-visible {
  color: #892229;
  text-decoration-color: #892229;
}
/* =========================================================
   Desktop Feinschliff
   ========================================================= */
@media (min-width: 992px) {
  .account-menu-dropdown {
    transform-origin: top right;
    animation: accountDropdownFade 0.18s ease both;
  }
}
@keyframes accountDropdownFade {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* =========================================================
   Mobile / Offcanvas Sicherheit
   ========================================================= */
@media (max-width: 767px) {
  .account-menu-dropdown.dropdown-menu {
    border-radius: 0;
    box-shadow: none;
  }
  .account-guest-area {
    padding: 1.75rem 1.25rem 1.5rem;
  }
}
/* ============================================================
   PMTHEME – Account-Menü im EINGELOGGTEN Zustand
   ------------------------------------------------------------
   Ergänzt das bestehende Design (das nur den Gast-Zustand
   .account-guest-area abdeckt) um die Klassen, die Shopware
   für angemeldete Kunden rendert.

   WICHTIG: alles unter .account-menu-dropdown gescopet, weil
   .account-aside-item auch von der Kontoseiten-Sidebar genutzt
   wird – ohne Scope würde die ganze Account-Seite mitgestylt.

   Nutzt die vorhandenen Tokens aus deiner Account-CSS:
   --account-accent, --account-dark, --account-border
   ============================================================ */
/* Kopfbereich "Ihr Konto" im Body */
.account-menu-dropdown .account-user-area {
  padding: 1.25rem 1.5rem 1.25rem;
}
.account-menu-dropdown .account-header {
  margin-bottom: 0.85rem;
}
.account-menu-dropdown .account-header h5, .account-menu-dropdown .account-header .h5 {
  position: relative;
  margin: 0;
  padding-left: 1rem;
  color: #222222;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.2;
}
.account-menu-dropdown .account-header h5::before, .account-menu-dropdown .account-header .h5::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 1.1em;
  background: #B6995B;
  border-radius: 2px;
  transform: translateY(-50%);
}
/* Verschachtelte Bootstrap-Cards neutralisieren
   (.account-links.card.shadow-sm + .account-menu-inner.card) */
.account-menu-dropdown .account-links, .account-menu-dropdown .account-menu-inner {
  margin: 0;
  border: none;
  background: transparent;
  box-shadow: none !important;
  /* schlägt .shadow-sm */
}
.account-menu-dropdown .account-links .card-body {
  padding: 0 !important;
  /* schlägt .p-2 */
}
/* Navigationsliste */
.account-menu-dropdown .account-aside-list-group {
  border: 1px solid #e6e6e6;
  border-radius: 0.6rem;
  overflow: hidden;
}
/* Einzelne Links */
.account-menu-dropdown .account-aside-item {
  position: relative;
  padding: 0.8rem 1rem 0.8rem 1.1rem;
  border: none;
  border-bottom: 1px solid var(--account-border);
  background: #ffffff;
  color: #222222;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease, padding-left 0.18s ease;
}
.account-menu-dropdown .account-aside-item:last-child {
  border-bottom: none;
}
/* Gold-Akzentbalken links (bei Hover / aktivem Punkt) */
.account-menu-dropdown .account-aside-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: transparent;
  transition: background 0.18s ease;
}
.account-menu-dropdown .account-aside-item:hover, .account-menu-dropdown .account-aside-item:focus, .account-menu-dropdown .account-aside-item.is-active, .account-menu-dropdown .account-aside-item.active {
  background: rgba(0, 0, 0, 0.04);
  color: #222222;
  padding-left: 1.4rem;
}
.account-menu-dropdown .account-aside-item:hover::before, .account-menu-dropdown .account-aside-item:focus::before, .account-menu-dropdown .account-aside-item.is-active::before, .account-menu-dropdown .account-aside-item.active::before {
  background: #B6995B;
}
/* Footer + Abmelden-Button */
.account-menu-dropdown .account-aside-footer {
  padding: 0.9rem 1.5rem 1.25rem;
  border: none;
  background: transparent;
}
.account-menu-dropdown .account-aside-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  padding: 0.7rem 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0.7rem;
  background: #ffffff;
  color: #222222;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}
.account-menu-dropdown .account-aside-btn:hover {
  background: #193A8F;
  border-color: #193A8F;
  color: var(--pm-text-inverted);
  transform: translateY(-1px);
}
/* Abmelden-Icon folgt der Textfarbe (überschreibt inline fill="#758CA3") */
.account-menu-dropdown .account-aside-btn .icon {
  display: inline-flex;
}
.account-menu-dropdown .account-aside-btn svg use {
  fill: currentColor;
}
/* ============================================================
   LOGIN-MODAL
   ============================================================
   Gestaltung wie das Account-Menue - es ist derselbe Vorgang, nur in
   einem anderen Behaelter. Deshalb dieselben Felder unter
   "Account-Menue im Header" statt eigener.

   SPEZIFITAET
   Das Login-Partial des Storefronts bringt eine .login-card mit, und
   _register.scss gestaltet .login-card, .form-control, .form-label und
   .btn-primary. Diese Datei wird NACH _account-menu.scss importiert
   (base.scss Zeile 25 gegen 12). Bei gleicher Spezifitaet gewinnt sie
   dadurch - der Absenden-Button trug deshalb die Farbe des
   Registrierungsformulars statt der des Menues.

   Alle Regeln hier liegen deshalb ueber .modal-body und kommen damit
   auf mindestens (0,3,0).

   ABGELEITETE FELDFARBE
   Die Eingabefelder sollen sich vom Modalhintergrund abheben, ohne
   dass dafuer ein eigenes Feld noetig ist. lightness() entscheidet die
   Richtung: heller Hintergrund -> Felder etwas dunkler, dunkler
   Hintergrund -> Felder etwas heller. Damit bleibt der Kontrast in
   beide Richtungen erhalten.
   ============================================================ */
/* mix() statt darken()/lighten(): liefert einen echten Hex-Wert
   statt der rgb()-Prozentschreibweise, die dart-sass sonst erzeugt. */
.pm-login-modal {
  /* Akzentstreifen oben wie im Menue */
  /* ---- Formular ------------------------------------------- */
}
.pm-login-modal .modal-content {
  background: #ffffff;
  color: #222222;
  border: 1px solid #e6e6e6;
  border-radius: 1rem;
  overflow: hidden;
}
.pm-login-modal .modal-content::before {
  content: "";
  display: block;
  height: 3px;
  background: #B6995B;
}
.pm-login-modal .modal-header {
  border-bottom: 1px solid #e6e6e6;
}
.pm-login-modal .modal-title {
  color: #222222;
  font-weight: 700;
}
.pm-login-modal .btn-close {
  color: #222222;
}
.pm-login-modal .btn-close:hover, .pm-login-modal .btn-close:focus-visible {
  background-color: #f0f0f0;
}
.pm-login-modal .modal-body {
  /* Beschreibungstext ueber dem Formular, Feldbeschriftungen
           und Hinweise */
  /* Eingabefelder */
  /* Absenden-Button wie der Anmelde-Button im Menue */
  /* "Passwort vergessen?" und andere Links */
}
.pm-login-modal .modal-body .login-form-description, .pm-login-modal .modal-body .form-label, .pm-login-modal .modal-body label, .pm-login-modal .modal-body .form-text, .pm-login-modal .modal-body .custom-control-label {
  color: #222222;
}
.pm-login-modal .modal-body .form-control, .pm-login-modal .modal-body .form-select {
  background-color: #f2f2f2;
  border-color: #e6e6e6;
  color: #222222;
}
.pm-login-modal .modal-body .form-control::placeholder, .pm-login-modal .modal-body .form-select::placeholder {
  color: #707782;
}
.pm-login-modal .modal-body .form-control:focus, .pm-login-modal .modal-body .form-select:focus {
  background-color: #f2f2f2;
  border-color: #B6995B;
  color: #222222;
  box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.12);
}
.pm-login-modal .modal-body .btn-primary {
  background-color: #193A8F;
  border-color: #193A8F;
  color: #ffffff;
}
.pm-login-modal .modal-body .btn-primary:hover, .pm-login-modal .modal-body .btn-primary:focus-visible {
  background-color: #611E82;
  border-color: #611E82;
  color: #ffffff;
}
.pm-login-modal .modal-body a {
  color: #611E82;
}
.pm-login-modal .modal-body a:hover, .pm-login-modal .modal-body a:focus-visible {
  color: #892229;
}
.pm-login-modal .modal-body .login-card {
  background: transparent;
  border: none;
  box-shadow: none;
  margin-bottom: 0;
}
.pm-login-modal .modal-body .login-card .card-body {
  padding: 0;
}
.pm-login-modal .pm-login-modal-register {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e6e6e6;
  color: #707782;
}
/* ============================================================
   PMTHEME – NAVIGATION STYLES
   ============================================================ */
/* ------------------------------------------------------------
   1. ALIGNMENT
   ------------------------------------------------------------ */
/* Standard: links ausgerichtet */
.pmtheme-nav--default .main-navigation-menu-list {
  justify-content: flex-start;
}
/* Zentriert */
.pmtheme-nav--centered .main-navigation-menu-list {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 0px;
}
.pmtheme-nav--centered .main-navigation-menu {
  justify-content: center;
}
.pmtheme-nav--centered .dropdown-menu {
  text-align: left;
}
/* ============================================================
   TEXT-AREA / INNENABSTAND FÜR NAVIGATIONSLINKS
   ============================================================ */
/* gleichmäßiger Raum um den Text, auch ohne Active-Zustand */
.main-navigation-link-text {
  display: inline-block;
  padding: 0rem 0rem 0rem 0.5rem;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
  font-size: 17px;
}
/* ------------------------------------------------------------
   2. BASISSTILE
   ------------------------------------------------------------ */
.nav-main {
  background: #00689C;
  z-index: 100;
}
/* Hauptlinks */
.main-navigation-menu-list .nav-link {
  display: inline-block;
  background: transparent;
  color: #fff;
  transition: all 0.2s ease;
  text-decoration: none;
}
.main-navigation-menu-list .nav-link:hover, .main-navigation-menu-list .nav-link:focus {
  background: transparent;
  color: #B7B9B8;
}
/* Dropdown-Menü */
.dropdown-menu {
  background: rgba(0, 104, 156, 0.95);
  border: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  color: #fff;
}
.dropdown-menu .dropdown-item {
  color: #fff;
  text-decoration: none;
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus {
  background: rgba(0, 104, 156, 0.75);
  color: #B7B9B8;
}
/* ------------------------------------------------------------
   3. ACTIVE & SHOW STATES
   ------------------------------------------------------------ */
/* Aktive Hauptlinks */
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: #B7B9B8;
  background: transparent;
}
/* Blaue Standardlinie von Shopware ersetzen */
.main-navigation-link.root.active .main-navigation-link-text, .navbar-nav .nav-link.show .main-navigation-link-text {
  border-color: #fff;
}
/* ------------------------------------------------------------
   4. HEADER-GENERELLE LINKSTILE
   ------------------------------------------------------------ */
/* Allgemeine Header-Links */
.pmtheme-header a, .header-main a {
  color: #fff;
  text-decoration: none;
}
.pmtheme-header a:hover, .pmtheme-header a:focus, .pmtheme-header a.active, .pmtheme-header a.is-active, .header-main a:hover, .header-main a:focus, .header-main a.active, .header-main a.is-active {
  color: #B7B9B8;
  background: transparent;
  text-decoration: none;
  border-color: #fff;
}
/* Navigationslinks innerhalb des Headers */
.pmtheme-header .main-navigation-menu a.nav-link, .header-main .main-navigation-menu a.nav-link {
  color: #fff;
  background: transparent;
  text-decoration: none;
}
.pmtheme-header .main-navigation-menu a.nav-link:hover, .pmtheme-header .main-navigation-menu a.nav-link:focus, .pmtheme-header .main-navigation-menu a.nav-link.active, .pmtheme-header .main-navigation-menu a.nav-link.is-active, .nav-item.show > .pmtheme-header .main-navigation-menu a.nav-link, .header-main .main-navigation-menu a.nav-link:hover, .header-main .main-navigation-menu a.nav-link:focus, .header-main .main-navigation-menu a.nav-link.active, .header-main .main-navigation-menu a.nav-link.is-active, .nav-item.show > .header-main .main-navigation-menu a.nav-link {
  color: #B7B9B8;
  background: transparent;
  text-decoration: none;
}
/* Dropdown-Links im Header */
.pmtheme-header .dropdown-menu a.dropdown-item, .header-main .dropdown-menu a.dropdown-item {
  color: #fff;
  background: transparent;
  text-decoration: none;
}
.pmtheme-header .dropdown-menu a.dropdown-item:hover, .pmtheme-header .dropdown-menu a.dropdown-item:focus, .pmtheme-header .dropdown-menu a.dropdown-item.active, .pmtheme-header .dropdown-menu a.dropdown-item.is-active, .header-main .dropdown-menu a.dropdown-item:hover, .header-main .dropdown-menu a.dropdown-item:focus, .header-main .dropdown-menu a.dropdown-item.active, .header-main .dropdown-menu a.dropdown-item.is-active {
  color: #B7B9B8;
  background: transparent;
  text-decoration: none;
}
/* ============================================================
   Zusammengeführt aus ehem. _navigation-dropdown.scss
   (Dropdown/Flyout der Hauptnavigation)
   ============================================================ */
/* ============================================================
   PMTHEME – MODERNES DROPDOWN NUR FÜR DIE HAUPTNAVIGATION
   ============================================================ */
/*
  Verwendete Farbvariablen:
  - $navbar-dropdown-bg
  - $navbar-dropdown-text-color
  - $navbar-dropdown-hover-bg
  - $navbar-link-hover-color
*/
/* Top-Level-Navigationseintrag als Bezugspunkt */
.header-main .navbar-nav > .nav-item {
  position: relative;
}
/* Äußerer Container des Navigation-Flyouts */
.header-main .navigation-flyout.dropdown-menu {
  /* Standard-Bootstrap-Vorgaben bleiben, Position macht .dropdown-menu-end */
  width: auto !important;
  min-width: 15rem;
  max-width: 24rem;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin-top: 0rem;
  min-width: 300px;
}
.navigation-flyout-link {
  color: #fff;
}
/* Desktop-Flyout: Mindestbreite. Die Positionierung selbst steht
   gebuendelt am Dateiende (Abschnitt "FLYOUT-POSITIONIERUNG"), damit
   sie fuer beide Navigationsvarianten identisch gilt und sich die
   Regeln nicht ueber die Spezifitaet gegenseitig aushebeln. */
.header-main .navbar-nav > .nav-item.dropdown > .dropdown-menu {
  min-width: 300px;
}
.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: auto;
  margin-top: var(--bs-dropdown-spacer);
  min-width: 300px;
}
/* Alte Regel: das letzte Dropdown in DOM-Reihenfolge wurde pauschal
   rechtsbuendig gesetzt. Bei umgebrochener Navigation sass der Eintrag
   dann mittig, das Menue aber am rechten Rand. Ersetzt durch die
   messende Variante am Dateiende. */
/* Innenstruktur */
.header-main .navigation-flyout-content, .header-main .navigation-flyout-content-vertical {
  margin: 0;
  padding: 0;
}
/* Die "Karte" im Dropdown */
.header-main .navigation-flyout-categories-vertical {
  background: rgba(0, 104, 156, 0.95);
  color: #fff;
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  padding: 0.35rem 0;
}
/* Listen-Reset */
.header-main .navigation-flyout-list, .header-main .navigation-flyout-sublist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.header-main .navigation-flyout-item {
  margin: 0;
}
/* ========= LEVEL 0 – Hauptpunkte im Dropdown ========= */
.header-main .navigation-flyout-link.is-level-0 {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.55rem 1.1rem;
  color: #fff;
  background: transparent;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 300;
  transition: background-color 0.15s ease-out, color 0.15s ease-out, padding-left 0.15s ease-out;
}
/* Hover / Focus für Level 0 */
.header-main .navigation-flyout-link.is-level-0:hover, .header-main .navigation-flyout-link.is-level-0:focus {
  background: rgba(0, 104, 156, 0.75);
  color: #B7B9B8;
  padding-left: 1.35rem;
}
/* Klarer Fokus */
.header-main .navigation-flyout-link.is-level-0:focus-visible {
  outline: 2px solid #B7B9B8;
  outline-offset: -1px;
}
/* Trennlinien und abgerundete Ecken */
.header-main .navigation-flyout-list > .navigation-flyout-item.is-level-0 + .navigation-flyout-item.is-level-0 .navigation-flyout-link.is-level-0 {
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}
.header-main .navigation-flyout-list > .navigation-flyout-item:first-child .navigation-flyout-link.is-level-0 {
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
.header-main .navigation-flyout-list > .navigation-flyout-item:last-child .navigation-flyout-link.is-level-0 {
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
}
/* ========= LEVEL 1 – Sub-Sub-Kategorien =========
   WICHTIG zur Hierarchie-Klärung:
   Im gerenderten Markup ist die Hauptkategorie selbst NICHT im Dropdown
   (sie steht oben in der Navbar). Die direkten Unterkategorien werden mit
   .is-level-0 ausgegeben, deren Kinder (= Sub-Subs) mit .is-level-1.
   Daher hier:
     is-level-0 = "Sub-Kategorien"-Look
     is-level-1 = "Sub-Sub-Kategorien"-Look (eingerückt, dezenter)
   Diese Items sind immer sichtbar, sobald das Dropdown offen ist. */
.header-main .navigation-flyout-sublist {
  padding-bottom: 0.25rem;
}
.header-main .navigation-flyout-link.is-level-1 {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.3rem 1.1rem;
  padding-left: 2.4rem;
  /* deutlich tiefer eingerückt als Level 0 */
  color: #fff;
  opacity: 0.7;
  /* dezenter als Level 0 */
  font-size: 0.85rem;
  /* kleiner als Level 0 */
  font-weight: 300 !important;
  background: transparent;
  text-decoration: none;
  /* Kleiner Punkt als visueller Hierarchie-Indikator */
  transition: background-color 0.15s ease-out, color 0.15s ease-out, padding-left 0.15s ease-out, opacity 0.15s ease-out;
}
.header-main .navigation-flyout-link.is-level-1::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  margin-right: 0.6rem;
  background: currentColor;
  opacity: 0.5;
  flex-shrink: 0;
}
.header-main .navigation-flyout-link.is-level-1:hover, .header-main .navigation-flyout-link.is-level-1:focus {
  background: rgba(0, 104, 156, 0.75);
  color: #B7B9B8;
  padding-left: 2.6rem;
  opacity: 1;
}
.header-main .navigation-flyout-link.is-level-1:focus-visible {
  outline: 2px solid #B7B9B8;
  outline-offset: -1px;
}
/* Level-1 Sublist: immer sichtbar (mit ihrem Eltern-Item zusammen).
   Früher war hier ein display:none/hover-Toggle für ein anderes Theme-
   Setup ("Ulm/Augsburg"-Standort-Selektor). Das stört bei einer normalen
   Kategorienavigation und ist deshalb entfernt. */
.pmtheme-navbar__main .navigation-flyout-sublist.is-level-1 {
  padding-left: 0;
  margin-top: 0.1rem;
  margin-bottom: 0.2rem;
}
/* Konsistenz im pmtheme-nav--default Container */
.nav-main.pmtheme-nav--default .dropdown-menu .navigation-flyout-link.is-level-1 {
  font-weight: 300;
  opacity: 0.75;
}
/* Nur Level-0 Items, die eine Sublist haben, bekommen ein Icon */
.pmtheme-navbar__main .navigation-flyout-item.is-level-0:has(> .navigation-flyout-sublist.is-level-1) > .navigation-flyout-link.is-level-0 {
  position: relative;
  padding-right: 2rem;
  /* Platz für das Icon */
}
/* Icon selbst */
.pmtheme-navbar__main .navigation-flyout-item.is-level-0:has(> .navigation-flyout-sublist.is-level-1) > .navigation-flyout-link.is-level-0::after {
  content: "▸";
  /* Alternative: "›" oder "▾" */
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.6;
  font-size: 0.9rem;
}
/* Wenn Submenu sichtbar ist (Hover/Fokus), Icon drehen/wechseln */
.pmtheme-navbar__main .navigation-flyout-item.is-level-0:has(> .navigation-flyout-sublist.is-level-1):hover > .navigation-flyout-link.is-level-0::after, .pmtheme-navbar__main .navigation-flyout-item.is-level-0:has(> .navigation-flyout-sublist.is-level-1):focus-within > .navigation-flyout-link.is-level-0::after {
  content: "▾";
  opacity: 0.85;
}
/* Reduzierte Bewegung */
@media (prefers-reduced-motion: reduce) {
  .header-main .navigation-flyout-link {
    transition: none;
  }
}
.pmtheme-navbar-logo-left .navbar-nav .navigation-flyout-category-link a {
  color: #fff;
}
.pmtheme-navbar-logo-left .navbar-nav .navigation-flyout-category-link a:hover {
  color: #B7B9B8;
}
/* List-Style auf allen UL-Ebenen im Flyout entfernen
   (kein Bullet-Point, weder oben noch in den Subs). */
.navigation-flyout-categories-vertical ul {
  list-style: none !important;
  list-style-type: none !important;
}
/* Padding-Reset NUR auf die oberste UL (.navigation-flyout-list).
   Sub-Listen (.is-level-1 etc.) sollen ihr eigenes Padding behalten,
   sonst geht die hierarchische Einrückung der Sub-Sub-Items verloren. */
.navigation-flyout-categories-vertical > .navigation-flyout-list {
  padding-left: 0;
}
/* Top-Level-Nav-Items (direkte Kinder der Hauptnavigation) bekommen kein
   default-Padding. Wichtig: nur direkte Kinder via "> .nav-link", damit
   die Regel NICHT in das Flyout reingreift und dort die Einrückungen
   der is-level-X-Items zerstört. */
.pmtheme-navbar-logo-left .navbar-nav > .nav-item > .nav-link, .pmtheme-navbar-logo-left .navbar-nav > .nav-link {
  font-weight: 300;
  margin-left: 0px;
  padding-left: 0px;
}
.pmtheme-navbar-logo-left .navbar-nav .navigation-flyout-link {
  color: #fff !important;
}
.pmtheme-navbar-logo-left .navbar-nav .navigation-flyout-link:hover {
  color: #B7B9B8 !important;
}
/* ============================================================
   PMTHEME – DROPDOWN COLORS (DEFAULT NAV ONLY)
   Greift NUR in: .nav-main.pmtheme-nav--default
   (keine Abhängigkeit von .header-main)
   ============================================================ */
/* WICHTIG: Falls irgendwo eine einzelne Zeile "+" im CSS steht -> löschen!
   Das kann nachfolgende Regeln "kaputt" machen. */
/* 1) Dropdown-Grundfläche */
.nav-main.pmtheme-nav--default .dropdown-menu {
  background: rgba(0, 104, 156, 0.95);
  color: #fff;
}
/* 2) Shopware-Flyout Links sind .nav-link / .navigation-flyout-link
      NICHT .dropdown-item -> deshalb explizit darauf gehen */
.nav-main.pmtheme-nav--default .dropdown-menu a.navigation-flyout-link, .nav-main.pmtheme-nav--default .dropdown-menu a.nav-link.navigation-flyout-link {
  color: #fff;
  text-decoration: none;
}
/* 3) Hover/Focus Zustände im Dropdown */
.nav-main.pmtheme-nav--default .dropdown-menu a.navigation-flyout-link:hover, .nav-main.pmtheme-nav--default .dropdown-menu a.navigation-flyout-link:focus, .nav-main.pmtheme-nav--default .dropdown-menu a.nav-link.navigation-flyout-link:hover, .nav-main.pmtheme-nav--default .dropdown-menu a.nav-link.navigation-flyout-link:focus {
  color: #B7B9B8;
  background: rgba(0, 104, 156, 0.75);
  border-color: #fff;
}
/* 4) Falls Shopware/Bootstrap .nav-link Farben überschreibt, hier sauber kontern */
.nav-main.pmtheme-nav--default .dropdown-menu .nav-link {
  color: #fff;
}
/* 5) Level 0/1 optional getrennt (falls du später Unterschiede willst) */
.nav-main.pmtheme-nav--default .dropdown-menu .navigation-flyout-link.is-level-0 {
  font-weight: 300;
}
.nav-main.pmtheme-nav--default .dropdown-menu .navigation-flyout-link.is-level-1 {
  font-weight: 300;
  opacity: 0.9;
}
/* 6) "Zur Kategorie ..." Link (navigation-flyout-category-link) */
.nav-main.pmtheme-nav--default .dropdown-menu .navigation-flyout-category-link a {
  color: #fff;
  text-decoration: none;
}
.nav-main.pmtheme-nav--default .dropdown-menu .navigation-flyout-category-link a:hover, .nav-main.pmtheme-nav--default .dropdown-menu .navigation-flyout-category-link a:focus {
  color: #B7B9B8;
  text-decoration: none;
}
/* 7) Close-Button bleibt neutral (optional) */
.nav-main.pmtheme-nav--default .dropdown-menu .navigation-flyout-close {
  filter: none;
}
.dropdown-toggle::after {
  margin-left: 0em;
}
/* Close-Button im Navigation-Flyout */
.navigation-flyout-close.btn-close {
  --bs-btn-close-bg: none;
  position: relative;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  margin: 0;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  opacity: 1;
  box-shadow: none;
  filter: none;
}
.navigation-flyout-close.btn-close::before, .navigation-flyout-close.btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: #ffffff;
  border-radius: 999px;
  transform-origin: center;
}
.navigation-flyout-close.btn-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.navigation-flyout-close.btn-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.navigation-flyout-close.btn-close:hover, .navigation-flyout-close.btn-close:focus {
  background: var(--pm-accent);
  border-color: var(--pm-accent);
  opacity: 1;
  box-shadow: none;
}
.navigation-flyout-close.btn-close:hover::before, .navigation-flyout-close.btn-close:hover::after, .navigation-flyout-close.btn-close:focus::before, .navigation-flyout-close.btn-close:focus::after {
  background: #ffffff;
}
/* ============================================================
   FLYOUT-POSITIONIERUNG (umbruchsicher)
   ------------------------------------------------------------
   Bezugspunkt ist immer der Navi-Eintrag selbst, nicht der
   Viewport. Die Ausrichtung setzt navigation.js beim Oeffnen:

     Standard              -> linke Kante am Navi-Punkt
     .is-dropdown-end      -> rechte Kante am Navi-Punkt
     --pm-dropdown-shift   -> Feinverschiebung, wenn das Menue
                              breiter ist als der Platz daneben

   Wichtig: die Regeln gelten fuer BEIDE Navigationsvarianten
   (.nav-main und die in den Header integrierte Variante),
   deshalb ohne .header-main-Praefix. Popper-Transforms werden
   neutralisiert, die Verschiebung laeuft ueber die CSS-Variable.
   ============================================================ */
.navbar-nav > .nav-item {
  position: relative;
}
.navbar-nav > .nav-item.dropdown > .dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  bottom: auto !important;
  left: 0 !important;
  right: auto !important;
  transform: translateX(var(--pm-dropdown-shift, 0px)) !important;
}
.navbar-nav > .nav-item.dropdown.is-dropdown-end > .dropdown-menu {
  left: auto !important;
  right: 0 !important;
}
/* ------------------------------------------------------------------
   Hauptmenue: Unterstreichung des aktiven / ueberfahrenen Eintrags
   ------------------------------------------------------------------
   navbarLinkUnderlineColor hatte bisher keine Regel, die es liest. */
.pmtheme-navbar__main .navigation-flyout-link.is-level-0 {
  position: relative;
}
.pmtheme-navbar__main .navigation-flyout-link.is-level-0::before {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 0.35rem;
  height: 2px;
  background: #611E82;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.18s ease;
}
.pmtheme-navbar__main .navigation-flyout-link.is-level-0:hover::before, .pmtheme-navbar__main .navigation-flyout-link.is-level-0:focus-visible::before, .pmtheme-navbar__main .navigation-flyout-link.is-level-0.active::before, .pmtheme-navbar__main .navigation-flyout-link.is-level-0.is-active::before {
  transform: scaleX(1);
}
.footer-main {
  background-color: transparent;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url("https://caddata.shop.plum-medien.de/media/c2/8f/9f/1789035363/001--576173971.jpg?ts=1789035363");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #ffffff;
}
.footer-main a {
  text-decoration: none;
  color: #fff;
}
.footer-main a:hover {
  color: #00689C;
}
.footer-main h5, .footer-main .h5 {
  color: #ffffff;
}
.footer-main .footer-contact .contact-row {
  display: flex;
  align-items: center;
  line-height: 35px;
}
.footer-main .footer-contact .contact-row i {
  margin-right: 0.5rem;
  min-width: 1.5em;
  text-align: center;
}
.footer-main .footer-contact .contact-row.invisible-icon i {
  visibility: hidden;
}
.footer-main .footer-contact .h4 {
  color: #ffffff;
}
.footer-main .footer-logo {
  padding: 0px 0;
  margin-bottom: 0;
  margin-right: 0;
}
.footer-main .footer-standard .footer-logo {
  left: 0;
  display: flex;
  padding: 0px 0;
}
.footer-main .footer-4blocks .list-unstyled {
  line-height: 1.7rem;
}
.footer-main .footer-bottom {
  background: transparent;
  color: #ffffff;
}
.footer-main .effect:nth-child(2) {
  margin-top: 0px;
}
.footer-main .effect .buttons {
  margin-top: 15px;
  display: flex;
  justify-content: center;
}
.footer-main .effect a {
  text-decoration: none !important;
  color: #ffffff;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  margin-right: 20px;
  font-size: 22px;
  overflow: hidden;
  position: relative;
}
.footer-main .effect a:last-child {
  margin-right: 0;
}
.footer-main .effect a i {
  position: relative;
  z-index: 3;
}
.footer-main .effect a.fb {
  background-color: #3b5998;
}
.footer-main .effect a.insta {
  background: linear-gradient(35deg, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5 100%);
}
.footer-main .effect a.tik, .footer-main .effect a.twitter {
  background-color: #000;
  border: solid 2px #000;
}
.footer-main .effect a.whatsapp {
  background-color: #25d366;
}
.footer-main .effect.social-media a {
  transition: transform 0.2s linear, border-radius 0.2s linear 0.2s;
}
.footer-main .effect.social-media a i {
  transition: transform 0.2s linear;
}
.footer-main .effect.social-media a:hover {
  transform: rotate(-90deg);
  border-radius: 50%;
  color: #fff;
}
.footer-main .effect.social-media a:hover svg {
  transform: rotate(90deg) !important;
}
.footer-main .title-social-media, .footer-main .title-social-media-kontakt {
  display: flex;
  justify-content: center;
  text-transform: uppercase;
  color: #ffffff;
}
.footer-main .line-social {
  position: relative;
  width: 100%;
  height: 4px;
  bottom: 13px;
  border-top: none;
  margin-top: 0;
  background: linear-gradient(to right, white 30%, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0) 70%, white 70%);
}
@media (min-width: 992px) {
  .footer-4blocks .footer-vat {
    text-align: left;
  }
  .footer-main .effect:before {
    width: 80%;
  }
}
@media (prefers-reduced-motion) {
  .footer-main .effect.social-media a {
    transition: none;
  }
  .footer-main .effect.social-media a:hover {
    transform: none;
    border-radius: 50%;
    color: #fff;
  }
  .footer-main .effect.social-media a:hover svg {
    transform: none !important;
  }
}
/* ===== PMTheme: Footer Headlines ===== */
/* Hinweis: Im 4-Block-Footer hängt .footer-headline am Toggle-Label.
   Wir geben hier kompakte, mobil-freundliche Headline-Werte vor,
   damit die Listen nicht so weit nach unten geschoben werden. */
.footer-headline {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
  margin-bottom: 0;
  line-height: 1.3;
}
/* ===== PMTheme: Footer Collapse ===== */
.footer-collapse {
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.footer-collapse.is-collapsed {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.footer-collapse:not(.is-collapsed) {
  max-height: 500px;
}
.footer-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0.4rem 0;
  border: none;
  background: transparent;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  cursor: pointer;
  text-align: left;
  color: #ffffff;
}
.footer-toggle .footer-toggle-label {
  flex: 1;
  text-align: left;
  font-size: 0.95rem;
  line-height: 1.3;
  color: #ffffff;
  margin-bottom: 0;
}
.footer-toggle .footer-plus, .footer-toggle .footer-minus {
  flex: 0 0 auto;
  margin-left: 1rem;
  font-size: 1.4rem;
  line-height: 1;
  color: inherit;
}
.footer-toggle .footer-icon {
  flex: 0 0 auto;
  margin-left: 1rem;
}
@media (min-width: 992px) {
  .linklisten {
    margin-top: 70px;
  }
}
/* ---------------------------
   Mobile-Logik (<= 767.98px)
---------------------------- */
.footer-toggle .footer-minus {
  display: none;
}
.footer-toggle[aria-expanded="true"] .footer-plus {
  display: none;
}
.footer-toggle[aria-expanded="true"] .footer-minus {
  display: inline-block;
}
/* ---------------------------
   Desktop-Logik (>= 768px)
---------------------------- */
@media (min-width: 768px) {
  /* Auf Desktop sind die Linklisten IMMER sichtbar – das Initial-Markup
     trägt class="footer-collapse is-collapsed", weil es so ausgeliefert
     wird, damit Mobile zugeklappt startet. Hier zwingen wir die Sichtbarkeit. */
  .footer-toggle {
    pointer-events: none;
    cursor: default;
    padding: 0;
  }
  .footer-toggle .footer-plus, .footer-toggle .footer-minus {
    display: none !important;
  }
  .footer-collapse, .footer-collapse.is-collapsed {
    max-height: none;
    overflow: visible;
    padding: 0;
  }
}
/* ============================================================
   FOOTER MINIMAL – PMTHEME
   ============================================================ */
.footer-minimal .footer-bottom {
  background-color: transparent;
  color: #ffffff;
  text-align: center;
  padding: 2rem 0 1rem 0;
  font-size: 0.95rem;
  line-height: 1.5;
}
.footer-minimal .footer-bottom .footer-service-menu-list {
  margin-bottom: 1rem;
  gap: 1rem;
}
.footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item {
  margin: 0 0.75rem;
}
.footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item .footer-service-menu-link {
  position: relative;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.25s ease, transform 0.25s ease;
}
.footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item .footer-service-menu-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: #00689C;
  transition: width 0.25s ease;
}
.footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item .footer-service-menu-link:hover, .footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item .footer-service-menu-link:focus {
  color: #00689C;
  transform: translateY(-1px);
}
.footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item .footer-service-menu-link:hover::after, .footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item .footer-service-menu-link:focus::after {
  width: 100%;
}
.footer-minimal .footer-bottom .footer-service-menu-list .footer-service-menu-item .footer-service-menu-link:active {
  transform: translateY(0);
  opacity: 0.9;
}
.footer-minimal .footer-bottom .footer-vat {
  margin-bottom: 1rem;
}
.footer-minimal .footer-bottom .footer-vat p {
  margin: 0;
  font-size: 0.85rem;
}
.footer-minimal .footer-bottom .footer-vat p a {
  position: relative;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.25s ease, transform 0.25s ease;
}
.footer-minimal .footer-bottom .footer-vat p a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: #00689C;
  transition: width 0.25s ease;
}
.footer-minimal .footer-bottom .footer-vat p a:hover, .footer-minimal .footer-bottom .footer-vat p a:focus {
  color: #00689C;
  transform: translateY(-1px);
}
.footer-minimal .footer-bottom .footer-vat p a:hover::after, .footer-minimal .footer-bottom .footer-vat p a:focus::after {
  width: 100%;
}
.footer-minimal .footer-bottom .footer-copyright {
  font-size: 0.8rem;
  opacity: 0.8;
}
.footer-minimal .footer-bottom .footer-copyright svg {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-right: 4px;
  fill: #ffffff;
  opacity: 0.6;
  transition: opacity 0.2s ease;
}
.footer-minimal .footer-bottom .footer-copyright:hover svg {
  opacity: 1;
}
@media (max-width: 768px) {
  .footer-minimal .footer-bottom {
    padding: 1.5rem 0;
    font-size: 0.9rem;
  }
  .footer-minimal .footer-bottom .footer-service-menu-list {
    flex-direction: column;
    gap: 0.5rem;
  }
}
/* Logo im Footer – Mobile kompakt, Desktop deutlich präsenter.
   Hinweis: Das ausgelieferte Markup ist
       <picture class="header-logo-picture">
         <img class="img-fluid footer-logo-image">
   Bootstrap's .img-fluid setzt width:auto + max-width:100%, deshalb
   skaliert das SVG ohne explizite width/max-width nicht in den verfügbaren
   Platz hinein. Wir treiben die Größe daher direkt am img-Element. */
.footer-logo {
  /* Container darf so breit werden wie nötig, damit das Logo Platz hat. */
  /* Mobile-Default */
}
.footer-logo .header-logo-picture {
  max-width: 100%;
  display: block;
}
.footer-logo .footer-logo-image, .footer-logo .header-logo-main-img, .footer-logo img {
  height: auto;
  width: 100%;
  max-width: 150px;
  max-height: 150px;
}
/* Auf Desktop ist 150px sehr klein – das Logo darf hier deutlich
   großzügiger werden, da in der Spalte 5 genug Platz ist. */
@media (min-width: 992px) {
  .footer-logo .footer-logo-image, .footer-logo .header-logo-main-img, .footer-logo img {
    max-width: 280px;
    max-height: 240px;
  }
}
/* -------------------- Footer Divider -------------------- */
/* Wrapper um den Footer – eigener Stacking-Context */
.footer-wrapper {
  position: relative;
  z-index: 4;
  /* steht über dem vorherigen Inhalt */
  overflow: visible;
  /* Divider darf nach oben rausgucken */
}
/* Divider als Pseudo-Element */
.footer-wrapper::before {
  content: "";
  position: absolute;
  top: -340px;
  /* wie weit er ins vorherige Element ragt */
  left: 0;
  width: 100%;
  height: 345px;
  /* HINWEIS: hier stand die Media-URL eines anderen Shops
       (baeume_hintergrund.svg). Die ID existiert in diesem Shop nicht, das
       Bild lief also ins Leere. Bei Bedarf eigene Datei eintragen:
       background: url('/media/xx/xx/xx/000000000/datei.svg')
                   no-repeat bottom center;
       background-size: cover; */
  background: none;
  z-index: 0;
  /* unter dem Footer-Inhalt, aber im selben Kontext */
  pointer-events: none;
}
/* Footer-Inhalt selbst: über dem Divider */
.footer-wrapper .footer-4blocks {
  position: relative;
  z-index: 1;
  /* liegt vor dem ::before */
}
/* *** Wie in deinem Beispiel: große Screens leicht anders skalieren *** */
@media (min-width: 1800px) {
  .footer-wrapper::before {
    top: -470px;
    height: 480px;
  }
}
@media (min-width: 2400px) {
  .footer-wrapper::before {
    top: -500px;
    height: 520px;
  }
}
/* *** Tablets *** */
@media (max-width: 1024px) {
  .footer-wrapper::before {
    top: -330px;
    height: 345px;
  }
}
/* *** Mobile *** */
@media (max-width: 768px) {
  /* Bottom-Sheet-Trigger ist 56px hoch und liegt fixed über dem Footer.
       Damit er die letzten Footer-Zeilen nicht überdeckt, geben wir der
       Footer-Main unten ausreichend Platz. */
  /* Spalten-Abstände reduzieren – Bootstrap setzt mt-3 (1rem),
       das ist für Accordion-Stack auf Mobile zu viel. */
  /* Mehrere Stacks innerhalb einer Spalte (z.B. D+E, F+G) eng aneinander. */
  /* Toggle kompakter: weniger Padding, kein Border mehr (Trennlinien sind
       auf dem dunklen Hintergrund eh kaum sichtbar). */
  /* Liste kompakter: kein zusätzliches Padding-Bottom. */
  .footer-wrapper::before {
    top: -198px;
    height: 200px;
    background-size: contain;
    /* wie in deinem Beispiel */
  }
  .footer-main {
    padding-bottom: 5rem;
  }
  .footer-5cols .footer-columns > [class*="col-"].mt-3 {
    margin-top: 0.25rem !important;
  }
  .footer-stack.mt-3 {
    margin-top: 0 !important;
  }
  .footer-toggle {
    padding: 0.25rem 0;
    border-top: none;
  }
  .footer-collapse:not(.is-collapsed) {
    padding-bottom: 0.25rem;
  }
}
/* ============================================================
   Zusammengeführt aus ehem. _footer-shoplinks.scss
   (Footer-Variante „shoplinks")
   ============================================================ */
/* =============================================================
   FOOTER-VARIANTE „shoplinks"
   -------------------------------------------------------------
   Großzügiger Footer für Shops mit vielen Footer-Kategorien.
   Aufbau:

       .footer-shoplinks
         .footer-shoplinks-dark        ← dunkler Bereich
            .footer-shoplinks-links    ← Linklisten
            .footer-shoplinks-brandbar ← 2 Zeilen, 3 Spalten
                Zeile 1: Service-Links | LOGO | Social-Icons
                Zeile 2: MwSt-Hinweis  |  -   | Payment+Shipping
         .footer-shoplinks-light       ← heller Bereich
            .footer-shoplinks-bottom   ← Copyright

   Farbgebung:
       Dunkel: schwarz, Schrift hell
       Hell:   weiß, Schrift dunkelgrau

   Anpassungen sind über die hier definierten lokalen Variablen
   möglich. Wenn dein Theme bereits eigene Variablen für Footer-
   Farben hat, einfach hier zuweisen.
   ============================================================= */
/* Shoplinks-Variante
   ------------------------------------------------------------------
   Diese Variablen waren hier fest verdrahtet. Dadurch war GENAU DIESE
   Variante ueber die Footer-Konfiguration nicht erreichbar - keine der
   Einstellungen im Tab "Footer" hatte eine Wirkung, obwohl es der
   Footer ist, den dieser Shop verwendet.

   Die Namen bleiben, damit die 27 Regeln weiter unten unveraendert
   bleiben koennen; sie zeigen jetzt aber auf dieselben Felder wie die
   uebrigen Varianten.

   Die -light-Reihe ist die untere Leiste mit dem Copyright. Sie folgt
   jetzt footerBottomBgColor und footerBottomTextColor. */
.footer-shoplinks {
  width: 100%;
  /* ---------------------------------------------------------
       Dunkler Bereich
       --------------------------------------------------------- */
  /* ---------------------------------------------------------
       1) Link-Zeile
       --------------------------------------------------------- */
  /* ---------------------------------------------------------
       2) Brandbar – 2 Zeilen, 3 Spalten
       ---------------------------------------------------------
       Layout (Desktop ≥ 768px):

           ┌─────────────────┬───────────┬─────────────────────┐
           │ Service-Links   │   LOGO    │ Social-Icons        │
           ├─────────────────┤           ├─────────────────────┤
           │ MwSt-Hinweis    │           │ Payment + Shipping  │
           └─────────────────┴───────────┴─────────────────────┘

       Auf Mobile (≤ 767px) stapelt sich alles untereinander
       und wird zentriert.
       --------------------------------------------------------- */
  /* Grid-Areas zuweisen (greift nur auf Desktop) */
  /* ---- Logo (mittig) ---- */
  /* ---- Service-Links (oben links) ---- */
  /* ---- VAT-Hinweis (unten links) ---- */
  /* ---- Social-Icons (oben rechts) ---- */
  /* ---- Payment- + Shipping-Logos (unten rechts) ---- */
  /* ---------------------------------------------------------
       3) Heller Bereich – nur Copyright
       --------------------------------------------------------- */
}
.footer-shoplinks .footer-shoplinks-dark {
  background-color: transparent;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url("https://caddata.shop.plum-medien.de/media/c2/8f/9f/1789035363/001--576173971.jpg?ts=1789035363");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #ffffff;
  padding-top: 2rem;
}
.footer-shoplinks .footer-shoplinks-dark a {
  color: #fff;
  text-decoration: none;
  transition: color 0.15s ease;
}
.footer-shoplinks .footer-shoplinks-dark a:hover, .footer-shoplinks .footer-shoplinks-dark a:focus {
  color: #00689C;
}
.footer-shoplinks .footer-shoplinks-links {
  padding-bottom: 1rem;
  /* Roots ohne Kinder: Headline ist selbst der Link.
           Optisch identisch zur Toggle-Variante. */
  /* Auf Desktop: Toggle-Button inert, Liste immer sichtbar. */
}
.footer-shoplinks .footer-shoplinks-links .footer-toggle {
  background: none;
  border: 0;
  padding: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.footer-shoplinks .footer-shoplinks-links .footer-headline {
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 0.4rem;
  letter-spacing: 0.02em;
}
.footer-shoplinks .footer-shoplinks-links .footer-headline-only {
  display: block;
  margin-bottom: 0.4rem;
}
.footer-shoplinks .footer-shoplinks-links .footer-headline-link {
  display: inline-block;
  margin-bottom: 0;
  color: inherit;
}
.footer-shoplinks .footer-shoplinks-links .footer-headline-link:hover, .footer-shoplinks .footer-shoplinks-links .footer-headline-link:focus {
  color: #00689C;
}
.footer-shoplinks .footer-shoplinks-links .footer-links {
  margin-top: 0.15rem;
  margin-bottom: 0;
}
.footer-shoplinks .footer-shoplinks-links .footer-links .footer-link-item {
  line-height: 1.3;
  margin-bottom: 0.2rem;
}
.footer-shoplinks .footer-shoplinks-links .footer-links a {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
}
.footer-shoplinks .footer-shoplinks-links .footer-links a:hover, .footer-shoplinks .footer-shoplinks-links .footer-links a:focus {
  color: #fff;
}
.footer-shoplinks .footer-shoplinks-links .footer-stack + .footer-stack {
  padding-top: 0.6rem;
}
@media (min-width: 768px) {
  .footer-shoplinks .footer-shoplinks-links .footer-toggle {
    pointer-events: none;
    cursor: default;
  }
  .footer-shoplinks .footer-shoplinks-links .footer-plus, .footer-shoplinks .footer-shoplinks-links .footer-minus {
    display: none;
  }
  .footer-shoplinks .footer-shoplinks-links .footer-collapse {
    display: block !important;
    height: auto !important;
  }
}
.footer-shoplinks .footer-shoplinks-brandbar {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
@media (min-width: 768px) {
  .footer-shoplinks .footer-shoplinks-brandbar {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: "service logo  social" "vat     logo  payship";
    column-gap: 1.5rem;
    row-gap: 0.75rem;
    align-items: center;
  }
}
@media (max-width: 767.98px) {
  .footer-shoplinks .footer-shoplinks-brandbar {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }
}
.footer-shoplinks .footer-shoplinks-brandbar-service {
  grid-area: service;
}
.footer-shoplinks .footer-shoplinks-brandbar-logo {
  grid-area: logo;
}
.footer-shoplinks .footer-shoplinks-brandbar-social {
  grid-area: social;
}
.footer-shoplinks .footer-shoplinks-brandbar-vat {
  grid-area: vat;
}
.footer-shoplinks .footer-shoplinks-brandbar-payship {
  grid-area: payship;
}
.footer-shoplinks .footer-shoplinks-brandbar-logo {
  text-align: center;
  /* Alle Wrapper, die das Standard-Shopware-Logo-Template
           setzt, sollen sich nicht in der Größe austoben. */
  /* Eigentliches Logo: feste Höhe, sonst kollabieren
           SVGs ohne intrinsische Maße (nur viewBox) auf 0.
           `width: auto` lässt den Browser die Breite aus dem
           viewBox-Verhältnis berechnen. */
}
.footer-shoplinks .footer-shoplinks-brandbar-logo a, .footer-shoplinks .footer-shoplinks-brandbar-logo .header-logo-main, .footer-shoplinks .footer-shoplinks-brandbar-logo .header-logo-main-link, .footer-shoplinks .footer-shoplinks-brandbar-logo picture, .footer-shoplinks .footer-shoplinks-brandbar-logo .header-logo-picture {
  display: inline-block;
  line-height: 0;
}
.footer-shoplinks .footer-shoplinks-brandbar-logo img {
  height: 56px;
  max-height: 56px;
  width: auto;
  display: inline-block;
}
@media (min-width: 768px) {
  .footer-shoplinks .footer-shoplinks-brandbar-logo {
    grid-row: span 2;
    /* zieht sich über beide Zeilen */
    min-width: 140px;
    /* verhindert Kollaps der mittleren Spalte */
    padding: 0 1rem;
  }
}
.footer-shoplinks .footer-shoplinks-brandbar-service .footer-shoplinks-servicelinks-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1.25rem;
  margin: 0;
  padding: 0;
}
.footer-shoplinks .footer-shoplinks-brandbar-service .footer-shoplinks-servicelinks-list li {
  line-height: 1.4;
}
.footer-shoplinks .footer-shoplinks-brandbar-service .footer-shoplinks-servicelinks-list a {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
}
.footer-shoplinks .footer-shoplinks-brandbar-service .footer-shoplinks-servicelinks-list a:hover, .footer-shoplinks .footer-shoplinks-brandbar-service .footer-shoplinks-servicelinks-list a:focus {
  color: #fff;
}
@media (max-width: 767.98px) {
  .footer-shoplinks .footer-shoplinks-brandbar-service .footer-shoplinks-servicelinks-list {
    justify-content: center;
  }
}
.footer-shoplinks .footer-shoplinks-brandbar-vat {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
.footer-shoplinks .footer-shoplinks-brandbar-vat p {
  margin: 0;
}
.footer-shoplinks .footer-shoplinks-brandbar-vat a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: underline;
}
.footer-shoplinks .footer-shoplinks-brandbar-vat a:hover, .footer-shoplinks .footer-shoplinks-brandbar-vat a:focus {
  color: #fff;
}
.footer-shoplinks .footer-shoplinks-brandbar-social {
  display: flex;
  justify-content: flex-end;
  /* Optische Ausrichtung: Der Social-Button hat einen
           runden Hintergrund, der breiter ist als das eigentliche
           Icon. Dadurch wirken die Socials gegenüber den
           Payment-Logos darunter „eingerückt" zur Mitte hin.
           Mit negativem rechten Margin schieben wir die ganze
           Reihe so, dass das sichtbare Icon (nicht der
           Hintergrundkreis) bündig mit der rechten Kante
           der Payment-Logos endet. */
}
@media (max-width: 767.98px) {
  .footer-shoplinks .footer-shoplinks-brandbar-social {
    justify-content: center;
  }
}
.footer-shoplinks .footer-shoplinks-brandbar-social .effect.social-media, .footer-shoplinks .footer-shoplinks-brandbar-social .footer-shoplinks-social {
  margin-right: 1rem;
}
.footer-shoplinks .footer-shoplinks-brandbar-social .effect.social-media .buttons, .footer-shoplinks .footer-shoplinks-brandbar-social .footer-shoplinks-social .buttons {
  display: inline-flex;
  gap: 0.5rem;
}
.footer-shoplinks .footer-shoplinks-brandbar-social a {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.08);
  color: #fff;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.footer-shoplinks .footer-shoplinks-brandbar-social a:hover, .footer-shoplinks .footer-shoplinks-brandbar-social a:focus {
  background-color: rgba(255, 255, 255, 0.18);
  transform: translateY(-1px);
}
.footer-shoplinks .footer-shoplinks-brandbar-social a i {
  font-size: 1rem;
}
.footer-shoplinks .footer-shoplinks-brandbar-payship .footer-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem 0.75rem;
}
@media (max-width: 767.98px) {
  .footer-shoplinks .footer-shoplinks-brandbar-payship .footer-logos {
    justify-content: center;
  }
}
.footer-shoplinks .footer-shoplinks-brandbar-payship .footer-logo {
  display: inline-flex;
  align-items: center;
  /* Zahlungs- und Versand-Logos: einheitliche Höhe.
               Da die Bilder bereits weiße Kästen mitbringen,
               kein zusätzlicher Hintergrund/Filter nötig. */
}
.footer-shoplinks .footer-shoplinks-brandbar-payship .footer-logo.is-payment .footer-logo-image, .footer-shoplinks .footer-shoplinks-brandbar-payship .footer-logo.is-shipping .footer-logo-image {
  height: 25px;
  width: auto;
  max-height: 25px;
  display: block;
}
.footer-shoplinks .footer-shoplinks-light {
  background-color: #252930;
  color: #333333;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.footer-shoplinks .footer-shoplinks-bottom {
  padding-top: 0.85rem;
  padding-bottom: 0.85rem;
  font-size: 0.85rem;
  text-align: right;
}
@media (max-width: 767.98px) {
  .footer-shoplinks .footer-shoplinks-bottom {
    text-align: center;
  }
}
.footer-shoplinks .footer-shoplinks-copyright {
  color: #333333;
}
/* ============================================================
   Spezielle Hintergrund-Elemente (hartcodiert, opt-in)
   ============================================================
   Diese Bilder sind bewusst NICHT ueber theme.json oder config.xml
   konfigurierbar - sie gehoeren zu bestimmten Shops und werden dort
   per Klasse zugeschaltet.

   Verwendung: die Klasse am jeweiligen Element ergaenzen, z. B. im
   CMS-Layout oder per Twig-Override:

       <footer class="footer-main pm-bg-holz">

   Ohne Klasse gilt die Footer-Konfiguration (Farbe bzw. Bild aus
   dem Feld "Footer - Hintergrundbild").
   ============================================================ */
.footer-main.pm-bg-holz, .footer-shoplinks-dark.pm-bg-holz, .pm-maintenance .footer-main.pm-bg-holz, .pm-maintenance .footer-bottom.pm-bg-holz, .pm-maintenance .footer-minimal.pm-bg-holz {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url("/media/f2/f1/d1/1783491722/001--340902266.jpg?ts=1783491722") center / cover no-repeat;
}
/* Trenner-Grafik oberhalb des Footers */
.footer-divider.pm-bg-baeume {
  background: url("/media/8b/b4/52/1764238163/baeume_hintergrund.svg?ts=1764238163") no-repeat bottom center;
  background-size: cover;
}
/* Gemusterte Flaeche hinter der USP-Leiste */
.section-usp-footer-bar.pm-bg-muster {
  background: url("/media/94/0b/46/1783491722/002--303637766.jpg?ts=1783491722");
  background-repeat: repeat;
  background-size: contain;
}
/* ------------------------------------------------------------------
   Ueberschriften und Icons
   ------------------------------------------------------------------
   footerHeadlineColor und footerIconColor waren bisher ohne Wirkung -
   es gab keine Regel, die sie gelesen hat. */
.footer-main .footer-headline, .footer-shoplinks .footer-headline, .footer-shoplinks .footer-headline-link {
  color: #ffffff;
}
.footer-main .footer-contact .icon, .footer-shoplinks .icon {
  color: #fff;
}
/* CSS Document */
.section-usp-footer-bar {
  position: relative;
  padding: 5% 0%;
  text-align: center;
  overflow: hidden;
  /* Hintergrundbild kommt aus der Plugin-Konfiguration (uspFooterBgImage)
       und wird in usp-footer.html.twig als Inline-Style gesetzt. Hier stand
       zuvor ein festes Bild eines anderen Shops, dessen Media-ID in diesem
       Shop nicht existiert - und das per background-Shorthand die
       konfigurierte Farbe mit ueberschrieben hat. */
  background-repeat: repeat;
  background-size: contain;
  /* ----------------------------------------------------------------
       Icon-Container – vier Varianten (Auswahl in der Plugin-Konfig):
         .usp-footer-icon--fontawesome  -> <i class="fa-solid fa-...">
         .usp-footer-icon--svg          -> <img> mit Originalfarben
         .usp-footer-icon--svg-masked   -> <span> mit CSS-Mask, nimmt Iconfarbe
         .usp-footer-icon--inline       -> direkt eingefuegtes <svg>

       WICHTIG zur Groesse: FontAwesome rendert seine Icons ueber die
       HOEHE (svg { height: 1em }), die Breite ergibt sich aus dem
       Seitenverhaeltnis. Eigene SVGs muessen deshalb ebenfalls ueber die
       Hoehe skaliert werden – nicht ueber eine quadratische Box mit
       object-fit: contain. Sonst wird ein SVG mit breitem oder nicht
       quadratischem viewBox kleiner gerendert als die FA-Icons daneben.

       --pm-usp-icon-scale kommt optional als Inline-Style aus dem Template
       (Feld "USP-Icon X – Groesse (%)") und gleicht Innenabstand im viewBox
       des hochgeladenen SVG aus.
       ---------------------------------------------------------------- */
  /* FontAwesome: die JS-Variante (all.min.js) ersetzt <i> zur Laufzeit
       durch <svg class="svg-inline--fa">. Beide Zustaende abdecken. */
  /* Inline eingefuegtes SVG: hoehenbasiert wie FontAwesome.
       Uebernimmt ueber currentColor die Iconfarbe, sofern im SVG
       fill="currentColor" gesetzt ist. */
  /* SVG-Datei mit Originalfarben – ebenfalls hoehenbasiert. */
  /* SVG-Datei, eingefaerbt in der Iconfarbe (CSS-Mask).
       mask-size: auto 100% = auf die Hoehe der Box skalieren, Breite
       nach Seitenverhaeltnis – analog zum <img> oben.
       Die URL kommt per Inline-Style als --pm-usp-icon-url vom Template. */
}
.section-usp-footer-bar .usp-footer-overlay {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(25, 58, 143, 0.7);
  opacity: 0.4;
  z-index: 1;
}
.section-usp-footer-bar .container, .section-usp-footer-bar .cms-section .boxed, .cms-section .section-usp-footer-bar .boxed {
  position: relative;
  z-index: 2;
  color: #ffffff;
}
.section-usp-footer-bar .usp-footer-bar-title {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 2rem;
  color: #FFDB00;
}
.section-usp-footer-bar .usp-footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
}
.section-usp-footer-bar .usp-footer-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-usp-footer-bar .usp-footer-icon {
  --pm-usp-icon-base: 3rem;
  --pm-usp-icon-size: calc(var(--pm-usp-icon-base) * var(--pm-usp-icon-scale, 1));
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--pm-usp-icon-size);
  margin-bottom: 1rem;
  color: #FFDB00;
}
.section-usp-footer-bar .usp-footer-icon > i, .section-usp-footer-bar .usp-footer-icon > svg.svg-inline--fa {
  font-size: inherit;
  line-height: 1;
}
.section-usp-footer-bar .usp-footer-icon > svg:not(.svg-inline--fa) {
  height: var(--pm-usp-icon-size);
  width: auto;
  max-width: 100%;
  display: block;
  fill: currentColor;
}
.section-usp-footer-bar .usp-footer-icon__img {
  height: var(--pm-usp-icon-size);
  width: auto;
  max-width: 100%;
  display: block;
}
.section-usp-footer-bar .usp-footer-icon__mask {
  display: block;
  width: 100%;
  height: var(--pm-usp-icon-size);
  background-color: currentColor;
  -webkit-mask-image: var(--pm-usp-icon-url);
  mask-image: var(--pm-usp-icon-url);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
}
.section-usp-footer-bar .usp-footer-text {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.section-usp-footer-bar .usp-footer-desc {
  font-size: 18px;
  max-width: 250px;
}
@media (max-width: 767.98px) {
  .section-usp-footer-bar {
    padding: 4rem 0rem 8rem 0rem;
  }
  .section-usp-footer-bar .usp-footer-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .section-usp-footer-bar .usp-footer-item {
    max-width: 90%;
    margin: 0 auto;
  }
  .section-usp-footer-bar .usp-footer-icon {
    --pm-usp-icon-base: 2.5rem;
    width: 70px;
    height: 70px;
  }
}
/* ============================================================
   PMTHEME - TOP INFO BAR
   ============================================================ */
.top-info-bar {
  /* Hintergrund aus der Theme-Konfiguration (Tab "Info-Leiste").
     Der Default von infoBarBgAdvanced ist genau der Verlauf, der hier
     vorher fest einprogrammiert war - die Optik bleibt also gleich,
     ist ab jetzt aber einstellbar. Feld leeren = einfache
     Zwei-Farb-Variante aus infoBarBgColor / infoBarBgColorSecond. */
  background-color: transparent;
  background-image: linear-gradient(135deg, #1A1A18 0%, #555555 50%, #1A1A18 80%, #555555 100%);
  color: #ffffff;
  transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  padding: 12px 0;
  /* ============================================================
     CONTAINER
     ============================================================ */
  /* ============================================================
     ITEM
     ============================================================ */
  /* ============================================================
     ICON
     ============================================================ */
  /* ============================================================
     TEXT-BLOCK
     ============================================================ */
}
.top-info-bar.hidden {
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
}
.top-info-bar a {
  color: #fff;
  text-transform: none;
  text-decoration: none;
}
.top-info-bar a:hover {
  color: #ffffff;
  text-decoration: underline;
}
.top-info-bar__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-around;
  padding: 0.5rem 0;
  gap: 0.8rem;
}
@media (min-width: 768px) {
  .top-info-bar__content {
    flex-direction: row;
    align-items: center;
    justify-content: space-evenly;
    gap: 1rem;
  }
}
@media (min-width: 1200px) {
  .top-info-bar__content {
    gap: 2rem;
  }
}
.top-info-bar__item {
  display: flex;
  align-items: center;
  color: #ffffff;
  text-align: left;
  line-height: 1.4;
  margin: 0.3rem 0;
}
@media (min-width: 992px) {
  .top-info-bar__item {
    margin: 0;
  }
}
.top-info-bar__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  /* Groessen kommen aus der Konfiguration (Info-Leiste -> Farben).
       Vorher standen hier feste 2.9rem und der Kreis war nicht
       abschaltbar - die drei Felder hatten keine Wirkung. */
  width: 2.4;
  height: 2.4;
  min-width: 2.4;
  min-height: 2.4;
  border: 2px solid #fff;
  border-radius: 50%;
  flex-shrink: 0;
  margin-right: 0.6rem;
  color: #fff;
  background: transparent;
  box-sizing: border-box;
}
.top-info-bar__icon .icon {
  font-size: 1;
  line-height: 1;
  display: block;
  text-align: center;
  color: #fff;
}
@media (min-width: 992px) {
  .top-info-bar__icon {
    width: 3.2rem;
    height: 3.2rem;
    min-width: 3.2rem;
    min-height: 3.2rem;
    border-width: 3px;
  }
  .top-info-bar__icon .icon {
    font-size: 1.5rem;
  }
}
.top-info-bar__outer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 0.5em;
}
.top-info-bar__inner {
  display: flex;
  font-size: 0.9em;
  text-align: start;
}
@media (min-width: 992px) {
  .top-info-bar__inner {
    font-size: 1em;
  }
}
/* ============================================================
   BREAKPOINT REFINEMENT (NEU) – korrekt einsortiert
   Wichtig: Diese Regeln greifen auch auf Mobile, daher
   muss die Mobile-Grid-Variante darunter kommen, damit
   sie auf kleinen Screens wieder gewinnt.
   ============================================================ */
/* ============================================================
   BREAKPOINT REFINEMENT (Desktop & Large Tablet only)
   Mobile wird bewusst ausgeschlossen
   ============================================================ */
/* ============================================================
   BREAKPOINT REFINEMENT
   Hinweis: Im Twig wurde von .container (Bootstrap, fixe max-widths)
   auf .container-fluid (volle Breite) umgestellt. Deshalb müssen wir
   die seitlichen Abstände jetzt selbst kontrollieren – kein Bootstrap
   schiebt mehr Margins rein.

   Ziel: Auf mittleren Breiten (Laptops, ~1280–1700px) bleibt alles
   in einer Zeile, ohne dass Texte umbrechen. Auf großen Screens
   wirkt die Bar großzügig, auf kleinen kompakt.
   ============================================================ */
/* Default für Desktop ab 1200px: Container füllt Viewport, moderate
   Side-Paddings. Auf sehr großen Screens (≥1700px) gibt eine max-width
   die Bar wieder auf eine handhabbare Breite zurück. */
@media (min-width: 1200px) {
  .top-info-bar .container-fluid, .top-info-bar .container-xs {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
/* Großer Desktop ab 1700px: Container darf großzügig sein, aber nicht
   ins Endlose. Inhalt wird zentriert begrenzt. */
@media (min-width: 1700px) {
  .top-info-bar .container-fluid, .top-info-bar .container-xs {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* Mid-Range (Laptops, ~1200–1700px): Items rücken näher zusammen,
   Icons + Padding etwas reduziert. So bleibt alles einzeilig. */
@media (min-width: 1200px) and (max-width: 1699.98px) {
  /* Kompakteres Icon, damit mehr Platz für Text */
  .top-info-bar__content {
    gap: 1rem;
    justify-content: space-between;
  }
  .top-info-bar__icon {
    width: 2.6rem;
    height: 2.6rem;
    min-width: 2.6rem;
    min-height: 2.6rem;
    border-width: 2px;
  }
  .top-info-bar__icon .icon {
    font-size: 1.2rem;
  }
  .top-info-bar__inner {
    font-size: 0.9em;
  }
}
/* Tablet/kleine Laptops (768–1200px): sehr kompakte Variante,
   Container erlaubt moderate Breite. Wenig Side-Padding. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .top-info-bar .container-fluid, .top-info-bar .container-xs {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .top-info-bar__content {
    gap: 0.75rem;
    justify-content: space-between;
  }
  .top-info-bar__icon {
    width: 2.4rem;
    height: 2.4rem;
    min-width: 2.4rem;
    min-height: 2.4rem;
    border-width: 2px;
  }
  .top-info-bar__icon .icon {
    font-size: 1.1rem;
  }
  .top-info-bar__outer {
    margin-left: 0.4em;
  }
  .top-info-bar__inner {
    font-size: 0.85em;
  }
  .top-info-bar__item p {
    margin-bottom: 0;
    line-height: 1.25;
  }
}
/* ============================================================
   HIDE MOBILE – bleibt unverändert für spätere Nutzung
   ============================================================ */
.hide-mobile {
  display: none;
}
@media (min-width: 768px) {
  .hide-mobile {
    display: flex;
  }
}
/* ============================================================
   MOBILE GRID VARIANTE (NEU)
   Nutzung: <section class="top-info-bar ... top-info-bar--grid-mobile">
   ============================================================ */
@media (max-width: 767.98px) {
  .top-info-bar--grid-mobile {
    /* 2×2 Grid */
    /* hide-mobile MUSS innerhalb des Grids erzwungen werden, sonst
       überschreibt die generische .top-info-bar__item-Regel das
       display:none aus dem allgemeinen .hide-mobile-Block. */
    /* ✅ Icon neben Textblock vertikal zentrieren */
    /* Icons mobil kleiner + ohne Kreis */
    /* Abstand links entfernen (Icon hat bereits margin-right) */
    /* Text kompakter */
  }
  .top-info-bar--grid-mobile .top-info-bar__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem 0.8rem;
    align-items: start;
  }
  .top-info-bar--grid-mobile .hide-mobile {
    display: none !important;
  }
  .top-info-bar--grid-mobile .top-info-bar__item {
    margin: 0;
    display: flex;
    align-items: center;
  }
  .top-info-bar--grid-mobile .top-info-bar__icon {
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    border: none;
    border-radius: 0;
    margin-right: 0.45rem;
    background: transparent;
    align-self: center;
  }
  .top-info-bar--grid-mobile .top-info-bar__icon .icon {
    font-size: 1rem;
    line-height: 1;
  }
  .top-info-bar--grid-mobile .top-info-bar__outer {
    margin-left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .top-info-bar--grid-mobile .top-info-bar__inner {
    font-size: 0.85em;
  }
}
/* ============================================================
   NAV DROPDOWN (bestehend)
   ============================================================ */
.top-bar-nav .dropdown-menu .dropdown-item {
  color: #fff;
}
/** ============================================================
 *  PMTHEME – LISTING CARD (Otto-inspiriert)
 *  -----------------------------------------------------------
 *  Reihenfolge (oben nach unten):
 *      1. Bild
 *      2. Hersteller (Eyebrow, klein, all-caps)
 *      3. Produktname
 *      4. Bewertungs-Sterne (S/W, klein, nur wenn vorhanden)
 *      5. Inhalt + Grundpreis (dezent)
 *      6. Preis-Block
 *      7. Varianten – immer ganz unten
 *  ============================================================ */
/* ------------------------------
   Hintergrund für Listing-Seite
   ------------------------------ */
.bg-listing {
  background-color: #f4f6fa;
}
/* ============================================================
   PRODUKTBOX – Container
   ============================================================ */
.product-box, .box-wishlist {
  border: none;
  border-radius: 0.5rem;
  background: #fff;
  color: #222222;
  transition: all 0.2s ease;
  /* Card nimmt volle Spaltenhöhe → alle Cards in einer Reihe gleich
       hoch. Das card-body und die product-info sind ebenfalls
       flex-column, damit margin-top:auto auf den Varianten greift und
       sie zuverlässig ans untere Card-Ende drückt. */
  height: 100%;
  display: flex;
  flex-direction: column;
  /* ---------- Bild ---------- */
  /* ---------- Inhalts-Container ----------
       Linksbündig: das Listing wirkt ruhiger, wenn alle Texte an einer
       gemeinsamen linken Kante hängen. Wir erzwingen text-align:left
       direkt auf den Container UND auf alle Nachfahren, damit ererbtes
       text-align:center (z.B. vom Bild-Wrapper) nicht durchschlägt. */
  /* Margin-Reset für ALLE direkten Inhalts-Wrapper.
       Shopware liefert <p>-Tags und verschachtelte Wrapper mit
       Default-Margins (Bootstrap reboot, .mb-X Utilities, p-margin).
       Wir setzen alles auf 0 und vergeben Abstände nur dort, wo wir
       sie wirklich wollen. */
  /* Gezielte, kleine Abstände zwischen den Sinneinheiten */
  /* Varianten ans Card-Ende drücken (falls die Card mehr Höhe hat
       als die Inhalte, z.B. bei Grid-Items mit gleicher Höhe). */
}
.product-box .card-body, .box-wishlist .card-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  /* Bootstrap-Default-Padding (1rem) entfernen – Cards nutzen
           ihre volle Breite, vor allem im 2-Spalten-Mobile-Layout. */
  --bs-card-spacer-y: 0;
  --bs-card-spacer-x: 0;
  padding: 0;
}
.product-box .product-image-wrapper, .product-box .card .product-image-wrapper, .product-box .product-box .product-image-wrapper, .product-box .box-wishlist .product-image-wrapper, .box-wishlist .product-image-wrapper, .box-wishlist .card .product-image-wrapper, .box-wishlist .product-box .product-image-wrapper, .box-wishlist .box-wishlist .product-image-wrapper {
  /* Höhere Spezifität, um Shopware-Defaults zu schlagen, die
       feste height/flex-basis setzen und damit aspect-ratio zerstören. */
  width: 100% !important;
  /*height: auto !important;*/
  flex: 0 0 auto !important;
  flex-basis: auto !important;
  margin-bottom: 0 !important;
  aspect-ratio: 0.8 !important;
  overflow: hidden;
  position: relative;
  padding: 5px;
}
.product-box .product-box .product-image-wrapper img, .product-box .box-wishlist .product-image-wrapper img, .product-box .card .product-image-wrapper img, .box-wishlist .product-box .product-image-wrapper img, .box-wishlist .box-wishlist .product-image-wrapper img, .box-wishlist .card .product-image-wrapper img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center;
  display: block;
}
.product-box .product-info, .box-wishlist .product-info {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  gap: 0;
  /* Abstände kommen aus margin */
  flex: 1 1 auto;
  /* Inhaltsbereich nimmt verbleibende Card-Höhe → margin-top:auto auf .product-variant-groups schiebt sie ans Boden */
  padding: 0.75rem;
}
.product-box .product-info, .product-box .product-info > *, .product-box .product-info .product-price-info, .product-box .product-info .product-price-info > *, .box-wishlist .product-info, .box-wishlist .product-info > *, .box-wishlist .product-info .product-price-info, .box-wishlist .product-info .product-price-info > * {
  margin-top: 0;
  margin-bottom: 0;
  text-align: left;
}
.product-box .product-info .product-name, .box-wishlist .product-info .product-name {
  margin-top: 0.1rem;
}
.product-box .product-info .product-rating, .box-wishlist .product-info .product-rating {
  margin-top: 0.25rem;
}
.product-box .product-info .product-price-info, .product-box .product-info .product-price, .box-wishlist .product-info .product-price-info, .box-wishlist .product-info .product-price {
  margin-top: 0.35rem;
}
.product-box .product-info .product-variant-groups, .box-wishlist .product-info .product-variant-groups {
  margin-top: auto;
  padding-top: 0.5rem;
}
.product-box:hover, .box-wishlist:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(25, 58, 143, 0.2);
}
/* ============================================================
   1) HERSTELLER – als Eyebrow oberhalb des Namens
   ============================================================ */
.product-manufacturer-eyebrow {
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #666666;
  margin-bottom: 0.15rem;
}
/* ============================================================
   2) PRODUKTNAME
   ============================================================ */
.product-box .product-name, .box-wishlist .product-name {
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 0;
  height: auto;
  /* keine feste Höhe */
  /* Maximal 2 Zeilen, ggf. abschneiden mit "…".
           KEINE min-height – sonst entsteht Leerraum bei 1-zeiligen
           Namen. Card-Höhen-Ausgleich kommt vom Grid + margin-top:auto
           auf den Varianten. */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-box .product-name a, .box-wishlist .product-name a {
  color: #00689C;
}
.product-box .product-name a:hover, .box-wishlist .product-name a:hover {
  color: #474747;
}
/* ============================================================
   3) BEWERTUNG – schwarz/weiß, klein
   ============================================================ */
.product-rating--mono {
  font-size: 0.65rem;
  line-height: 1;
  color: #222222;
  /* Shopware liefert das Sterne-Markup mit Klassen wie
       .product-review-rating; wir entfärben sie konsequent. */
  /* Sterne-Größe direkt am Icon ansetzen – Shopware rendert sie in
       <span class="icon icon-xs"> mit ca. 16px. Wir drücken das auf
       0.85em, was relativ zum font-size der Container automatisch
       passt. */
}
.product-rating--mono .product-review-rating, .product-rating--mono .product-review-rating-stars, .product-rating--mono .product-review-rating-star, .product-rating--mono i, .product-rating--mono svg, .product-rating--mono span {
  color: inherit !important;
  fill: currentColor;
}
.product-rating--mono .icon, .product-rating--mono .icon svg {
  width: 0.85em !important;
  height: 0.85em !important;
}
.product-rating--mono .product-review-point .point-container {
  width: auto;
}
/* ============================================================
   4) INHALT + GRUNDPREIS (dezent)
   ============================================================ */
.product-price-unit {
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.3;
  color: #666666;
  margin: 0;
  height: auto !important;
}
.product-price-unit .price-unit-content {
  font-weight: 500;
}
.product-price-unit .price-unit-reference {
  display: inline;
  font-weight: 400;
}
/* ============================================================
   5) PREIS-BLOCK
   ------------------------------------------------------------
   Markup aus price-unit.html.twig:

     <div class="product-price-wrapper">
       <span class="product-price-row">
         <span class="product-price">9,99 €</span>          ← groß, fett
         <span class="list-price">                          ← klein dahinter
           <span class="list-price-price">12,99 €</span>
         </span>
       </span>
       <span class="list-price-percentage-row">             ← darunter
         <span class="list-price-percentage">-23%</span>
       </span>
     </div>
   ============================================================ */
.product-box .product-price-wrapper, .box-wishlist .product-price-wrapper {
  text-align: left;
  /* linksbündig wie der Rest */
  margin: 0;
}
.product-price-row {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.product-box .product-price, .box-wishlist .product-price, .product-price-wrapper .product-price {
  font-size: 1.15rem;
  font-weight: 600;
  color: #222222;
  line-height: 1.15;
}
/* Aktueller Preis ROT wenn Streichpreis vorhanden – signalisiert Angebot.
   Wir nutzen die Wrapper-Klasse, die im Twig nur dann gesetzt wird,
   wenn listPrice.percentage > 0. So ist der Preis bei normalen
   Produkten schwarz und nur bei echten Reduzierungen rot. */
.product-price-wrapper--has-listprice .product-price {
  color: var(--bs-danger);
}
.product-price-wrapper .list-price {
  display: inline;
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.2;
  color: #777777;
}
.product-price-wrapper .list-price .list-price-price {
  text-decoration: line-through;
}
.product-price-wrapper .list-price-percentage-row {
  display: block;
  text-align: left;
  margin: 0.1rem 0 0 0;
  line-height: 1;
  padding: 0;
}
.product-price-wrapper .list-price-percentage-row .list-price-percentage {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.1;
  color: #777777;
  margin: 0;
  padding: 0;
}
/* "Ab"-Preis bei Variantenrange */
.product-price-from {
  display: inline;
  font-size: 0.8rem;
  color: #666666;
  margin-right: 0.25rem;
}
/* ============================================================
   PREIS-WRAPPER ALLGEMEIN
   ============================================================ */
.product-price-wrapper small, .product-price-wrapper .small {
  font-size: 0.85rem;
  color: #666666;
}
/* MwSt-/Versandkosten-Link unter dem Preis komplett ausblenden im
   Listing. Der Hinweis steht ohnehin im Footer und auf der
   Detailseite. */
.product-box .product-price-tax-link, .box-wishlist .product-price-tax-link, .product-price-wrapper .product-price-tax-link, .product-price-info .product-price-tax-link, .product-price-tax-link.fs-6, .product-price-tax-link {
  display: none !important;
}
/* ============================================================
   6) HERSTELLER (alte Wrapper-Klasse) & LIEFERZEIT
   Die alten manufacturer-Klassen können durch andere Code-Pfade
   noch auftauchen – wir blenden sie sicherheitshalber aus, damit
   nichts doppelt erscheint, falls ein anderes Template noch
   parent() ruft.
   ============================================================ */
.product-wishlist-info-manufacturer, .product-info > .product-wishlist-info-manufacturer {
  display: none;
}
.product-wishlist-info-delivery-time {
  text-align: left;
}
.delivery-information {
  margin-bottom: 0;
  font-size: 12px;
}
.card-tabs .nav-link {
  padding: 0px 5px;
}
/* ============================================================
   7) VARIANTEN-CHIPS – alle Breakpoints
   ------------------------------------------------------------
   Kein Gruppen-Label mehr (wurde entfernt). Alle Varianten in
   einer Reihe nebeneinander, gleicher Stil für Farbe/Text/+N.
   ============================================================ */
.product-variant-groups {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  align-items: flex-start;
  width: 100%;
}
.product-variant-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}
.product-variant-group__chips {
  display: flex;
  flex-wrap: nowrap;
  /* Eine Zeile, damit "+N" sinnvoll greift */
  justify-content: flex-start;
  align-items: center;
  gap: 0.35rem;
  overflow: hidden;
  max-width: 100%;
}
/* Basis-Chip: heller Pill mit Border, dekorativ (nicht klickbar) */
.variant-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  padding: 0.15rem 0.5rem;
  min-width: 1.6rem;
  height: 1.6rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  background: #fff;
  line-height: 1;
  font-size: 0.7rem;
  font-weight: 500;
  color: #222222;
  cursor: default;
  user-select: none;
}
/* Farb-Chip: kleiner Kreis, nur Farbe sichtbar */
.variant-chip--color {
  padding: 0;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: transparent;
  width: 1.1rem;
  height: 1.1rem;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 1;
}
.variant-chip--color .variant-chip__swatch {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  flex-shrink: 0;
}
/* +N – Mehr-Indikator: einheitlicher Kreis mit Akzent */
.variant-chip--more {
  background: #ffffff;
  border-color: rgba(0, 0, 0, 0.25);
  color: #666666;
  font-weight: 600;
  width: 1.6rem;
  aspect-ratio: 1;
  padding: 0;
  min-width: 0;
}
/* ============================================================
   MOBILE OPTIMIERUNG (≤ 575px) – 2-Spalten-Listing
   ============================================================ */
@media (max-width: 575.98px) {
  /* ---------- 2-Spalten-Grid erzwingen ---------- */
  /* ---------- Produktbox kompakter ---------- */
  /* ---------- Eyebrow + Sterne + Inhalt + Preis kleiner ---------- */
  /* ---------- Lieferzeit ---------- */
  /* Hover-Effekt auf Mobile dezenter (Touch-Geräte) */
  /* Variant-Chips noch kompakter */
  .cms-element-product-listing .row > [class*="col-"], .cms-element-product-listing .cms-listing-row > [class*="col-"], .cms-listing-col, .product-slider-item, .cms-listing-row .card-product-wrapper, .product-listing-row > [class*="col-"] {
    flex: 0 0 50%;
    max-width: 50%;
    width: 50%;
  }
  .cms-element-product-listing .row, .cms-element-product-listing .cms-listing-row, .product-listing-row, .cms-listing-row {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.75rem;
  }
  .product-box, .box-wishlist {
    padding: 0;
    /* Wishlist-Button kompakter und sichtbar halten */
    /* Produktname: kleiner, mehrzeilig sauber begrenzen.
           Kein horizontales Padding und keine min-height – sonst
           entsteht Leerraum bei 1-zeiligen Namen. Card-Höhen-Ausgleich
           kommt vom Grid + margin-top:auto auf den Varianten. */
  }
  .product-box .product-image-wrapper, .product-box .card .product-image-wrapper, .product-box .product-box .product-image-wrapper, .product-box .box-wishlist .product-image-wrapper, .box-wishlist .product-image-wrapper, .box-wishlist .card .product-image-wrapper, .box-wishlist .product-box .product-image-wrapper, .box-wishlist .box-wishlist .product-image-wrapper {
    margin-bottom: 0 !important;
    position: relative;
    text-align: center;
    overflow: visible !important;
    aspect-ratio: auto !important;
    width: auto !important;
    height: auto !important;
  }
  .product-box .product-image-wrapper img.product-image, .product-box .product-image-wrapper img, .box-wishlist .product-image-wrapper img.product-image, .box-wishlist .product-image-wrapper img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: inline-block;
  }
  .product-box .product-wishlist, .box-wishlist .product-wishlist {
    top: 0.25rem !important;
    right: 0.25rem !important;
    z-index: 5;
  }
  .product-box .product-wishlist .product-wishlist-btn, .box-wishlist .product-wishlist .product-wishlist-btn {
    width: 2rem;
    height: 2rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .product-box .product-wishlist .product-wishlist-btn .icon, .product-box .product-wishlist .product-wishlist-btn .icon svg, .box-wishlist .product-wishlist .product-wishlist-btn .icon, .box-wishlist .product-wishlist .product-wishlist-btn .icon svg {
    width: 1rem;
    height: 1rem;
  }
  .product-box .product-name, .box-wishlist .product-name {
    font-size: 0.85rem;
    line-height: 1.3;
  }
  .product-info {
    padding: 0rem 0.75rem !important;
  }
  .product-manufacturer-eyebrow {
    font-size: 0.6rem;
    margin-bottom: 0.05rem;
  }
  .product-rating--mono {
    font-size: 0.55rem;
    height: auto !important;
  }
  .product-price-unit {
    font-size: 0.65rem;
  }
  .product-box .product-price, .box-wishlist .product-price, .product-price-wrapper .product-price {
    font-size: 0.9rem;
  }
  .product-price-wrapper .list-price {
    font-size: 0.65rem;
  }
  .product-price-wrapper .list-price-percentage-row .list-price-percentage {
    font-size: 0.65rem;
    height: auto !important;
  }
  .product-wishlist-info-delivery-time small, .product-wishlist-info-delivery-time .small {
    font-size: 0.65rem;
    line-height: 1.2;
  }
  .delivery-information {
    font-size: 0.65rem;
  }
  .product-box:hover, .box-wishlist:hover {
    transform: none;
  }
  .variant-chip {
    font-size: 0.6rem;
    padding: 0.1rem 0.35rem;
    min-width: 1.3rem;
    height: 1.3rem;
  }
  .variant-chip--color {
    width: 0.9rem;
    height: 0.9rem;
    padding: 0;
    min-width: 0;
  }
  .variant-chip--more {
    width: 1.3rem;
    font-size: 0.55rem;
  }
  .product-variant-group__chips {
    gap: 0.25rem;
  }
}
/* =========================================================
   Produktdetail Eigenschaften / Technische Daten
   Tabelle entzerren und optisch aufwerten
   Farben: #171717 / var(--pm-accent)
========================================================= */
.product-detail-properties {
  --properties-dark: #171717;
  --properties-red: var(--pm-accent);
  --properties-soft: #f6f6f7;
  --properties-border: rgba(23, 23, 23, 0.12);
  --properties-muted: rgba(23, 23, 23, 0.72);
  margin: 2rem 0;
}
/* Shopware setzt hier oft col-lg-6, dadurch wird die Tabelle zu schmal */
.product-detail-properties-container {
  justify-content: flex-start;
}
.product-detail-properties-container > .col-md-10, .product-detail-properties-container > .col-lg-6 {
  flex: 0 0 100%;
  width: 100%;
  max-width: 900px;
}
/* Tabelle */
.product-detail-properties-table {
  width: 100%;
  margin: 0;
  background: #ffffff;
  border: 1px solid var(--properties-border);
  border-left: 5px solid var(--properties-red);
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 10px 28px rgba(23, 23, 23, 0.07);
  overflow: hidden;
}
/* Bootstrap Stripe neutralisieren */
.product-detail-properties-table.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: transparent;
  background-color: #ffffff;
}
.product-detail-properties-table.table-striped > tbody > tr:nth-of-type(even) > * {
  --bs-table-accent-bg: transparent;
  background-color: var(--properties-soft);
}
/* Zeilen */
.product-detail-properties-table .properties-row {
  transition: background-color 0.18s ease;
}
.product-detail-properties-table .properties-row:hover > th, .product-detail-properties-table .properties-row:hover > td {
  background-color: rgba(182, 153, 91, 0.045);
}
/* Zellen */
.product-detail-properties-table th, .product-detail-properties-table td {
  padding: 1rem 1.15rem;
  border: 0;
  border-bottom: 1px solid var(--properties-border);
  vertical-align: top;
}
/* letzte Linie entfernen */
.product-detail-properties-table tbody tr:last-child th, .product-detail-properties-table tbody tr:last-child td {
  border-bottom: 0;
}
/* Label-Spalte */
.product-detail-properties-table .properties-label {
  width: 32%;
  min-width: 210px;
  color: var(--properties-dark);
  font-size: 0.92rem;
  line-height: 1.55;
  font-weight: 800;
  white-space: normal;
}
/* Wert-Spalte */
.product-detail-properties-table .properties-value {
  color: var(--properties-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  font-weight: 500;
}
/* Werte besser lesbar */
.product-detail-properties-table .properties-value span {
  display: inline-block;
  max-width: 100%;
}
/* =========================================================
   Optional: Tabellenbereich mit kleiner Überschrift
   Nur falls Shopware außen eine Headline ausgibt
========================================================= */
.product-detail-properties-title, .product-detail-properties h2, .product-detail-properties .h2, .product-detail-properties h3, .product-detail-properties .h3 {
  margin: 0 0 1rem;
  color: var(--properties-dark);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.2;
  font-weight: 800;
}
/* =========================================================
   Mobile Darstellung
   Auf kleinen Screens wird aus Tabelle eine Kartenliste
========================================================= */
@media (max-width: 767.98px) {
  .product-detail-properties {
    margin: 1.5rem 0;
  }
  .product-detail-properties-container > .col-md-10, .product-detail-properties-container > .col-lg-6 {
    max-width: 100%;
  }
  .product-detail-properties-table, .product-detail-properties-table tbody, .product-detail-properties-table tr, .product-detail-properties-table th, .product-detail-properties-table td {
    display: block;
    width: 100%;
  }
  .product-detail-properties-table {
    border-left-width: 4px;
  }
  .product-detail-properties-table .properties-row {
    padding: 0;
    border-bottom: 1px solid var(--properties-border);
  }
  .product-detail-properties-table .properties-row:last-child {
    border-bottom: 0;
  }
  .product-detail-properties-table th, .product-detail-properties-table td {
    border-bottom: 0;
  }
  .product-detail-properties-table .properties-label {
    min-width: 0;
    padding: 0.95rem 1rem 0.25rem;
    font-size: 0.82rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--properties-red);
  }
  .product-detail-properties-table .properties-value {
    padding: 0 1rem 1rem;
    font-size: 0.94rem;
    line-height: 1.65;
    color: var(--properties-dark);
  }
}
/* ------------------------------------------------------------------
   Hersteller im Listing
   ------------------------------------------------------------------
   listingManufacturerColor und listingManufacturerFontWeight hatten
   bisher keine Regel, die sie liest. */
.product-box .product-manufacturer, .product-box .product-manufacturer-name, .product-box .product-box-manufacturer {
  color: #707782;
  font-weight: 600;
}
/** ============================================================
 *  PMTHEME – LISTING-AKTIONEN (Kaufen + Merken)
 *  -----------------------------------------------------------
 *  Zwei vollwertige Buttons nebeneinander unterhalb der Card.
 *  Sichtbarkeit wird pro Verkaufskanal über die Theme-Config
 *  gesteuert (siehe box-standard.html.twig).
 *  ============================================================ */
.product-box .pm-listing-action, .box-wishlist .pm-listing-action {
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
  margin-top: 0.6rem;
  /* Über der stretched-link-Fläche der Card, damit Klicks auf
       Button/Formular NICHT als Card-Klick zur Detailseite gehen. */
  position: relative;
  z-index: 2;
}
/* ---------- Kaufen-Button ---------- */
.pm-listing-action .pm-listing-buy {
  flex: 1 1 0;
  margin: 0;
  min-width: 0;
}
.pm-listing-action .pm-listing-buy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 100%;
  padding: 0.5rem 0.75rem;
  text-transform: none;
  letter-spacing: 0;
  white-space: nowrap;
}
/* ---------- Merken-Button (vollwertig, statt Herz-Kreis) ---------- */
.pm-listing-action .pm-listing-wishlist-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  flex: 1 1 0;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  border: 1px solid #FFDB00;
  border-radius: 0.5rem;
  background-color: #FFDB00;
  color: #193A8F;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.pm-listing-action .pm-listing-wishlist-btn:hover, .pm-listing-action .pm-listing-wishlist-btn:focus {
  background-color: #E6C600;
  border-color: #E6C600;
  color: #193A8F;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
.pm-listing-action .pm-listing-wishlist-btn:hover .icon, .pm-listing-action .pm-listing-wishlist-btn:focus .icon {
  color: #193A8F;
}
.pm-listing-action .pm-listing-wishlist-btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}
.pm-listing-action .pm-listing-wishlist-btn .icon {
  width: 1rem;
  height: 1rem;
  color: #fff;
}
.pm-listing-action .pm-listing-wishlist-btn .icon > svg {
  top: 0px !important;
}
.pm-listing-action .pm-listing-wishlist-btn .pm-listing-wishlist-label {
  font-size: 0.95rem;
}
/* Icon-Umschaltung „merken“ / „gemerkt“ (analog Shopware-Core) */
.pm-listing-wishlist-btn.product-wishlist-not-added .icon-wishlist-added, .pm-listing-wishlist-btn.product-wishlist-added .icon-wishlist-not-added {
  display: none;
}
/* Ladezustand, bis das Wishlist-Plugin den Status gesetzt hat */
.pm-listing-wishlist-btn.product-wishlist-loading {
  opacity: 0.6;
  pointer-events: none;
}
/* ---------- Produktnummer in der Listing-Vorschau ---------- */
.product-box .product-number-listing, .box-wishlist .product-number-listing {
  font-size: 0.9rem;
  color: #777777;
  margin-top: 0.15rem;
}
/* Sehr schmale Karten (2-Spalten-Mobile-Grid): Buttons untereinander */
@media (max-width: 767.98px) {
  .product-box .pm-listing-action, .box-wishlist .pm-listing-action {
    flex-direction: column;
  }
}
/** ============================================================
 *  PMTHEME – PRODUKT-BADGES
 *  -----------------------------------------------------------
 *  Quadratische Badges mit Icon (oder Text), positioniert über
 *  dem Produktbild. Im Listing rechts oben (über Wishlist),
 *  auf der Detailseite links oben.
 *
 *  Konfiguriert via Theme-Settings → "Produkt-Badges"
 *  (Feld: pmthemeBadgeMapping, JSON-Array).
 *  ============================================================ */
/* ============================================================
   Container der Badges (vertikal gestackt)
   ============================================================ */
.pm-product-badges {
  position: absolute;
  z-index: 4;
  /* eine Stufe unter Wishlist (z-2) – wir wollen Badges sichtbar lassen, aber Wishlist soll noch klickbar sein */
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  pointer-events: none;
  /* dekorativ – Bild-Klick durchlassen */
}
/* Variante: Listing → rechts oben.
   Wir setzen die Badges so, dass sie SICHTBAR ÜBER dem Wishlist-
   Button sitzen (Wishlist sitzt mit top:0.25rem, right:0.25rem). */
.pm-product-badges--top-right {
  top: 0.5rem;
  right: 0rem;
  align-items: flex-end;
}
/* Bei vorhandener Wishlist Badges um Wishlist-Höhe nach unten
   versetzen, damit sich nichts überlagert. Card-Card-Wishlist hat
   ca. 2.5rem Höhe + etwas Abstand. */
.product-image-wrapper:has(.product-wishlist) .pm-product-badges--top-right {
  top: 3.25rem;
}
/* Variante: Detail → links oben (Detail-Galerie hat keinen
   Wishlist-Button an dieser Stelle). */
.pm-product-badges--top-left {
  top: 0.75rem;
  left: -4.75rem;
  align-items: flex-start;
}
/* Auf der Detailseite sitzt das Badge-Wrapper-Div als positions-
   relative Anker für die absolut positionierten Badges. */
.pm-product-badges-detail-wrapper {
  position: relative;
}
/* ============================================================
   Einzelnes Badge
   ============================================================ */
.pm-product-badge {
  --pm-badge-size: 3rem;
  pointer-events: auto;
  /* Tooltip soll funktionieren */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: var(--pm-badge-size);
  height: var(--pm-badge-size);
  padding: 0.25rem 0.5rem;
  border-radius: 0.35rem 0rem 0rem 0.35rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  line-height: 1;
  font-size: 0.8rem;
  font-weight: 600;
  text-align: center;
  overflow: hidden;
}
/* Icon-Only-Variante: quadratisch */
.pm-product-badge:not(:has(.pm-product-badge__label)) {
  width: var(--pm-badge-size);
  padding: 0;
}
.pm-product-badge__icon {
  font-size: 2rem;
  line-height: 1;
}
.pm-product-badge__svg {
  width: 1.1rem;
  height: 1.1rem;
  object-fit: contain;
  filter: brightness(0) invert(1);
  /* SVGs werden weiß eingefärbt – falls dein SVG bereits Farbe hat, kannst du diese Regel pro Badge per CSS-Variable überschreiben */
}
.pm-product-badge__label {
  font-size: 0.75rem;
  line-height: 1.1;
  white-space: nowrap;
}
/* ============================================================
   Mobile: Badges etwas kleiner
   ============================================================ */
@media (max-width: 575.98px) {
  .pm-product-badge {
    --pm-badge-size: 1.8rem;
    font-size: 0.7rem;
    padding: 0.2rem 0.4rem;
  }
  .pm-product-badge__icon {
    font-size: 0.9rem;
  }
  .pm-product-badge__svg {
    width: 0.95rem;
    height: 0.95rem;
  }
  .pm-product-badges--top-right {
    top: 0.35rem;
    right: 0.35rem;
    gap: 0.25rem;
  }
  .product-image-wrapper:has(.product-wishlist) .pm-product-badges--top-right {
    top: 2.75rem;
  }
  .pm-product-badges--top-left {
    top: 0.5rem;
    left: 0.5rem;
  }
}
/* =========================================================
   Produkt-Badges
   Tipp = Grün
   Neu = Shop-Rot
   Kantige, ruhige Darstellung
========================================================= */
/* ------------------------------------------------------------
   SHOP-BADGE-STAPEL
   ------------------------------------------------------------
   Shopware positioniert .product-badges absolut ueber dem Bild und
   stapelt die Badges mit flex-direction: column. Jedes Badge bekommt
   dort zusaetzlich height: 2rem und margin: 0 0 8px.

   Unsere frueheren Angaben (flex-wrap, gap) liefen ins Leere, weil
   flex-wrap in einer Spalte nichts bewirkt und der Abstand aus dem
   margin der Badges kam, nicht aus gap. Sind alle drei bis vier
   Badges gleichzeitig aktiv, wuchs der Stapel dadurch bis ueber
   Hersteller und Produktname.

   Deshalb hier: margin zuruecksetzen, Hoehe an den Inhalt binden und
   den Abstand ueber gap steuern - eine Quelle statt zwei.
   ------------------------------------------------------------ */
.product-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.product-badges .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0.32rem 0.55rem;
  border-radius: 0 6px 6px 0;
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-align: center;
  vertical-align: middle;
  box-shadow: none;
  /* Shopware setzt height: 2rem und margin: 0 0 8px. Beides hier
       aufheben - die Hoehe folgt dem Inhalt, der Abstand kommt aus
       dem gap des Stapels. */
  height: auto;
  margin: 0;
}
/* ------------------------------------------------------------
   SHOP-BADGES
   ------------------------------------------------------------
   Die vier von Shopware vorgegebenen Badges. Farben kommen aus
   Produktlisting -> "Produkt-Badges (Shop-Standard)", damit sie je
   Verkaufskanal abweichen koennen.

   Frei gestaltbare eigene Badges (.pm-product-badges) sind hiervon
   nicht betroffen - die werden je Badge im Adminbereich gepflegt.

   Zum !important: Shopware haengt an diese Badges die
   Bootstrap-Utilities bg-danger / bg-warning / bg-success, und die
   setzen background-color ihrerseits mit !important. Ohne !important
   verliert die Theme-Farbe. In unserem eigenen Badge-Template sind die
   Utility-Klassen zwar entfernt, das Markup kann aber auch aus dem
   Storefront-Bundle kommen (z. B. per AJAX nachgeladen).
   ------------------------------------------------------------ */
/* Rabatt */
.product-badges .badge-discount {
  background-color: #611E82 !important;
  color: #ffffff !important;
}
/* Tipp */
.product-badges .badge-topseller {
  background-color: #168a4a !important;
  color: #ffffff !important;
}
/* Neu */
.product-badges .badge-new {
  background-color: #193A8F !important;
  color: #ffffff !important;
}
/* Abverkauf */
.product-badges .badge-closeout {
  background-color: #FFC107 !important;
  color: #1E1E24 !important;
}
/* Der Umbruch-Helfer stammt aus einer Zeit, in der die Badges
   nebeneinander standen. Im Spaltenstapel ist er nicht nur nutzlos,
   sondern schaedlich: als eigenes Flex-Element bekommt er ein
   zusaetzliches gap und reisst eine Luecke vor dem Abverkauf-Badge.
   Das Markup bleibt (andere Layouts koennten es noch brauchen),
   wirkt hier aber nicht mehr. */
.product-badges .product-badges__break {
  display: none;
}
/* ============================================================================
   PMTHEME – Netto-/Brutto-Preisanzeige (pm-taxprice)
   ============================================================================
   Styling der Komponente aus
   views/storefront/component/pm-taxprice/pm-taxprice.html.twig

   Grundgedanken:

   1. Groessen sind bewusst in `em` definiert, nicht in `rem`. Dadurch
      uebernimmt die Komponente automatisch die Schriftgroesse des
      umgebenden Preises – im Listing (1.15rem), auf der Detailseite
      (gross) und im Warenkorb (klein) ohne eigene Sonderregeln.

   2. Der Zeilenumbruch entsteht ueber `flex-wrap`, nicht ueber eine
      Zeichenzaehlung im Twig. Der Trenner haengt am zweiten Preis und
      wandert beim Umbruch korrekt mit.

   3. Alle Stellschrauben liegen als CSS Custom Properties am Wrapper.
      Ueberschreiben ist dadurch pro Kontext moeglich, ohne Selektoren
      mit hoher Spezifitaet zu bauen.
   ========================================================================= */
.pm-taxprice {
  /* --- Stellschrauben ------------------------------------------------- */
  --pm-taxprice-gap:              0.4em;
  /* Abstand zwischen den Preisen */
  --pm-taxprice-row-gap:          0.1em;
  /* Abstand bei Umbruch/stacked  */
  --pm-taxprice-secondary-size:   0.72em;
  /* Groesse des zweiten Preises  */
  --pm-taxprice-suffix-size:      0.8em;
  /* Groesse von "netto"/"brutto" */
  --pm-taxprice-secondary-color:  #666666;
  --pm-taxprice-separator:        "|";
  --pm-taxprice-separator-color:  #777777;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: var(--pm-taxprice-gap);
  row-gap: var(--pm-taxprice-row-gap);
  /* Der Wrapper erbt Groesse und Gewicht vom Elternelement
       (.product-price, .pm-price-current, .line-item-... ). */
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.2;
}
.pm-taxprice__item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2em;
  /* Ein einzelner Preis darf niemals mitten im Betrag umbrechen.
       Umgebrochen wird ausschliesslich zwischen den beiden Preisen. */
  white-space: nowrap;
}
/* --- Zweiter (nicht fuehrender) Preis: kleiner und dezent --------------- */
.pm-taxprice--dual .pm-taxprice__item:not(.pm-taxprice__item--primary) {
  font-size: var(--pm-taxprice-secondary-size);
  font-weight: 400;
  color: var(--pm-taxprice-secondary-color);
}
/* --- Zusatz "netto" / "brutto" ----------------------------------------- */
.pm-taxprice__suffix {
  font-size: var(--pm-taxprice-suffix-size);
  font-weight: 400;
  color: var(--pm-taxprice-secondary-color);
}
/* Beim bereits verkleinerten Zweitpreis nicht doppelt verkleinern */
.pm-taxprice__item:not(.pm-taxprice__item--primary) .pm-taxprice__suffix {
  font-size: 1em;
}
/* --- Trenner ------------------------------------------------------------
   Haengt als ::before am zweiten Preis. Beim Umbruch wandert er mit in
   die neue Zeile – deshalb wird er dort per :not() unterdrueckt, sobald
   das Layout "untereinander" gewaehlt ist. */
.pm-taxprice--inline.pm-taxprice--dual .pm-taxprice__item + .pm-taxprice__item::before {
  content: var(--pm-taxprice-separator);
  margin-right: var(--pm-taxprice-gap);
  color: var(--pm-taxprice-separator-color);
  font-weight: 400;
}
/* --- Layout "untereinander" -------------------------------------------- */
.pm-taxprice--stacked {
  flex-direction: column;
  align-items: flex-start;
}
/* ============================================================================
   Kontext-Feinschliff
   ========================================================================= */
/* --- Produktlisting ----------------------------------------------------- */
.product-box .product-price .pm-taxprice, .box-wishlist .product-price .pm-taxprice {
  /* In der Kachel ist der Platz knapp: zweiter Preis etwas kleiner
           und Umbruch fruehzeitig erlauben. */
  --pm-taxprice-secondary-size: 0.8em;
}
/* --- Produktdetailseite ------------------------------------------------- */
.product-detail-price-container {
  /* Sale-Faerbung gilt nur fuer den fuehrenden Preis – der
       Gegenwert bleibt neutral, sonst wirken beide wie Angebotspreise. */
}
.product-detail-price-container .pm-price-current .pm-taxprice {
  --pm-taxprice-secondary-size: 0.7em;
  --pm-taxprice-gap: 0.45em;
}
.product-detail-price-container.pm-price--sale .pm-taxprice__item:not(.pm-taxprice__item--primary), .product-detail-price-container .pm-price--sale .pm-taxprice__item:not(.pm-taxprice__item--primary) {
  color: var(--pm-taxprice-secondary-color);
}
/* --- Staffelpreis-Tabelle ----------------------------------------------- */
.product-block-prices .pm-taxprice {
  /* In der schmalen Tabellenzelle grundsaetzlich untereinander,
           unabhaengig von der Theme-Einstellung. */
  flex-direction: column;
  align-items: flex-start;
  --pm-taxprice-secondary-size: 0.85em;
}
.product-block-prices .pm-taxprice__item + .pm-taxprice__item::before {
  content: none;
}
/* --- Warenkorb / Offcanvas ---------------------------------------------- */
.line-item-unit-price-value .pm-taxprice, .line-item-total-price-value .pm-taxprice {
  --pm-taxprice-secondary-size: 0.85em;
  --pm-taxprice-gap: 0.35em;
}
.offcanvas-summary .summary-total .pm-taxprice {
  --pm-taxprice-secondary-size: 0.8em;
}
/* Im Offcanvas ist die Spalte schmal – dort lieber untereinander,
   damit die Zwischensumme nicht unkontrolliert umbricht. */
@media (max-width: 767.98px) {
  .offcanvas-summary .summary-total .pm-taxprice {
    flex-direction: column;
    align-items: flex-end;
  }
  .offcanvas-summary .summary-total .pm-taxprice__item + .pm-taxprice__item::before {
    content: none;
  }
}
/* ============================================================================
   Fussnoten-Marker am Preis  (* / **)
   ========================================================================= */
.pm-taxprice__marker {
  /* Hochgestellt, aber ohne <sup>: so bleibt die Grundlinie der Preise
       im Flex-Container sauber ausgerichtet. */
  font-size: 0.6em;
  font-weight: 400;
  line-height: 1;
  vertical-align: super;
  color: inherit;
  /* Kein Abstand zum Betrag – das Sternchen gehoert optisch an die Zahl. */
  margin-left: 0.05em;
}
/* Steht zusaetzlich der Text "inkl. MwSt." davor, gehoert das Sternchen
   hinter den Text und braucht etwas Luft. */
.pm-taxprice__suffix + .pm-taxprice__marker {
  margin-left: 0.15em;
}
/* ============================================================================
   Fussnote / Legende
   ========================================================================= */
.pm-taxprice-footnote {
  --pm-taxprice-footnote-size:   0.8rem;
  --pm-taxprice-footnote-color:  #666666;
  display: flex;
  flex-direction: column;
  gap: 0.15em;
  margin: 0.5rem 0 0;
  font-size: var(--pm-taxprice-footnote-size);
  line-height: 1.35;
  color: var(--pm-taxprice-footnote-color);
}
.pm-taxprice-footnote__line {
  display: flex;
  align-items: baseline;
  gap: 0.35em;
}
.pm-taxprice-footnote__marker {
  /* Feste Breite, damit "*" und "**" buendig untereinander stehen
       und die Texte auf gleicher Kante beginnen. */
  flex: 0 0 auto;
  min-width: 1.2em;
  font-weight: 600;
}
.pm-taxprice-footnote__text {
  flex: 1 1 auto;
}
/* Link auf die Versandkosten-Seite: als Textlink, nicht als Button */
.pm-taxprice-footnote__link {
  padding: 0;
  border: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  text-decoration: underline;
  vertical-align: baseline;
}
.pm-taxprice-footnote__link:hover, .pm-taxprice-footnote__link:focus-visible {
  color: #474747;
}
/* --- Kontext-Feinschliff ------------------------------------------------ */
/* Unter dem Produktlisting: etwas mehr Abstand nach oben */
.cms-element-product-listing .pm-taxprice-footnote, .product-listing-container .pm-taxprice-footnote {
  margin-top: 1.25rem;
}
/* Offcanvas: schmale Spalte, kompakter setzen */
.offcanvas-cart-tax .pm-taxprice-footnote {
  --pm-taxprice-footnote-size: 0.75rem;
  margin-top: 0.75rem;
}
/* ============================================================================
   MwSt.-Hinweis im Footer (zwei Zeilen bei Doppelanzeige)
   ========================================================================= */
.pm-taxprice-footer-vat {
  display: flex;
  flex-direction: column;
  gap: 0.2em;
}
.pm-taxprice-footer-vat__line {
  display: flex;
  align-items: baseline;
  gap: 0.35em;
  text-align: left;
}
.pm-taxprice-footer-vat__marker {
  /* Feste Breite, damit "*" und "**" buendig stehen und beide Texte
       auf derselben Kante beginnen. */
  flex: 0 0 auto;
  min-width: 1.2em;
  font-weight: 600;
}
.pm-taxprice-footer-vat__text {
  flex: 1 1 auto;
}
/* Zentrierte Footer-Varianten: Zeilen mittig, Marker aber weiterhin
   direkt am Text statt am Rand. */
.footer-bottom .footer-vat .pm-taxprice-footer-vat__line, .footer-shoplinks-brandbar-vat .pm-taxprice-footer-vat__line {
  justify-content: inherit;
}
.text-center .pm-taxprice-footer-vat__line {
  justify-content: center;
  text-align: center;
}
.text-center .pm-taxprice-footer-vat__marker {
  min-width: 0;
}
/* CSS Document */
.product-detail-ordernumber-container {
  margin-bottom: 0;
  font-size: 0.9rem;
}
.product-detail-manufacturer-label {
  font-weight: 700;
  font-size: 0.9rem;
}
.product-detail-manufacturer-trigger {
  font-size: 0.9rem;
}
/* Gewicht (Produktmaße) – direkt unter dem Hersteller, gleiche Optik */
.product-detail-weight {
  font-size: 0.9rem;
  line-height: 1.3;
}
.product-detail-weight-label {
  font-weight: 700;
  font-size: 0.9rem;
}
.product-detail-weight-value {
  font-size: 0.9rem;
}
.product-detail-price-container {
  margin-top: 1.5rem;
}
.gallery-slider-thumbnails-item-inner {
  border: none;
}
.product-wishlist-btn-content-sm {
  font-size: 15px;
}
.price-unit-label {
  font-weight: 700;
}
.product-detail-price-unit {
  font-size: 15px;
}
.product-detail-tax-link {
  font-size: 13px;
}
.product-detail-tax-link:hover {
  color: #00689C;
}
/* ============================================================
   RATING-Block (Sterne + Bewertungsanzahl in Klammern)
   ============================================================ */
.product-detail-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  /* Anzahl in Klammern – klein, blasser, nicht ablenkend */
}
.product-detail-rating .product-detail-rating-count {
  font-size: 0.85rem;
  line-height: 1;
  color: #666666;
  font-weight: 400;
}
/* ============================================================
   BUY BOX BUTTON (PMTHEME)
   ============================================================ */
.btn-buy {
  background-color: #00689C;
  color: #ffffff;
  border: 1px solid #00689C;
  border-radius: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 0.5rem 1.75rem;
  text-transform: none;
  transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out, border-color 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.btn-buy:hover, .btn-buy:focus {
  background-color: #474747;
  color: #fff;
  border-color: #474747;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}
.btn-buy:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.btn-buy:disabled, .btn-buy.disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
/* ============================================================
   WISHLIST BUTTON – CLEAN HOVER CIRCLE EFFECT
   ============================================================ */
.product-wishlist .product-wishlist-action {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #474747;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  transition: color 0.25s ease, transform 0.25s ease;
  /* --------------------------------------------------------
       Basis-Icon-Design
       -------------------------------------------------------- */
  /* --------------------------------------------------------
       Hover-Effekt (nur Hintergrundkreis und Text)
       -------------------------------------------------------- */
  /* --------------------------------------------------------
       Textanimation
       -------------------------------------------------------- */
}
.product-wishlist .product-wishlist-action .icon-wishlist {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  transition: all 0.25s ease;
}
.product-wishlist .product-wishlist-action:hover, .product-wishlist .product-wishlist-action:focus {
  color: #00689C;
  transform: translateY(-1px);
}
.product-wishlist .product-wishlist-action:hover .icon-wishlist, .product-wishlist .product-wishlist-action:focus .icon-wishlist {
  background-color: rgba(25, 58, 143, 0.1);
  padding: 5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.product-wishlist .product-wishlist-action:hover .icon, .product-wishlist .product-wishlist-action:focus .icon {
  color: #00689C;
}
.product-wishlist .product-wishlist-action .product-wishlist-btn-content {
  font-size: 0.95rem;
  transition: color 0.25s ease, transform 0.25s ease;
}
.product-wishlist .product-wishlist-action:hover .product-wishlist-btn-content {
  color: #00689C;
  transform: translateX(2px);
}
.btn-plus:hover, .btn-minus:hover {
  background-color: rgba(25, 58, 143, 0.1);
}
.btn-plus:hover .icon, .btn-minus:hover .icon {
  color: #00689C;
}
/* ============================================================
   QUANTITY-WIDGET – moderner Look (alle Breakpoints)
   ------------------------------------------------------------
   Bootstrap-Standard ist optisch eher rudimentär. Wir geben dem
   Widget abgerundete Ecken, einen dezenten Border und sorgen
   dafür, dass +/- Buttons, Input und die Verpackungseinheit
   (z.B. "Sack") als zusammenhängende Pille wirken.
   ============================================================ */
.product-detail-quantity-group.input-group {
  border-radius: 0.6rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  flex-wrap: nowrap;
  /* Verpackungseinheit nicht umbrechen */
  width: auto;
  /* +/- Buttons: ohne Bootstrap-Border, nur Hover-Hintergrund */
  /* Mengen-Input: keine Border, mittiger Text, Spinner ausblenden */
  /* Verpackungseinheit (z.B. "Sack"): rechts angedockt, dezent */
}
.product-detail-quantity-group.input-group:focus-within {
  border-color: rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 0 3px rgba(182, 153, 91, 0.15);
  /* sanfter Goldton-Focus */
}
.product-detail-quantity-group.input-group .btn-minus, .product-detail-quantity-group.input-group .btn-plus {
  border: 0;
  background: transparent;
  padding: 0 0.75rem;
  min-width: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  /* Eltern hat den Radius */
  transition: background-color 0.15s ease;
}
.product-detail-quantity-group.input-group .btn-minus:hover, .product-detail-quantity-group.input-group .btn-minus:focus, .product-detail-quantity-group.input-group .btn-plus:hover, .product-detail-quantity-group.input-group .btn-plus:focus {
  background-color: rgba(0, 0, 0, 0.04);
}
.product-detail-quantity-group.input-group .btn-minus .icon, .product-detail-quantity-group.input-group .btn-plus .icon {
  transition: transform 0.15s ease;
}
.product-detail-quantity-group.input-group .btn-minus .icon > svg, .product-detail-quantity-group.input-group .btn-plus .icon > svg {
  top: 0;
}
.product-detail-quantity-group.input-group .quantity-selector-group-input, .product-detail-quantity-group.input-group input.form-control.js-quantity-selector {
  border: 0;
  background: transparent;
  text-align: center;
  font-weight: 500;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
  min-width: 2.5rem;
  max-width: 4rem;
  /* Native Spinner in Chrome/Edge entfernen */
}
.product-detail-quantity-group.input-group .quantity-selector-group-input:focus, .product-detail-quantity-group.input-group input.form-control.js-quantity-selector:focus {
  box-shadow: none;
  outline: none;
}
.product-detail-quantity-group.input-group .quantity-selector-group-input::-webkit-outer-spin-button, .product-detail-quantity-group.input-group .quantity-selector-group-input::-webkit-inner-spin-button, .product-detail-quantity-group.input-group input.form-control.js-quantity-selector::-webkit-outer-spin-button, .product-detail-quantity-group.input-group input.form-control.js-quantity-selector::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.product-detail-quantity-group.input-group .quantity-selector-group-input[type=number], .product-detail-quantity-group.input-group input.form-control.js-quantity-selector[type=number] {
  -moz-appearance: textfield;
  /* Firefox */
}
.product-detail-quantity-group.input-group .input-group-text {
  background: rgba(0, 0, 0, 0.04);
  border: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 0.85rem;
  color: #666666;
  padding: 0 0.85rem;
  white-space: nowrap;
  font-weight: 500;
}
/* ============================================================
   SALE-FARBE für reduzierten Preis in der Buy-Box
   ------------------------------------------------------------
   Das Twig setzt am `<p class="pm-price">` zusätzlich die Klasse
   `pm-price--sale`, sobald ein Streichpreis (listPrice mit
   Prozent > 0) oder ein Regulierungspreis (regulationPrice)
   vorliegt – also überall dort, wo Shopware das Produkt selbst
   als reduziert betrachtet.
 
   Wir färben in diesem Fall nur den aktuellen Preis ein, alles
   andere (Streichpreis, "-X % gespart"-Zeile, Inhaltsangabe)
   bleibt unverändert dezent grau.
   ============================================================ */
.product-detail-price-container .pm-price.pm-price--sale .pm-price-current {
  color: #C10117;
}
/* ============================================================
   MOBILE OPTIMIERUNG – Produktdetail Header-Bereich
   ------------------------------------------------------------
   Die vollständige Buy-Box-Mobile-Logik (Reihenfolge, ausgeblendete
   Quantity, Highlights etc.) liegt jetzt in _buy-box-mobile.scss.
   Hier verbleiben nur typografische Anpassungen für die mobilen
   Header-Texte, die unabhängig von der Reihenfolge gelten.
   ============================================================ */
@media (max-width: 575.98px) {
  /* ----- Header-Texte (Titel, Produktnummer, Hersteller) ----- */
  .product-detail-name {
    font-size: 1.25rem;
    line-height: 1.25;
    margin-bottom: 0.5rem;
  }
  .product-detail-ordernumber-container {
    font-size: 0.75rem;
    line-height: 1.2;
    margin-bottom: 0.25rem;
    color: #666666;
  }
  .product-detail-ordernumber-label, .product-detail-ordernumber {
    font-size: 0.75rem;
  }
  .product-detail-manufacturer {
    font-size: 0.8rem;
    line-height: 1.3;
    margin-bottom: 0.75rem;
  }
  .product-detail-manufacturer-label, .product-detail-manufacturer-name, .product-detail-manufacturer-trigger {
    font-size: 0.8rem;
  }
  .product-detail-weight, .product-detail-weight-label, .product-detail-weight-value {
    font-size: 0.8rem;
  }
}
/* ============================================================
   INHALTSANGABE + GRUNDPREIS auf Desktop
   ------------------------------------------------------------
   Wird im Twig direkt im Preis-Container ausgegeben (siehe
   `<span class="pm-price-content">`). Format wie im Shopware-
   Standard:

       Inhalt 5 kg (1,99 € / 1 kg)

   Auf Mobile blendet `.pm-mobile-hide` die Zeile aus – dort
   kommt der Grundpreis aus einem separaten Block oberhalb des
   Preises (Mobile-Only).
   ============================================================ */
.product-detail-price-container .pm-price-content {
  display: block;
  flex-basis: 100%;
  font-size: 0.85rem;
  line-height: 1.35;
  margin-top: 0.25rem;
  order: 4;
  /* nach Streichpreis/Preis/Info */
}
.product-detail-price-container .pm-price-content .pm-price-content-purchase {
  font-weight: 500;
}
.product-detail-price-container .pm-price-content .pm-price-content-label {
  font-weight: 700;
  margin-right: 0.15rem;
}
.product-detail-price-container .pm-price-content .pm-price-content-reference {
  margin-left: 0.25rem;
  font-weight: 400;
}
/* ============================================================
   BUY-FORM-LAYOUT auf Desktop: Button in eigene Zeile
   ------------------------------------------------------------
   Im konkreten Markup deines Shops rendert Shopware die Buy-Form
   mit zwei Bootstrap-Spalten direkt im Wrapper:

       <div class="row g-2 buy-widget-container">
           <fieldset class="col-4 ...">  ← Quantity
           <div      class="col-8">      ← Buy-Button (im d-grid)
       </div>

   Damit der Quantity-Bereich mehr Platz bekommt, lassen wir die
   Quantity-Spalte ihre Breite behalten, schalten aber das
   `justify-content: flex-end` ab, sodass sie linksbündig sitzt.
   Den Button-Container zwingen wir auf volle Breite – das
   Bootstrap-Grid bricht ihn dadurch automatisch in die zweite
   Zeile um.

   Mobile bleibt unangetastet: dort ist die Quantity-Spalte
   per `display: none !important` versteckt (siehe
   _buy-box-mobile.scss), und der Button füllt ohnehin die Zeile.

   Geltungsbereich: ≥ 768px (Desktop & Tablet).
   ============================================================ */
@media (min-width: 768px) {
  .pm-buy-widget .buy-widget-container {
    /* Quantity-Fieldset linksbündig statt rechts.
           Breite (col-4 = 33%) behalten wir – das Quantity-
           Widget hat dadurch reichlich Platz für +/-, Input
           und die Verpackungseinheit ("Sack" o.ä.).
           Falls dir col-4 zu schmal/zu breit ist, lässt sich
           hier `flex` und `max-width` einfach anpassen. */
    /* Button-Spalte: volle Breite → eigene Zeile.
           Überschreibt die Bootstrap-Defaults von .col-8
           (flex: 0 0 auto / width: 66.666%). */
  }
  .pm-buy-widget .buy-widget-container > fieldset.col-4 {
    justify-content: flex-start;
  }
  .pm-buy-widget .buy-widget-container > .col-8 {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    margin-top: 0.75rem;
  }
}
/* ==============================================================
   Hersteller-Modal auf der Produktdetailseite
   --------------------------------------------------------------
   Der Herstellername ist klickbar und öffnet ein Modal mit
   Logo, Beschreibung und Website-Link. Stylig dezent gehalten,
   damit es zum bestehenden Theme passt.
   ============================================================== */
.product-detail-manufacturer-trigger {
  /* Bootstrap btn-link-inline ist die Basis -- wir machen es nur
       optisch erkennbar, dass man darauf klicken kann. */
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-weight: inherit;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
  cursor: pointer;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
.product-detail-manufacturer-trigger:hover, .product-detail-manufacturer-trigger:focus {
  color: var(--bs-link-hover-color, #927a49);
  text-decoration-style: solid;
  outline: none;
}
/* ----- Modal selbst ----- */
.product-detail-manufacturer-modal {
  /* Logo zentriert und mit max. Größe */
}
.product-detail-manufacturer-modal .modal-content {
  border-radius: 0.75rem;
  border: 0;
}
.product-detail-manufacturer-modal .modal-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.product-detail-manufacturer-modal .modal-title {
  font-weight: 600;
}
.product-detail-manufacturer-modal .product-detail-manufacturer-modal-logo {
  text-align: center;
}
.product-detail-manufacturer-modal .product-detail-manufacturer-modal-logo img {
  max-width: 200px;
  max-height: 100px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.product-detail-manufacturer-modal .product-detail-manufacturer-modal-description {
  line-height: 1.55;
  /* Falls die Beschreibung HTML enthält, etwas Atemluft geben */
}
.product-detail-manufacturer-modal .product-detail-manufacturer-modal-description p:last-child {
  margin-bottom: 0;
}
.product-detail-manufacturer-modal .modal-footer {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  justify-content: center;
}
.product-detail-manufacturer-modal .product-detail-manufacturer-modal-link {
  text-decoration: none;
}
/* Mobile: Modal nimmt mehr Platz ein, Logo etwas kleiner */
@media (max-width: 575.98px) {
  .product-detail-manufacturer-modal .modal-dialog {
    margin: 0.5rem;
  }
  .product-detail-manufacturer-modal .product-detail-manufacturer-modal-logo img {
    max-width: 150px;
    max-height: 80px;
  }
}
/* ============================================================
   REGISTER + LOGIN FORM – PMTHEME
   ============================================================ */
/* Gemeinsamer Stil für beide Karten */
.register-card, .login-card {
  border: none;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  padding: 2rem;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
  /* ------------------------------
     Eingabefelder (gemeinsam)
  ------------------------------ */
  /* ------------------------------
     Checkboxen
  ------------------------------ */
  /* ------------------------------
     Fehlermeldungen / Hinweise
  ------------------------------ */
  /* ------------------------------
     Buttons (gemeinsam)
  ------------------------------ */
  /* ------------------------------
     Inline-Links (Datenschutz, Login-Links etc.)
  ------------------------------ */
  /* ------------------------------
     Layout-Details
  ------------------------------ */
}
.register-card .card-title, .login-card .card-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #00689C;
  margin-bottom: 1rem;
}
.register-card .form-label, .login-card .form-label {
  font-weight: 500;
  color: #333333;
  margin-bottom: 0.35rem;
}
.register-card .form-control, .register-card .form-select, .login-card .form-control, .login-card .form-select {
  border-style: solid;
  border-color: #d1d5db;
  border-top-width: 0px;
  border-right-width: 0px;
  border-bottom-width: 0.5px;
  border-left-width: 0px;
  border-radius: 0.5rem;
  background-color: #fafafa;
  font-size: 1rem;
}
.register-card .form-control:focus, .register-card .form-select:focus, .login-card .form-control:focus, .login-card .form-select:focus {
  border-color: #00689C;
  box-shadow: 0 0 0 3px rgba(25, 58, 143, 0.25);
  background-color: #fff;
  outline: none;
}
.register-card .form-control.is-invalid, .register-card .form-select.is-invalid, .login-card .form-control.is-invalid, .login-card .form-select.is-invalid {
  border-color: #FFDB00;
}
.register-card .form-check, .login-card .form-check {
  margin-top: 0.5rem;
}
.register-card .form-check .form-check-input, .login-card .form-check .form-check-input {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.25rem;
  border: 1px solid #000;
}
.register-card .form-check .form-check-input:focus, .login-card .form-check .form-check-input:focus {
  box-shadow: 0 0 0 3px rgba(25, 58, 143, 0.25);
}
.register-card .form-check .form-check-input:checked, .login-card .form-check .form-check-input:checked {
  background-color: #00689C;
  border-color: #00689C;
}
.register-card .form-field-feedback, .login-card .form-field-feedback {
  font-size: 0.85rem;
  color: #FFDB00;
  margin-top: 0.25rem;
}
.register-card .register-required-info, .login-card .register-required-info {
  font-size: 0.9rem;
  color: #333333;
  margin-top: 1.5rem;
}
.register-card .begin-checkout-btn, .register-card .btn-primary, .login-card .begin-checkout-btn, .login-card .btn-primary {
  display: inline-block;
  border: none;
  border-radius: 1rem;
  background: #00689C;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.75rem 1.5rem;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.register-card .begin-checkout-btn:hover, .register-card .begin-checkout-btn:focus, .register-card .btn-primary:hover, .register-card .btn-primary:focus, .login-card .begin-checkout-btn:hover, .login-card .begin-checkout-btn:focus, .login-card .btn-primary:hover, .login-card .btn-primary:focus {
  background: #474747;
  box-shadow: 0 6px 12px rgba(0, 104, 156, 0.3);
}
.register-card .begin-checkout-btn:active, .register-card .btn-primary:active, .login-card .begin-checkout-btn:active, .login-card .btn-primary:active {
  background: #004669;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.register-card .begin-checkout-btn:focus-visible, .register-card .btn-primary:focus-visible, .login-card .begin-checkout-btn:focus-visible, .login-card .btn-primary:focus-visible {
  outline: 3px solid rgba(0, 104, 156, 0.4);
  outline-offset: 3px;
}
.register-card .btn-link-inline, .register-card a, .login-card .btn-link-inline, .login-card a {
  color: #00689C;
  text-decoration: none;
}
.register-card .btn-link-inline:hover, .register-card .btn-link-inline:focus, .register-card a:hover, .register-card a:focus, .login-card .btn-link-inline:hover, .login-card .btn-link-inline:focus, .login-card a:hover, .login-card a:focus {
  color: #474747;
  text-decoration: underline;
  outline: none;
}
.register-card .btn-link-inline:active, .register-card a:active, .login-card .btn-link-inline:active, .login-card a:active {
  color: #2e2e2e;
}
.register-card fieldset, .login-card fieldset {
  border: none;
  margin-bottom: 1.5rem;
}
.register-card legend, .login-card legend {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.register-card .row.g-2, .login-card .row.g-2 {
  row-gap: 1rem;
}
@media (max-width: 768px) {
  .register-card, .login-card {
    padding: 1.25rem;
  }
  .register-card .card-title, .login-card .card-title {
    font-size: 1.25rem;
  }
}
/* ============================================================
   LOGIN-Spezifisch
   ============================================================ */
.login-card .login-form-description {
  color: #333333;
  margin-bottom: 1rem;
}
.login-card .login-password-recover {
  margin-top: 0.75rem;
}
.login-card .login-password-recover a {
  font-size: 0.9rem;
  font-weight: 500;
}
.login-card .login-submit {
  margin-top: 1.25rem;
}
/* ============================================================
   REGISTER-Spezifisch
   ============================================================ */
.register-card .register-submit {
  margin-top: 1.25rem;
}
/* ============================================================
   LOGIN ADVANTAGES – PMTHEME
   ============================================================ */
.login-advantages {
  background-color: #fafafa;
  border-radius: 1rem;
  padding: 1.75rem 2rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  color: #333333;
  /* optionaler Hover-Effekt für Interaktivität */
}
.login-advantages .login-advantages-header {
  font-size: 1.25rem;
  font-weight: 600;
  color: #00689C;
  margin-bottom: 1rem;
  border-left: 4px solid #00689C;
  padding-left: 0.75rem;
}
.login-advantages ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.login-advantages ul li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.75rem;
  line-height: 1.5;
}
.login-advantages ul li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0.15rem;
  font-size: 0.95rem;
  color: #00689C;
  font-weight: 700;
}
.login-advantages:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
  transition: all 0.2s ease-in-out;
}
@media (max-width: 991.98px) {
  .login-advantages {
    display: none;
  }
}
.line-item-remove .btn:hover, .offcanvas-cart-promotion-button:hover, .offcanvas-close:hover {
  background-color: #00689C;
}
.begin-checkout-btn {
  display: inline-block;
  border: none;
  border-radius: 1rem;
  background: #00689C;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.75rem 1.5rem;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.begin-checkout-btn:hover, .begin-checkout-btn:focus {
  background: #474747;
  box-shadow: 0 6px 12px rgba(0, 104, 156, 0.3);
}
.begin-checkout-btn:active {
  background: #004669;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.begin-checkout-btn:focus-visible {
  outline: 3px solid rgba(0, 104, 156, 0.4);
  outline-offset: 3px;
}
/* ------------------------------------------------------------------
   Seitenhintergrund und Hover des Haupt-Buttons
   ------------------------------------------------------------------
   registerPageBgColor und registerFormPrimaryColorHover hatten bisher
   keine Regel, die sie liest. */
.is-ctl-register .container-main, .is-ctl-account.is-act-login .container-main {
  background: transparent;
}
.register-card .btn-primary:hover, .register-card .btn-primary:focus-visible, .login-card .btn-primary:hover, .login-card .btn-primary:focus-visible {
  background-color: #474747;
  border-color: #474747;
}
/* CSS Document */
/* ============================================================
   CHECKOUT – Bestellbutton
   ============================================================ */
#confirmFormSubmit.btn-primary {
  display: inline-block;
  width: 100%;
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: none;
  border-radius: 1rem;
  background-color: #00689C;
  color: #fff;
  padding: 0.5rem 1.5rem;
  box-shadow: 0 4px 10px rgba(0, 104, 156, 0.25);
  transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
  margin-bottom: 1em;
}
#confirmFormSubmit.btn-primary:hover, #confirmFormSubmit.btn-primary:focus {
  background-color: #004d73;
  box-shadow: 0 6px 18px rgba(0, 104, 156, 0.4);
  transform: translateY(-1px);
}
#confirmFormSubmit.btn-primary:active {
  background-color: #003f5f;
  box-shadow: 0 2px 6px rgba(0, 104, 156, 0.2);
  transform: translateY(0);
}
#confirmFormSubmit.btn-primary:focus-visible {
  outline: 3px solid rgba(0, 104, 156, 0.4);
  outline-offset: 3px;
}
@media (max-width: 768px) {
  #confirmFormSubmit.btn-primary {
    font-size: 1rem;
    padding: 0.9rem 1rem;
  }
}
/* ============================================================
   CHECKOUT – Inline Links & Hinweise (fixierte Linie)
   ============================================================ */
.checkout-confirm-tos-label, .revocation-notice {
  font-size: 0.95rem;
  line-height: 1.4;
  color: #333333;
}
.checkout-confirm-tos-label button, .revocation-notice button {
  position: relative;
  display: inline-block;
  /* wichtig für ::after */
  background: none;
  border: none;
  padding: 0;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
  /* Pseudo-Linie */
}
.checkout-confirm-tos-label button::after, .revocation-notice button::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: #474747;
  transition: width 0.25s ease;
}
.checkout-confirm-tos-label button:hover, .checkout-confirm-tos-label button:focus, .revocation-notice button:hover, .revocation-notice button:focus {
  color: #474747;
  transform: translateY(-1px);
}
.checkout-confirm-tos-label button:hover::after, .checkout-confirm-tos-label button:focus::after, .revocation-notice button:hover::after, .revocation-notice button:focus::after {
  width: 100%;
}
.checkout-confirm-tos-label button:active, .revocation-notice button:active {
  transform: translateY(0);
  opacity: 0.9;
}
.checkout-confirm-tos-label button:focus-visible, .revocation-notice button:focus-visible {
  outline: 2px solid rgba(71, 71, 71, 0.4);
  outline-offset: 2px;
}
/* ============================================================
   CHECKOUT – Checkbox Fokus
   ============================================================ */
.form-check-input:focus {
  box-shadow: 0 0 0 3px rgba(25, 58, 143, 0.25);
}
.form-check-input:checked {
  background-color: #00689C;
  border-color: #00689C;
}
/* ============================================================
   CHECKOUT – Checkbox & Fokuszustände
   ============================================================ */
.form-check-input:focus {
  box-shadow: 0 0 0 3px rgba(25, 58, 143, 0.25);
}
.form-check-input:checked {
  background-color: #00689C;
  border-color: #00689C;
}
/* ============================================================
   HEADER MINIMAL – PMTHEME
   ============================================================ */
.header-minimal {
  background-color: #ffffff;
  color: #222222;
  border-radius: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  padding: 0rem 0;
  /* Button „Zurück zum Shop“ */
  /* Logo-Zentrierung bei Bedarf */
}
.header-minimal .header-row {
  align-items: center;
}
.header-minimal a {
  position: relative;
  color: #00689C;
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease, transform 0.2s ease;
  /* Unterstreichung mit animierter Linie */
}
.header-minimal a:hover, .header-minimal a:focus {
  color: #B7B9B8;
  transform: translateY(-1px);
}
.header-minimal a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background-color: #B7B9B8;
  transition: width 0.25s ease;
}
.header-minimal a:hover::after, .header-minimal a:focus::after {
  width: 100%;
}
.header-minimal a:active {
  transform: translateY(0);
  opacity: 0.9;
}
.header-minimal strong {
  color: #000000;
}
.header-minimal .header-minimal-back-to-shop-button {
  border-radius: 6;
  border: 1px solid #00689C;
  color: #00689C;
  background-color: transparent;
  font-weight: 600;
  padding: 0.5rem 1rem;
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.header-minimal .header-minimal-back-to-shop-button:hover, .header-minimal .header-minimal-back-to-shop-button:focus {
  background-color: #00689C;
  color: #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.header-minimal .header-minimal-back-to-shop-button:active {
  background-color: #005783;
  box-shadow: none;
}
.header-minimal .header-logo-main-img {
  max-height: 150px;
}
@media (max-width: 767.98px) {
  .header-minimal {
    text-align: center;
  }
  .header-minimal .header-minimal-contact {
    margin-top: 0.5rem;
  }
  .header-minimal .header-minimal-back-to-shop {
    margin-top: 0.75rem;
  }
}
.header-minimal-contact-inner {
  font-size: 20px;
  font-weight: 500;
}
/* =========================================================
   Checkout Finish / Bestellabschluss
   Theme: Gold / Anthrazit
========================================================= */
.checkout {
  --finish-dark: #0d0b08;
  --finish-anthracite: #404753;
  --finish-gold: var(--pm-accent);
  --finish-gold-light: #f4e5c4;
  --finish-soft: #f8f6f1;
  --finish-soft-dark: #f1ece2;
  --finish-border: rgba(182, 153, 91, 0.24);
  --finish-muted: rgba(64, 71, 83, 0.72);
  padding-top: 2rem;
  padding-bottom: 4rem;
}
/* =========================================================
   Allgemeine Cards auf der Finish-Seite
========================================================= */
.checkout .checkout-card, .checkout .payment-qr-card {
  border: 1px solid var(--finish-border);
  border-radius: 0;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(13, 11, 8, 0.06);
  overflow: hidden;
}
.checkout .checkout-card .card-body, .checkout .payment-qr-card .card-body {
  padding: 2rem;
}
/* =========================================================
   Oberer Danke-Bereich
========================================================= */
.checkout-main > .checkout-card {
  position: relative;
  margin-bottom: 1.75rem;
  background: linear-gradient(135deg, rgba(13, 11, 8, 0.96), rgba(64, 71, 83, 0.94)), var(--finish-dark);
  border: 0;
  border-left: 5px solid var(--finish-gold);
  color: #ffffff;
  box-shadow: 0 18px 44px rgba(13, 11, 8, 0.16);
}
.checkout-main > .checkout-card::before {
  content: "";
  position: absolute;
  right: -80px;
  top: -110px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(182, 153, 91, 0.22);
  border-radius: 50%;
  pointer-events: none;
}
.checkout-main > .checkout-card::after {
  content: "";
  position: absolute;
  right: 56px;
  bottom: 38px;
  width: 72px;
  height: 72px;
  background: linear-gradient(135deg, rgba(182, 153, 91, 0.24), rgba(182, 153, 91, 0.02));
  border: 1px solid rgba(182, 153, 91, 0.22);
  pointer-events: none;
}
.checkout-main > .checkout-card > .card-body {
  position: relative;
  z-index: 1;
  padding: 2.4rem 2.5rem 2.2rem;
}
/* =========================================================
   Danke-Headline
========================================================= */
.finish-header {
  position: relative;
  max-width: 760px;
  margin: 0 0 1rem;
  padding-left: 4.1rem;
  color: #ffffff;
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  line-height: 1.12;
  font-weight: 850;
  letter-spacing: -0.035em;
}
.finish-header::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--finish-gold);
  color: var(--finish-dark);
  font-size: 1.7rem;
  line-height: 1;
  font-weight: 900;
  box-shadow: 0 14px 30px rgba(182, 153, 91, 0.22);
}
/* =========================================================
   Bestellnummer
========================================================= */
.finish-ordernumber {
  display: inline-flex;
  align-items: center;
  margin: 0 0 1.35rem 4.1rem;
  padding: 0.7rem 0.95rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(182, 153, 91, 0.34);
  color: var(--finish-gold-light);
  font-size: 0.96rem;
  line-height: 1.2;
  font-weight: 700;
}
.finish-ordernumber::before {
  content: "Bestellung";
  margin-right: 0.65rem;
  padding-right: 0.65rem;
  color: rgba(244, 229, 196, 0.72);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-right: 1px solid rgba(244, 229, 196, 0.22);
}
/* =========================================================
   Hinweistext oben
========================================================= */
.finish-content {
  max-width: 760px;
  margin-left: 4.1rem;
}
.finish-teaser {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.05rem;
  line-height: 1.65;
  font-weight: 500;
}
/* =========================================================
   Zahlungsblock / QR-Code Card
   baut auf deinem bestehenden payment-qr-card CSS auf
========================================================= */
.payment-qr-card {
  margin: 0 0 2.25rem;
}
.payment-qr-card .card-body {
  padding: 2rem;
}
.payment-qr-card .card-title {
  margin: 0 0 1.6rem;
  padding: 0 0 1rem;
  font-size: clamp(1.28rem, 2vw, 1.65rem);
  line-height: 1.35;
  font-weight: 850;
  letter-spacing: -0.025em;
  color: var(--finish-dark);
  border-bottom: 1px solid rgba(64, 71, 83, 0.16);
}
.payment-qr-card .card-title::before {
  content: "So geht’s weiter";
  display: block;
  margin-bottom: 0.45rem;
  color: var(--finish-gold);
  font-size: 0.78rem;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.payment-qr-card .row.mb-5 {
  margin-bottom: 0 !important;
  align-items: center;
  row-gap: 1.75rem;
}
.payment-qr-card .row.mb-5 > .col-md:first-child {
  padding-right: 2.2rem;
}
.payment-qr-card .row.mb-5 > .col-md:last-child {
  display: flex;
  justify-content: center;
}
.payment-qr-card p {
  margin: 0 0 1.25rem;
  color: var(--finish-anthracite);
  font-size: 1.02rem;
  line-height: 1.7;
}
.payment-qr-card p:first-of-type {
  max-width: 520px;
}
.payment-qr-card p:nth-of-type(2) {
  margin-bottom: 1.35rem;
  padding: 1.25rem 1.4rem;
  background: var(--finish-soft);
  border-left: 4px solid var(--finish-gold);
  color: var(--finish-anthracite);
}
.payment-qr-card p:nth-of-type(2) strong {
  display: inline-block;
  min-width: 155px;
  margin-right: 0.35rem;
  color: var(--finish-dark);
  font-weight: 850;
}
.payment-qr-card p:nth-of-type(2) br {
  content: "";
  display: block;
  margin-bottom: 0.32rem;
}
.payment-qr-card p:last-of-type {
  margin: 0;
  padding-top: 1rem;
  color: var(--finish-muted);
  font-size: 0.92rem;
  line-height: 1.7;
  border-top: 1px solid rgba(64, 71, 83, 0.12);
}
.payment-qr-card [data-gj-epc-qr-code="true"] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 330px;
  padding: 1.15rem;
  background: #ffffff;
  border: 1px solid rgba(64, 71, 83, 0.12);
  box-shadow: 0 14px 34px rgba(13, 11, 8, 0.08), 0 0 0 8px var(--finish-soft);
}
.payment-qr-card [data-gj-epc-qr-code="true"] svg {
  display: block;
  width: 100%;
  max-width: 245px;
  height: auto;
}
.payment-qr-card .text-md-right::before {
  content: "QR-Code mit Banking-App scannen";
  display: block;
  margin: 0 0 0.9rem;
  text-align: center;
  color: var(--finish-gold);
  font-size: 0.78rem;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
/* =========================================================
   Unterer Bereich: Adressen + Details
========================================================= */
.finish-info {
  margin-top: 0;
  row-gap: 1.5rem;
}
.finish-info > [class*="col-"] {
  min-width: 0;
}
.finish-address .row {
  row-gap: 1.5rem;
}
.finish-info .checkout-card {
  height: 100%;
  border-left: 4px solid var(--finish-gold);
  box-shadow: 0 10px 26px rgba(13, 11, 8, 0.055);
}
.finish-info .checkout-card .card-body {
  padding: 1.45rem 1.5rem;
}
.finish-info .card-title {
  display: flex;
  align-items: center;
  margin: 0 0 1rem;
  padding: 0 0 0.75rem;
  color: var(--finish-dark);
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 850;
  border-bottom: 1px solid rgba(64, 71, 83, 0.12);
}
.finish-info .card-title::before {
  content: "";
  width: 9px;
  height: 9px;
  margin-right: 0.6rem;
  background: var(--finish-gold);
}
.finish-info .address, .finish-address-shipping, .finish-address-billing {
  color: var(--finish-anthracite);
  font-size: 0.96rem;
  line-height: 1.7;
}
/* =========================================================
   Bestelldetails rechts
========================================================= */
.finish-order-details .checkout-card {
  background: linear-gradient(135deg, rgba(248, 246, 241, 0.92), #ffffff 46%), #ffffff;
}
.finish-order-details .card-title {
  color: var(--finish-dark);
}
.finish-order-details dl, .finish-order-details .summary-list, .finish-order-details .checkout-aside-summary, .finish-order-details .cart-summary {
  margin-bottom: 0;
}
.finish-order-details dt, .finish-order-details dd, .finish-order-details .summary-label, .finish-order-details .summary-value {
  color: var(--finish-anthracite);
  font-size: 0.95rem;
  line-height: 1.55;
}
.finish-order-details .summary-total, .finish-order-details .cart-summary-total, .finish-order-details .checkout-aside-summary-total {
  margin-top: 0.75rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(64, 71, 83, 0.14);
}
/* =========================================================
   Links / Buttons auf der Finish-Seite
========================================================= */
.checkout-main a:not(.btn) {
  color: var(--finish-anthracite);
  text-decoration-color: rgba(182, 153, 91, 0.65);
  text-underline-offset: 0.18em;
}
.checkout-main a:not(.btn):hover, .checkout-main a:not(.btn):focus {
  color: var(--finish-dark);
  text-decoration-color: var(--finish-gold);
}
.checkout-main .btn, .checkout-main .btn-primary {
  background: var(--finish-dark) !important;
  border-color: var(--finish-dark) !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(13, 11, 8, 0.12);
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.checkout-main .btn:hover, .checkout-main .btn:focus, .checkout-main .btn-primary:hover, .checkout-main .btn-primary:focus {
  background: var(--finish-gold) !important;
  border-color: var(--finish-gold) !important;
  color: var(--finish-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(182, 153, 91, 0.24);
}
/* =========================================================
   Flashbags neutral halten
========================================================= */
.checkout-main .flashbags:empty {
  display: none;
}
/* =========================================================
   Tablet
========================================================= */
@media (max-width: 991.98px) {
  .checkout {
    padding-top: 1.5rem;
    padding-bottom: 3rem;
  }
  .checkout-main > .checkout-card > .card-body {
    padding: 2rem;
  }
  .payment-qr-card .row.mb-5 > .col-md:first-child {
    padding-right: calc(var(--bs-gutter-x) * .5);
  }
  .payment-qr-card [data-gj-epc-qr-code="true"] {
    max-width: 290px;
  }
  .payment-qr-card [data-gj-epc-qr-code="true"] svg {
    max-width: 220px;
  }
}
/* =========================================================
   Mobile
========================================================= */
@media (max-width: 767.98px) {
  .checkout {
    padding-top: 1rem;
    padding-bottom: 2.5rem;
  }
  .checkout .checkout-card .card-body, .checkout .payment-qr-card .card-body {
    padding: 1.25rem;
  }
  .checkout-main > .checkout-card > .card-body {
    padding: 1.45rem 1.25rem;
  }
  .finish-header {
    padding-left: 0;
    padding-top: 3.75rem;
    font-size: 1.65rem;
  }
  .finish-header::before {
    top: 0;
    width: 42px;
    height: 42px;
    font-size: 1.45rem;
  }
  .finish-ordernumber, .finish-content {
    margin-left: 0;
  }
  .finish-ordernumber {
    width: 100%;
    justify-content: flex-start;
    margin-bottom: 1rem;
    font-size: 0.9rem;
  }
  .finish-teaser {
    font-size: 0.96rem;
    line-height: 1.6;
  }
  .payment-qr-card {
    margin-bottom: 1.5rem;
  }
  .payment-qr-card .card-title {
    margin-bottom: 1.25rem;
    font-size: 1.18rem;
  }
  .payment-qr-card p {
    font-size: 0.96rem;
    line-height: 1.6;
  }
  .payment-qr-card p:nth-of-type(2) {
    padding: 1rem 1.1rem;
  }
  .payment-qr-card p:nth-of-type(2) strong {
    display: block;
    min-width: 0;
    margin: 0 0 0.08rem;
  }
  .payment-qr-card [data-gj-epc-qr-code="true"] {
    max-width: 250px;
    padding: 0.9rem;
    box-shadow: 0 10px 24px rgba(13, 11, 8, 0.08), 0 0 0 6px var(--finish-soft);
  }
  .payment-qr-card [data-gj-epc-qr-code="true"] svg {
    max-width: 205px;
  }
  .payment-qr-card .text-md-right::before {
    margin-bottom: 0.7rem;
    font-size: 0.72rem;
  }
  .finish-info {
    row-gap: 1rem;
  }
  .finish-address .row {
    row-gap: 1rem;
  }
  .finish-info .checkout-card .card-body {
    padding: 1.2rem;
  }
  .finish-info .card-title {
    font-size: 0.95rem;
  }
}
/* =========================================================
   Sehr kleine Geräte
========================================================= */
@media (max-width: 575.98px) {
  .checkout {
    padding-left: 0;
    padding-right: 0;
  }
  .checkout-main > .checkout-card, .payment-qr-card, .finish-info .checkout-card {
    box-shadow: 0 8px 20px rgba(13, 11, 8, 0.055);
  }
  .finish-header {
    font-size: 1.45rem;
  }
  .finish-ordernumber {
    display: block;
    line-height: 1.5;
  }
  .finish-ordernumber::before {
    display: block;
    margin: 0 0 0.35rem;
    padding: 0;
    border-right: 0;
  }
}
/* =========================================================
   Checkout Finish Layout korrigieren
   Volle Breite statt Shopware Standard 66%
========================================================= */
@media (min-width: 992px) {
  .is-act-finishpage .checkout .checkout-main, .is-active-route-frontend-checkout-finish-page .checkout .checkout-main {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .is-act-finishpage .checkout .checkout-container, .is-active-route-frontend-checkout-finish-page .checkout .checkout-container {
    display: block;
  }
}
/* =========================================================
   Finish-Seite generell luftiger
========================================================= */
.is-act-finishpage .checkout, .is-active-route-frontend-checkout-finish-page .checkout {
  padding-top: 2.5rem;
  padding-bottom: 4.5rem;
}
.is-act-finishpage .checkout-main, .is-active-route-frontend-checkout-finish-page .checkout-main {
  max-width: 1280px;
  margin: 0 auto;
}
/* =========================================================
   Oberer Danke-Bereich luftiger und sauber zentriert
========================================================= */
.is-act-finishpage .checkout-main > .checkout-card > .card-body, .is-active-route-frontend-checkout-finish-page .checkout-main > .checkout-card > .card-body {
  padding: 3rem clamp(2rem, 4vw, 4rem);
}
.finish-header {
  max-width: 900px;
  margin: 0 auto 1rem;
  padding-left: 0;
  padding-top: 4.1rem;
  text-align: center;
  font-size: clamp(2rem, 3vw, 3rem);
}
.finish-header::before {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
/* =========================================================
   Bestellnummer neu darstellen
   Nutzt data-order-number aus dem vorhandenen HTML
========================================================= */
.finish-ordernumber {
  width: fit-content;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  margin: 0 auto 1.35rem;
  padding: 0;
  background: transparent;
  border: 0;
  color: rgba(244, 229, 196, 0.82);
  font-size: 0;
  line-height: 1;
  text-align: center;
}
.finish-ordernumber::before {
  content: "Bestellnummer";
  margin: 0;
  padding: 0;
  color: rgba(244, 229, 196, 0.62);
  font-size: 0.78rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 0;
}
.finish-ordernumber::after {
  content: attr(data-order-number);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.7rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(182, 153, 91, 0.28);
  color: #f4e5c4;
  font-size: 0.95rem;
  line-height: 1;
  font-weight: 800;
}
/* =========================================================
   Hinweistext unter Bestellnummer
========================================================= */
.finish-content {
  max-width: 780px;
  margin: 0 auto 2.25rem;
  text-align: center;
}
.finish-teaser {
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.02rem;
  line-height: 1.65;
}
/* =========================================================
   QR-Zahlungsblock breiter und weniger gedrungen
========================================================= */
.payment-qr-card {
  max-width: 1120px;
  margin: 2.5rem auto 0;
}
.payment-qr-card .card-body {
  padding: clamp(1.75rem, 3vw, 2.75rem);
}
.payment-qr-card .card-title {
  max-width: 960px;
}
.payment-qr-card .row.mb-5 {
  align-items: stretch;
  row-gap: 2rem;
}
@media (min-width: 768px) {
  .payment-qr-card .row.mb-5 > .col-md:first-child {
    flex: 0 0 58%;
    max-width: 58%;
    padding-right: 2.5rem;
  }
  .payment-qr-card .row.mb-5 > .col-md:last-child {
    flex: 0 0 42%;
    max-width: 42%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
/* Bankdaten etwas großzügiger */
.payment-qr-card p:nth-of-type(2) {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 1rem;
  row-gap: 0.4rem;
  padding: 1.35rem 1.5rem;
}
/* Fallback, falls Browser/Grid mit br unsauber wirkt */
.payment-qr-card p:nth-of-type(2) strong {
  min-width: 0;
}
/* QR-Code bekommt mehr Raum */
.payment-qr-card [data-gj-epc-qr-code="true"] {
  max-width: 360px;
  padding: 1.25rem;
}
.payment-qr-card [data-gj-epc-qr-code="true"] svg {
  max-width: 260px;
}
/* =========================================================
   Mobile wieder kompakt
========================================================= */
@media (max-width: 767.98px) {
  .is-act-finishpage .checkout, .is-active-route-frontend-checkout-finish-page .checkout {
    padding-top: 1rem;
    padding-bottom: 2.5rem;
  }
  .is-act-finishpage .checkout-main > .checkout-card > .card-body, .is-active-route-frontend-checkout-finish-page .checkout-main > .checkout-card > .card-body {
    padding: 1.5rem 1.25rem;
  }
  .finish-header {
    padding-top: 3.5rem;
    font-size: 1.6rem;
  }
  .finish-header::before {
    width: 42px;
    height: 42px;
    font-size: 1.45rem;
  }
  .finish-ordernumber {
    flex-direction: column;
    gap: 0.45rem;
    margin-bottom: 1.1rem;
  }
  .finish-content {
    margin-bottom: 1.5rem;
  }
  .payment-qr-card {
    margin-top: 1.5rem;
  }
  .payment-qr-card p:nth-of-type(2) {
    display: block;
  }
  .payment-qr-card p:nth-of-type(2) strong {
    display: block;
    margin-top: 0.5rem;
  }
  .payment-qr-card p:nth-of-type(2) strong:first-child {
    margin-top: 0;
  }
}
/* CSS Document */
/* ==============================
   Content Grid – Grundlayout
   ============================== */
/* ==============================
   Grundfarben
   ============================== */
.content-grid {
  display: grid;
  grid-template-columns: 0.85fr 1fr 1fr 1fr;
  gap: 2rem;
  margin: 4rem 0;
  background: #333;
  color: #fff;
}
/* ==============================
   Titel-Spalte – Desktop / Tablet
   ============================== */
.content-grid__title {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 8px solid var(--pm-accent-soft);
  padding: 1.5rem;
  text-align: center;
  aspect-ratio: 0.9;
  color: #fff;
}
.content-grid__title h2, .content-grid__title .h2 {
  margin: 0;
  font-size: 3.5rem;
  letter-spacing: 0.05em;
  line-height: 4rem;
  color: #fff;
}
/* ==============================
   Text-Spalten
   ============================== */
.content-grid__cell {
  padding: 2rem;
}
.content-grid__cell p {
  margin: 0;
  line-height: 1.7;
  font-size: 1.3rem;
  text-align: left;
  color: #fff;
}
/* ==============================
   Tablet: kompakter
   ============================== */
@media (max-width: 1200px) {
  .content-grid {
    grid-template-columns: 1fr 2fr;
    gap: 1.25rem;
    margin: 2rem 0;
  }
  .content-grid__title {
    border: none;
    padding: 0.5rem 0;
    aspect-ratio: auto;
    display: block;
    text-align: left;
  }
  .content-grid__title h2, .content-grid__title .h2 {
    font-size: 1.4rem !important;
    position: relative;
    padding-bottom: 0.6rem;
    color: #fff;
    line-height: 1.2;
  }
  .content-grid__title h2::after, .content-grid__title .h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    background: var(--pm-accent-soft);
    margin-top: 0.6rem;
  }
  .content-grid__cell {
    grid-column: 2;
    padding: 0;
  }
  .content-grid__cell p {
    font-size: 1.1rem;
  }
}
/* ==============================
   Handy: Überschrift über Text
   ============================== */
@media (max-width: 1200px) {
  .content-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .content-grid__title {
    grid-column: auto;
    padding: 0;
  }
  .content-grid__title h2, .content-grid__title .h2 {
    font-size: 1.5rem !important;
    line-height: 1.2;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .content-grid__title h2::after, .content-grid__title .h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    background: var(--pm-accent-soft);
    margin-top: 0.75rem;
  }
  .content-grid__cell {
    grid-column: auto;
    padding: 0;
  }
  .content-grid__cell p {
    font-size: 1rem;
    line-height: 1.6;
  }
}
/* =========================================================
   Media CTA Block
   Clean / Modern / Technisch / Ruhiger aufgebaut
   ========================================================= */
.media-cta-block {
  position: relative;
  margin: 5rem 0;
  padding: 3rem 0;
  background: #fff;
  color: #111;
}
/* =========================================================
   TOP
   ========================================================= */
.media-cta-block__top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 0.9fr;
  gap: 3rem;
  align-items: stretch;
}
/* =========================================================
   BILDER
   ========================================================= */
.media-cta-block__media {
  position: relative;
  margin: 0;
  width: 100%;
  height: 380px;
  overflow: hidden;
  border-radius: 0.8rem;
  background: #f3f3f3;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}
.media-cta-block__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.media-cta-block__media:hover img {
  transform: scale(1.03);
}
/* =========================================================
   TITELBLOCK
   ========================================================= */
.media-cta-block__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 380px;
  padding: 2.5rem;
  border-radius: 0.8rem;
  border: 2px solid rgba(182, 153, 91, 0.7);
  text-align: center;
}
.media-cta-block__title h2, .media-cta-block__title .h2 {
  position: relative;
  margin: 0;
  font-size: clamp(2.2rem, 2vw, 3rem);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111;
}
.media-cta-block__title h2::after, .media-cta-block__title .h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  margin: 1.5rem auto 0;
  background: var(--pm-accent);
}
/* =========================================================
   BOTTOM
   ========================================================= */
.media-cta-block__bottom {
  display: grid;
  grid-template-columns: 70% 30%;
  gap: 3rem;
  align-items: center;
  margin-top: 5rem;
}
/* Full Variante */
.media-cta-block__bottom--full {
  display: block;
}
.media-cta-block__copy--full {
  width: 100%;
  max-width: 100%;
}
/* =========================================================
   TEXT
   ========================================================= */
.media-cta-block__copy {
  max-width: 1200px;
}
.media-cta-block__copy p {
  max-width: 95ch;
  margin: 0 0 1.8rem;
  font-size: 1.12rem;
  line-height: 1.95;
  color: rgba(0, 0, 0, 0.82);
}
.media-cta-block__copy ul {
  margin: 0;
  padding-left: 1.3rem;
  font-size: 1.05rem;
  line-height: 1.9;
  color: rgba(0, 0, 0, 0.82);
}
.media-cta-block__copy li + li {
  margin-top: 0.7rem;
}
/* =========================================================
   SPECS
   ========================================================= */
.media-cta-block__specs {
  margin-top: 3rem;
}
/* Mobile Standard */
.media-cta-block__spec-group {
  margin-bottom: 2rem;
}
.media-cta-block__spec-group h4, .media-cta-block__spec-group .h4 {
  position: relative;
  margin-bottom: 1.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #111;
}
.media-cta-block__spec-group h4::after, .media-cta-block__spec-group .h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.7rem;
  width: 42px;
  height: 2px;
  background: var(--pm-accent);
}
.media-cta-block__spec-group p {
  font-size: 1rem;
}
/* =========================================================
   CTA
   ========================================================= */
.media-cta-block__cta {
  display: flex;
  align-items: center;
  justify-content: center;
}
/* =========================================================
   BUTTON
   ========================================================= */
.btn-accent-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  border-radius: 0.8rem;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border: none;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.btn-accent-outline:hover {
  background: var(--pm-accent);
  color: #111;
  transform: translateY(-2px);
}
.btn-accent-outline:focus-visible {
  outline: 3px solid var(--pm-accent);
  outline-offset: 3px;
}
/* =========================================================
   DESKTOP SPECS GRID
   ========================================================= */
@media (min-width: 992px) {
  .media-cta-block__specs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
  }
  .media-cta-block__spec-group {
    margin-bottom: 0;
  }
}
/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 992px) {
  .media-cta-block {
    margin: 4rem 0;
  }
  .media-cta-block__top {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .media-cta-block__title {
    grid-column: 1 / -1;
    height: auto;
    min-height: 220px;
  }
  .media-cta-block__title h2, .media-cta-block__title .h2 {
    font-size: 2rem;
  }
  .media-cta-block__media {
    height: 260px;
  }
  .media-cta-block__bottom {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 3rem;
  }
  .media-cta-block__cta {
    justify-content: flex-start;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 576px) {
  .media-cta-block {
    margin: 0;
    padding: 2rem 0;
  }
  .media-cta-block__top {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .media-cta-block__media {
    height: 240px;
    border-radius: 0.6rem;
  }
  .media-cta-block__title {
    display: block;
    height: auto;
    min-height: auto;
    padding: 2rem;
    text-align: left;
    border-radius: 0.6rem;
  }
  .media-cta-block__title h2, .media-cta-block__title .h2 {
    font-size: 1.8rem;
  }
  .media-cta-block__title h2::after, .media-cta-block__title .h2::after {
    margin: 1rem 0 0;
  }
  .media-cta-block__bottom {
    margin-top: 1.5rem;
    gap: 1rem;
  }
  .media-cta-block__copy p {
    font-size: 1rem;
    margin: 0;
    line-height: 1.8;
  }
  .btn-accent-outline {
    width: 100%;
  }
}
/* =========================================
   HERO PANEL – ZENTRALES PATTERN
   Namespace für:
   - Overlay Hero (Bild + Panel)
   - Grid Cards (Region-Karten)
   ========================================= */
/* -----------------------------------------
   Basis (gemeinsame Variablen)
   ----------------------------------------- */
.hero-panel {
  /* CI/Theme Defaults */
  --hp-accent: var(--pm-accent-soft);
  --hp-dark: #333;
  --hp-text: #333;
}
/* =========================================
   VARIANTE A: GRID (ehemals #region-card-grid)
   ========================================= */
.hero-panel--grid {
  max-width: 1400px;
  margin: 80px auto;
  padding: 0 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  color: #333;
  /* wie vorher */
}
/* Card im Grid */
.hero-panel--grid .hero-panel__card {
  padding: 40px;
  border-radius: 14px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.hero-panel--grid .hero-panel__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.1);
  border-color: rgba(185, 167, 145, 0.65);
}
/* Typo im Grid */
.hero-panel--grid .hero-panel__card h2, .hero-panel--grid .hero-panel__card .h2 {
  font-size: 1.4rem;
  line-height: 1.3;
  margin-bottom: 18px;
  color: #333;
  position: relative;
}
.hero-panel--grid .hero-panel__card h2::after, .hero-panel--grid .hero-panel__card .h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  margin-top: 12px;
  background-color: var(--hp-accent);
}
.hero-panel--grid .hero-panel__card p {
  margin-bottom: 14px;
  line-height: 1.6;
  color: #333;
}
.hero-panel--grid .hero-panel__card p:last-child {
  margin-bottom: 0;
}
/* Highlight (hell) */
.hero-panel__highlight {
  margin: 0 0 18px 0;
  padding: 14px 16px;
  background: rgba(185, 167, 145, 0.16);
  border-left: 4px solid var(--hp-accent);
  font-weight: 600;
  line-height: 1.4;
  border-radius: 10px;
  color: #333;
}
/* Points-Liste (hell, Haken) */
.hero-panel__points {
  margin: 18px 0 0 0;
  padding: 0;
  list-style: none;
}
.hero-panel__points li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 10px;
  line-height: 1.5;
  color: #333;
}
.hero-panel__points li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 800;
  color: var(--hp-accent);
}
.hero-panel__points li:last-child {
  margin-bottom: 0;
}
/* Responsive Grid */
@media (max-width: 991px) {
  .hero-panel--grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media (max-width: 575px) {
  .hero-panel--grid {
    padding: 0 20px;
    margin: 60px auto;
  }
  .hero-panel--grid .hero-panel__card {
    padding: 30px;
  }
  .hero-panel--grid .hero-panel__card h2, .hero-panel--grid .hero-panel__card .h2 {
    font-size: 1.25rem;
  }
}
/* =========================================
   VARIANTE B: OVERLAY (ehemals pm-hero-panel)
   ========================================= */
.hero-panel--overlay {
  position: relative;
  overflow: visible;
  margin: 4rem 0;
  padding-bottom: 120px;
}
/* Hintergrundfläche */
.hero-panel--overlay .hero-panel__bg {
  width: 100%;
  height: 600px;
  position: relative;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
/* Overlay-Layer (wie vorher, ohne sichtbare Änderung) */
.hero-panel--overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  height: 600px;
  pointer-events: none;
  z-index: 2;
}
/* Panel rechts */
.hero-panel--overlay .hero-panel__panel {
  position: absolute;
  top: -50px;
  right: 5vw;
  width: min(510px, 520px);
  height: 700px;
  overflow: auto;
  background: #333;
  color: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.25);
  z-index: 10;
}
/* Headline im Panel (deine bisherige Optik) */
.hero-panel__headline {
  margin: 0 0 1.25rem 0;
  font-size: 1.6rem;
  line-height: 1.25;
  position: relative;
  padding-bottom: 0.75rem;
  color: #fff;
}
.hero-panel__subheadline {
  margin: 1.5rem 0 0.75rem 0;
  font-size: 1.2rem;
  color: #fff;
}
.hero-panel__headline::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  background: var(--hp-accent);
  margin-top: 0.75rem;
}
/* Dark-Modifier: Highlight und Liste im dunklen Panel */
.hero-panel__highlight--dark {
  background: rgba(255, 255, 255, 0.08);
  border-left-color: var(--hp-accent);
  color: rgba(255, 255, 255, 0.95);
}
.hero-panel__points--dark li {
  color: #fff;
}
.hero-panel__note {
  font-size: 0.95rem;
  opacity: 0.9;
  margin-top: 1rem;
}
/* Responsive Overlay */
@media (max-width: 992px) {
  .hero-panel--overlay .hero-panel__panel {
    right: 3vw;
    width: min(42vw, 520px);
    height: 680px;
  }
}
@media (max-width: 576px) {
  .hero-panel--overlay {
    padding-bottom: 0;
    margin: 3rem 0;
  }
  .hero-panel--overlay .hero-panel__bg {
    height: 420px;
  }
  .hero-panel--overlay::before {
    height: 420px;
  }
  .hero-panel--overlay .hero-panel__panel {
    position: relative;
    top: 0;
    right: auto;
    width: 96%;
    height: auto;
    overflow: visible;
    margin: -200px auto 0 auto;
    padding: 1.25rem;
    border-radius: 12px;
  }
  .hero-panel__headline {
    font-size: 1.35rem;
  }
  .hero-panel__headline::after {
    width: 48px;
  }
}
/* Variante: wide */
@media (min-width: 993px) {
  .hero-panel--wide .hero-panel__panel {
    width: min(45vw, 650px);
    right: 12vw;
    height: auto;
    max-height: none;
    overflow: visible;
  }
}
/* Desktop Logo */
.hero-panel__logo {
  position: absolute;
  top: 80px;
  z-index: 5;
  display: none;
  left: clamp(6vw, 10vw, 20vw);
}
.hero-panel__logo img {
  height: auto;
  width: clamp(430px, 25vw, 550px);
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.35));
}
@media (min-width: 993px) {
  .hero-panel__logo {
    display: block;
  }
}
/* Variante: left */
.hero-panel--left .hero-panel__panel {
  left: 5vw;
  right: auto;
}
@media (max-width: 576px) {
  .hero-panel--left .hero-panel__panel {
    left: 0;
    width: 96%;
  }
}
/* =========================================
   Hero Panel – Map Variante
   ========================================= */
.hero-panel--map {
  min-height: 600px;
}
/* Mapfläche = pm-iframe-consent im Hero */
.hero-panel--map .pm-iframe-consent {
  width: 100%;
  height: 600px;
  min-height: 600px;
  position: relative;
  border-radius: 0;
}
/* Placeholder + iFrame müssen volle Höhe füllen */
.hero-panel--map .pm-iframe-consent__placeholder, .hero-panel--map .pm-iframe-consent__iframe {
  width: 100%;
  height: 100%;
  min-height: 600px;
  border: 0;
  display: block;
  border-radius: 0;
}
/* Button oben links statt zentriert */
.hero-panel--map .pm-iframe-consent__placeholder {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  padding: 2rem;
}
/* Map etwas ruhiger */
.hero-panel--map .pm-iframe-consent__iframe {
  filter: grayscale(0.12) contrast(1.05) saturate(0.9);
}
/* Liste (2 Spalten auf Desktop/Tablet) */
.hero-panel__list {
  margin: 0.75rem 0 0 0;
  padding-left: 1.25rem;
  columns: 2;
  column-gap: 2rem;
}
.hero-panel__list li {
  margin: 0.2rem 0;
  break-inside: avoid;
}
@media (max-width: 992px) {
  .hero-panel__list {
    columns: 2;
  }
}
@media (max-width: 576px) {
  .hero-panel--map .pm-iframe-consent {
    height: 420px;
    min-height: 420px;
  }
  .hero-panel--map .pm-iframe-consent__placeholder, .hero-panel--map .pm-iframe-consent__iframe {
    min-height: 420px;
  }
  .hero-panel__list {
    columns: 1;
  }
}
/* =========================================
   Page Hero – Fullwidth Banner mit Overlay-Text
   (Basis)
   ========================================= */
.page-hero {
  position: relative;
  width: 100%;
  margin: 0;
  /* WICHTIG: Schild ragt unten raus -> darf NICHT abgeschnitten werden */
  overflow: visible;
  /* Platz schaffen, damit das Schild unten nicht in den nächsten Block knallt */
  padding-bottom: 86px;
  background: #333;
}
/* Bannerbild */
.page-hero__image {
  width: 100%;
  height: 550px;
  /* (2) gewünschte Höhe */
  object-fit: cover;
  object-position: center;
  display: block;
  filter: contrast(1.05) saturate(1.05);
}
/* Overlay-Verlauf nur über dem Bildbereich (nicht über dem unteren Padding) */
.page-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 550px;
  /* (2) Verlauf passend zur Bildhöhe */
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.25) 50%, rgba(0, 0, 0, 0.05) 100%);
  pointer-events: none;
  z-index: 1;
}
/* Textbereich (Standard ohne Schild) */
.page-hero__content {
  position: absolute;
  left: 50%;
  bottom: 150px;
  transform: translateX(-50%);
  z-index: 2;
  width: min(1400px, calc(100% - 60px));
  color: #fff;
}
/* (1) Titel muss weiß sein */
.page-hero__title {
  margin: 0 0 10px 0;
  font-size: 3rem;
  line-height: 1.15;
  color: #fff;
}
.page-hero__subtitle {
  margin: 0;
  font-size: 1.9rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.95);
}
/* =========================================
   Variante: mit Ortsschild
   - Text weiter nach links + schmaler (5)
   - Schild größer + unten überlappen (3,4)
   ========================================= */
.page-hero--with-sign .page-hero__content {
  /* (5) Text NICHT zentriert, sondern weiter links */
  left: clamp(20px, 8vw, 140px);
  transform: none;
  /* (5) Bereich für Text schmaler, damit er nicht unter das Schild läuft */
  width: min(980px, calc(100% - 520px));
  max-width: 980px;
}
/* Schild */
.page-hero__sign {
  position: absolute;
  /* (3) Unten überlappen: muss ins Padding hineinragen */
  bottom: 60px;
  z-index: 3;
  /* rechts an den Viewport, wie im Original-Feeling */
  right: clamp(20px, 4vw, 80px);
  /* (4) Schild größer */
  width: clamp(260px, 28vw, 520px);
  height: auto;
  transform: rotate(2deg);
}
/* =========================================
   Responsive: Tablet / kleinere Desktops
   ========================================= */
@media (max-width: 991px) {
  /* Variante mit Schild */
  .page-hero {
    /* etwas weniger „Überstand-Reserve“ */
    padding-bottom: 70px;
  }
  .page-hero__image {
    height: 440px;
  }
  .page-hero::after {
    height: 440px;
  }
  .page-hero__content {
    /* bei kleinerer Höhe Text etwas nach unten ziehen */
    bottom: 110px;
    width: calc(100% - 40px);
  }
  .page-hero__title {
    font-size: 2.2rem;
  }
  .page-hero__subtitle {
    font-size: 1.4rem;
  }
  .page-hero--with-sign .page-hero__content {
    left: 20px;
    transform: none;
    /* Platz fürs Schild lassen */
    width: calc(100% - 348px);
    max-width: none;
  }
  .page-hero__sign {
    /* Schild bleibt im Bild, aber etwas niedriger */
    bottom: 40px;
    right: 20px;
    /* fixe Größe auf Tablet: stabiler als clamp */
    width: 280px;
  }
}
/* =========================================
   Responsive: Mobile
   ========================================= */
@media (max-width: 575px) {
  /* Schild auf Mobile ausblenden */
  /* Text wieder volle Breite nutzen (weil Schild weg ist) */
  .page-hero {
    /* Mobile: kein Schild, daher weniger Zusatzraum */
    padding-bottom: 0;
  }
  .page-hero__image {
    height: 340px;
  }
  .page-hero::after {
    height: 340px;
  }
  .page-hero__content {
    /* Text im kleineren Hero wieder harmonisch positionieren */
    bottom: 34px;
    width: calc(100% - 40px);
    left: 50%;
    transform: translateX(-50%);
  }
  .page-hero__title {
    font-size: 1.85rem;
  }
  .page-hero__subtitle {
    font-size: 1.1rem;
  }
  .page-hero__sign {
    display: none;
  }
  .page-hero--with-sign .page-hero__content {
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    max-width: none;
  }
}
/* ==============================
   Media Grid – Basis
   ============================== */
.media-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  background: #fff;
  color: #000;
  padding: 2.5rem;
  margin: 4rem 0;
}
/* ==============================
   Medien (Bilder)
   ============================== */
.media-grid__media {
  margin: 0;
  width: 100%;
  height: 420px;
  overflow: hidden;
  background: #222;
}
.media-grid__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ==============================
   Content-Box
   ============================== */
.media-grid__content {
  border: 8px solid var(--pm-accent-soft);
  padding: 1.75rem;
}
.media-grid__content h2, .media-grid__content .h2 {
  margin: 0 0 1.75rem 0;
  color: #000;
  letter-spacing: 0.04em;
  font-size: 3.5rem;
}
.media-grid__teaser {
  margin: 0 0 1rem 0;
  line-height: 1.7;
}
.media-grid__content p {
  margin: 0 0 1rem 0;
  line-height: 1.7;
}
/* ==============================
   Rechte untere Bild-Paar-Spalte
   ============================== */
.media-grid__media-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
/* ==============================
   Responsive: Tablet
   ============================== */
@media (max-width: 992px) {
  .media-grid {
    grid-template-columns: 1fr;
    padding: 1.75rem;
    margin: 0;
  }
  .media-grid__media {
    height: 260px;
  }
  .media-grid__media-pair {
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
  .media-grid__media--c, .media-grid__media--d {
    display: none;
  }
}
/* ==============================
   Responsive: Mobile
   ============================== */
@media (max-width: 576px) {
  .media-grid {
    gap: 1.25rem;
    padding: 1.25rem;
  }
  .media-grid__media {
    height: 220px;
  }
  .media-grid__media-pair {
    grid-template-columns: 1fr;
  }
  .media-grid__content {
    border: none;
    padding: 0;
    border-radius: 0;
  }
  .media-grid__content h2, .media-grid__content .h2 {
    font-size: 1.5rem;
    margin: 0 0 0.75rem 0;
    padding-bottom: 0.6rem;
    position: relative;
  }
  .media-grid__content h2::after, .media-grid__content .h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    background: var(--pm-accent-soft);
    margin-top: 0.6rem;
  }
  .media-grid__teaser {
    margin: 0 0 0.9rem 0;
  }
  .btn-accent-outline {
    width: 100%;
  }
}
/* ==============================
   Split Block – Basis
   ============================== */
.split-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  padding: 2.5rem;
  margin: 4rem 0;
}
/* Dark Variante */
.split-block--dark {
  background: #333;
  color: #fff;
}
/* ==============================
   Content
   ============================== */
.split-block__content h2, .split-block__content .h2 {
  margin: 0 0 0.75rem 0;
  font-size: 3.5rem;
  letter-spacing: 0.04em;
  color: #fff;
}
.split-block__teaser {
  margin: 0 0 1.25rem 0;
  line-height: 1.7;
}
.split-block__content p {
  margin: 0 0 1.25rem 0;
  line-height: 1.7;
}
/* ==============================
   Media
   ============================== */
.split-block__media {
  display: flex;
  align-items: center;
}
.split-block__media-wrapper {
  width: 100%;
  height: 340px;
  border-radius: 12px;
  overflow: hidden;
  background: #111;
}
.split-block__media-poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.split-block__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #111;
}
/* ==============================
   Responsive
   ============================== */
@media (max-width: 992px) {
  .split-block {
    grid-template-columns: 1fr;
    padding: 1.75rem;
  }
  .split-block__media-wrapper {
    height: 300px;
  }
}
@media (max-width: 576px) {
  .split-block {
    padding: 1.25rem;
    gap: 1.25rem;
  }
  .split-block__content h2, .split-block__content .h2 {
    font-size: 1.5rem;
    padding-bottom: 0.6rem;
    position: relative;
  }
  .split-block__content h2::after, .split-block__content .h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    background: var(--pm-accent-soft);
    margin-top: 0.6rem;
  }
  .split-block__media-wrapper {
    height: 240px;
  }
  .btn-accent-outline {
    width: 100%;
  }
}
/* =========================================
   PM Iframe Consent (Maps Placeholder / iFrame)
   ========================================= */
.pm-iframe-consent {
  width: 100%;
  min-height: 320px;
  position: relative;
}
.pm-iframe-consent__placeholder {
  width: 100%;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  /* Default (global): zentriert */
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #e9e9e9;
  border-radius: 12px;
  padding: 1.25rem;
}
.pm-iframe-consent__btn {
  border: 2px solid var(--pm-accent-soft);
  background: #fff;
  padding: 0.6rem 1rem;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
}
.pm-iframe-consent__iframe {
  width: 100%;
  height: 100%;
  min-height: 320px;
  border: 0;
  display: block;
  border-radius: 12px;
}
/* ============================================================
   FEATURE ROW – Basis (Desktop)
   ============================================================ */
/* Gesamte Reihe */
.feature-row {
  display: flex;
  justify-content: space-between;
  gap: 0;
}
/* Einzelnes Element – Linkkarte */
.feature-item {
  flex: 1;
  padding: 20px 15px;
  text-align: center;
  border-right: 1px solid #ccc;
  /* Link-Reset */
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  /* Hover-/Focus-Animationen */
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
/* Gleiche Farbe für besuchte Links */
.feature-item:link, .feature-item:visited {
  color: inherit;
}
/* Hover-/Focus */
.feature-item:hover, .feature-item:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  text-decoration: none;
}
/* Tastatur-Fokus sichtbar */
.feature-item:focus-visible {
  outline: 2px solid #c47a3c;
  outline-offset: 3px;
}
/* Kreis mit Hintergrundbild */
.feature-circle {
  width: 80px;
  height: 80px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 2px solid #eee;
  transition: transform 0.2s ease, filter 0.2s ease;
}
/* Kreis im Hover */
.feature-item:hover .feature-circle, .feature-item:focus-visible .feature-circle {
  transform: scale(1.05);
  filter: brightness(1.05);
}
/* Text */
.feature-item p {
  margin: 0;
  font-size: 18px;
  font-weight: 300;
}
/* Letztes Element: keine rechte Linie */
.feature-row .feature-item:last-child {
  border-right: none;
}
/* ============================================================
   FEATURE ROW – 2-zeiliges Layout (Desktop)
   ============================================================ */
.feature-row.feature-row--two-lines {
  flex-direction: column;
  gap: 20px;
  /* Abstand zwischen oberer und unterer Reihe */
}
.feature-row.feature-row--two-lines .feature-row-top, .feature-row.feature-row--two-lines .feature-row-bottom {
  display: flex;
  justify-content: space-between;
  gap: 0;
}
/* Obere Reihe: 4 Elemente gleich breit */
/*.feature-row.feature-row--two-lines .feature-row-top .feature-item {
  flex: 1;
}
*/
/* Untere Reihe: 3 Elemente zentriert */
.feature-row.feature-row--two-lines .feature-row-bottom {
  justify-content: center;
}
/* Untere Reihe: feste Kartenbreite */
/*.feature-row.feature-row--two-lines .feature-row-bottom .feature-item {
  flex: 0 1 260px;
}*/
/* In jeder Reihe: letztes Element ohne rechte Linie */
.feature-row.feature-row--two-lines .feature-row-top .feature-item:last-child, .feature-row.feature-row--two-lines .feature-row-bottom .feature-item:last-child {
  border-right: none;
}
/* ============================================================
   MOBILE – Slider (1 Kachel pro Wisch, iOS Safari kompatibel)
   Alle bisherigen Blöcke zusammengefasst und bereinigt
   ============================================================ */
@media (max-width: 768px), (hover: none) and (pointer: coarse) {
  /* ----------------------------------------------------------
     Scroll-Container
     ---------------------------------------------------------- */
  /* Reihen flach auflösen – alle Items in eine Scroll-Reihe */
  /* ----------------------------------------------------------
     Einzelne Kachel
     ---------------------------------------------------------- */
  /* Letztes Item: kein überhängender Margin */
  /* Touch: kein Hover-Springen */
  /* Kreis etwas größer */
  .feature-row.feature-row--two-lines {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    /* scroll statt auto – Safari zuverlässiger */
    overflow-x: scroll;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    /* scroll-padding-left: 50% entfernt – verwirrt Safari bei start-snap */
    scroll-padding-left: 0;
    justify-content: flex-start;
    gap: 0;
    /* seitliches padding = sichtbarer Einzug beim ersten/letzten Item */
    padding: 6px 16px 14px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    /* mask-image entfernt – kollidiert auf iOS mit overflow:scroll */
  }
  .feature-row.feature-row--two-lines::-webkit-scrollbar {
    display: none;
  }
  .feature-row.feature-row--two-lines .feature-row-top, .feature-row.feature-row--two-lines .feature-row-bottom {
    display: contents;
  }
  .feature-row.feature-row--two-lines .feature-item {
    /* Eine Karte pro Wisch.
       calc(100% - 32px) = Container minus beider Seiten-Paddings (2 x 16px) */
    flex: 0 0 calc(100% - 32px);
    max-width: calc(100% - 32px);
    /* scroll-snap-stop: always = DER iOS-Safari-Fix:
       verhindert dass ein schneller Wisch zwei Kacheln überspringt */
    scroll-snap-align: start;
    scroll-snap-stop: always;
    /* Abstand zwischen Karten über margin, nicht gap */
    margin-right: 12px;
    /* Karten-Optik */
    border: 1px solid #ccc;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    padding: 18px 14px 44px;
    position: relative;
  }
  .feature-row.feature-row--two-lines .feature-item:last-child {
    margin-right: 0;
  }
  .feature-row.feature-row--two-lines .feature-item:hover {
    transform: none;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  }
  .feature-row.feature-row--two-lines .feature-circle {
    width: 88px;
    height: 88px;
  }
}
@media (max-width: 768px) and (prefers-reduced-motion: reduce), (hover: none) and (pointer: coarse) and (prefers-reduced-motion: reduce) {
  .feature-row.feature-row--two-lines {
    scroll-behavior: auto;
  }
}
/* ============================================================
   MOBILE – Dots Styling
   ============================================================ */
@media (max-width: 768px) {
  .feature-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 10px 0 0;
  }
  .feature-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.2);
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .feature-dot.is-active {
    background: rgba(0, 0, 0, 0.55);
  }
}
/* ============================================================
   Mobile: Link-Hinweis-Icon in Karten
   ============================================================ */
@media (max-width: 768px) {
  /* leichte Interaktion */
  .feature-row.feature-row--two-lines .feature-item {
    position: relative;
    /* notwendig für absolute Positionierung */
  }
  .feature-row.feature-row--two-lines .feature-item::after {
    content: "↗";
    border: 2px solid rgba(0, 0, 0, 0.2);
    background: transparent;
    position: absolute;
    bottom: 12px;
    right: 14px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 20px;
    font-weight: 600;
    color: var(--pm-accent-soft);
    transition: transform 0.2s ease, background 0.2s ease;
  }
  .feature-row.feature-row--two-lines .feature-item:active::after {
    transform: scale(0.9);
    background: rgba(0, 0, 0, 0.15);
  }
}
/* CSS Document */
/* ---------------------- Team Seite ----------------- */
/* Gesamtes Layout: 40% links / 60% rechts */
.team-layout {
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px 40px;
  display: flex;
  gap: 0px;
}
/* Linke Spalte */
.team-left {
  flex: 0 0 40%;
  display: flex;
  flex-direction: column;
  position: relative;
  /* wichtig für das absolute Positionieren */
}
/* Haupttitel */
.team-site-title {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 40px;
  letter-spacing: 1px;
}
/* Rotierter "JK FIREWOOD"-Schriftzug */
.rotated-brand {
  position: absolute;
  right: -70px;
  /* an der rechten Kante der linken Spalte andocken */
  top: -414px;
  /* am unteren Rand der Spalte */
  transform-origin: right bottom;
  /* Drehpunkt = rechte untere Ecke */
  transform: rotate(-90deg);
  /* Schriftzug um 90° drehen */
}
/* Text-Styling des rotieren Schriftzuges */
.rotated-brand span {
  font-size: 14.5rem;
  font-weight: 800;
  text-transform: uppercase;
  opacity: 0.06;
  /* dezent, wie im Referenzlayout */
  white-space: nowrap;
  /* verhindert Zeilenumbruch */
  user-select: none;
  /* Text nicht markierbar */
}
/* Rechte Seite */
.team-right {
  flex: 0 0 60%;
  display: flex;
  gap: 0px;
}
/* Zwei Spalten */
.team-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0px;
}
/* Bilder & Mitarbeiter */
.team-member img {
  width: 70%;
  display: block;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.team-member:hover img {
  transform: translateY(-4px);
}
/* leichte Name-Formatierung */
.team-member h3, .team-member .h3 {
  margin-top: 10px;
  font-size: 1.2rem;
  font-weight: 600;
  /* Neu: Linie + rechtsbündiger Name */
  width: 70%;
  /* gleiche Breite wie das Bild */
  display: flex;
  /* Linie + Text in einer Reihe */
  align-items: center;
  justify-content: flex-end;
  /* Text nach rechts schieben */
  gap: 10px;
  /* Abstand zwischen Linie und Name */
  margin-bottom: 0;
}
/* Linie vor dem Namen */
.team-member h3::before, .team-member .h3::before {
  content: "";
  flex: 1;
  /* füllt den Platz links vom Namen */
  height: 1px;
  background: #000;
  /* ggf. an deine Farbwelt anpassen */
}
/* Rolleninfo */
.team-role {
  margin-top: 6px;
  font-size: 0.85rem;
  line-height: 1.4;
  text-align: right;
  opacity: 0.7;
  width: 70%;
}
/* Versetzungen – so entsteht der "Magazine-Look" */
.offset-small {
  margin-top: 20px;
}
.offset-medium {
  margin-top: 50%;
}
.offset-large {
  margin-top: 80px;
}
.offset-xlarge {
  margin-top: 120px;
}
/* ============================================
   RESPONSIVE: Ab <= 992px komplett neues Layout
   ============================================ */
@media (max-width: 992px) {
  /* Eine Spalte statt 40/60 */
  /* Titel zentriert */
  /* Linke Spalte nicht mehr als Spalte sichtbar,
       aber als Container für das Hintergrund-Branding */
  /* Neuer Hintergrund-Schriftzug */
  /* Bild-Bereich wird EIN Container */
  /* Zweispaltiges Grid statt versetzte Blöcke */
  /* Versatz entfernen für Mobile */
  /* Bilder etwas größer und immer 100% innerhalb der Zellen */
  .team-layout {
    flex-direction: column;
    padding: 40px 20px;
    gap: 40px;
  }
  .team-site-title {
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 0px;
  }
  .team-left {
    flex: 0 0 auto;
    position: relative;
    min-height: 20px;
    /* gibt Platz für das Branding */
  }
  .rotated-brand {
    position: absolute;
    top: 960px;
    left: -110px;
    /* halb außerhalb für den Cutting-Effekt */
    transform-origin: left top;
    transform: rotate(-90deg);
    pointer-events: none;
    /* nicht anklickbar */
    z-index: 0;
    /* hinter dem Bild-Grid */
  }
  .rotated-brand span {
    font-size: 11rem;
    /* deutlich kleiner */
  }
  .team-right {
    flex-direction: row;
    gap: 20px;
    z-index: 10;
    /* über Branding */
  }
  .team-right {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
    row-gap: 40px;
  }
  .offset-small, .offset-medium, .offset-large, .offset-xlarge {
    margin-top: 0;
  }
  .team-member img {
    width: 100%;
    border-radius: 8px;
  }
  .team-member h3, .team-member .h3 {
    margin-top: 8px;
    font-size: 1rem;
    width: 100%;
    /* jetzt so breit wie das Bild */
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-bottom: 0;
  }
  .team-member h3::before, .team-member .h3::before {
    content: "";
    flex: 1;
    height: 1px;
    background: #000;
  }
  .team-role {
    margin-top: 0;
    width: 100%;
    font-size: 0.8rem;
    margin-bottom: 25px;
  }
}
/* =====================================================
   ROOT
   ===================================================== */
:root {
  --support-gold: var(--pm-accent);
}
/* =====================================================
   LABEL
   ===================================================== */
.support-section-label {
  position: relative;
  display: inline-block;
  padding-left: 1.2rem;
  margin-bottom: 1rem;
  color: var(--support-gold);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.support-section-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--support-gold);
  transform: translateY(-50%);
}
/* =====================================================
   HERO
   ===================================================== */
.support-hero {
  position: relative;
  padding: 8rem 0 5rem;
  overflow: hidden;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.55)), radial-gradient(circle at top right, rgba(182, 153, 91, 0.25), transparent 35%), url("https://abgeflext.shop.plum-medien.de/media/d8/c7/ae/1778062306/005--20240703_091040.jpg?ts=1778062306");
  background-size: cover;
  background-position: center;
}
.support-hero__title {
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 1.05;
  font-weight: 800;
  color: #fff;
  margin-bottom: 1.5rem;
}
.support-hero__title::after {
  content: "";
  display: block;
  width: 90px;
  height: 4px;
  margin-top: 1.5rem;
  background: var(--support-gold);
}
.support-hero__text {
  max-width: 720px;
  font-size: 1.15rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
  margin-bottom: 2rem;
}
/* =====================================================
   HERO META
   ===================================================== */
.support-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.support-hero__meta-item {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.2rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-decoration: none;
  overflow: hidden;
  transform: translateY(0);
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.support-hero__meta-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.04) 45%, rgba(255, 255, 255, 0) 100%);
  opacity: 0;
  z-index: -1;
  transition: opacity 0.25s ease;
}
.support-hero__meta-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: -80%;
  width: 55%;
  height: 100%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.22) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-18deg);
  opacity: 0;
  transition: left 0.55s ease, opacity 0.25s ease;
}
.support-hero__meta-item i {
  font-size: 1.1rem;
  color: var(--support-gold);
  transform: translateX(0) scale(1);
  transition: transform 0.25s ease, color 0.25s ease, text-shadow 0.25s ease;
}
.support-hero__meta-item span {
  color: #fff;
  font-weight: 600;
  transition: color 0.25s ease;
}
.support-hero__meta-item:hover, .support-hero__meta-item:focus {
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.28);
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.05);
  text-decoration: none;
}
.support-hero__meta-item:hover::before, .support-hero__meta-item:focus::before {
  opacity: 1;
}
.support-hero__meta-item:hover::after, .support-hero__meta-item:focus::after {
  left: 125%;
  opacity: 1;
}
.support-hero__meta-item:hover i, .support-hero__meta-item:focus i {
  transform: translateX(2px) scale(1.08);
  color: #ffffff;
  text-shadow: 0 0 18px rgba(255, 255, 255, 0.35);
}
.support-hero__meta-item:hover span, .support-hero__meta-item:focus span {
  color: #ffffff;
}
/* =====================================================
   AVAILABILITY CARD
   ===================================================== */
.support-availability {
  height: 100%;
  padding: 2.5rem;
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(182, 153, 91, 0.14);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}
.support-availability h2, .support-availability .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  margin-bottom: 1rem;
  color: #111;
}
.support-availability p {
  margin-bottom: 1rem;
  line-height: 1.8;
  color: rgba(0, 0, 0, 0.78);
}
.support-availability p:last-child {
  margin-bottom: 0;
}
/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 767px) {
  .support-hero {
    padding: 5rem 0 4rem;
  }
  .support-hero__title {
    margin-bottom: 1rem;
  }
  .support-hero__title::after {
    margin-top: 1rem;
  }
  .support-hero__text {
    margin-bottom: 1.5rem;
  }
  .support-hero__meta {
    gap: 0.75rem;
  }
  .support-hero__meta-item {
    width: 100%;
    border-radius: 0.8rem;
  }
  .support-availability {
    padding: 1.5rem;
    border-radius: 1rem;
  }
}
/* =====================================================
   SUPPORT CARDS
   ===================================================== */
.support-cards {
  padding: 4rem 0 3rem;
}
.support-cards__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.support-card {
  display: block;
  padding: 2rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  text-decoration: none;
  color: inherit;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.support-card:hover {
  transform: translateY(-4px);
  border-color: rgba(182, 153, 91, 0.18);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
}
.support-card__icon {
  margin-bottom: 1.5rem;
}
.support-card__icon i {
  font-size: 1.7rem;
  color: var(--support-gold);
}
.support-card h3, .support-card .h3 {
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
}
.support-card p {
  margin: 0;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.74);
}
/* =====================================================
   PERSONAL
   ===================================================== */
.support-personal {
  padding: 2rem 0 4rem;
}
.support-personal h2, .support-personal .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
  line-height: 1.1;
}
.support-personal p {
  line-height: 1.8;
  color: rgba(0, 0, 0, 0.82);
}
.support-personal__box {
  padding: 2rem;
  border-radius: 1rem;
  background: rgba(182, 153, 91, 0.06);
  border: 1px solid rgba(182, 153, 91, 0.14);
}
.support-personal__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  text-decoration: none;
}
.support-personal__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
  text-decoration: none;
}
.support-personal__item + .support-personal__item {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.support-personal__item i {
  font-size: 1.4rem;
  color: var(--support-gold);
}
.support-personal__item strong {
  display: block;
  margin-bottom: 0.2rem;
}
.support-personal__item span {
  color: rgba(0, 0, 0, 0.7);
}
/* =====================================================
   CONTACT
   ===================================================== */
.support-contact {
  padding: 2rem 0 4rem;
}
.support-contact__inner {
  padding: 2rem;
  border-radius: 1.5rem;
  background: #f7f7f7;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.support-contact__content {
  height: 100%;
  padding: 2.5rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #2b2b2b, #171717);
  color: #fff;
}
.support-contact__content h2, .support-contact__content .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
  line-height: 1.1;
  color: #fff;
}
.support-contact__content p {
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.8;
}
/* =====================================================
   FORM
   ===================================================== */
.support-form {
  padding: 1rem;
}
.support-form__input, .support-form__textarea {
  width: 100%;
  padding: 1rem 1.2rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  color: #111;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.support-form__input::placeholder, .support-form__textarea::placeholder {
  color: rgba(0, 0, 0, 0.45);
}
.support-form__input:focus, .support-form__textarea:focus {
  outline: none;
  border-color: var(--support-gold);
  box-shadow: 0 0 0 4px rgba(182, 153, 91, 0.12);
}
.support-form__textarea {
  min-height: 160px;
  resize: vertical;
}
/* =====================================================
   BUTTON
   ===================================================== */
.support-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem 1.8rem;
  border: none;
  border-radius: 0.8rem;
  background: #2b2b2b;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  transition: background 0.2s ease, transform 0.2s ease;
}
.support-btn:hover {
  background: var(--support-gold);
  color: #111;
  transform: translateY(-2px);
}
.support-btn--light {
  width: auto;
  background: #fff;
  color: #111;
}
/* =====================================================
   FAQ
   ===================================================== */
.support-faq {
  padding: 0 0 5rem;
}
.support-faq__inner {
  padding: 4rem;
  border-radius: 1.5rem;
  background: linear-gradient(135deg, #2b2b2b, #171717);
  text-align: center;
  color: #fff;
}
.support-faq h2, .support-faq .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
  color: #fff;
}
.support-faq p {
  max-width: 700px;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.8;
}
/* =====================================================
   TABLET
   ===================================================== */
@media (max-width: 991px) {
  .support-cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 767px) {
  .support-cards, .support-personal, .support-contact, .support-faq {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .support-cards__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .support-card, .support-personal__box, .support-contact__content, .support-faq__inner {
    padding: 1.5rem;
  }
  .support-contact__inner {
    padding: 1rem;
  }
  .support-form {
    padding: 0;
  }
}
/* ============================================================
 * PM Image Grid – Storefront-Styles
 * ============================================================
 * Pinterest-Style Masonry mittels CSS multi-column.
 * Spaltenzahl/gap kommen aus CSS Custom Properties, die das
 * Twig-Template inline pro Instanz schreibt – so kann jedes
 * Grid auf derselben Seite anders konfiguriert sein.
 * ============================================================ */
.pm-image-grid {
  --pm-grid-gap: 12px;
  --pm-grid-cols-desktop: 3;
  --pm-grid-cols-tablet:  2;
  --pm-grid-cols-mobile:  1;
  width: 100%;
  /* ---- Hover-Effekt: zoom ---- */
  /* ---- Hover-Effekt: overlay ---- */
}
.pm-image-grid__masonry {
  column-count: var(--pm-grid-cols-mobile);
  column-gap: var(--pm-grid-gap);
}
@media (min-width: 576px) {
  .pm-image-grid__masonry {
    column-count: var(--pm-grid-cols-tablet);
  }
}
@media (min-width: 992px) {
  .pm-image-grid__masonry {
    column-count: var(--pm-grid-cols-desktop);
  }
}
.pm-image-grid__item {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  margin: 0 0 var(--pm-grid-gap) 0;
  overflow: hidden;
  border-radius: 4px;
  background: #f5f5f5;
}
.pm-image-grid__link {
  display: block;
  position: relative;
  cursor: zoom-in;
  text-decoration: none;
  color: inherit;
}
.pm-image-grid__link:hover, .pm-image-grid__link:focus-visible {
  text-decoration: none;
}
.pm-image-grid__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
.pm-image-grid__img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 400ms ease, filter 300ms ease;
}
.pm-image-grid--hover-zoom .pm-image-grid__link:hover .pm-image-grid__img, .pm-image-grid--hover-zoom .pm-image-grid__link:focus-visible .pm-image-grid__img {
  transform: scale(1.05);
}
.pm-image-grid--hover-overlay .pm-image-grid__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 300ms ease;
}
.pm-image-grid--hover-overlay .pm-image-grid__link:hover::after, .pm-image-grid--hover-overlay .pm-image-grid__link:focus-visible::after {
  background: rgba(0, 0, 0, 0.18);
}
/* ============================================================
 * Lightbox
 * ============================================================ */
.pm-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.92);
  padding: 24px;
}
.pm-lightbox.is-open {
  display: flex;
}
.pm-lightbox__stage {
  position: relative;
  max-width: min(96vw, 1400px);
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pm-lightbox__img {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  display: block;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 200ms ease;
}
.pm-lightbox__img.is-loaded {
  opacity: 1;
}
.pm-lightbox__caption {
  position: absolute;
  bottom: -32px;
  left: 0;
  right: 0;
  text-align: center;
  color: #fff;
  font-size: 13px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  pointer-events: none;
}
.pm-lightbox__btn {
  position: absolute;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #fff;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 200ms ease, transform 200ms ease;
}
.pm-lightbox__btn:hover, .pm-lightbox__btn:focus-visible {
  background: rgba(255, 255, 255, 0.25);
  outline: none;
}
.pm-lightbox__btn:active {
  transform: scale(0.94);
}
.pm-lightbox__btn svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pm-lightbox__btn--close {
  top: 16px;
  right: 16px;
}
.pm-lightbox__btn--prev {
  left: 16px;
}
.pm-lightbox__btn--next {
  right: 16px;
}
.pm-lightbox__btn--prev, .pm-lightbox__btn--next {
  top: 50%;
  transform: translateY(-50%);
}
.pm-lightbox__btn--prev:active, .pm-lightbox__btn--next:active {
  transform: translateY(-50%) scale(0.94);
}
.pm-lightbox__counter {
  position: absolute;
  top: 24px;
  left: 24px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 575px) {
  .pm-lightbox {
    padding: 8px;
  }
  .pm-lightbox__btn {
    width: 40px;
    height: 40px;
  }
  .pm-lightbox__btn--prev {
    left: 8px;
  }
  .pm-lightbox__btn--next {
    right: 8px;
  }
  .pm-lightbox__btn--close {
    top: 8px;
    right: 8px;
  }
}
body.pm-lightbox-open {
  overflow: hidden;
}
.pm-manuals-element .pm-manuals-headline {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.pm-manuals-element .pm-manuals-subline {
  margin-bottom: 1.5rem;
  font-size: 1rem;
}
.manual-card {
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  display: flex;
  flex-direction: column;
}
.manual-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.09) !important;
}
.manual-card__btn {
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.3px;
  padding: 0.45rem 0.9rem;
}
.manual-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(13, 110, 253, 0.07);
}
.manual-icon__badge {
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.6px;
  padding: 3px 6px;
  border-radius: 6px;
  display: inline-block;
  text-transform: uppercase;
  line-height: 1;
}
.manual-badge--pdf {
  background: #fff1f0;
  color: #c53030;
}
.manual-badge--doc {
  background: #ebf8ff;
  color: #2b6cb0;
}
.manual-badge--xls {
  background: #f0fff4;
  color: #276749;
}
.manual-badge--zip {
  background: #fffff0;
  color: #744210;
}
.manual-badge--video {
  background: #faf5ff;
  color: #6b46c1;
}
.manual-badge--link {
  background: #e6fffa;
  color: #285e61;
}
.manual-badge--html {
  background: #fff5f5;
  color: #c05621;
}
.manual-badge--stl {
  background: #f0f4ff;
  color: #3730a3;
}
@media (max-width: 767.98px) {
  .pm-manuals-element .pm-manuals-headline {
    font-size: 1.4rem;
  }
  .manual-card {
    border-radius: 12px;
  }
}
/* CSS Document */
/*
|--------------------------------------------------------------------------
| Wartungsseite / Pre-Launch Stage
|--------------------------------------------------------------------------
*/
.pm-maintenance-stage {
  --pm-gold: var(--pm-accent-dark);
  --pm-dark: #343433;
  --pm-light: #ffffff;
  --pm-text: #d2d2d2;
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 5vw, 80px) 15px;
  background: linear-gradient(145deg, #2d2d2c 0%, #343433 100%);
  color: var(--pm-light);
  /*
    |--------------------------------------------------------------------------
    | Hintergrund-Effekt
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Card
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Grid
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Linke Seite
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Buttons
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Rechte Seite
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Motion reduzieren
    |--------------------------------------------------------------------------
    */
}
.pm-maintenance-stage::before {
  content: "";
  position: absolute;
  right: -250px;
  bottom: -250px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(172, 146, 89, 0.15) 0%, rgba(172, 146, 89, 0) 70%);
  pointer-events: none;
}
.pm-maintenance-stage__card {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin: 0 auto;
  border-radius: 32px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}
.pm-maintenance-stage__grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
}
@media (max-width: 991px) {
  .pm-maintenance-stage__grid {
    grid-template-columns: 1fr;
  }
}
.pm-maintenance-stage__content {
  padding: clamp(30px, 5vw, 80px);
}
.pm-maintenance-stage__logo {
  display: block;
  max-width: 260px;
  width: 100%;
  height: auto;
  margin-bottom: 40px;
}
.pm-maintenance-stage__subtitle {
  display: inline-block;
  margin-bottom: 20px;
  color: var(--pm-gold);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.pm-maintenance-stage__headline {
  margin-bottom: 30px;
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 700;
  line-height: 1.05;
  color: var(--pm-light);
}
.pm-maintenance-stage__text {
  max-width: 650px;
  margin-bottom: 40px;
  color: var(--pm-text);
  font-size: 1.1rem;
  line-height: 1.9;
}
.pm-maintenance-stage__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.pm-maintenance-stage__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 14px 28px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 600;
  transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease;
}
.pm-maintenance-stage__button:hover, .pm-maintenance-stage__button:focus-visible {
  transform: translateY(-3px);
}
.pm-maintenance-stage__button:focus-visible {
  outline: 2px solid var(--pm-gold);
  outline-offset: 3px;
}
.pm-maintenance-stage__button--primary {
  background: var(--pm-gold);
  color: #1f1f1f;
}
.pm-maintenance-stage__button--primary:hover, .pm-maintenance-stage__button--primary:focus-visible {
  background: #bea268;
  color: #1f1f1f;
}
.pm-maintenance-stage__button--secondary {
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--pm-light);
}
.pm-maintenance-stage__button--secondary:hover, .pm-maintenance-stage__button--secondary:focus-visible {
  background: rgba(255, 255, 255, 0.05);
  color: var(--pm-light);
}
.pm-maintenance-stage__sidebar {
  padding: clamp(30px, 5vw, 80px);
  background: rgba(0, 0, 0, 0.12);
}
.pm-maintenance-stage__info-box:not(:last-child) {
  margin-bottom: 40px;
}
.pm-maintenance-stage__info-box p {
  margin-bottom: 12px;
  color: var(--pm-text);
  line-height: 1.8;
}
.pm-maintenance-stage__info-box a {
  color: var(--pm-light);
  text-decoration: none;
  transition: color 0.3s ease;
}
.pm-maintenance-stage__info-box a:hover, .pm-maintenance-stage__info-box a:focus-visible {
  color: var(--pm-gold);
}
.pm-maintenance-stage__info-title {
  display: inline-block;
  margin-bottom: 16px;
  color: var(--pm-gold);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
@media (prefers-reduced-motion: reduce) {
  .pm-maintenance-stage * {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
/*
|--------------------------------------------------------------------------
| Shopware Maintenance Fixes
|--------------------------------------------------------------------------
*/
body.is-active-route-frontend-maintenance-page .content-main {
  padding-bottom: 0;
  margin-bottom: 0;
  background: linear-gradient(145deg, #2d2d2c 0%, #343433 100%);
}
body.is-ctl-maintenance {
  /*background: #343433;*/
  /*
    |--------------------------------------------------------------------------
    | Main Wrapper
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Footer
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Container entfernen
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Footer Abstände
    |--------------------------------------------------------------------------
    */
  /*
    |--------------------------------------------------------------------------
    | Copyright / Texte
    |--------------------------------------------------------------------------
    */
}
body.is-ctl-maintenance .footer-main, body.is-ctl-maintenance .footer-bottom, body.is-ctl-maintenance .footer-minimal {
  margin-top: 0;
  background-color: transparent;
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url("https://caddata.shop.plum-medien.de/media/c2/8f/9f/1789035363/001--576173971.jpg?ts=1789035363");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-top: 0;
}
body.is-ctl-maintenance .footer-main .container, body.is-ctl-maintenance .footer-main .cms-section .boxed, .cms-section body.is-ctl-maintenance .footer-main .boxed, body.is-ctl-maintenance .footer-bottom .container, body.is-ctl-maintenance .footer-bottom .cms-section .boxed, .cms-section body.is-ctl-maintenance .footer-bottom .boxed, body.is-ctl-maintenance .footer-minimal .container, body.is-ctl-maintenance .footer-minimal .cms-section .boxed, .cms-section body.is-ctl-maintenance .footer-minimal .boxed {
  max-width: 100%;
}
body.is-ctl-maintenance .footer-main {
  padding-top: 40px;
  padding-bottom: 40px;
}
body.is-ctl-maintenance .footer-main, body.is-ctl-maintenance .footer-bottom, body.is-ctl-maintenance .footer-minimal {
  color: rgba(255, 255, 255, 0.7);
}
body.is-ctl-maintenance .footer-main a, body.is-ctl-maintenance .footer-bottom a, body.is-ctl-maintenance .footer-minimal a {
  color: var(--pm-accent-dark);
}
body.is-ctl-maintenance .footer-main a:hover, body.is-ctl-maintenance .footer-main a:focus-visible, body.is-ctl-maintenance .footer-bottom a:hover, body.is-ctl-maintenance .footer-bottom a:focus-visible, body.is-ctl-maintenance .footer-minimal a:hover, body.is-ctl-maintenance .footer-minimal a:focus-visible {
  color: #ffffff;
}
/* =========================================================
   PARTNER BAND – CMS Element pm-partner-slider
   =========================================================
   Slider-Mechanik:
   - .partner-track ist horizontal scrollbar (overflow-x: auto)
   - scroll-snap-type sorgt fuer saubere "Stops" pro Karte
   - scroll-behavior: smooth → animiertes Scrollen via JS-Buttons
   - Touch/Trackpad: Browser-nativ, kein JS noetig
   - Anzahl sichtbarer Logos wird per CSS-Variablen gesteuert,
     die das Twig-Template pro Instanz inline injectet:
        --pm-partner-gap
        --pm-partner-cols-desktop
        --pm-partner-cols-tablet
        --pm-partner-cols-mobile
   - Scrollbar wird ausgeblendet, weil die Buttons das uebernehmen.
========================================================= */
.partner-band {
  position: relative;
  overflow: hidden;
  /* Default: dunkles Theme. Wird durch Modifier "--light" ueberschrieben. */
  --pm-partner-bg:           #111111;
  --pm-partner-bg-accent:    rgba(255, 255, 255, 0.06);
  --pm-partner-text:         #ffffff;
  --pm-partner-text-muted:   rgba(255, 255, 255, 0.55);
  --pm-partner-card-bg:      rgba(255, 255, 255, 0.04);
  --pm-partner-card-bg-hov:  rgba(255, 255, 255, 0.06);
  --pm-partner-card-border:  rgba(255, 255, 255, 0.08);
  --pm-partner-card-border-hov: rgba(255, 255, 255, 0.18);
  --pm-partner-logo-bg:      #ffffff;
  --pm-partner-btn-bg:       rgba(255, 255, 255, 0.04);
  --pm-partner-btn-bg-hov:   rgba(255, 255, 255, 0.10);
  --pm-partner-btn-border:   rgba(255, 255, 255, 0.12);
  --pm-partner-btn-border-hov: rgba(255, 255, 255, 0.25);
  --pm-partner-focus-ring:   #ffffff;
  /* Defaults, falls das Twig-Template noch nicht inline gesetzt hat. */
  --pm-partner-gap:          16px;
  --pm-partner-cols-desktop: 5;
  --pm-partner-cols-tablet:  3;
  --pm-partner-cols-mobile:  2;
  background: radial-gradient(circle at bottom right, var(--pm-partner-bg-accent), transparent 35%), var(--pm-partner-bg);
  color: var(--pm-partner-text);
}
/* Helle Variante: weisser Hintergrund, dunkle Schrift, dezente Karten */
.partner-band--light {
  --pm-partner-bg:           transparent;
  --pm-partner-bg-accent:    rgba(0, 0, 0, 0.0);
  --pm-partner-text:         #111111;
  --pm-partner-text-muted:   rgba(0, 0, 0, 0.55);
  --pm-partner-card-bg:      #ffffff;
  --pm-partner-card-bg-hov:  #ffffff;
  --pm-partner-card-border:  rgba(0, 0, 0, 0.08);
  --pm-partner-card-border-hov: rgba(0, 0, 0, 0.18);
  --pm-partner-logo-bg:      #ffffff;
  --pm-partner-btn-bg:       #ffffff;
  --pm-partner-btn-bg-hov:   #ffffff;
  --pm-partner-btn-border:   rgba(0, 0, 0, 0.12);
  --pm-partner-btn-border-hov: rgba(0, 0, 0, 0.30);
  --pm-partner-focus-ring:   #111111;
}
/* =========================================================
   TYPO – Header
========================================================= */
.partner-band .partner-subtitle {
  display: inline-block;
  color: var(--pm-partner-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.8rem;
  margin-bottom: 0.6rem;
}
.partner-band .partner-title {
  color: var(--pm-partner-text);
  font-weight: 700;
  font-size: clamp(1.5rem, 2vw, 2.3rem);
  line-height: 1.2;
}
/* =========================================================
   TRACK – horizontal scroller mit scroll-snap
========================================================= */
.partner-track-wrapper {
  position: relative;
}
.partner-track {
  display: flex;
  gap: var(--pm-partner-gap);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  /* Gegen versehentliches Scrollen entlang Y waehrend des Swipes */
  overscroll-behavior-x: contain;
  /* Bottom-Padding fuer Schatten / Hover-Lift, sonst wird er abgeschnitten */
  padding: 6px 0 14px 0;
  /* Scrollbar visuell entfernen – Buttons + Touch reichen */
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE/Edge legacy */
}
.partner-track::-webkit-scrollbar {
  /* Chrome/Safari/Opera */
  width: 0;
  height: 0;
  display: none;
}
/* Tastatur-Fokus auf dem Track sichtbar machen (Track ist tabindex=0) */
.partner-track:focus-visible {
  outline: 2px solid var(--pm-partner-focus-ring);
  outline-offset: 4px;
  border-radius: 4px;
}
/* =========================================================
   CARD – einzelnes Partner-Logo
========================================================= */
.partner-card {
  /* Breite: (100% - (cols-1) * gap) / cols
       So passen genau "cols" Karten in den sichtbaren Bereich. */
  flex: 0 0 calc((100% - (var(--pm-partner-cols-mobile) - 1) * var(--pm-partner-gap))
        / var(--pm-partner-cols-mobile));
  max-width: calc((100% - (var(--pm-partner-cols-mobile) - 1) * var(--pm-partner-gap))
        / var(--pm-partner-cols-mobile));
  scroll-snap-align: start;
  /*    background: var(--pm-partner-card-bg);*/
  /*border: 1px solid var(--pm-partner-card-border);*/
  /* border-radius: 1.2rem;*/
  padding: 1.2rem;
  text-align: center;
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
@media (min-width: 768px) {
  .partner-card {
    flex-basis: calc((100% - (var(--pm-partner-cols-tablet) - 1) * var(--pm-partner-gap))
            / var(--pm-partner-cols-tablet));
    max-width: calc((100% - (var(--pm-partner-cols-tablet) - 1) * var(--pm-partner-gap))
            / var(--pm-partner-cols-tablet));
  }
}
@media (min-width: 1200px) {
  .partner-card {
    flex-basis: calc((100% - (var(--pm-partner-cols-desktop) - 1) * var(--pm-partner-gap))
            / var(--pm-partner-cols-desktop));
    max-width: calc((100% - (var(--pm-partner-cols-desktop) - 1) * var(--pm-partner-gap))
            / var(--pm-partner-cols-desktop));
  }
}
.partner-card:hover {
  transform: translateY(-5px);
  background: var(--pm-partner-card-bg-hov);
  border-color: var(--pm-partner-card-border-hov);
}
/* =========================================================
   LOGO BOX – feste Aspect-Ratio, weisser Hintergrund
========================================================= */
.partner-logo {
  width: 100%;
  aspect-ratio: 1.7777777778;
  background: var(--pm-partner-logo-bg);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999999;
  font-weight: 700;
  margin-bottom: 1rem;
  overflow: hidden;
}
.partner-logo img {
  max-width: 85%;
  max-height: 70%;
  width: auto;
  height: auto;
  object-fit: contain;
}
/* Aspect-Ratio Modifier (vom Editor steuerbar) */
.partner-aspect-16-9 .partner-logo {
  aspect-ratio: 1.7777777778;
}
.partner-aspect-4-3 .partner-logo {
  aspect-ratio: 1.3333333333;
}
.partner-aspect-1-1 .partner-logo {
  aspect-ratio: 1;
}
/* =========================================================
   LOGO-STIL "MONOCHROM" (kein Kasten, eingefaerbt)
   =========================================================
   Trick: brightness(0) drueckt JEDES Pixel auf schwarz – egal
   ob Original-Logo farbig, schwarz oder mit Verlauf war. invert(1)
   macht daraus weiss. Im Hell-Modus lassen wir invert weg, dann
   bleiben Logos schwarz auf hellem Hintergrund. Funktioniert
   auf SVG, PNG und JPG gleichermassen.
========================================================= */
.partner-band--logo-monochrome .partner-logo {
  background: transparent;
  border-radius: 0;
}
.partner-band--logo-monochrome .partner-logo img {
  /* Etwas grosszuegiger, da der weisse Rahmen wegfaellt */
  max-width: 90%;
  max-height: 85%;
  /* Default: Dark-Theme → Logos werden weiss */
  filter: brightness(0) invert(1);
}
/* Hell-Theme: Logos werden schwarz (kein invert) */
.partner-band--light.partner-band--logo-monochrome .partner-logo img {
  filter: brightness(0);
}
/* Reduced-motion freundlich – Hover bleibt aber dezent */
.partner-band--logo-monochrome .partner-card:hover .partner-logo img {
  transition: opacity 0.3s ease;
  opacity: 0.85;
}
/* =========================================================
   NAME
========================================================= */
.partner-band .partner-name {
  margin: 0;
  color: var(--pm-partner-text);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.3;
  /* Lange Namen gnaedig brechen, max 2 Zeilen */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* =========================================================
   NAVIGATION (Prev / Next im Header)
========================================================= */
.partner-navigation {
  display: inline-flex;
  gap: 0.75rem;
}
.partner-button {
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid var(--pm-partner-btn-border);
  background: var(--pm-partner-btn-bg);
  color: var(--pm-partner-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
}
.partner-button svg {
  width: 18px;
  height: 18px;
  display: block;
}
.partner-button:hover {
  background: var(--pm-partner-btn-bg-hov);
  border-color: var(--pm-partner-btn-border-hov);
  transform: translateY(-2px);
}
.partner-button[disabled], .partner-button.is-disabled {
  opacity: 0.3;
  pointer-events: none;
  transform: none;
}
/* =========================================================
   ACCESSIBILITY
========================================================= */
.partner-button:focus-visible {
  outline: 2px solid var(--pm-partner-focus-ring);
  outline-offset: 2px;
}
/* =========================================================
   REDUCED MOTION
========================================================= */
@media (prefers-reduced-motion: reduce) {
  .partner-card, .partner-button {
    transition: none;
  }
  .partner-track {
    scroll-behavior: auto;
  }
}
:root {
  --about-gold: var(--pm-accent);
}
.about-hero {
  position: relative;
  padding: 10rem 0;
  overflow: hidden;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.55)), radial-gradient(circle at top right, rgba(182, 153, 91, 0.25), transparent 35%), url("https://abgeflext.shop.plum-medien.de/media/d8/c7/ae/1778062306/005--20240703_091040.jpg?ts=1778062306");
  background-size: cover;
  background-position: center;
}
.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 60%, rgba(0, 0, 0, 0.35));
  pointer-events: none;
}
.about-hero__overline {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  font-weight: 700;
  opacity: 0.7;
  color: var(--about-gold);
}
.about-hero__title {
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  line-height: 1.05;
  font-weight: 800;
  margin-bottom: 1.5rem;
  color: #fff;
}
.about-hero__title::after {
  content: "";
  display: block;
  width: 90px;
  height: 4px;
  border-radius: 20px;
  background: var(--about-gold);
  margin-top: 1.5rem;
}
.about-hero__text {
  font-size: 1.15rem;
  opacity: 0.8;
  max-width: 580px;
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.82);
}
.about-hero__visual {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.about-hero__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(182, 153, 91, 0.08), transparent 60%);
}
.about-hero__card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(182, 153, 91, 0.15);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 1.6rem;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
}
.about-hero__card i {
  font-size: 1.5rem;
  color: var(--about-gold);
}
.about-hero__card span {
  font-weight: 600;
}
.about-philosophy {
  padding: 7rem 0;
}
.about-philosophy__inner {
  max-width: 900px;
}
.about-section-label {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  opacity: 0.7;
}
.about-philosophy h2, .about-philosophy .h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  margin-bottom: 1.5rem;
}
.about-philosophy p {
  font-size: 1.1rem;
  line-height: 1.8;
  opacity: 0.85;
}
.about-philosophy__values {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.about-philosophy__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.about-philosophy__logo img {
  max-width: 320px;
  width: 100%;
  opacity: 0.16;
  filter: grayscale(1) brightness(0.7) sepia(1) hue-rotate(10deg) saturate(0.6);
  transition: all 0.3s ease;
}
.about-philosophy__value {
  padding: 0.9rem 1.4rem;
  border-radius: 100px;
  background: rgba(182, 153, 91, 0.08);
  border: 1px solid rgba(182, 153, 91, 0.18);
  color: #111;
  font-weight: 600;
}
.about-usps {
  padding: 2rem 0 7rem;
}
.about-usps__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem 2rem;
}
.about-usps__item {
  position: relative;
  text-align: center;
  padding-top: 1.5rem;
}
.about-usps__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5rem;
}
.about-usps__icon i {
  font-size: 2.4rem;
  color: var(--about-gold);
  line-height: 1;
}
.about-usps__item h3, .about-usps__item .h3 {
  position: relative;
  margin-bottom: 2rem;
  font-size: 1.15rem;
  font-weight: 700;
}
.about-usps__item h3::after, .about-usps__item .h3::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1rem;
  width: 40px;
  height: 2px;
  background: var(--about-gold);
  transform: translateX(-50%);
}
.about-usps__item p {
  margin: 0;
  line-height: 1.7;
  opacity: 0.75;
}
@media (max-width: 991px) {
  .about-usps__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575px) {
  .about-usps__grid {
    grid-template-columns: 1fr;
  }
}
.about-content-block {
  padding: 7rem 0;
}
.about-content-block__image {
  border-radius: 2rem;
  width: 100%;
  aspect-ratio: 1.3333333333;
  object-fit: cover;
}
.about-content-block h2, .about-content-block .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1.5rem;
}
.about-content-block p {
  font-size: 1.05rem;
  line-height: 1.8;
  opacity: 0.85;
}
.about-events {
  padding: 7rem 0;
}
.about-events__intro {
  margin-bottom: 3rem;
}
.about-events__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.about-events__item {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 1.8rem;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
}
.about-events__date {
  min-width: 110px;
  text-align: center;
  padding: 1rem;
  border-radius: 1rem;
  background: #f5f5f5;
}
.about-events__date {
  background: linear-gradient(135deg, rgba(182, 153, 91, 0.18), rgba(182, 153, 91, 0.08));
  border: 1px solid rgba(182, 153, 91, 0.18);
}
.about-events__date span {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}
.about-events__date small, .about-events__date .small {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.about-events__content h3, .about-events__content .h3 {
  margin-bottom: 0.3rem;
}
.about-events__content p {
  margin: 0;
  opacity: 0.7;
}
@media (max-width: 767px) {
  .about-events__item {
    flex-direction: column;
    align-items: flex-start;
  }
}
.about-gallery-teaser {
  padding: 7rem 0;
}
.about-gallery-teaser__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.about-gallery-teaser__grid img {
  width: 100%;
  border-radius: 1.5rem;
  aspect-ratio: 1;
  object-fit: cover;
}
.about-jobs__inner::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(182, 153, 91, 0.22), transparent 70%);
  pointer-events: none;
}
.about-jobs__inner {
  position: relative;
  overflow: hidden;
  padding: 4rem;
  border-radius: 2rem;
  color: #fff;
  text-align: center;
  background-image: linear-gradient(135deg, #2a2a2a, #171717), radial-gradient(circle at bottom left, rgba(255, 255, 255, 0.03), transparent 40%);
  border: 1px solid rgba(182, 153, 91, 0.15);
}
.about-jobs h2, .about-jobs .h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  margin: 1rem 0 1.5rem;
  font-weight: 800;
  line-height: 1.1;
  color: #fff;
}
.about-jobs p {
  max-width: 700px;
  margin: 0 auto 2rem;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.8;
}
.about-jobs .btn {
  background: var(--about-gold);
  color: #111;
  border: none;
  padding: 0.9rem 1.8rem;
  font-weight: 700;
}
.about-section-label {
  position: relative;
  padding-left: 1.2rem;
  color: var(--about-gold);
}
.about-section-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--about-gold);
  transform: translateY(-50%);
}
.about-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.8rem;
  border-radius: 1rem;
  background: #111;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.about-btn:hover {
  background: var(--about-gold);
  color: #111;
  transform: translateY(-2px);
}
@media (max-width: 767px) {
  /* =====================================================
       SECTION SPACING
       ===================================================== */
  /* =====================================================
       GRID / ROW SPACING
       ===================================================== */
  /* =====================================================
       TYPOGRAPHY
       ===================================================== */
  /* =====================================================
       HERO CARDS
       ===================================================== */
  /* =====================================================
       PHILOSOPHY
       ===================================================== */
  /* =====================================================
       USP
       ===================================================== */
  /* =====================================================
       EVENTS
       ===================================================== */
  /* =====================================================
       GALLERY
       ===================================================== */
  /* =====================================================
       JOBS
       ===================================================== */
  /* =====================================================
       BUTTONS
       ===================================================== */
  .about-hero {
    padding: 5rem 0 4rem;
  }
  .about-content-block, .about-events, .about-gallery-teaser, .about-jobs, .about-philosophy {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .about-hero .row, .about-content-block .row, .about-gallery-teaser .row {
    --bs-gutter-y: 2rem;
  }
  .about-usps__grid {
    gap: 2rem 1rem;
  }
  .about-events__list {
    gap: 1rem;
  }
  .about-gallery-teaser__grid {
    gap: 0.75rem;
  }
  .about-hero__title {
    margin-bottom: 1rem;
    line-height: 1.1;
  }
  .about-hero__title::after {
    margin-top: 1rem;
  }
  .about-philosophy h2, .about-philosophy .h2, .about-content-block h2, .about-content-block .h2, .about-gallery-teaser h2, .about-gallery-teaser .h2, .about-jobs h2, .about-jobs .h2 {
    margin-bottom: 1rem;
    line-height: 1.15;
  }
  .about-philosophy p, .about-content-block p, .about-jobs p {
    line-height: 1.7;
  }
  .about-hero__visual {
    gap: 1rem;
  }
  .about-hero__card {
    padding: 1rem 1.2rem;
    border-radius: 1rem;
  }
  .about-philosophy__values {
    gap: 0.75rem;
    margin-top: 1.5rem;
  }
  .about-philosophy__value {
    padding: 0.7rem 1rem;
    font-size: 0.95rem;
  }
  .about-philosophy__logo {
    display: block;
    height: auto;
    margin-top: 1rem;
    text-align: center;
  }
  .about-philosophy__logo img {
    max-width: 180px;
    margin: 0 auto;
  }
  .about-usps__item {
    padding-top: 0;
  }
  .about-usps__icon {
    margin-bottom: 1rem;
  }
  .about-usps__icon i {
    font-size: 2rem;
  }
  .about-usps__item h3, .about-usps__item .h3 {
    margin-bottom: 1.6rem;
  }
  .about-events__intro {
    margin-bottom: 2rem;
  }
  .about-events__item {
    gap: 1rem;
    padding: 1.2rem;
    border-radius: 1rem;
  }
  .about-events__date {
    min-width: 90px;
    padding: 0.8rem;
  }
  .about-events__date span {
    font-size: 1.5rem;
  }
  .about-gallery-teaser__grid img {
    border-radius: 1rem;
  }
  .about-jobs__inner {
    padding: 2.5rem 1.5rem;
    border-radius: 1.5rem;
  }
  .about-jobs p {
    margin-bottom: 1.5rem;
  }
  .about-btn {
    width: 100%;
    padding: 0.95rem 1.4rem;
    border-radius: 0.9rem;
  }
}
@media (max-width: 767px) {
  .gy-5 {
    --bs-gutter-y: 1.5rem;
  }
}
@media (max-width: 767px) {
  .about-hero__title, .about-philosophy h2, .about-philosophy .h2, .about-content-block h2, .about-content-block .h2, .about-gallery-teaser h2, .about-gallery-teaser .h2, .about-jobs h2, .about-jobs .h2 {
    margin-bottom: 0.75rem;
  }
}
@media (max-width: 767px) {
  .about-philosophy p, .about-content-block p, .about-jobs p {
    margin-bottom: 1rem;
    line-height: 1.65;
  }
}
/* =====================================================
   ROOT
   ===================================================== */
:root {
  --jobs-gold: var(--pm-accent);
}
/* =====================================================
   LABEL
   ===================================================== */
.jobs-section-label {
  position: relative;
  display: inline-block;
  padding-left: 1.2rem;
  margin-bottom: 1rem;
  color: var(--jobs-gold);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.jobs-section-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--jobs-gold);
  transform: translateY(-50%);
}
/* =====================================================
   HERO
   ===================================================== */
.jobs-hero {
  position: relative;
  padding: 8rem 0 6rem;
  overflow: hidden;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.55)), radial-gradient(circle at top right, rgba(182, 153, 91, 0.25), transparent 35%), url("https://abgeflext.shop.plum-medien.de/media/d8/c7/ae/1778062306/005--20240703_091040.jpg?ts=1778062306");
  background-size: cover;
  background-position: center;
}
.jobs-hero__title {
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 1.05;
  font-weight: 800;
  color: #fff;
  margin-bottom: 1.5rem;
}
.jobs-hero__title::after {
  content: "";
  display: block;
  width: 90px;
  height: 4px;
  margin-top: 1.5rem;
  background: var(--jobs-gold);
}
.jobs-hero__text {
  max-width: 700px;
  font-size: 1.15rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}
/* =====================================================
   INTRO
   ===================================================== */
.jobs-intro {
  padding: 5rem 0 3rem;
}
.jobs-intro h2, .jobs-intro .h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  margin-bottom: 1rem;
  line-height: 1.1;
}
.jobs-intro p {
  font-size: 1.05rem;
  line-height: 1.85;
  color: rgba(0, 0, 0, 0.82);
}
.jobs-intro__box {
  padding: 2rem;
  border-radius: 1rem;
  background: rgba(182, 153, 91, 0.06);
  border: 1px solid rgba(182, 153, 91, 0.14);
}
.jobs-intro__box i {
  font-size: 2rem;
  color: var(--jobs-gold);
  margin-bottom: 1.2rem;
}
.jobs-intro__box h3, .jobs-intro__box .h3 {
  margin-bottom: 0.8rem;
  font-size: 1.3rem;
  font-weight: 700;
}
/* =====================================================
   SPLIT
   ===================================================== */
.jobs-split {
  padding: 2rem 0 4rem;
}
.jobs-card {
  height: 100%;
  padding: 2.5rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}
.jobs-card h2, .jobs-card .h2 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  margin-bottom: 1rem;
  line-height: 1.1;
}
.jobs-card__text {
  margin-bottom: 2rem;
  line-height: 1.8;
  color: rgba(0, 0, 0, 0.82);
}
.jobs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.jobs-list li {
  position: relative;
  padding-left: 1.8rem;
  margin-bottom: 1rem;
  line-height: 1.7;
}
.jobs-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 10px;
  height: 2px;
  background: var(--jobs-gold);
}
/* =====================================================
   GALLERY
   ===================================================== */
.jobs-gallery {
  padding: 3rem 0 5rem;
}
.jobs-gallery h2, .jobs-gallery .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
}
.jobs-gallery p {
  line-height: 1.85;
  color: rgba(0, 0, 0, 0.82);
}
.jobs-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.jobs-gallery__grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 0.8rem;
}
/* =====================================================
   CONTACT
   ===================================================== */
.jobs-contact {
  padding: 2rem 0 5rem;
}
.jobs-contact__inner {
  padding: 2rem;
  border-radius: 1.5rem;
  background: #f7f7f7;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
/* =====================================================
   CONTACT CONTENT
   ===================================================== */
.jobs-contact__content {
  height: 100%;
  padding: 2.5rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #2b2b2b, #1b1b1b);
  color: #fff;
}
.jobs-contact__content h2, .jobs-contact__content .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
  line-height: 1.1;
  color: #fff;
}
.jobs-contact__content p {
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.8;
}
/* =====================================================
   FORM
   ===================================================== */
.jobs-form {
  padding: 1rem;
}
.jobs-form__input, .jobs-form__textarea {
  width: 100%;
  padding: 1rem 1.2rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  color: #111;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.jobs-form__input::placeholder, .jobs-form__textarea::placeholder {
  color: rgba(0, 0, 0, 0.45);
}
.jobs-form__input:focus, .jobs-form__textarea:focus {
  outline: none;
  border-color: var(--jobs-gold);
  box-shadow: 0 0 0 4px rgba(182, 153, 91, 0.12);
}
.jobs-form__textarea {
  min-height: 160px;
  resize: vertical;
}
/* =====================================================
   BUTTON
   ===================================================== */
.jobs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem 1.8rem;
  border: none;
  border-radius: 0.8rem;
  background: #111;
  color: #fff;
  font-weight: 700;
  transition: background 0.2s ease, transform 0.2s ease;
}
.jobs-btn:hover {
  background: var(--jobs-gold);
  color: #111;
  transform: translateY(-2px);
}
/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 767px) {
  .jobs-hero {
    padding: 5rem 0 4rem;
  }
  .jobs-intro, .jobs-split, .jobs-gallery, .jobs-contact {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .jobs-intro__box, .jobs-card, .jobs-contact__content {
    padding: 1.5rem;
  }
  .jobs-contact__inner {
    padding: 1rem;
  }
  .jobs-gallery__grid {
    gap: 0.75rem;
  }
  .jobs-gallery__grid img {
    border-radius: 0.6rem;
  }
  .jobs-hero__title {
    margin-bottom: 1rem;
  }
  .jobs-hero__title::after {
    margin-top: 1rem;
  }
  .jobs-intro h2, .jobs-intro .h2, .jobs-card h2, .jobs-card .h2, .jobs-gallery h2, .jobs-gallery .h2, .jobs-contact__content h2, .jobs-contact__content .h2 {
    margin-bottom: 0.75rem;
  }
  .jobs-intro p, .jobs-gallery p, .jobs-contact__content p, .jobs-card__text {
    line-height: 1.7;
  }
}
/* =====================================================
   ROOT
   ===================================================== */
:root {
  --repair-gold: var(--pm-accent);
}
/* =====================================================
   LABEL
   ===================================================== */
.repair-section-label {
  position: relative;
  display: inline-block;
  padding-left: 1.2rem;
  margin-bottom: 1rem;
  color: var(--repair-gold);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.repair-section-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--repair-gold);
  transform: translateY(-50%);
}
/* =====================================================
   HERO
   ===================================================== */
.repair-hero {
  position: relative;
  padding: 8rem 0 5rem;
  overflow: hidden;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.55)), radial-gradient(circle at top right, rgba(182, 153, 91, 0.22), transparent 35%), url("https://abgeflext.shop.plum-medien.de/media/d8/c7/ae/1778062306/005--20240703_091040.jpg?ts=1778062306");
  background-size: cover;
  background-position: center;
}
.repair-hero__title {
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 1.05;
  font-weight: 800;
  color: #fff;
  margin-bottom: 1.5rem;
}
.repair-hero__title::after {
  content: "";
  display: block;
  width: 90px;
  height: 4px;
  margin-top: 1.5rem;
  background: var(--repair-gold);
}
.repair-hero__text {
  max-width: 720px;
  font-size: 1.15rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}
/* =====================================================
   REPAIR STEPS
   ===================================================== */
.repair-steps {
  padding: 4rem 0;
}
.repair-steps__intro {
  margin-bottom: 3rem;
}
.repair-steps__intro h2, .repair-steps__intro .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
}
/* =====================================================
   GRID
   ===================================================== */
.repair-steps__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
}
/* =====================================================
   STEP CARD
   ===================================================== */
.repair-step {
  position: relative;
  padding: 2rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.repair-step:hover {
  transform: translateY(-4px);
  border-color: rgba(182, 153, 91, 0.18);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
}
/* =====================================================
   TOP
   ===================================================== */
.repair-step__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.4rem;
}
/* =====================================================
   NUMBER
   ===================================================== */
.repair-step__number {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1;
  color: rgba(182, 153, 91, 0.42);
}
/* =====================================================
   ICON
   ===================================================== */
.repair-step__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.repair-step__icon i {
  font-size: 1.6rem;
  color: var(--repair-gold);
}
.fa-thin {
  font-weight: 100 !important;
}
/* =====================================================
   CONTENT
   ===================================================== */
.repair-step h3, .repair-step .h3 {
  font-size: 1.15rem;
  margin-bottom: 0.8rem;
  line-height: 1.3;
}
.repair-step p {
  margin: 0;
  line-height: 1.7;
  color: rgba(0, 0, 0, 0.78);
}
/* =====================================================
   TABLET
   ===================================================== */
@media (max-width: 991px) {
  .repair-steps__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 767px) {
  .repair-steps {
    padding: 2rem 0;
  }
  .repair-steps__intro {
    margin-bottom: 2rem;
  }
  .repair-steps__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .repair-step {
    padding: 1.5rem;
  }
  .repair-step__top {
    margin-bottom: 1rem;
  }
  .repair-step h3, .repair-step .h3 {
    margin-bottom: 0.6rem;
  }
}
/* =====================================================
   DOWNLOAD
   ===================================================== */
.repair-download {
  padding: 2rem 0 4rem;
}
.repair-download__inner {
  padding: 3rem;
  border-radius: 1.5rem;
  background: rgba(182, 153, 91, 0.06);
  border: 1px solid rgba(182, 153, 91, 0.14);
}
.repair-download h2, .repair-download .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
}
.repair-download p {
  line-height: 1.8;
  color: rgba(0, 0, 0, 0.82);
}
.repair-download__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 120px;
  padding: 2rem;
  border-radius: 1rem;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  transition: background 0.2s ease, transform 0.2s ease;
}
.repair-download__button:hover {
  background: var(--repair-gold);
  color: #111;
  transform: translateY(-2px);
}
.repair-download__button i {
  font-size: 2rem;
}
/* =====================================================
   NOTES
   ===================================================== */
.repair-notes {
  padding: 0 0 4rem;
}
.repair-notes__box {
  padding: 2.5rem;
  border-radius: 1rem;
  background: #f7f7f7;
}
.repair-notes__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.repair-notes__list li {
  position: relative;
  padding-left: 1.8rem;
  margin-bottom: 1rem;
  line-height: 1.7;
}
.repair-notes__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 10px;
  height: 2px;
  background: var(--repair-gold);
}
/* =====================================================
   CONTACT
   ===================================================== */
.repair-contact {
  padding: 0 0 5rem;
}
.repair-contact__inner {
  padding: 2rem;
  border-radius: 1.5rem;
  background: #f7f7f7;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
/* =====================================================
   CONTACT CONTENT
   ===================================================== */
.repair-contact__content {
  height: 100%;
  padding: 2.5rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #2b2b2b, #1b1b1b);
  color: #fff;
}
.repair-contact__content h2, .repair-contact__content .h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 1rem;
  line-height: 1.1;
  color: #fff;
}
.repair-contact__content p {
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.8;
}
/* =====================================================
   FORM
   ===================================================== */
.repair-form {
  padding: 1rem;
}
.repair-form__input, .repair-form__textarea {
  width: 100%;
  padding: 1rem 1.2rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  color: #111;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.repair-form__input::placeholder, .repair-form__textarea::placeholder {
  color: rgba(0, 0, 0, 0.45);
}
.repair-form__input:focus, .repair-form__textarea:focus {
  outline: none;
  border-color: var(--repair-gold);
  box-shadow: 0 0 0 4px rgba(182, 153, 91, 0.12);
}
.repair-form__textarea {
  min-height: 160px;
  resize: vertical;
}
/* =====================================================
   BUTTON
   ===================================================== */
.repair-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem 1.8rem;
  border: none;
  border-radius: 0.8rem;
  background: #111;
  color: #fff;
  font-weight: 700;
  transition: background 0.2s ease, transform 0.2s ease;
}
.repair-btn:hover {
  background: var(--repair-gold);
  color: #111;
  transform: translateY(-2px);
}
/* =====================================================
   TABLET
   ===================================================== */
@media (max-width: 991px) {
  .repair-steps__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* =====================================================
   MOBILE
   ===================================================== */
@media (max-width: 767px) {
  .repair-hero {
    padding: 5rem 0 4rem;
  }
  .repair-steps, .repair-download, .repair-notes, .repair-contact {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .repair-steps__intro {
    margin-bottom: 2rem;
  }
  .repair-steps__grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .repair-step, .repair-download__inner, .repair-notes__box, .repair-contact__content {
    padding: 1.5rem;
  }
  .repair-contact__inner {
    padding: 1rem;
  }
  .repair-download__button {
    min-height: auto;
  }
  .repair-hero__title {
    margin-bottom: 1rem;
  }
  .repair-hero__title::after {
    margin-top: 1rem;
  }
}
/* =========================================================
   Home Newsletter
   Moderner Newsletter-Bereich für die Startseite
   ========================================================= */
.home-newsletter__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1.5rem;
  padding: 1.5rem;
  background: rgba(247, 247, 247, 0.88);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);
}
/* =========================================================
   Linke Inhaltsseite
   ========================================================= */
.home-newsletter__content {
  position: relative;
  padding: 2.5rem;
  background: linear-gradient(135deg, #2b2b2b, #171717);
  color: #fff;
  overflow: hidden;
}
.home-newsletter__content::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(182, 153, 91, 0.22), transparent 70%);
  pointer-events: none;
}
.home-newsletter__label {
  position: relative;
  display: inline-block;
  padding-left: 1.2rem;
  margin-bottom: 1rem;
  color: var(--home-gold, var(--pm-accent));
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.home-newsletter__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--home-gold, var(--pm-accent));
  transform: translateY(-50%);
}
.home-newsletter__content h2, .home-newsletter__content .h2 {
  position: relative;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  font-weight: 800;
  color: #fff;
}
.home-newsletter__content p {
  position: relative;
  margin-bottom: 1.5rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}
/* =========================================================
   Benefits
   ========================================================= */
.home-newsletter__benefits {
  position: relative;
  display: grid;
  gap: 0.9rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}
.home-newsletter__benefits li {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  color: #fff;
  font-weight: 600;
}
.home-newsletter__benefits i {
  width: 1.4rem;
  color: var(--home-gold, var(--pm-accent));
  font-size: 1.25rem;
  line-height: 1;
}
.home-newsletter__note {
  margin-bottom: 0 !important;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.68) !important;
}
/* =========================================================
   Rechte Formularseite
   ========================================================= */
.home-newsletter__form {
  min-width: 0;
}
/* Shopware Card neutralisieren und passend stylen */
.home-newsletter__form .card {
  height: 100%;
  margin: 0;
  border: none;
  background: #fff;
  box-shadow: none;
}
.home-newsletter__form .card-body {
  padding: 2.5rem;
}
.home-newsletter__form .card-title {
  position: relative;
  margin-bottom: 2rem !important;
  padding-left: 1.2rem;
  color: #111;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.15;
}
.home-newsletter__form .card-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 14px;
  height: 2px;
  background: var(--home-gold, var(--pm-accent));
}
/* =========================================================
   Formular allgemein
   ========================================================= */
.home-newsletter__form .form-content {
  display: block;
}
.home-newsletter__form .row {
  --bs-gutter-x: .9rem;
  --bs-gutter-y: .9rem;
}
.home-newsletter__form .form-group {
  margin-bottom: 1rem;
}
.home-newsletter__form .form-label {
  margin-bottom: 0.45rem;
  color: rgba(0, 0, 0, 0.72);
  font-size: 0.9rem;
  font-weight: 700;
}
.home-newsletter__form .form-required-label {
  color: var(--home-gold, var(--pm-accent));
}
/* Inputs und Selects */
.home-newsletter__form .form-control, .home-newsletter__form .form-select {
  min-height: 48px;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.65rem;
  background-color: #fff;
  color: #111;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.home-newsletter__form .form-control::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.home-newsletter__form .form-control:focus, .home-newsletter__form .form-select:focus {
  border-color: var(--home-gold, var(--pm-accent));
  box-shadow: 0 0 0 4px rgba(182, 153, 91, 0.12);
  outline: none;
}
/* Aktion-Select etwas kompakter halten */
.home-newsletter__form #newsletterAction {
  background-color: rgba(182, 153, 91, 0.06);
  border-color: rgba(182, 153, 91, 0.18);
  font-weight: 600;
}
/* =========================================================
   Datenschutzbereich
   ========================================================= */
.home-newsletter__form .privacy-notice {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: #f7f7f7;
  color: rgba(0, 0, 0, 0.76);
  font-size: 0.92rem;
  line-height: 1.7;
}
.home-newsletter__form .privacy-notice-title {
  margin: 0;
  color: #111;
  font-size: 0.95rem;
}
.home-newsletter__form .privacy-notice br {
  display: none;
}
.home-newsletter__form .form-check {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin: 0;
}
.home-newsletter__form .form-check-input {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.25rem;
  border-color: rgba(0, 0, 0, 0.25);
}
.home-newsletter__form .form-check-input:checked {
  background-color: var(--home-gold, var(--pm-accent));
  border-color: var(--home-gold, var(--pm-accent));
}
.home-newsletter__form .custom-control-label {
  color: rgba(0, 0, 0, 0.76);
  font-size: 0.92rem;
  line-height: 1.6;
}
/* Inline-Links im Datenschutz */
.home-newsletter__form .btn-link-inline {
  padding: 0;
  border: none;
  color: #111;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(182, 153, 91, 0.55);
  text-underline-offset: 3px;
}
.home-newsletter__form .btn-link-inline:hover {
  color: var(--home-gold, var(--pm-accent));
}
/* Pflichtfeld-Hinweis */
.home-newsletter__form .form-text.mt-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
  color: rgba(0, 0, 0, 0.58);
  font-size: 0.88rem;
}
/* =========================================================
   Submit Button
   ========================================================= */
.home-newsletter__form .btn-primary {
  float: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 1rem 1.8rem;
  border: none;
  border-radius: 0.7rem;
  background: #111;
  color: #fff;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.home-newsletter__form .btn-primary:hover {
  background: var(--home-gold, var(--pm-accent));
  color: #111;
  transform: translateY(-2px);
}
.home-newsletter__form .btn-primary:focus-visible {
  outline: 3px solid rgba(182, 153, 91, 0.45);
  outline-offset: 3px;
}
/* =========================================================
   Honeypot / versteckte Felder nicht anfassen
   ========================================================= */
.home-newsletter__form .shopware_surname_confirm, .home-newsletter__form .form-hidden-fields {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 991px) {
  .home-newsletter__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .home-newsletter__content, .home-newsletter__form .card-body {
    padding: 2rem;
  }
}
/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 767px) {
  .home-newsletter {
    padding: 1.25rem 0;
  }
  .home-newsletter__inner {
    padding: 1rem;
  }
  .home-newsletter__content, .home-newsletter__form .card-body {
    padding: 1.5rem;
  }
  .home-newsletter__content h2, .home-newsletter__content .h2 {
    font-size: 1.8rem;
  }
  .home-newsletter__benefits {
    margin: 1.5rem 0;
  }
  .home-newsletter__form .card-title {
    margin-bottom: 1.5rem !important;
    font-size: 1.55rem;
  }
  .home-newsletter__form .privacy-notice {
    padding: 1rem;
  }
}
/* =========================================================
   Home Newsletter
   Styling für Shopware Newsletter-Formular ohne eigene Form-Klasse
   ========================================================= */
:root {
  --home-gold: var(--pm-accent);
}
/* =========================================================
   Newsletter CMS-Block erkennen
   Voraussetzung:
   Linke Spalte enthält .home-newsletter__content
   Rechte Spalte enthält #cms-form-newsletter
   ========================================================= */
/* Shopware Row in ein sauberes Grid umbauen */
.cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1.5rem;
  margin-left: 0;
  margin-right: 0;
  padding: 1.5rem;
  background: transparent;
}
/* Bootstrap-Spalten innerhalb des Grids neutralisieren */
.cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row > [class*="col-"] {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* =========================================================
   Linke Inhaltsseite
   ========================================================= */
.home-newsletter__content {
  position: relative;
  height: 100%;
  padding: 2.5rem;
  background: linear-gradient(135deg, #2b2b2b, #171717);
  color: #fff;
  overflow: hidden;
}
/* Dezenter Gold-Glow */
.home-newsletter__content::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(182, 153, 91, 0.22), transparent 70%);
  pointer-events: none;
}
.home-newsletter__label {
  position: relative;
  display: inline-block;
  padding-left: 1.2rem;
  margin-bottom: 1rem;
  color: var(--home-gold);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.home-newsletter__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--home-gold);
  transform: translateY(-50%);
}
.home-newsletter__content h2, .home-newsletter__content .h2 {
  position: relative;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  font-weight: 800;
  color: #fff;
}
.home-newsletter__content p {
  position: relative;
  margin-bottom: 1.5rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}
/* =========================================================
   Benefits
   ========================================================= */
.home-newsletter__benefits {
  position: relative;
  display: grid;
  gap: 0.9rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}
.home-newsletter__benefits li {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  color: #fff;
  font-weight: 600;
}
.home-newsletter__benefits i {
  width: 1.4rem;
  color: var(--home-gold);
  font-size: 1.25rem;
  line-height: 1;
}
.home-newsletter__note {
  margin-bottom: 0 !important;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.68) !important;
}
/* =========================================================
   Rechte Formularseite / Shopware Form Card
   ========================================================= */
.cms-element-form:has(#cms-form-newsletter) {
  height: 100%;
}
.cms-element-form:has(#cms-form-newsletter) .row.justify-content-center {
  height: 100%;
  margin-left: 0;
  margin-right: 0;
}
.cms-element-form:has(#cms-form-newsletter) .col-lg-12 {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.cms-element-form:has(#cms-form-newsletter) .card {
  height: 100%;
  margin: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
.cms-element-form:has(#cms-form-newsletter) .card-body {
  padding: 2.5rem;
}
/* Titel */
.cms-element-form:has(#cms-form-newsletter) .card-title {
  position: relative;
  margin-bottom: 2rem !important;
  padding-left: 1.2rem;
  color: #111;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.15;
}
.cms-element-form:has(#cms-form-newsletter) .card-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 14px;
  height: 2px;
  background: var(--home-gold);
}
/* =========================================================
   Formular allgemein
   ========================================================= */
#cms-form-newsletter .row {
  --bs-gutter-x: .9rem;
  --bs-gutter-y: .9rem;
}
#cms-form-newsletter .form-group {
  margin-bottom: 1rem;
}
#cms-form-newsletter .form-label {
  margin-bottom: 0.45rem;
  color: rgba(0, 0, 0, 0.72);
  font-size: 0.9rem;
  font-weight: 700;
}
#cms-form-newsletter .form-required-label {
  color: var(--home-gold);
}
/* Inputs und Selects */
#cms-form-newsletter .form-control, #cms-form-newsletter .form-select {
  min-height: 48px;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.65rem;
  background-color: #fff;
  color: #111;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
#cms-form-newsletter .form-control::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
#cms-form-newsletter .form-control:focus, #cms-form-newsletter .form-select:focus {
  border-color: var(--home-gold);
  box-shadow: 0 0 0 4px rgba(182, 153, 91, 0.12);
  outline: none;
}
/* Aktion Select leicht hervorheben */
#cms-form-newsletter #newsletterAction {
  background-color: rgba(182, 153, 91, 0.06);
  border-color: rgba(182, 153, 91, 0.18);
  font-weight: 600;
}
/* =========================================================
   Datenschutzbereich
   ========================================================= */
#cms-form-newsletter .privacy-notice {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  color: rgba(0, 0, 0, 0.76);
  font-size: 0.92rem;
  line-height: 1.7;
}
#cms-form-newsletter .privacy-notice-title {
  margin: 0;
  color: #111;
  font-size: 0.95rem;
}
#cms-form-newsletter .privacy-notice br {
  display: none;
}
#cms-form-newsletter .form-check {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin: 0;
}
#cms-form-newsletter .form-check-input {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.25rem;
  border-color: rgba(0, 0, 0, 0.25);
}
#cms-form-newsletter .form-check-input:checked {
  background-color: var(--home-gold);
  border-color: var(--home-gold);
}
#cms-form-newsletter .custom-control-label {
  color: rgba(0, 0, 0, 0.76);
  font-size: 0.92rem;
  line-height: 1.6;
}
/* Datenschutz-Links */
#cms-form-newsletter .btn-link-inline {
  padding: 0;
  border: none;
  color: #111;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(182, 153, 91, 0.55);
  text-underline-offset: 3px;
}
#cms-form-newsletter .btn-link-inline:hover {
  color: var(--home-gold);
}
/* Pflichtfeld-Hinweis */
#cms-form-newsletter .form-text.mt-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
  color: rgba(0, 0, 0, 0.58);
  font-size: 0.88rem;
}
/* =========================================================
   Submit Button
   ========================================================= */
#cms-form-newsletter .btn-primary {
  float: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 1rem 1.8rem;
  border: none;
  border-radius: 0.7rem;
  background: #111;
  color: #fff;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
#cms-form-newsletter .btn-primary:hover {
  background: var(--home-gold);
  color: #111;
  transform: translateY(-2px);
}
#cms-form-newsletter .btn-primary:focus-visible {
  outline: 3px solid rgba(182, 153, 91, 0.45);
  outline-offset: 3px;
}
/* =========================================================
   Honeypot / versteckte Felder
   Wichtig: funktional erhalten, nur sauber verstecken
   ========================================================= */
#cms-form-newsletter .shopware_surname_confirm, #cms-form-newsletter .form-hidden-fields {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 991px) {
  .cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .home-newsletter__content, .cms-element-form:has(#cms-form-newsletter) .card-body {
    padding: 2rem;
  }
}
/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 767px) {
  .cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) {
    padding: 1.25rem 0;
  }
  .cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row {
    padding: 1rem;
  }
  .home-newsletter__content, .cms-element-form:has(#cms-form-newsletter) .card-body {
    padding: 1.5rem;
  }
  .home-newsletter__content h2, .home-newsletter__content .h2 {
    font-size: 1.8rem;
  }
  .home-newsletter__benefits {
    margin: 1.5rem 0;
  }
  .cms-element-form:has(#cms-form-newsletter) .card-title {
    margin-bottom: 1.5rem !important;
    font-size: 1.55rem;
  }
  #cms-form-newsletter .privacy-notice {
    padding: 1rem;
  }
}
/* =====================================================================
   Uebernommen aus PMBrandCatalogTheme – Newsletter
   Erkennt das native Shopware-CMS-Markup (#cms-form-newsletter) und
   baut es in ein Grid um. Die bisherigen Regeln fuer
   .home-newsletter__inner bleiben oben erhalten, falls die CMS-Seite
   dieses Markup verwendet.
   (Farben auf die RT-Palette gemappt: #171717 / var(--pm-accent))
   ===================================================================== */
/* =========================================================
   Home Newsletter
   Styling für Shopware Newsletter-Formular (natives CMS-Markup,
   ohne eigene Form-Klasse). Konsolidiert & entdoppelt.

   Farbschema:
     --home-slate  #171717   Struktur/Flächen (Balken, Icons, Verlauf)
     --home-red    var(--pm-accent)   Akzent/Interaktion (Label, Fokus, Hover)
   ========================================================= */
:root {
  --home-slate: #171717;
  --home-red:   var(--pm-accent);
}
/* =========================================================
   CMS-Block erkennen & in ein sauberes Grid umbauen
     - Linke Spalte enthält  .home-newsletter__content
     - Rechte Spalte enthält #cms-form-newsletter
   ========================================================= */
.cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1.5rem;
  margin-left: 0;
  margin-right: 0;
  padding: 1.5rem;
  background: transparent;
}
/* Bootstrap-Spalten innerhalb des Grids neutralisieren */
.cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row > [class*="col-"] {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* =========================================================
   Linke Inhaltsseite
   ========================================================= */
.home-newsletter__content {
  position: relative;
  height: 100%;
  padding: 2.5rem;
  background: linear-gradient(135deg, #2b2b2b, #171717);
  color: #fff;
  overflow: hidden;
}
/* Dezenter Schiefer-Glow */
.home-newsletter__content::before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(23, 23, 23, 0.45), transparent 70%);
  pointer-events: none;
}
.home-newsletter__label {
  position: relative;
  display: inline-block;
  padding-left: 1.2rem;
  margin-bottom: 1rem;
  color: var(--home-red);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.home-newsletter__label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: var(--home-slate);
  transform: translateY(-50%);
}
.home-newsletter__content h2, .home-newsletter__content .h2 {
  position: relative;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  font-weight: 800;
  color: #fff;
}
.home-newsletter__content p {
  position: relative;
  margin-bottom: 1.5rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}
/* =========================================================
   Benefits
   ========================================================= */
.home-newsletter__benefits {
  position: relative;
  display: grid;
  gap: 0.9rem;
  margin: 2rem 0;
  padding: 0;
  list-style: none;
}
.home-newsletter__benefits li {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  color: #fff;
  font-weight: 600;
}
.home-newsletter__benefits i {
  width: 1.4rem;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
}
.home-newsletter__note {
  margin-bottom: 0 !important;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.68) !important;
}
/* =========================================================
   Rechte Formularseite / Shopware Form Card
   ========================================================= */
.cms-element-form:has(#cms-form-newsletter) {
  height: 100%;
}
.cms-element-form:has(#cms-form-newsletter) .row.justify-content-center {
  height: 100%;
  margin-left: 0;
  margin-right: 0;
}
.cms-element-form:has(#cms-form-newsletter) .col-lg-12 {
  width: 100%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
.cms-element-form:has(#cms-form-newsletter) .card {
  height: 100%;
  margin: 0;
  border: none;
  background: transparent;
  box-shadow: none;
}
.cms-element-form:has(#cms-form-newsletter) .card-body {
  padding: 2.5rem;
}
/* Titel */
.cms-element-form:has(#cms-form-newsletter) .card-title {
  position: relative;
  margin-bottom: 2rem !important;
  padding-left: 1.2rem;
  color: #111;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.15;
}
.cms-element-form:has(#cms-form-newsletter) .card-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 14px;
  height: 2px;
  background: var(--home-slate);
}
/* =========================================================
   Formular allgemein
   ========================================================= */
#cms-form-newsletter .row {
  --bs-gutter-x: .9rem;
  --bs-gutter-y: .9rem;
}
#cms-form-newsletter .form-group {
  margin-bottom: 1rem;
}
#cms-form-newsletter .form-label {
  margin-bottom: 0.45rem;
  color: rgba(0, 0, 0, 0.72);
  font-size: 0.9rem;
  font-weight: 700;
}
#cms-form-newsletter .form-required-label {
  color: var(--home-slate);
}
/* Inputs und Selects */
#cms-form-newsletter .form-control, #cms-form-newsletter .form-select {
  min-height: 48px;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.65rem;
  background-color: #fff;
  color: #111;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
#cms-form-newsletter .form-control::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
#cms-form-newsletter .form-control:focus, #cms-form-newsletter .form-select:focus {
  border-color: var(--home-red);
  box-shadow: 0 0 0 4px rgba(237, 27, 35, 0.15);
  outline: none;
}
/* Aktion-Select leicht hervorheben */
#cms-form-newsletter #newsletterAction {
  background-color: rgba(23, 23, 23, 0.06);
  border-color: rgba(23, 23, 23, 0.18);
  font-weight: 600;
}
/* =========================================================
   Datenschutzbereich
   ========================================================= */
#cms-form-newsletter .privacy-notice {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: transparent;
  color: rgba(0, 0, 0, 0.76);
  font-size: 0.92rem;
  line-height: 1.7;
}
#cms-form-newsletter .privacy-notice-title {
  margin: 0;
  color: #111;
  font-size: 0.95rem;
}
#cms-form-newsletter .privacy-notice br {
  display: none;
}
#cms-form-newsletter .form-check {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin: 0;
}
#cms-form-newsletter .form-check-input {
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.25rem;
  border-color: rgba(0, 0, 0, 0.25);
}
#cms-form-newsletter .form-check-input:checked {
  background-color: var(--home-red);
  border-color: var(--home-red);
}
#cms-form-newsletter .custom-control-label {
  color: rgba(0, 0, 0, 0.76);
  font-size: 0.92rem;
  line-height: 1.6;
}
/* Datenschutz-Links */
#cms-form-newsletter .btn-link-inline {
  padding: 0;
  border: none;
  color: #111;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(23, 23, 23, 0.55);
  text-underline-offset: 3px;
}
#cms-form-newsletter .btn-link-inline:hover {
  color: var(--home-red);
}
/* Pflichtfeld-Hinweis */
#cms-form-newsletter .form-text.mt-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
  color: rgba(0, 0, 0, 0.58);
  font-size: 0.88rem;
}
/* =========================================================
   Submit Button
   ========================================================= */
#cms-form-newsletter .btn-primary {
  float: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px;
  padding: 1rem 1.8rem;
  border: none;
  border-radius: 0.7rem;
  background: #111;
  color: #fff;
  font-weight: 800;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
#cms-form-newsletter .btn-primary:hover {
  background: var(--home-red);
  color: #fff;
  transform: translateY(-2px);
}
#cms-form-newsletter .btn-primary:focus-visible {
  outline: 3px solid rgba(237, 27, 35, 0.45);
  outline-offset: 3px;
}
/* =========================================================
   Honeypot / versteckte Felder – funktional erhalten
   ========================================================= */
#cms-form-newsletter .shopware_surname_confirm, #cms-form-newsletter .form-hidden-fields {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 991px) {
  .cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .home-newsletter__content, .cms-element-form:has(#cms-form-newsletter) .card-body {
    padding: 2rem;
  }
}
/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 767px) {
  .cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) {
    padding: 1.25rem 0;
  }
  .cms-block:has(.home-newsletter__content):has(#cms-form-newsletter) .cms-block-container-row {
    padding: 1rem;
  }
  .home-newsletter__content, .cms-element-form:has(#cms-form-newsletter) .card-body {
    padding: 1.5rem;
  }
  .home-newsletter__content h2, .home-newsletter__content .h2 {
    font-size: 1.8rem;
  }
  .home-newsletter__benefits {
    margin: 1.5rem 0;
  }
  .cms-element-form:has(#cms-form-newsletter) .card-title {
    margin-bottom: 1.5rem !important;
    font-size: 1.55rem;
  }
  #cms-form-newsletter .privacy-notice {
    padding: 1rem;
  }
}
/* ============================================================
   FILTER – SIDEBAR UND KOMPAKTE LEISTE
   ============================================================
   Alle Filterregeln, unabhaengig vom Layout. Farben kommen aus
   Produktlisting -> "Filter (Sidebar & kompakt)".

   Aufbau:
     1. Sidebar-Variante   (.cms-section-sidebar-sidebar-content)
     2. Kompakte Variante  (ohne Container-Scope)
     3. Gemeinsames        (Ja/Nein-Filter)

   Die kompakte Variante uebernimmt bewusst dieselbe Gestaltung wie
   die Sidebar: ein Akzentstrich links statt eines Rahmens rundherum,
   und bei Hover, Fokus oder geoeffnetem Filter eine flaechige
   Hervorhebung.

   HINWEIS ZUR SPEZIFITAET
   Die Sidebar-Regeln stehen weiter oben, sind aber mit zwei Klassen
   spezifischer als die kompakten. Reihenfolge und Spezifitaet
   arbeiten hier also in dieselbe Richtung - die Sidebar gewinnt in
   ihrem Kontext, ohne !important.
   ============================================================ */
/* ============================================================
   1. SIDEBAR
   ============================================================ */
/* =========================================================
   Filter Mobile Toggle Button
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  min-height: 42px;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--sidebar-border);
  background: var(--sidebar-accent);
  color: var(--sidebar-text-strong);
  box-shadow: none;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}
.cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle .icon, .cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle svg {
  color: currentColor;
}
.cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle svg use {
  fill: currentColor;
}
@media (hover: hover) {
  .cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle:hover {
    color: var(--sidebar-text-strong);
    background: var(--sidebar-hover);
    border-color: rgba(var(--pm-secondary-rgb), 0.28);
  }
}
.cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle:focus-visible {
  outline: 2px solid var(--sidebar-focus);
  outline-offset: 3px;
}
/* =========================================================
   Filter Panel
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-panel {
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible;
}
.cms-section-sidebar-sidebar-content .filter-panel-items-container {
  display: block;
}
.cms-section-sidebar-sidebar-content .filter-panel-item {
  border-bottom: 1px solid var(--sidebar-border-soft);
}
.cms-section-sidebar-sidebar-content .filter-panel-item:last-child {
  border-bottom: none;
}
/* =========================================================
   Filter Toggle
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-panel-item-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 40px;
  padding: 0.65rem 0.65rem 0.65rem 0.85rem;
  border: none;
  background: transparent;
  color: var(--sidebar-text);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  box-shadow: none;
  transition: color 0.18s ease, background-color 0.18s ease, padding-left 0.18s ease;
}
/* Linke Linie bei Hover/aktiv */
.cms-section-sidebar-sidebar-content .filter-panel-item-toggle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  bottom: 0.55rem;
  width: 2px;
  background: var(--sidebar-accent);
  opacity: 0;
  transition: opacity 0.18s ease;
}
@media (hover: hover) {
  .cms-section-sidebar-sidebar-content .filter-panel-item-toggle:hover {
    color: var(--sidebar-text-strong);
    background: var(--sidebar-hover);
    padding-left: 1rem;
  }
  .cms-section-sidebar-sidebar-content .filter-panel-item-toggle:hover::before {
    opacity: 0.75;
  }
}
/* Fokus sichtbar halten */
.cms-section-sidebar-sidebar-content .filter-panel-item-toggle:focus-visible {
  outline: 2px solid var(--sidebar-focus);
  outline-offset: 2px;
  color: var(--sidebar-text-strong);
  background: var(--sidebar-hover);
}
/* Geöffneter Filter */
.cms-section-sidebar-sidebar-content .filter-panel-item-toggle[aria-expanded="true"] {
  color: var(--sidebar-text-strong);
  background: var(--sidebar-active);
  font-weight: 700;
}
.cms-section-sidebar-sidebar-content .filter-panel-item-toggle[aria-expanded="true"]::before {
  opacity: 1;
}
/* Pfeil */
.cms-section-sidebar-sidebar-content .icon-filter-panel-item-toggle {
  flex: 0 0 auto;
  opacity: 0.62;
  transition: transform 0.18s ease, opacity 0.18s ease;
}
.cms-section-sidebar-sidebar-content .filter-panel-item-toggle[aria-expanded="true"] .icon-filter-panel-item-toggle {
  transform: rotate(180deg);
  opacity: 1;
}
.cms-section-sidebar-sidebar-content .filter-panel-item-toggle svg use {
  fill: currentColor;
}
/* =========================================================
   Filter Dropdown Inhalte
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-panel-item-dropdown {
  padding: 0.15rem 0.65rem 0.75rem 0.85rem;
  background: transparent;
}
.cms-section-sidebar-sidebar-content .filter-multi-select-list {
  margin: 0;
  padding: 0.15rem 0 0;
  list-style: none;
}
.cms-section-sidebar-sidebar-content .filter-multi-select-list-item {
  margin: 0;
}
/* Checkbox-Zeilen */
.cms-section-sidebar-sidebar-content .filter-multi-select-list-item .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  min-height: 32px;
  padding: 0.35rem 0.25rem;
  margin: 0;
  border-radius: 0.35rem;
  transition: background-color 0.18s ease;
}
@media (hover: hover) {
  .cms-section-sidebar-sidebar-content .filter-multi-select-list-item .form-check:hover {
    background: var(--sidebar-hover);
  }
}
/* Checkboxen */
.cms-section-sidebar-sidebar-content .filter-multi-select-checkbox, .cms-section-sidebar-sidebar-content .form-check-input {
  flex: 0 0 auto;
  width: 1rem;
  height: 1rem;
  margin-top: 0.2rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  box-shadow: none;
}
.cms-section-sidebar-sidebar-content .filter-multi-select-checkbox:checked, .cms-section-sidebar-sidebar-content .form-check-input:checked {
  background-color: var(--sidebar-accent);
  border-color: var(--sidebar-accent);
}
.cms-section-sidebar-sidebar-content .filter-multi-select-checkbox:focus-visible, .cms-section-sidebar-sidebar-content .form-check-input:focus-visible {
  outline: 2px solid var(--sidebar-focus);
  outline-offset: 2px;
}
/* Labels */
.cms-section-sidebar-sidebar-content .filter-multi-select-item-label, .cms-section-sidebar-sidebar-content .form-check-label {
  color: var(--sidebar-muted);
  font-size: 0.88rem;
  line-height: 1.4;
  cursor: pointer;
}
@media (hover: hover) {
  .cms-section-sidebar-sidebar-content .filter-multi-select-list-item .form-check:hover .filter-multi-select-item-label, .cms-section-sidebar-sidebar-content .filter-multi-select-list-item .form-check:hover .form-check-label {
    color: var(--sidebar-text-strong);
  }
}
/* =========================================================
   Farbfilter / Preview
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-property-select-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  border: 1px solid var(--pm-filter-panel-bg);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.16);
  overflow: hidden;
}
.cms-section-sidebar-sidebar-content .filter-property-select-preview input {
  cursor: pointer;
}
.cms-section-sidebar-sidebar-content .filter-property-select-preview:focus-within {
  outline: 2px solid var(--sidebar-focus);
  outline-offset: 3px;
}
/* =========================================================
   Preisfilter
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-range-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 0.5rem;
  align-items: end;
  padding-top: 0.25rem;
}
.cms-section-sidebar-sidebar-content .filter-range-min, .cms-section-sidebar-sidebar-content .filter-range-max {
  display: grid;
  gap: 0.3rem;
  color: var(--sidebar-muted);
  font-size: 0.82rem;
  font-weight: 600;
}
.cms-section-sidebar-sidebar-content .filter-range-divider {
  padding-bottom: 0.55rem;
  color: var(--sidebar-muted);
}
.cms-section-sidebar-sidebar-content .filter-range .form-control {
  min-height: 38px;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 0.45rem;
  background: var(--pm-filter-panel-bg);
  box-shadow: none;
  font-size: 0.9rem;
}
.cms-section-sidebar-sidebar-content .filter-range .form-control:focus {
  border-color: var(--sidebar-accent);
  box-shadow: 0 0 0 3px rgba(var(--pm-secondary-rgb), 0.12);
  outline: none;
}
/* Euro-Zeichen */
.cms-section-sidebar-sidebar-content .filter-range-unit {
  color: var(--sidebar-muted);
  font-size: 0.85rem;
}
/* =========================================================
   Aktive Filter
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-panel-active-container {
  padding-top: 0.75rem;
}
/* =========================================================
   Offcanvas Filter Header
   ========================================================= */
.cms-section-sidebar-sidebar-content .filter-panel-offcanvas-header {
  padding: 1rem;
  border-bottom: 1px solid var(--sidebar-border);
  background: var(--pm-surface);
}
.cms-section-sidebar-sidebar-content .filter-panel-offcanvas-title {
  margin: 0;
  color: var(--sidebar-text-strong);
  font-size: 1.15rem;
  font-weight: 800;
}
.cms-section-sidebar-sidebar-content .filter-panel-offcanvas-close:focus-visible {
  outline: 2px solid var(--sidebar-focus);
  outline-offset: 3px;
}
/* Hinweis: gemeinsame Regeln stehen in _category-navigation.scss */
/* Hinweis: gemeinsame Regeln stehen in _category-navigation.scss */
/* Hinweis: gemeinsame Regeln stehen in _category-navigation.scss */
/* Hinweis: gemeinsame Regeln stehen in _category-navigation.scss */
/* Hinweis: gemeinsame Regeln stehen in _category-navigation.scss */
/* ============================================================
   2. KOMPAKTE LEISTE
   ============================================================
   Dieselbe Gestaltung wie oben, nur ohne Container-Scope. Shopware
   liefert hier Chips mit vollem Rahmen; das passt nicht zum Rest
   des Themes und wird deshalb ersetzt.
   ============================================================ */
/* --- Flaeche des Filterbereichs ------------------------------- */
.filter-panel, .cms-element-sidebar-filter {
  background-color: var(--pm-filter-bg);
}
/* --- Schaltflaeche "Produkte filtern" (Offcanvas-Ausloeser) ---- */
.filter-panel-wrapper-toggle {
  color: var(--pm-filter-text);
  background-color: transparent;
  border-color: var(--pm-filter-border);
}
.filter-panel-wrapper-toggle .icon svg, .filter-panel-wrapper-toggle .icon svg use {
  /* Shopware setzt fill als Attribut am <use>. Eine CSS-Regel
           schlaegt ein Praesentationsattribut, deshalb explizit. */
  fill: currentColor;
}
.filter-panel-wrapper-toggle:hover, .filter-panel-wrapper-toggle:focus-visible {
  color: var(--pm-filter-text-strong);
  border-color: var(--pm-filter-accent);
  background-color: rgba(var(--pm-filter-accent-rgb), 0.12);
}
/* --- Filtergruppen-Schalter: Akzentstrich statt Rahmen --------- */
.filter-panel-item-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 40px;
  padding: 0.65rem 0.65rem 0.65rem 0.85rem;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--pm-filter-text);
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  transition: color 0.18s ease, background-color 0.18s ease, padding-left 0.18s ease;
}
.filter-panel-item-toggle::before {
  /* Akzentstrich links, standardmaessig unsichtbar */
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  bottom: 0.55rem;
  width: 2px;
  background: var(--pm-filter-accent);
  opacity: 0;
  transition: opacity 0.18s ease;
}
.filter-panel-item-toggle .icon svg, .filter-panel-item-toggle .icon svg use {
  fill: currentColor;
}
.filter-panel-item-toggle:focus-visible {
  outline: 2px solid rgba(var(--pm-filter-accent-rgb), 0.45);
  outline-offset: 2px;
  color: var(--pm-filter-text-strong);
  background: rgba(var(--pm-filter-accent-rgb), 0.12);
}
.filter-panel-item-toggle[aria-expanded="true"] {
  color: var(--pm-filter-text-strong);
  background: rgba(var(--pm-filter-accent-rgb), 0.12);
  font-weight: 700;
}
.filter-panel-item-toggle[aria-expanded="true"]::before {
  opacity: 1;
}
@media (hover: hover) {
  .filter-panel-item-toggle:hover {
    color: var(--pm-filter-text-strong);
    background: rgba(var(--pm-filter-accent-rgb), 0.12);
    padding-left: 1rem;
  }
  .filter-panel-item-toggle:hover::before {
    opacity: 0.75;
  }
}
/* --- Senkrechte Ausrichtung der Leiste ------------------------
   Shopwares .filter-panel-items-container ist eine Flex-Zeile mit
   dem Standardwert align-items: stretch. Die Filtergruppen sind
   40px hoch (min-height + .65rem Innenabstand), die Ja/Nein-Zeile
   nur 32px. Beim Strecken waechst zwar deren Kasten mit, der Inhalt
   bleibt aber oben - der Text stand dadurch hoeher als die uebrigen
   Filter.

   align-items: center loest das an der Ursache. Ein Versatz per
   position/top waere an die aktuellen Hoehen gebunden und muesste
   nachgezogen werden, sobald sich Schriftgroesse oder Zeilenumbruch
   aendern.

   In der Sidebar ist derselbe Container auf display: block gesetzt,
   dort hat die Regel keine Wirkung - der Vollstaendigkeit halber
   trotzdem ausgenommen. */
.filter-panel:not(.is--sidebar) .filter-panel-items-container {
  align-items: center;
}
/* Trennlinie zwischen den Gruppen, wie in der Sidebar */
.filter-panel-items-container > .filter-panel-item {
  border-bottom: 1px solid var(--pm-filter-border);
}
.filter-panel-items-container > .filter-panel-item:last-child {
  border-bottom: none;
}
/* Pfeil */
.icon-filter-panel-item-toggle {
  flex: 0 0 auto;
  opacity: 0.62;
  transition: transform 0.18s ease, opacity 0.18s ease;
}
.filter-panel-item-toggle[aria-expanded="true"] .icon-filter-panel-item-toggle {
  transform: rotate(180deg);
  opacity: 1;
}
/* Zaehler neben dem Gruppennamen */
.filter-multi-select-count {
  color: var(--pm-filter-muted);
}
/* --- Aufgeklappte Auswahlliste -------------------------------- */
/* In der kompakten Darstellung liegt sie als Dropdown ueber dem
   Inhalt, deshalb ist hier eine deckende Flaeche noetig. */
.filter-panel-item-dropdown {
  background-color: var(--pm-filter-panel-bg);
  border-color: var(--pm-filter-border);
  color: var(--pm-filter-text);
}
.filter-multi-select-item-label, .filter-boolean-label {
  color: var(--pm-filter-text);
}
.filter-multi-select-list-item:hover .filter-multi-select-item-label {
  color: var(--pm-filter-text-strong);
}
/* --- Auswahlkaestchen ----------------------------------------- */
.filter-multi-select-checkbox, .filter-boolean-input {
  border-color: var(--pm-filter-border);
}
.filter-multi-select-checkbox:checked, .filter-boolean-input:checked {
  background-color: var(--pm-filter-accent);
  border-color: var(--pm-filter-accent);
}
.filter-multi-select-checkbox:focus-visible, .filter-boolean-input:focus-visible {
  outline: 2px solid var(--pm-filter-accent);
  outline-offset: 2px;
  box-shadow: none;
}
/* --- Farb-Vorschau bei Eigenschaftsfiltern --------------------- */
.filter-property-select-preview {
  border: 1px solid var(--pm-filter-border);
}
/* --- Aktive Filter als Chips ---------------------------------- */
.filter-panel-active-container .filter-active {
  color: var(--pm-filter-text-strong);
  background-color: rgba(var(--pm-filter-accent-rgb), 0.12);
  border-color: var(--pm-filter-accent);
}
.filter-panel-active-container .filter-active .icon svg, .filter-panel-active-container .filter-active .icon svg use {
  fill: currentColor;
}
/* --- Ueberschrift im Offcanvas -------------------------------- */
.filter-panel-offcanvas-title {
  color: var(--pm-filter-text-strong);
}
/* --- Sortierung daneben, damit die Leiste einheitlich wirkt ---- */
.cms-element-product-listing-actions .sorting.form-select {
  color: var(--pm-filter-text);
  background-color: var(--pm-filter-panel-bg);
  border-color: var(--pm-filter-border);
}
/* ============================================================
   3. JA/NEIN-FILTER (z. B. "Versandkostenfrei")
   ============================================================
   Shopware gestaltet .filter-boolean als eigenstaendigen Chip mit
   fester Hoehe von 40px. Der Inhalt - Kaestchen und Beschriftung in
   einem .form-check - ist hoeher und laeuft heraus, der Rahmen wirkt
   abgeschnitten.

   Zusaetzlich faellt das Element durch beide Standard-Selektoren:
   sein .form-check liegt nicht in einem .filter-multi-select-list-item,
   und sein Label heisst .filter-boolean-label, nicht .form-check-label.
   Ohne eigene Regeln behaelt es deshalb die Basis-Schriftgroesse und
   Bootstraps Ausrichtung mit negativem margin-left am Kaestchen.

   Die Zeilendarstellung gilt fuer BEIDE Varianten - der Filter sieht
   in der Sidebar und in der kompakten Leiste gleich aus. Nur der
   Rahmen entfaellt jeweils, weil beide Varianten inzwischen ohne
   Kaesten arbeiten.
   ============================================================ */
/* --- Kein eigener Kasten, in keiner Variante ------------------- */
.filter-boolean {
  display: block;
  height: auto;
  min-height: 0;
  border: none;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
}
.filter-boolean:hover, .filter-boolean.is-active {
  border: none;
}
/* --- Zeile: Kaestchen und Text auf gleicher Hoehe -------------- */
.filter-boolean .form-check {
  display: flex;
  gap: 0.55rem;
  min-height: 32px;
  padding: 0.35rem 0.25rem;
  margin: 0;
  border-radius: 0.35rem;
  transition: background-color 0.18s ease;
  /* Bootstrap arbeitet hier mit padding-left: 1.5rem am Container
       und margin-left: -1.5em am Kaestchen. In einem Flex-Layout
       zieht das die Checkbox aus der Zeile - beides aufheben.

       Bewusst OHNE align-items: center - zusammen mit der
       Zeilenhoehe 1.2 am Label sitzen Kaestchen und Text so auf
       gleicher Hoehe. */
}
.filter-boolean .form-check .form-check-input {
  float: none;
  margin-left: 0;
  margin-top: 0;
}
/* --- Kompakte Leiste: gleiche Maße wie die Filtergruppen -------
   Die Filtergruppen-Schalter sind 40px hoch mit .65rem Innenabstand
   oben und unten, die Ja/Nein-Zeile 32px mit .35rem. Nebeneinander
   in derselben Flex-Zeile sitzt der Text dadurch unterschiedlich
   hoch.

   align-items: center am Container gleicht nur die KAESTEN aus,
   nicht die Innenabstaende - der Rest des Versatzes bleibt. Deshalb
   hier dieselben Maße wie beim Schalter, dann stimmt die Ausrichtung
   unabhaengig davon, wie der Browser die Zeile verteilt.

   In der Sidebar bleibt es bei 32px, dort ist die Nachbarschaft eine
   andere: die Auswahlzeilen der aufgeklappten Filter. */
.filter-panel:not(.is--sidebar) .filter-boolean .form-check {
  min-height: 40px;
  padding-top: 0.65rem;
  padding-bottom: 0.65rem;
  /* Zwingend zusammen mit der groesseren min-height.
       Die Zeile ist ein Flex-Container ohne align-items, also gilt
       der Standardwert stretch: der Inhalt sitzt oben im Kasten.
       In der Sidebar faellt das nicht auf, weil dort 32px ungefaehr
       der Inhaltshoehe entsprechen. Hier sind es 40px - die
       Differenz von rund 8px war der sichtbare Versatz.

       In der Sidebar bleibt align-items bewusst ungesetzt; dort
       sitzen Kaestchen und Text mit der Zeilenhoehe 1.2 bereits
       richtig. */
  align-items: center;
}
.filter-boolean-label {
  color: var(--pm-filter-muted);
  font-size: 0.88rem;
  margin: 0;
  cursor: pointer;
  /* Shopware setzt hier

           height: 38px;
           line-height: 38px;
           width: 100%;

       Das stammt aus der Chip-Darstellung, in der das Label die
       gesamte Chip-Hoehe ausfuellt und der Text ueber die Zeilenhoehe
       zentriert wird. In unserer Zeilendarstellung ist die feste
       Hoehe schaedlich: das Label ist 38px hoch, die Checkbox 16px -
       zentriert werden beide Kaesten, der Text sitzt aber am oberen
       Rand seines eigenen 38px-Kastens.

       Deshalb Hoehe und Zeilenhoehe an den Inhalt binden. */
  height: auto;
  line-height: 1.2;
  width: auto;
}
@media (hover: hover) {
  .filter-boolean .form-check:hover {
    background: rgba(var(--pm-filter-accent-rgb), 0.12);
  }
  .filter-boolean .form-check:hover .filter-boolean-label {
    color: var(--pm-filter-text-strong);
  }
}
/* ============================================================
   SIDEBAR – KATEGORIE-NAVIGATION
   ============================================================
   Nur die Kategorieliste der Sidebar. Alles zum Filter liegt in
   _filter.scss, unabhaengig davon, ob es die Sidebar- oder die
   kompakte Variante betrifft.

   Frueher lag beides gemeinsam in _sidebar.scss, waehrend eine
   zweite Datei _filter.scss nur die kompakte Leiste behandelte -
   also zwei Dateien fuer denselben Bereich, aufgeteilt nach Ort
   statt nach Zustaendigkeit.
   ============================================================ */
/* =========================================================
   Grundlayout
   ========================================================= */
.cms-section-sidebar-sidebar-content {
  position: relative;
}
/* Shopware Inline-Abstände in der Sidebar entschärfen */
.cms-section-sidebar-sidebar-content .cms-block-container {
  padding-top: 0.75rem !important;
  padding-right: 0 !important;
  padding-bottom: 1rem !important;
  padding-left: 0 !important;
}
/* Abstand zwischen Navigation und Filter */
.cms-section-sidebar-sidebar-content .cms-block + .cms-block {
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--sidebar-border);
}
/* Optional: Desktop leicht sticky, aber ohne harte Box-Wirkung */
@media (min-width: 992px) {
  .cms-section-sidebar-sidebar-content {
    position: sticky;
    top: 1.25rem;
    align-self: flex-start;
  }
}
/* Auf kleineren Screens nie sticky */
@media (max-width: 991px) {
  .cms-section-sidebar-sidebar-content {
    position: static;
  }
}
/* =========================================================
   Kategorie-Navigation Box
   ========================================================= */
.cms-section-sidebar-sidebar-content .category-navigation-box {
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible;
}
/* Falls ein vorheriges CSS eine Kopfkante gesetzt hatte */
.cms-section-sidebar-sidebar-content .category-navigation-box::before {
  display: none;
}
/* UL Reset */
.cms-section-sidebar-sidebar-content .category-navigation {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cms-section-sidebar-sidebar-content .category-navigation-entry {
  margin: 0;
}
/* =========================================================
   Kategorie-Links
   ========================================================= */
.cms-section-sidebar-sidebar-content .category-navigation-link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 38px;
  padding: 0.55rem 0.65rem 0.55rem 0.85rem;
  color: var(--sidebar-text);
  background: transparent;
  border-bottom: 1px solid var(--sidebar-border-soft);
  font-size: 0.92rem;
  font-weight: 500;
  line-height: 1.35;
  text-decoration: none;
  transition: color 0.18s ease, background-color 0.18s ease, padding-left 0.18s ease;
}
/* Linke Akzentlinie */
.cms-section-sidebar-sidebar-content .category-navigation-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  bottom: 0.55rem;
  width: 2px;
  background: var(--pm-filter-accent);
  opacity: 0;
  transition: opacity 0.18s ease, top 0.18s ease, bottom 0.18s ease;
}
/* Hover nur bei echter Maus */
@media (hover: hover) {
  .cms-section-sidebar-sidebar-content .category-navigation-link:hover {
    color: var(--sidebar-text-strong);
    background: rgba(var(--pm-primary-rgb), 0.27);
    padding-left: 1rem;
  }
  .cms-section-sidebar-sidebar-content .category-navigation-link:hover::before {
    opacity: 0.75;
  }
}
/* Tastatur-Fokus */
.cms-section-sidebar-sidebar-content .category-navigation-link:focus-visible {
  outline: 2px solid var(--pm-text-inverted);
  outline-offset: 2px;
  color: var(--sidebar-text-strong);
  background: var(--sidebar-hover);
}
/* Aktive Kategorie */
.cms-section-sidebar-sidebar-content .category-navigation-link.is-active {
  color: var(--pm-filter-panel-bg);
  background: var(--pm-filter-accent);
  font-weight: 700;
}
.cms-section-sidebar-sidebar-content .category-navigation-link.is-active::before {
  opacity: 1;
  background: var(--pm-filter-panel-bg);
  top: 0.45rem;
  bottom: 0.45rem;
}
/* =========================================================
   Unterkategorien
   ========================================================= */
.cms-section-sidebar-sidebar-content .category-navigation.level-1 {
  padding: 0.25rem 0 0.35rem;
  background: transparent;
  border-bottom: 1px solid var(--sidebar-border-soft);
}
.cms-section-sidebar-sidebar-content .category-navigation.level-1 .category-navigation-link {
  min-height: 34px;
  padding: 0.45rem 0.65rem 0.45rem 1.35rem;
  color: var(--sidebar-muted);
  border-bottom: none;
  font-size: 0.88rem;
  font-weight: 400;
}
/* Kleine Linie als Unterpunkt */
.cms-section-sidebar-sidebar-content .category-navigation.level-1 .category-navigation-link::before {
  left: 0.65rem;
  top: 50%;
  bottom: auto;
  width: 5px;
  height: 1px;
  opacity: 0.35;
  transform: translateY(-50%);
}
@media (hover: hover) {
  .cms-section-sidebar-sidebar-content .category-navigation.level-1 .category-navigation-link:hover {
    color: var(--sidebar-text-strong);
    padding-left: 1.5rem;
  }
  .cms-section-sidebar-sidebar-content .category-navigation.level-1 .category-navigation-link:hover::before {
    opacity: 0.75;
  }
}
.cms-section-sidebar-sidebar-content .category-navigation.level-1 .category-navigation-link.is-active {
  color: var(--sidebar-text-strong);
  font-weight: 650;
}
/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 991px) {
  .cms-section-sidebar-sidebar-content .cms-block-container {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .cms-section-sidebar-sidebar-content .category-navigation-link, .cms-section-sidebar-sidebar-content .filter-panel-item-toggle {
    min-height: 42px;
  }
}
@media (max-width: 767px) {
  .cms-section-sidebar-sidebar-content .cms-block + .cms-block {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
  }
  .cms-section-sidebar-sidebar-content .category-navigation-link {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
  }
  .cms-section-sidebar-sidebar-content .filter-panel-item-toggle {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .cms-section-sidebar-sidebar-content .filter-panel-item-dropdown {
    padding-right: 0.5rem;
    padding-left: 0.75rem;
  }
  .cms-section-sidebar-sidebar-content .filter-range-container {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .cms-section-sidebar-sidebar-content .filter-range-divider {
    display: none;
  }
}
/* =========================================================
   Barrierefreiheit
   ========================================================= */
/* Weniger Bewegung respektieren */
@media (prefers-reduced-motion: reduce) {
  .cms-section-sidebar-sidebar-content *, .cms-section-sidebar-sidebar-content *::before, .cms-section-sidebar-sidebar-content *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
/* Windows High Contrast / Forced Colors */
@media (forced-colors: active) {
  .cms-section-sidebar-sidebar-content .category-navigation-link, .cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle, .cms-section-sidebar-sidebar-content .filter-panel-item-toggle {
    forced-color-adjust: auto;
  }
  .cms-section-sidebar-sidebar-content .category-navigation-link:focus-visible, .cms-section-sidebar-sidebar-content .filter-panel-wrapper-toggle:focus-visible, .cms-section-sidebar-sidebar-content .filter-panel-item-toggle:focus-visible, .cms-section-sidebar-sidebar-content .filter-multi-select-checkbox:focus-visible, .cms-section-sidebar-sidebar-content .form-check-input:focus-visible {
    outline: 2px solid CanvasText;
  }
}
/* =========================================================
   Startseiten Hero / Text auf Bild
   Dezenter Overlay-Text, Bild bleibt sichtbar
   ========================================================= */
/*
   Wenn du auf der Startseite bereits .home-centered-layout nutzt,
   ist dieser Scope ideal.
*/
.home-centered-layout .cms-block-text-on-image {
  position: relative;
  overflow: hidden;
  background: #111;
}
/* Hero-Höhe abhängig von Bildschirmgröße */
.home-centered-layout .cms-block-text-on-image .cms-block-container {
  position: relative;
  min-height: clamp(360px, 42vw, 600px);
  display: flex;
  align-items: center;
  padding: 3rem !important;
}
/* Row und Spalte auf volle Höhe bringen */
.home-centered-layout .cms-block-text-on-image .cms-block-container-row, .home-centered-layout .cms-block-text-on-image .cms-block-container-row > .col-12 {
  min-height: inherit;
}
/* Dezenter Verlauf nur für Lesbarkeit, Bild wird nicht stark verdeckt */
.home-centered-layout .cms-block-text-on-image .cms-block-container::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.58) 0%, rgba(0, 0, 0, 0.34) 38%, rgba(0, 0, 0, 0.08) 72%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
  z-index: 1;
}
/* Textbereich */
.home-centered-layout .cms-block-text-on-image .cms-element-text {
  position: relative;
  z-index: 2;
  max-width: 620px;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.32);
  border-left: 3px solid var(--home-gold, var(--pm-accent));
  backdrop-filter: blur(6px);
}
/* Headline */
.home-centered-layout .cms-block-text-on-image .cms-element-text h2, .home-centered-layout .cms-block-text-on-image .cms-element-text .h2 {
  margin: 0 0 1rem !important;
  color: #fff !important;
  text-align: left !important;
  font-size: clamp(2.2rem, 4.6vw, 4.8rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.03em;
}
/* Text */
.home-centered-layout .cms-block-text-on-image .cms-element-text p {
  max-width: 540px;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.86) !important;
  text-align: left !important;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.75;
}
/* Optional: kleiner Gold-Akzent unter der Headline */
.home-centered-layout .cms-block-text-on-image .cms-element-text h2::after, .home-centered-layout .cms-block-text-on-image .cms-element-text .h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin-top: 1rem;
  background: var(--home-gold, var(--pm-accent));
}
/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 991px) {
  .home-centered-layout .cms-block-text-on-image .cms-block-container {
    min-height: clamp(360px, 58vw, 520px);
    padding: 2rem !important;
  }
  .home-centered-layout .cms-block-text-on-image .cms-element-text {
    max-width: 560px;
    padding: 1.75rem;
  }
}
/* =========================================================
   Mobile
   ========================================================= */
@media (max-width: 767px) {
  .home-centered-layout .cms-block-text-on-image .cms-block-container {
    min-height: 430px;
    align-items: flex-end;
    padding: 1rem !important;
  }
  .home-centered-layout .cms-block-text-on-image .cms-block-container::before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.68) 0%, rgba(0, 0, 0, 0.42) 48%, rgba(0, 0, 0, 0.08) 100%);
  }
  .home-centered-layout .cms-block-text-on-image .cms-element-text {
    width: 100%;
    max-width: none;
    padding: 1.25rem;
    background: rgba(0, 0, 0, 0.36);
  }
  .home-centered-layout .cms-block-text-on-image .cms-element-text h2, .home-centered-layout .cms-block-text-on-image .cms-element-text .h2 {
    font-size: clamp(2rem, 10vw, 3rem);
  }
  .home-centered-layout .cms-block-text-on-image .cms-element-text p {
    font-size: 1rem;
    line-height: 1.6;
  }
}
/* ============================================================
   TECHNISCHE DATEN
   ============================================================
   DIESE DATEI GEHOERT BEWUSST INS THEME, NICHT INS PLUGIN.

   Die Funktion stellt ein eigenes Plugin bereit, die Gestaltung
   aber das Theme. Grund: mehrere Verkaufskanaele nutzen dieselben
   Funktionen, sollen aber unterschiedlich aussehen. Da jedes Theme
   pro Verkaufskanal eigenstaendig kompiliert wird, kann so jeder
   Kanal dieselbe Komponente anders darstellen - nicht nur in
   anderen Farben, sondern auch im Aufbau.

   Laege das SCSS im Plugin, saehe die Komponente in allen Kanaelen
   gleich aus.

   Entsprechend gehoert "@Plugins" NICHT in die style-Liste der
   theme.json - Plugins bringen hier absichtlich kein eigenes CSS
   mit.
   ============================================================ */
/* ════════════════════════════════════════════════════════════════════
   PM TECH SPECS – Cleaner Tab "Technische Daten"
   CI-Farben: Gold var(--pm-secondary) / Schwarz var(--pm-text)
   Stil: Klassisch elegant – Header mit Goldlinie darunter, Goldoutline-Pills
   ════════════════════════════════════════════════════════════════════ */
/* ── CI-Farben als CSS-Variablen ────────────────────────────────── */
.pm-tech-specs-tab {
  display: flex;
  flex-direction: column;
  gap: 36px;
  padding: 16px 0;
  max-width: 920px;
  color: var(--pts-text);
  font-family: inherit;
}
/* ── Sektion (Gruppe) ───────────────────────────────────────────── */
.pts-group {
  /* Keine Box, keine Border – nur Inhalt mit Trennung nach unten */
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
  padding: 0;
  box-shadow: none;
}
/* ── Sektions-Überschrift: schwarz, darunter Goldlinie ──────────── */
.pts-group-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 0 12px 0;
  margin: 0 0 20px 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--pts-accent);
  font-size: 17px;
  font-weight: 700;
  color: var(--pm-detail-table-heading);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.pts-group-title svg {
  color: var(--pts-accent);
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
/* ── Datenzeilen: Label links, Wert rechts, viel Luft ───────────── */
.pts-rows {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pts-row {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 24px;
  align-items: baseline;
  padding: 11px 0;
  border-bottom: 1px solid var(--pts-line);
  font-size: 14px;
  /* Wechselnde Zeilen. Standard ist transparent, also keine
       Streifen - einstellbar unter Produktdetails -> "Tabellen". */
}
.pts-row:last-child {
  border-bottom: none;
}
.pts-row:nth-child(even) {
  background: var(--pm-detail-table-stripe);
}
@media (max-width: 575px) {
  .pts-row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 10px 0;
  }
}
.pts-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--pts-muted);
  letter-spacing: 0.02em;
}
.pts-label sub {
  font-size: 75%;
}
.pts-value {
  color: var(--pts-text-strong);
  font-size: 15px;
  font-weight: 500;
}
.pts-mono {
  font-family: "Courier New", "Consolas", monospace;
  letter-spacing: 0.03em;
  font-size: 14px;
  color: var(--pts-text-strong);
}
/* ── Pills (Zertifikate, Schutzfunktionen) ──────────────────────── */
/* Outline-Pills in Gold/Schwarz – kein bunter Hintergrund mehr     */
.pts-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 0 18px 0;
  border-bottom: 1px solid var(--pts-line);
  margin-bottom: 4px;
}
.pts-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 0;
  /* eckig statt rund – cleaner */
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border: 1px solid;
  background: transparent;
  line-height: 1.4;
  /* Zertifikate (CE, GS, TÜV) – Goldoutline mit Häkchen */
  /* Komfortmerkmale (Sanftanlauf, Überlastschutz, …) – schwarz dezent */
  /* Warn-Pills (Ohne Akku, Ohne Ladegerät) – bleibt auffällig rot */
}
.pts-pill--ok {
  color: var(--pts-accent);
  border-color: var(--pts-accent);
}
.pts-pill--cert {
  color: var(--pts-accent);
  border-color: var(--pts-accent);
}
.pts-pill--cert::before {
  content: "✓";
  margin-right: 6px;
  font-weight: 700;
}
.pts-pill--feat {
  color: var(--pts-text-strong);
  border-color: var(--pts-text-strong);
  opacity: 0.75;
}
.pts-pill--warn {
  background: var(--pm-danger);
  color: var(--pm-text-inverted);
  border-color: var(--pm-danger);
  font-weight: 700;
}
/* ── Warn-Banner für Akku-Lieferumfang ──────────────────────────── */
/* Bleibt rot/auffällig – ist eine echte Kaufhinweis-Warnung        */
.pts-warn-banner {
  display: flex;
  gap: 14px;
  padding: 18px 0;
  margin-bottom: 8px;
  border-top: 2px solid var(--pm-danger);
  border-bottom: 1px solid var(--pts-line);
}
.pts-warn-banner > svg {
  color: var(--pm-danger);
  flex-shrink: 0;
  margin-top: 2px;
  width: 22px;
  height: 22px;
}
.pts-warn-content {
  flex: 1;
  min-width: 0;
}
.pts-warn-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--pm-danger);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
}
.pts-warn-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.pts-warn-note {
  font-size: 14px;
  color: var(--pts-text);
  line-height: 1.6;
}
/* ── Lieferumfang-Liste ──────────────────────────────────────────── */
.pts-pad {
  padding: 0;
}
.pts-scope-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pts-scope-list li {
  position: relative;
  padding: 10px 0 10px 28px;
  font-size: 14px;
  color: var(--pts-text);
  border-bottom: 1px solid var(--pts-line);
  line-height: 1.5;
  /* Goldener Strich als Bullet */
}
.pts-scope-list li:last-child {
  border-bottom: none;
}
.pts-scope-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 19px;
  width: 16px;
  height: 1px;
  background: var(--pts-accent);
}
/* ── Download-Buttons (Anleitung, Datenblatt) ───────────────────── */
/* Plain-Link-Stil, mit Goldakzent – kein Button-Look mehr           */
.pts-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  padding: 18px 0 0 0;
  margin-top: 8px;
  border-top: 1px solid var(--pts-line);
  background: transparent;
}
.pts-dl-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 0 4px 0;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--pts-accent);
  border-radius: 0;
  text-decoration: none;
  color: var(--pts-text-strong);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.15s, border-color 0.15s, transform 0.15s;
}
.pts-dl-btn:hover {
  color: var(--pts-accent);
  border-color: var(--pts-text-strong);
  background: transparent;
  text-decoration: none;
  transform: translateX(2px);
}
.pts-dl-btn svg {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  color: var(--pts-accent);
  transition: color 0.15s;
}
.pts-dl-btn:hover svg {
  color: var(--pts-text-strong);
}
/* ── Freitext-Notizen ───────────────────────────────────────────── */
.pts-notes {
  font-size: 14px;
  color: var(--pts-text);
  line-height: 1.7;
  white-space: pre-line;
  padding: 0;
}
/* ── Tab-Navigation: aktiver Tab in CI-Gold ──────────────────────── */
/* Greift nur, wenn der Tab existiert – ist also überall sicher.    */
.product-detail-tab-navigation-link[id^="pm-tech-"].active, .product-detail-tab-navigation-link[id^="pm-tech-"][aria-selected="true"], .product-detail-tab-navigation-link[id^="pm-downloads-"].active, .product-detail-tab-navigation-link[id^="pm-downloads-"][aria-selected="true"] {
  color: var(--pm-primary);
  border-bottom-color: var(--pm-secondary);
}
.product-detail-tab-navigation-link[id^="pm-tech-"]:hover, .product-detail-tab-navigation-link[id^="pm-downloads-"]:hover {
  color: var(--pm-secondary);
}
/* ════════════════════════════════════════════════════════════════════
   TAB „DOKUMENTE & DOWNLOADS"
   Sammelt Datenblatt, Anleitung, Garantie, CE-Konformität usw. als
   klickbare Download-Zeilen. Gleiche CI wie der Technik-Tab.
   ════════════════════════════════════════════════════════════════════ */
.pm-downloads-tab {
  padding: 16px 0;
  max-width: 920px;
  color: var(--pts-text);
  font-family: inherit;
}
.pmd-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pmd-item {
  border-bottom: 1px solid var(--pts-line);
}
.pmd-item:first-child {
  border-top: 1px solid var(--pts-line);
}
.pmd-link {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px 6px;
  text-decoration: none;
  color: var(--pts-text-strong);
  transition: background 0.15s, padding-left 0.15s;
}
.pmd-link:hover, .pmd-link:focus {
  text-decoration: none;
  color: var(--pts-text-strong);
  background: var(--pts-accent-soft);
  padding-left: 14px;
}
.pmd-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--pts-accent);
  border-radius: 0;
  color: var(--pts-accent);
  background: transparent;
  transition: background 0.15s, color 0.15s;
}
.pmd-link:hover .pmd-icon {
  background: var(--pts-accent);
  color: var(--pm-text-inverted);
}
.pmd-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pmd-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--pts-text-strong);
  line-height: 1.35;
  word-break: break-word;
}
.pmd-meta {
  font-size: 12px;
  font-weight: 500;
  color: var(--pts-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.pmd-arrow {
  flex-shrink: 0;
  color: var(--pts-accent);
  transition: transform 0.15s;
}
.pmd-link:hover .pmd-arrow {
  transform: translateY(2px);
}
@media (max-width: 991px) {
  .offcanvas .pm-downloads-tab, .is-tab-offcanvas .pm-downloads-tab {
    padding: 20px 20px 32px 20px;
    max-width: 100%;
  }
  .pm-downloads-tab .pmd-link {
    gap: 14px;
    padding: 14px 2px;
  }
  .pm-downloads-tab .pmd-icon {
    width: 38px;
    height: 38px;
  }
  .pm-downloads-tab .pmd-label {
    font-size: 14px;
  }
}
/* ════════════════════════════════════════════════════════════════════
   MOBILE OFFCANVAS – Tab-Inhalt im seitlichen Drawer
   Shopware schiebt den Tab-Inhalt unter ~768px in ein Offcanvas.
   Standardprobleme die wir hier explizit fixen:
     1. Inhalt klebt am linken Rand → Padding erzwingen
     2. Drawer scrollt nicht → max-height + overflow-y setzen
     3. Goldlinien & Header brauchen weniger Abstand auf schmalem Display
   ════════════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  /* Der Offcanvas-Wrapper, in den Shopware den Tab-Content schiebt.
       Klassen "is-tab-offcanvas" und ".offcanvas" decken Bootstrap5-
       und ältere Storefront-Varianten ab. */
  /* Den Tab-Pane-Container, der den Goldinhalt umschließt, scrollbar
       machen und Innenabstand sicherstellen – auch wenn das Theme
       das Default-Offcanvas-Padding entfernt. */
  /* Datenzeilen auf Mobile etwas kompakter, aber nicht eng */
  /* Sektions-Header auf Mobile etwas kleiner */
  /* Pills sollen auf Mobile umbrechen ohne zu überlaufen */
  /* Warn-Banner auf Mobile mit Innenabstand */
  /* Download-Buttons stapeln statt nebeneinander quetschen */
  .offcanvas .pm-tech-specs-tab, .is-tab-offcanvas .pm-tech-specs-tab {
    padding: 20px 20px 32px 20px;
    gap: 28px;
    max-width: 100%;
  }
  .offcanvas .tab-pane-container, .is-tab-offcanvas .tab-pane-container {
    padding: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* sanftes Scrollen iOS */
    max-height: calc(100vh - 60px);
    /* 60px Platz für Close-Btn */
  }
  .pm-tech-specs-tab .pts-row {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 9px 0;
  }
  .pm-tech-specs-tab .pts-group-title {
    font-size: 14px;
    gap: 8px;
    padding-bottom: 10px;
    margin-bottom: 16px;
  }
  .pm-tech-specs-tab .pts-pills {
    gap: 6px;
    padding-bottom: 14px;
  }
  .pm-tech-specs-tab .pts-pill {
    font-size: 10px;
    padding: 5px 11px;
    letter-spacing: 0.06em;
  }
  .pm-tech-specs-tab .pts-warn-banner {
    padding: 14px 0 16px 0;
    gap: 10px;
  }
  .pm-tech-specs-tab .pts-downloads {
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
  }
}
/* Sehr schmale Geräte: noch etwas weniger Außenabstand */
@media (max-width: 480px) {
  .offcanvas .pm-tech-specs-tab, .is-tab-offcanvas .pm-tech-specs-tab {
    padding: 16px 16px 28px 16px;
    gap: 24px;
  }
}
/* ════════════════════════════════════════════════════════════════════
   PM TECH SPECS – Fix: Tab-Inhalt im mobilen Offcanvas oben ausrichten
   Version 2 – ersetzt die vorherige Fassung komplett.
   ────────────────────────────────────────────────────────────────────
   URSACHE
     Shopware hängt den Tab-Inhalt als Geschwister NEBEN .offcanvas-body,
     nicht hinein:

       .offcanvas            (display:flex; flex-direction:column)
         ├ .offcanvas-header
         ├ .offcanvas-body        ← bleibt LEER, hat aber flex-grow:1
         └ .tab-pane-container    ← unser Inhalt

     Das leere .offcanvas-body beansprucht als Flex-Item die komplette
     freie Höhe und drückt alles darunter an den unteren Rand. Deshalb
     hat `margin-bottom: auto` am Inhalt nichts gebracht – das Problem
     ist das gierige Geschwister-Element davor.

   LÖSUNG
     .offcanvas-body auf flex:0 0 auto setzen, .tab-pane-container
     stattdessen wachsen und scrollen lassen.

   KEIN MEDIA-QUERY
     Der Selektor greift ausschließlich, wenn ein .tab-pane-container
     direkt im Offcanvas liegt – also genau im mobilen Tab-Fall. Damit
     entfällt das Breakpoint-Risiko (die alte Fassung lag bei 991px,
     dein Testfenster war ~995px breit – der Block hat vermutlich gar
     nicht gegriffen). Andere Offcanvas (Menü, Warenkorb) bleiben
     unberührt, weil dort kein .tab-pane-container existiert.

   EINBAU
     In die SCSS beider Kanal-Themes einfügen, danach
     `bin/console theme:compile`.
   ════════════════════════════════════════════════════════════════════ */
.offcanvas:has(> .tab-pane-container) {
  /* Das leere Body-Element darf keine Höhe mehr beanspruchen. */
  /* Stattdessen wächst und scrollt der Tab-Inhalt. */
}
.offcanvas:has(> .tab-pane-container) > .offcanvas-body {
  flex: 0 0 auto;
  min-height: 0;
  padding: 0;
}
.offcanvas:has(> .tab-pane-container) > .tab-pane-container {
  flex: 1 1 auto;
  min-height: 0;
  /* erlaubt Schrumpfen → Scrollen */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
/* ── Innenabstand im Offcanvas ──────────────────────────────────────
   Nur nötig, falls dein Theme das Default-Padding entfernt.        */
.offcanvas .pm-downloads-tab, .offcanvas .pm-tech-specs-tab {
  padding: 20px 20px 32px 20px;
  max-width: 100%;
}
/* ============================================================
   EIGENSCHAFTEN-TABELLE (Produktdetailseite)
   ============================================================
   Layout aus dem PMBrandCatalogTheme uebernommen. Dort lagen diese
   Regeln in _product-box.scss; hier stehen sie bei den uebrigen
   Tabellenregeln, wo sie hingehoeren.

   Gesteuert ueber Produktdetails -> "Tabellen (Eigenschaften,
   Technische Daten)":
     detailTableAccentColor / -Width   linker Akzentbalken (0 = aus)
     detailTableBgColor                Grundflaeche der Tabelle
     detailTableStripeColor            jede zweite Zeile
     detailTableHoverColor             Zeile unter dem Mauszeiger
     detailTableBorderColor            Rahmen und Trennlinien
     detailTableHeadingColor           Ueberschrift
     detailTableLabelColor             Label-Spalte
     detailTableValueColor             Wert-Spalte
   ============================================================ */
.product-detail-properties {
  margin: 2rem 0;
}
/* Shopware setzt hier oft col-lg-6, dadurch wird die Tabelle zu schmal */
.product-detail-properties-container {
  justify-content: flex-start;
}
.product-detail-properties-container > .col-md-10, .product-detail-properties-container > .col-lg-6 {
  flex: 0 0 100%;
  width: 100%;
  max-width: 900px;
}
/* Tabelle */
.product-detail-properties-table {
  width: 100%;
  margin: 0;
  background: var(--pm-detail-table-bg);
  border: 1px solid var(--properties-border);
  /* Breite ueber Produktdetails -> "Tabellen" einstellbar, 0 blendet
       den Balken aus. */
  border-left: var(--pm-detail-table-accent-w) solid var(--properties-accent);
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 10px 28px rgba(var(--pm-primary-rgb), 0.07);
  overflow: hidden;
}
/* Bootstrap Stripe neutralisieren */
.product-detail-properties-table.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: transparent;
  background-color: var(--pm-detail-table-bg);
}
.product-detail-properties-table.table-striped > tbody > tr:nth-of-type(even) > * {
  --bs-table-accent-bg: transparent;
  background-color: var(--properties-soft);
}
/* Zeilen */
.product-detail-properties-table .properties-row {
  transition: background-color 0.18s ease;
}
/* SPEZIFITAET BEACHTEN
   Die Zebra-Regel von Bootstrap/Shopware lautet

       .product-detail-properties-table.table-striped > tbody
       > tr:nth-of-type(even) > *          -> (0,3,2)

   Ein einfaches .properties-row:hover > th kaeme auf (0,3,1) und
   wuerde auf gestreiften Zeilen verlieren - der Hover war deshalb
   ueberhaupt nie sichtbar, auch nicht auf den ungeraden Zeilen, weil
   die dazugehoerige nth-of-type(odd)-Regel dieselbe Spezifitaet hat.

   Der Selektor unten liegt mit (0,4,2) darueber und gewinnt auf
   beiden Zeilentypen, ohne !important. */
.product-detail-properties-table.table-striped > tbody > tr.properties-row:hover > th, .product-detail-properties-table.table-striped > tbody > tr.properties-row:hover > td, .product-detail-properties-table .properties-row:hover > th, .product-detail-properties-table .properties-row:hover > td {
  background-color: var(--pm-detail-table-hover);
}
/* Zellen */
.product-detail-properties-table th, .product-detail-properties-table td {
  padding: 1rem 1.15rem;
  border: 0;
  border-bottom: 1px solid var(--properties-border);
  vertical-align: top;
}
/* letzte Linie entfernen */
.product-detail-properties-table tbody tr:last-child th, .product-detail-properties-table tbody tr:last-child td {
  border-bottom: 0;
}
/* Label-Spalte */
.product-detail-properties-table .properties-label {
  width: 32%;
  min-width: 210px;
  color: var(--pm-detail-table-label);
  font-size: 0.92rem;
  line-height: 1.55;
  font-weight: 800;
  white-space: normal;
}
/* Wert-Spalte */
.product-detail-properties-table .properties-value {
  color: var(--properties-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  font-weight: 500;
}
/* Werte besser lesbar */
.product-detail-properties-table .properties-value span {
  display: inline-block;
  max-width: 100%;
}
/* =========================================================
   Optional: Tabellenbereich mit kleiner Überschrift
   Nur falls Shopware außen eine Headline ausgibt
========================================================= */
.product-detail-properties-title, .product-detail-properties h2, .product-detail-properties .h2, .product-detail-properties h3, .product-detail-properties .h3 {
  margin: 0 0 1rem;
  color: var(--properties-base);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.2;
  font-weight: 800;
}
/* =========================================================
   Mobile Darstellung
   Auf kleinen Screens wird aus Tabelle eine Kartenliste
========================================================= */
@media (max-width: 767.98px) {
  .product-detail-properties {
    margin: 1.5rem 0;
  }
  .product-detail-properties-container > .col-md-10, .product-detail-properties-container > .col-lg-6 {
    max-width: 100%;
  }
  .product-detail-properties-table, .product-detail-properties-table tbody, .product-detail-properties-table tr, .product-detail-properties-table th, .product-detail-properties-table td {
    display: block;
    width: 100%;
  }
  .product-detail-properties-table {
    border-left-width: 4px;
  }
  .product-detail-properties-table .properties-row {
    padding: 0;
    border-bottom: 1px solid var(--properties-border);
  }
  .product-detail-properties-table .properties-row:last-child {
    border-bottom: 0;
  }
  .product-detail-properties-table th, .product-detail-properties-table td {
    border-bottom: 0;
  }
  .product-detail-properties-table .properties-label {
    min-width: 0;
    padding: 0.95rem 1rem 0.25rem;
    font-size: 0.82rem;
    line-height: 1.35;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--properties-accent);
  }
  .product-detail-properties-table .properties-value {
    padding: 0 1rem 1rem;
    font-size: 0.94rem;
    line-height: 1.65;
    color: var(--properties-base);
  }
}
/* ============================================================
   PRODUKTDETAILSEITE – RESPONSIVE EIGENSCHAFTEN-TABELLE
   ============================================================
   Diese Datei hiess bis 1.16.0 _videos.scss und enthielt neben der
   Video-Darstellung auch das responsive Layout der
   Eigenschaften-Tabelle. Genau diese Mischung war die Ursache
   dafuer, dass die Tabelle zweimal gestaltet war und die Fassung
   hier die aus _product-box.scss ueberschrieb.

   Die Video-Regeln sind ins Plugin gewandert. Was bleibt, ist
   reines Layout - Farben kommen aus _product-box.scss.
   ============================================================ */
/* =========================================================
   Layout mit Video neben Eigenschaften
========================================================= */
.product-detail-properties-container {
  row-gap: 1.5rem;
}
/* WICHTIG:
   Diese Regel sorgt dafür, dass Tabelle und Video ab Desktop
   sauber nebeneinander stehen.
*/
@media (min-width: 992px) {
  .product-detail-properties-container.has-acme-video {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .product-detail-properties-container.has-acme-video > * {
    flex: 0 0 auto;
    width: 50%;
    max-width: 50%;
  }
}
/* Wenn KEIN Video vorhanden ist, darf die Tabelle breiter laufen */
.product-detail-properties-container:not(.has-acme-video) > .col-md-10, .product-detail-properties-container:not(.has-acme-video) > .col-lg-6 {
  flex: 0 0 100%;
  width: 100%;
  max-width: 900px;
}
/* Wenn Video vorhanden ist, normale Spaltenlogik sauber halten */
.product-detail-properties-container.has-acme-video > .col-md-10, .product-detail-properties-container.has-acme-video > .col-lg-6 {
  min-width: 0;
}
/* =========================================================
   Tablet / Mobile
   Untereinander, volle Breite
========================================================= */
@media (max-width: 991.98px) {
  .product-detail-properties-container.has-acme-video > * {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}
/* =========================================================
   Mobile Tabellen-Darstellung
========================================================= */
@media (max-width: 767.98px) {
  .product-detail-properties {
    margin: 1.5rem 0;
  }
  .product-detail-properties-table, .product-detail-properties-table tbody, .product-detail-properties-table tr, .product-detail-properties-table th, .product-detail-properties-table td {
    display: block;
    width: 100%;
  }
  .product-detail-properties-table {
    border-left-width: 4px;
  }
  .product-detail-properties-table .properties-row {
    padding: 0;
    border-bottom: 1px solid var(--product-info-border);
  }
  .product-detail-properties-table .properties-row:last-child {
    border-bottom: 0;
  }
  .product-detail-properties-table th, .product-detail-properties-table td {
    border-bottom: 0;
  }
  .product-detail-properties-table .properties-label {
    min-width: 0;
    padding: 0.95rem 1rem 0.25rem;
    color: var(--product-info-accent);
    font-size: 0.78rem;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .product-detail-properties-table .properties-value {
    padding: 0 1rem 1rem;
    color: var(--product-info-base);
    font-size: 0.94rem;
    line-height: 1.65;
  }
}
/* =========================================================
   Eigenschaften-Tabelle
========================================================= */
/* ------------------------------------------------------------
   Die Eigenschaften-Tabelle wurde hier ein zweites Mal gestaltet,
   nahezu deckungsgleich mit _product-box.scss, aber ueber die
   Aliase --product-info-* statt --properties-*. Da _videos.scss
   spaeter importiert wird, gewann diese Fassung - Aenderungen in
   _product-box.scss blieben wirkungslos.

   Entfernt. Die Tabelle wird ausschliesslich in _product-box.scss
   gestaltet und folgt dort der Konfiguration unter
   Produktdetails -> "Tabellen".

   Die responsive Darstellung weiter unten in dieser Datei bleibt
   erhalten - sie regelt nur Layout, keine Farben.
   ------------------------------------------------------------ */
.about-events {
  padding: 4rem 0;
}
.about-events__intro {
  margin-bottom: 2.5rem;
  text-align: center;
}
.about-events__intro h2, .about-events__intro .h2 {
  margin: 0;
  font-size: 2rem;
  line-height: 1.2;
}
.about-events__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 720px;
  margin: 0 auto;
}
.about-events__item {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: var(--sw-background-color, #fff);
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.about-events__item:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
.about-events__date {
  flex: 0 0 auto;
  min-width: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-right: 1.5rem;
  border-right: 1px solid #e5e7eb;
}
.about-events__date span {
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.about-events__date small, .about-events__date .small {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7280;
}
.about-events__content {
  flex: 1 1 auto;
}
.about-events__content h3, .about-events__content .h3 {
  margin: 0 0 0.25rem;
  font-size: 1.1rem;
}
.about-events__content h3 a, .about-events__content .h3 a {
  color: inherit;
  text-decoration: none;
}
.about-events__content h3 a:hover, .about-events__content .h3 a:hover {
  color: var(--sw-color-brand-primary, #1a3d8f);
}
.about-events__content p {
  margin: 0;
  color: #4b5563;
}
.about-events__booth {
  color: #6b7280;
  font-size: 0.9rem;
}
.about-events__more {
  margin-top: 2rem;
  text-align: center;
}
.about-events__empty {
  text-align: center;
  color: #6b7280;
}
.appointment-detail {
  padding: 3rem 0;
  max-width: 800px;
}
.appointment-detail__back {
  display: inline-block;
  margin-bottom: 1rem;
  color: #6b7280;
  text-decoration: none;
}
.appointment-detail__back:hover {
  color: var(--sw-color-brand-primary, #1a3d8f);
}
.appointment-detail__meta {
  margin: 1rem 0 2rem;
  color: #4b5563;
}
.appointment-detail__image {
  margin: 1.5rem 0;
  border-radius: 8px;
  overflow: hidden;
}
.appointment-detail__description {
  line-height: 1.7;
}
.about-section-label {
  display: inline-block;
  margin-bottom: 0.75rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-color-brand-primary, #1a3d8f);
}
/* =====================================================================
   Uebernommen aus PMBrandCatalogTheme – Termine/Veranstaltungen
   (Farben auf die RT-Palette gemappt: #171717 / var(--pm-accent))
   ===================================================================== */
/* =========================================================
   Termine & Veranstaltungen
   Farben: #171717 / var(--pm-accent)
========================================================= */
.home-event-teaser, .events-hero, .events-intro, .events-request {
  --events-dark: #171717;
  --events-red: var(--pm-accent);
  --events-soft: #f6f6f7;
  --events-border: rgba(23, 23, 23, 0.12);
  --events-muted: rgba(23, 23, 23, 0.76);
}
/* =========================================================
   Startseiten-Störer
========================================================= */
.home-event-teaser {
  margin: 2.5rem 0;
}
.home-event-teaser__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.4rem;
  padding: 1.5rem 1.6rem;
  background: #ffffff;
  border: 1px solid var(--events-border);
  border-left: 5px solid var(--events-red);
  box-shadow: 0 16px 42px rgba(23, 23, 23, 0.1);
}
.home-event-teaser__icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--events-dark);
  color: #ffffff;
  font-size: 1.45rem;
}
.home-event-teaser__label, .events-section-label {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.65rem;
  padding: 0.35rem 0.65rem;
  background: var(--events-red);
  color: #ffffff;
  font-size: 0.76rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0 6px 6px 0;
}
.home-event-teaser__content h2, .home-event-teaser__content .h2 {
  margin: 0 0 0.35rem;
  color: var(--events-dark);
  font-size: 1.45rem;
  line-height: 1.25;
  font-weight: 700;
}
.home-event-teaser__content p {
  max-width: 760px;
  margin: 0;
  color: var(--events-muted);
  font-size: 0.98rem;
  line-height: 1.65;
}
.home-event-teaser__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.9rem 1.15rem;
  background: var(--events-dark);
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.home-event-teaser__btn:hover, .home-event-teaser__btn:focus {
  background: var(--events-red);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
}
.home-event-teaser__btn i {
  transition: transform 0.2s ease;
}
.home-event-teaser__btn:hover i, .home-event-teaser__btn:focus i {
  transform: translateX(3px);
}
/* =========================================================
   Hero Unterseite
========================================================= */
.events-hero {
  margin: 0 0 3rem;
  padding: 4rem 0;
  background: linear-gradient(135deg, rgba(23, 23, 23, 0.95), rgba(23, 23, 23, 0.86)), #171717;
  color: #ffffff;
}
.events-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 2rem;
  align-items: center;
  padding: 2rem;
}
.events-hero__content {
  max-width: 760px;
}
.events-hero .events-section-label {
  background: #ffffff;
  color: var(--events-dark);
}
.events-hero h1, .events-hero .h1 {
  margin: 0 0 1rem;
  color: #ffffff;
  font-size: clamp(2.1rem, 4vw, 3.6rem);
  line-height: 1.08;
  font-weight: 800;
}
.events-hero p {
  margin: 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.08rem;
  line-height: 1.75;
}
.events-hero__box {
  padding: 2rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-left: 5px solid var(--events-red);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.events-hero__box i {
  display: block;
  margin: 0 0 1.2rem;
  color: #ffffff;
  font-size: 2.4rem;
}
.events-hero__box strong {
  display: block;
  margin: 0 0 0.55rem;
  color: #ffffff;
  font-size: 1.25rem;
  line-height: 1.35;
  font-weight: 700;
}
.events-hero__box span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.98rem;
  line-height: 1.6;
}
/* =========================================================
   Intro vor Terminelement
========================================================= */
.events-intro {
  margin: 0 0 1.5rem;
}
.events-intro__content {
  max-width: 760px;
}
.events-intro h2, .events-intro .h2 {
  margin: 0 0 0.8rem;
  color: var(--events-dark);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  line-height: 1.2;
  font-weight: 800;
}
.events-intro p {
  margin: 0;
  color: var(--events-muted);
  font-size: 1rem;
  line-height: 1.7;
}
/* =========================================================
   Anfragebereich
========================================================= */
.events-request {
  margin: 4rem 0 0;
  background: var(--events-soft);
}
.events-request__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 2rem;
  align-items: stretch;
}
.events-request__content, .events-request__form {
  background: #ffffff;
  border: 1px solid var(--events-border);
}
.events-request__content {
  padding: 2rem;
  border-left: 5px solid var(--events-red);
}
.events-request__content h2, .events-request__content .h2 {
  margin: 0 0 1rem;
  color: var(--events-dark);
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  line-height: 1.2;
  font-weight: 800;
}
.events-request__content p {
  margin: 0 0 1rem;
  color: var(--events-muted);
  font-size: 1rem;
  line-height: 1.75;
}
.events-request__content p:last-of-type {
  margin-bottom: 0;
}
.events-request__features {
  display: grid;
  gap: 0.75rem;
  margin: 1.6rem 0 0;
}
.events-request__feature {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  background: var(--events-soft);
  color: var(--events-dark);
  font-size: 0.95rem;
  line-height: 1.45;
  font-weight: 700;
}
.events-request__feature i {
  width: 24px;
  color: var(--events-red);
  font-size: 1.15rem;
  text-align: center;
}
.events-request__form {
  min-height: 420px;
  padding: 2rem;
}
.events-request__form-placeholder {
  width: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: linear-gradient(135deg, rgba(23, 23, 23, 0.04), rgba(182, 153, 91, 0.04)), #ffffff;
  border: 1px dashed rgba(23, 23, 23, 0.28);
  color: rgba(23, 23, 23, 0.45);
  font-size: 0.95rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}
/* =========================================================
   Responsive
========================================================= */
@media (max-width: 991.98px) {
  .home-event-teaser__inner, .events-hero__inner, .events-request__inner {
    grid-template-columns: 1fr;
  }
  .home-event-teaser__action {
    justify-self: start;
  }
  .events-hero {
    padding: 3rem 0;
  }
}
@media (max-width: 575.98px) {
  .home-event-teaser__inner {
    padding: 1.25rem;
  }
  .home-event-teaser__icon {
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }
  .events-request__content, .events-request__form {
    padding: 1.35rem;
  }
  .events-request__form {
    min-height: 280px;
  }
}
.pm-appointments {
  --pm-appointments-dark: #171717;
  --pm-appointments-red: var(--pm-accent);
  --pm-appointments-soft: #f6f6f7;
  --pm-appointments-border: rgba(23, 23, 23, 0.12);
  --pm-appointments-muted: rgba(23, 23, 23, 0.76);
}
.pm-appointments__intro {
  max-width: 760px;
  margin: 0 auto 2.5rem;
}
.pm-appointments__intro h2, .pm-appointments__intro .h2 {
  margin: 0;
  color: var(--pm-appointments-dark);
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  line-height: 1.2;
  font-weight: 800;
}
.pm-appointments__intro p {
  margin: 0.85rem auto 0;
  color: var(--pm-appointments-muted);
  font-size: 1rem;
  line-height: 1.7;
}
.pm-appointments__label {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.75rem;
  padding: 0.35rem 0.65rem;
  background: var(--pm-appointments-red);
  color: #ffffff;
  font-size: 0.76rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0 6px 6px 0;
}
.pm-appointments__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  max-width: 760px;
  margin: 0 auto;
}
.pm-appointments__item {
  display: flex;
  align-items: stretch;
  gap: 1.5rem;
  padding: 1.25rem 1.5rem;
  background: #ffffff;
  border: 1px solid var(--pm-appointments-border);
  border-left: 5px solid var(--pm-appointments-red);
  border-radius: 0;
  box-shadow: 0 10px 28px rgba(23, 23, 23, 0.07);
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.pm-appointments__item:hover {
  border-color: rgba(23, 23, 23, 0.18);
  box-shadow: 0 16px 38px rgba(23, 23, 23, 0.12);
  transform: translateY(-2px);
}
.pm-appointments__date {
  flex: 0 0 auto;
  min-width: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-right: 1.5rem;
  border-right: 1px solid var(--pm-appointments-border);
}
.pm-appointments__date span {
  color: var(--pm-appointments-dark);
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
}
.pm-appointments__date small, .pm-appointments__date .small {
  margin-top: 0.4rem;
  color: var(--pm-appointments-red);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center;
}
.pm-appointments__content {
  flex: 1 1 auto;
  align-self: center;
}
.pm-appointments__content h3, .pm-appointments__content .h3 {
  margin: 0 0 0.35rem;
  color: var(--pm-appointments-dark);
  font-size: 1.12rem;
  line-height: 1.35;
  font-weight: 800;
}
.pm-appointments__content h3 a, .pm-appointments__content .h3 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pm-appointments__content h3 a:hover, .pm-appointments__content .h3 a:hover, .pm-appointments__content h3 a:focus, .pm-appointments__content .h3 a:focus {
  color: var(--pm-appointments-red);
  text-decoration: none;
}
.pm-appointments__content p {
  margin: 0;
  color: var(--pm-appointments-muted);
  font-size: 0.98rem;
  line-height: 1.6;
}
.pm-appointments__booth {
  display: inline-block;
  margin-top: 0.4rem;
  color: rgba(23, 23, 23, 0.65);
  font-size: 0.9rem;
  line-height: 1.5;
}
.pm-appointments__more {
  margin-top: 2rem;
  text-align: center;
}
.pm-appointments__more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.15rem;
  background: var(--pm-appointments-dark);
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.pm-appointments__more a:hover, .pm-appointments__more a:focus {
  background: var(--pm-appointments-red);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
}
.pm-appointments__empty {
  max-width: 720px;
  margin: 0 auto;
  padding: 2rem;
  background: var(--pm-appointments-soft);
  border-left: 5px solid var(--pm-appointments-red);
  color: var(--pm-appointments-muted);
  text-align: center;
  font-size: 1rem;
  line-height: 1.7;
}
.pm-appointments__item--fair {
  border-left-color: var(--pm-appointments-red);
}
.pm-appointments__item--event {
  border-left-color: var(--pm-appointments-dark);
}
.pm-appointment-detail {
  max-width: 860px;
  padding: 3.5rem 0;
  color: #171717;
}
.pm-appointment-detail__back {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1.25rem;
  color: rgba(23, 23, 23, 0.72);
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pm-appointment-detail__back:hover, .pm-appointment-detail__back:focus {
  color: var(--pm-accent);
  text-decoration: none;
}
.pm-appointment-detail h1, .pm-appointment-detail .h1 {
  margin: 0 0 1rem;
  color: #171717;
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.12;
  font-weight: 800;
}
.pm-appointment-detail__meta {
  margin: 1rem 0 2rem;
  padding: 1rem 1.15rem;
  background: #f6f6f7;
  border-left: 5px solid var(--pm-accent);
  color: rgba(23, 23, 23, 0.82);
  font-size: 0.98rem;
  line-height: 1.7;
  font-weight: 600;
}
.pm-appointment-detail__image {
  margin: 1.75rem 0;
  overflow: hidden;
  border: 1px solid rgba(23, 23, 23, 0.12);
  border-radius: 0;
  box-shadow: 0 16px 38px rgba(23, 23, 23, 0.1);
}
.pm-appointment-detail__image img {
  display: block;
  width: 100%;
  height: auto;
}
.pm-appointment-detail__description {
  color: rgba(23, 23, 23, 0.82);
  font-size: 1rem;
  line-height: 1.8;
}
.pm-appointment-detail__description h2, .pm-appointment-detail__description .h2, .pm-appointment-detail__description h3, .pm-appointment-detail__description .h3, .pm-appointment-detail__description h4, .pm-appointment-detail__description .h4 {
  color: #171717;
  font-weight: 800;
}
.pm-appointment-detail__description a {
  color: var(--pm-accent);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pm-appointment-detail__description a:hover, .pm-appointment-detail__description a:focus {
  color: #171717;
}
@media (max-width: 767.98px) {
  .pm-appointments {
    padding: 3rem 0;
  }
  .pm-appointments__intro {
    margin-bottom: 2rem;
  }
  .pm-appointments__item {
    gap: 1rem;
    padding: 1rem;
  }
  .pm-appointments__date {
    min-width: 76px;
    padding-right: 1rem;
  }
  .pm-appointments__date span {
    font-size: 1.45rem;
  }
  .pm-appointments__date small, .pm-appointments__date .small {
    font-size: 0.66rem;
  }
  .pm-appointments__content h3, .pm-appointments__content .h3 {
    font-size: 1rem;
  }
  .pm-appointments__content p {
    font-size: 0.92rem;
  }
}
@media (max-width: 575.98px) {
  .pm-appointments__item {
    flex-direction: column;
    gap: 0.9rem;
  }
  .pm-appointments__date {
    width: 100%;
    min-width: 0;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.65rem;
    padding: 0 0 0.85rem;
    border-right: 0;
    border-bottom: 1px solid var(--pm-appointments-border);
  }
  .pm-appointments__date span {
    font-size: 1.55rem;
  }
  .pm-appointments__date small, .pm-appointments__date .small {
    margin-top: 0;
  }
}
/* =========================================================
   Breadcrumbs
   Dezent, keine Pill-Optik
   Farben: #404753 / #AA2A33
========================================================= */
.cms-breadcrumb {
  margin-bottom: 1.5rem;
  padding-top: 0;
  padding-bottom: 0;
}
.cms-breadcrumb nav {
  display: block;
  padding: 0.85rem 0 0;
  border-bottom: 1px solid rgba(182, 153, 91, 0.14);
}
.cms-breadcrumb .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.cms-breadcrumb .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: rgba(182, 153, 91, 0.14);
  font-size: 0.84rem;
  line-height: 1.4;
  font-weight: 600;
}
.cms-breadcrumb .breadcrumb-item + .breadcrumb-item {
  padding-left: 0;
}
.cms-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  padding: 0 0.55rem;
  color: rgba(182, 153, 91, 0.14);
  font-size: 0.82rem;
  line-height: 1;
  font-weight: 700;
}
.cms-breadcrumb .breadcrumb-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0;
  color: #1A1A18;
  text-decoration: none;
  transition: color 0.18s ease;
}
.cms-breadcrumb .breadcrumb-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.2rem;
  height: 2px;
  background: var(--pm-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.18s ease;
}
.cms-breadcrumb .breadcrumb-link:hover, .cms-breadcrumb .breadcrumb-link:focus {
  color: var(--pm-accent);
  text-decoration: none;
}
.cms-breadcrumb .breadcrumb-link:hover::after, .cms-breadcrumb .breadcrumb-link:focus::after {
  transform: scaleX(1);
}
.cms-breadcrumb .breadcrumb-link.is-active, .cms-breadcrumb .breadcrumb-item[aria-current="page"] .breadcrumb-link {
  color: #1A1A18;
  font-weight: 700;
}
.cms-breadcrumb .breadcrumb-title {
  display: inline-block;
}
/* =========================================================
   Optional: erste Ebene etwas markieren
   Sehr dezent, keine Box/Pill
========================================================= */
.cms-breadcrumb .breadcrumb-item:first-child .breadcrumb-link {
  padding-left: 0.75rem;
}
.cms-breadcrumb .breadcrumb-item:first-child .breadcrumb-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 1rem;
  background: var(--pm-accent);
  transform: translateY(-50%);
}
/* =========================================================
   Mobile
========================================================= */
@media (max-width: 575.98px) {
  .cms-breadcrumb {
    margin-top: 1rem;
    margin-bottom: 1.25rem;
  }
  .cms-breadcrumb nav {
    padding: 0.7rem 0;
  }
  .cms-breadcrumb .breadcrumb-item {
    font-size: 0.78rem;
  }
  .cms-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    padding: 0 0.4rem;
  }
}
/* =========================================================
   CMS Kategorie-Listing
   Kompakte Overlay-Kacheln
   Zweck: Übersicht / Sortierung
   Theme: Gold / Anthrazit
========================================================= */
.cms-element-category-listing {
  --category-listing-dark: #0d0b08;
  --category-listing-anthracite: #404753;
  --category-listing-gold: var(--pm-accent);
  --category-listing-soft: #f6f3ed;
  --category-listing-border: rgba(182, 153, 91, 0.22);
  margin: 1.5rem 0 2rem;
}
.cms-element-category-listing .row {
  row-gap: 1rem;
}
/* =========================================================
   Karte
========================================================= */
.cms-element-category-listing-item, .cms-element-category-listing-category-item {
  height: 100%;
}
.cms-element-category-listing-category-item {
  position: relative;
  min-height: 132px;
  height: 132px;
  background: var(--category-listing-soft);
  border: 1px solid var(--category-listing-border);
  border-left: 4px solid var(--category-listing-gold);
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(13, 11, 8, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.cms-element-category-listing-category-item:hover {
  transform: translateY(-2px);
  border-color: rgba(182, 153, 91, 0.42);
  box-shadow: 0 14px 34px rgba(13, 11, 8, 0.18);
}
/* =========================================================
   Bildbereich
========================================================= */
.cms-element-category-listing-item-image-wrapper {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background: linear-gradient(135deg, rgba(13, 11, 8, 0.12), rgba(182, 153, 91, 0.1)), var(--category-listing-soft);
  overflow: hidden;
}
.cms-element-category-listing-item-image-wrapper img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.88;
  transition: transform 0.3s ease, opacity 0.3s ease, filter 0.3s ease;
}
.cms-element-category-listing-category-item:hover .cms-element-category-listing-item-image-wrapper img {
  transform: scale(1.04);
  opacity: 1;
  filter: saturate(1.05) contrast(1.04);
}
/* =========================================================
   Overlay
========================================================= */
.cms-element-category-listing-category-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13, 11, 8, 0.92) 0%, rgba(64, 71, 83, 0.74) 44%, rgba(13, 11, 8, 0.24) 100%);
  z-index: 1;
  pointer-events: none;
  transition: background 0.25s ease;
}
.cms-element-category-listing-category-item::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--category-listing-gold);
  z-index: 3;
  pointer-events: none;
}
.cms-element-category-listing-category-item:hover::before {
  background: linear-gradient(90deg, rgba(13, 11, 8, 0.96) 0%, rgba(64, 71, 83, 0.78) 44%, rgba(182, 153, 91, 0.28) 100%);
}
/* =========================================================
   Titel als Overlay
========================================================= */
.cms-element-category-listing-item-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 1rem 1.1rem 1rem 1.35rem;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.25;
  font-weight: 800;
}
.cms-element-category-listing-item-title a {
  color: #ffffff;
  text-decoration: none;
}
.cms-element-category-listing-item-title a:hover, .cms-element-category-listing-item-title a:focus {
  color: #f4e5c4;
  text-decoration: none;
}
/* =========================================================
   Placeholder kleiner und ruhiger
========================================================= */
.cms-element-category-listing-item-image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 1rem 1.25rem;
}
.cms-element-category-listing-item-image-placeholder .icon {
  width: 78px;
  height: 54px;
  color: rgba(244, 229, 196, 0.28);
  opacity: 1;
}
.cms-element-category-listing-item-image-placeholder svg {
  display: block;
  width: 78px !important;
  height: auto !important;
  max-height: 54px;
  opacity: 0.42;
}
/* =========================================================
   Stretched Link
========================================================= */
.cms-element-category-listing .stretched-link::after {
  z-index: 4;
}
/* =========================================================
   Optional: wenn Produktbilder freigestellt sind statt Foto-Motive
========================================================= */
/*
.cms-element-category-listing-item-image-wrapper img {
    object-fit: contain;
    padding: 1rem 1.25rem;
    background: #f6f3ed;
}
*/
/* =========================================================
   Mobile
========================================================= */
@media (max-width: 767.98px) {
  .cms-element-category-listing .row {
    row-gap: 0.85rem;
  }
  .cms-element-category-listing-category-item {
    min-height: 112px;
    height: 112px;
  }
  .cms-element-category-listing-item-title {
    padding: 0.85rem 1rem 0.85rem 1.2rem;
    font-size: 0.95rem;
  }
  .cms-element-category-listing-item-image-placeholder {
    padding: 0.85rem 1rem;
  }
  .cms-element-category-listing-item-image-placeholder .icon, .cms-element-category-listing-item-image-placeholder svg {
    width: 62px !important;
    max-height: 44px;
  }
}
@media (max-width: 575.98px) {
  .cms-element-category-listing-category-item {
    min-height: 96px;
    height: 96px;
  }
  .cms-element-category-listing-item-title {
    font-size: 0.9rem;
  }
}
.cms-element-category-listing .pm-category-tile-link {
  display: block;
  color: inherit;
  text-decoration: none;
}
.cms-element-category-listing .cms-element-category-listing-item-title {
  overflow: visible;
  white-space: normal;
}
.cms-element-category-listing .cms-element-category-listing-item-title--overlay {
  color: #fff;
}
/* =========================================================
   Produktdetail Eigenschaften + Produktvideo
   Tabellen links / Video rechts
   Farben: #404753 / #AA2A33
========================================================= */
.product-detail-properties, .acme-product-video-section, .acme-video {
  --product-info-dark: #404753;
  --product-info-red: #AA2A33;
  --product-info-soft: #f6f6f7;
  --product-info-border: rgba(64, 71, 83, 0.12);
  --product-info-muted: rgba(64, 71, 83, 0.72);
}
.product-detail-properties {
  margin: 2rem 0;
}
/* =========================================================
   Layout mit Video neben Eigenschaften
========================================================= */
.product-detail-properties-container {
  row-gap: 1.5rem;
}
/* WICHTIG:
   Diese Regel sorgt dafür, dass Tabelle und Video ab Desktop
   sauber nebeneinander stehen.
*/
@media (min-width: 992px) {
  .product-detail-properties-container.has-acme-video {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .product-detail-properties-container.has-acme-video > * {
    flex: 0 0 auto;
    width: 50%;
    max-width: 50%;
  }
}
/* Wenn KEIN Video vorhanden ist, darf die Tabelle breiter laufen */
.product-detail-properties-container:not(.has-acme-video) > .col-md-10, .product-detail-properties-container:not(.has-acme-video) > .col-lg-6 {
  flex: 0 0 100%;
  width: 100%;
  max-width: 900px;
}
/* Wenn Video vorhanden ist, normale Spaltenlogik sauber halten */
.product-detail-properties-container.has-acme-video > .col-md-10, .product-detail-properties-container.has-acme-video > .col-lg-6 {
  min-width: 0;
}
/* =========================================================
   Eigenschaften-Tabelle
========================================================= */
.product-detail-properties-table {
  width: 100%;
  height: 100%;
  margin: 0;
  background: #ffffff;
  border: 1px solid var(--product-info-border);
  border-left: 5px solid var(--product-info-red);
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 10px 28px rgba(64, 71, 83, 0.07);
  overflow: hidden;
}
/* Bootstrap Stripe neutralisieren */
.product-detail-properties-table.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: transparent;
  background-color: #ffffff;
}
.product-detail-properties-table.table-striped > tbody > tr:nth-of-type(even) > * {
  --bs-table-accent-bg: transparent;
  background-color: var(--product-info-soft);
}
.product-detail-properties-table .properties-row {
  transition: background-color 0.18s ease;
}
.product-detail-properties-table .properties-row:hover > th, .product-detail-properties-table .properties-row:hover > td {
  background-color: rgba(170, 42, 51, 0.045);
}
.product-detail-properties-table th, .product-detail-properties-table td {
  padding: 0.92rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--product-info-border);
  vertical-align: top;
}
.product-detail-properties-table tbody tr:last-child th, .product-detail-properties-table tbody tr:last-child td {
  border-bottom: 0;
}
.product-detail-properties-table .properties-label {
  width: 36%;
  min-width: 155px;
  color: var(--product-info-dark);
  font-size: 0.88rem;
  line-height: 1.5;
  font-weight: 800;
  white-space: normal;
}
.product-detail-properties-table .properties-value {
  color: var(--product-info-muted);
  font-size: 0.92rem;
  line-height: 1.6;
  font-weight: 500;
}
.product-detail-properties-table .properties-value span {
  display: inline-block;
  max-width: 100%;
}
/* =========================================================
   Video-Spalte neben Eigenschaften
========================================================= */
.acme-product-video-col {
  min-width: 0;
}
.acme-product-video-section--beside-properties {
  height: 100%;
  margin: 0;
  padding: 0;
  background: #ffffff;
  border: 1px solid var(--product-info-border);
  border-left: 5px solid var(--product-info-red);
  box-shadow: 0 10px 28px rgba(64, 71, 83, 0.07);
  overflow: hidden;
}
/* Headline als integrierter Kopfbereich, nicht mehr als lose Überschrift */
.acme-product-video-section--beside-properties .acme-product-video-section__headline {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0.95rem 1.1rem;
  background: var(--product-info-dark);
  color: #ffffff;
  font-size: 0.86rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 0;
}
/* Optionales kleines rotes Detail links in der Headline */
.acme-product-video-section--beside-properties .acme-product-video-section__headline::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 1rem;
  margin-right: 0.65rem;
  background: var(--product-info-red);
}
/* =========================================================
   Video-Container
========================================================= */
.acme-product-videos {
  display: grid;
  gap: 1.25rem;
}
.acme-product-videos--single {
  width: 100%;
  max-width: none;
}
.acme-product-video-section--beside-properties .acme-product-videos {
  padding: 0;
}
.acme-video {
  position: relative;
  background: #ffffff;
  border: 0;
  overflow: hidden;
  box-shadow: none;
}
.acme-video--section {
  width: 100%;
}
.acme-video__frame {
  position: relative;
  width: 100%;
  background: var(--product-info-dark);
  overflow: hidden;
}
.acme-video__frame::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
/* =========================================================
   Poster / Trigger
========================================================= */
.acme-video__trigger {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  background: var(--product-info-dark);
  border: 0;
  cursor: pointer;
  overflow: hidden;
}
.acme-video__poster {
  position: absolute;
  inset: 0;
  display: block;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1);
  transition: transform 0.35s ease, opacity 0.35s ease, filter 0.35s ease;
}
.acme-video__trigger::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(64, 71, 83, 0.92) 0%, rgba(64, 71, 83, 0.58) 48%, rgba(64, 71, 83, 0.16) 100%);
  z-index: 1;
  transition: background 0.3s ease;
}
.acme-video__trigger::after {
  content: "Anwendungsvideo ansehen";
  position: absolute;
  left: 1.15rem;
  bottom: 1rem;
  z-index: 3;
  color: #ffffff;
  font-size: 0.88rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.02em;
}
/* =========================================================
   Play Button
========================================================= */
.acme-video__play {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: 62px;
  height: 62px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: var(--product-info-red);
  border: 3px solid rgba(255, 255, 255, 0.42);
  border-radius: 999px;
  transform: translate(-50%, -50%) scale(1);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28), 0 0 0 10px rgba(255, 255, 255, 0.12);
  transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.acme-video__play svg {
  width: 25px;
  height: 25px;
  margin-left: 3px;
}
/* =========================================================
   Hover
========================================================= */
.acme-video:hover .acme-video__poster, .acme-video__trigger:focus .acme-video__poster {
  transform: scale(1.045);
  filter: saturate(1.06) contrast(1.04);
}
.acme-video:hover .acme-video__trigger::before, .acme-video__trigger:focus::before {
  background: linear-gradient(90deg, rgba(64, 71, 83, 0.96) 0%, rgba(64, 71, 83, 0.66) 48%, rgba(170, 42, 51, 0.26) 100%);
}
.acme-video:hover .acme-video__play, .acme-video__trigger:focus .acme-video__play {
  background: var(--product-info-red);
  color: #ffffff;
  transform: translate(-50%, -50%) scale(1.07);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.34), 0 0 0 12px rgba(170, 42, 51, 0.18);
}
/* =========================================================
   YouTube iframe nach Klick
========================================================= */
.acme-video iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}
/* =========================================================
   Datenschutz / Consent Hinweis
========================================================= */
.acme-video__notice {
  margin: 0;
  padding: 0.85rem 1rem;
  background: var(--product-info-soft);
  border-top: 1px solid var(--product-info-border);
  color: var(--product-info-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}
.acme-video__notice:not([hidden]) {
  display: block;
}
/* =========================================================
   Video in Galerie
   kompakter, falls das Plugin dort ebenfalls dieselben Klassen nutzt
========================================================= */
.product-detail-media .acme-video, .gallery-slider .acme-video, .gallery-slider-thumbnails .acme-video {
  box-shadow: none;
  border: 1px solid rgba(64, 71, 83, 0.1);
}
.product-detail-media .acme-video__play, .gallery-slider .acme-video__play {
  width: 58px;
  height: 58px;
}
.gallery-slider-thumbnails .acme-video__play {
  width: 34px;
  height: 34px;
  border-width: 2px;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
}
.gallery-slider-thumbnails .acme-video__play svg {
  width: 15px;
  height: 15px;
}
.gallery-slider-thumbnails .acme-video__trigger::after {
  display: none;
}
/* =========================================================
   Tablet / Mobile
   Untereinander, volle Breite
========================================================= */
@media (max-width: 991.98px) {
  .product-detail-properties-container.has-acme-video > * {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  .acme-product-video-col {
    margin-top: 1.5rem;
  }
  .product-detail-properties-table, .acme-product-video-section--beside-properties {
    height: auto;
  }
}
/* =========================================================
   Mobile Tabellen-Darstellung
========================================================= */
@media (max-width: 767.98px) {
  .product-detail-properties {
    margin: 1.5rem 0;
  }
  .product-detail-properties-table, .product-detail-properties-table tbody, .product-detail-properties-table tr, .product-detail-properties-table th, .product-detail-properties-table td {
    display: block;
    width: 100%;
  }
  .product-detail-properties-table {
    border-left-width: 4px;
  }
  .product-detail-properties-table .properties-row {
    padding: 0;
    border-bottom: 1px solid var(--product-info-border);
  }
  .product-detail-properties-table .properties-row:last-child {
    border-bottom: 0;
  }
  .product-detail-properties-table th, .product-detail-properties-table td {
    border-bottom: 0;
  }
  .product-detail-properties-table .properties-label {
    min-width: 0;
    padding: 0.95rem 1rem 0.25rem;
    color: var(--product-info-red);
    font-size: 0.78rem;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }
  .product-detail-properties-table .properties-value {
    padding: 0 1rem 1rem;
    color: var(--product-info-dark);
    font-size: 0.94rem;
    line-height: 1.65;
  }
  .acme-product-video-section--beside-properties .acme-product-video-section__headline {
    padding: 0.85rem 1rem;
    font-size: 0.78rem;
  }
  .acme-video__play {
    width: 54px;
    height: 54px;
  }
  .acme-video__play svg {
    width: 22px;
    height: 22px;
  }
  .acme-video__trigger::after {
    left: 1rem;
    bottom: 0.9rem;
    font-size: 0.8rem;
  }
}
/* =========================================================
   Plum Product Finder – PMResponsiveTheme
   ---------------------------------------------------------
   Farbwelt analog _pm-tech-specs.scss:
     Gold      var(--pm-accent)   Akzent / Interaktion
     Dunkel    #1A1A18   Flächen / Text
     Muted     #6b6b68   Sekundärtext
     Linie     #e5e3de   Rahmen / Trenner

   Alle Farben laufen über die Custom Properties im ersten
   Block – Anpassungen also nur dort nötig.
   ========================================================= */
.plum-product-finder {
  --pf-gold: var(--pm-accent);
  --pf-gold-dark: #9a7f45;
  --pf-gold-soft: rgba(182, 153, 91, 0.14);
  --pf-gold-line: rgba(182, 153, 91, 0.35);
  --pf-dark: #1A1A18;
  --pf-dark-soft: #2b2b2b;
  --pf-text: #1A1A18;
  --pf-text-muted: #6b6b68;
  --pf-background: #ffffff;
  --pf-background-soft: #faf9f7;
  --pf-border: #e5e3de;
  --pf-border-dark: #cfccc4;
  --pf-radius-small: 8px;
  --pf-radius-medium: 12px;
  --pf-radius-large: 16px;
  position: relative;
  width: 100%;
  color: var(--pf-text);
}
/* =========================================================
   Überschrift
   ========================================================= */
.plum-product-finder__headline {
  margin: 0 0 18px;
  color: var(--pf-text);
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
}
/* =========================================================
   Hauptbereich
   ========================================================= */
.plum-product-finder__body {
  position: relative;
  width: 100%;
}
/* =========================================================
   Fragen
   ========================================================= */
.plum-product-finder__questions {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 28px;
}
/* =========================================================
   Einzelner Fragenblock
   ========================================================= */
.plum-product-finder__question {
  min-width: 0;
  margin: 0;
  padding: 14px 16px 16px;
  border: 1px solid var(--pf-border);
  border-radius: var(--pf-radius-medium);
  background-color: var(--pf-background);
  box-shadow: 0 1px 2px rgba(26, 26, 24, 0.03), 0 5px 18px rgba(26, 26, 24, 0.025);
  animation: plum-product-finder-fade-in 0.24s ease both;
}
.plum-product-finder__question-title {
  float: none;
  width: auto;
  max-width: 100%;
  margin: 0 0 11px;
  padding: 0 5px 0 0;
  color: var(--pf-text);
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
}
/* =========================================================
   Antwort-Raster
   ========================================================= */
.plum-product-finder__answers {
  --bs-gutter-x: 10px;
  --bs-gutter-y: 10px;
  margin-top: 0;
}
.plum-product-finder__answer-col {
  display: flex;
}
/* =========================================================
   Antwort
   ========================================================= */
.plum-product-finder__answer {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid var(--pf-border);
  border-radius: var(--pf-radius-small);
  background-color: var(--pf-background-soft);
  color: var(--pf-text);
  cursor: pointer;
  user-select: none;
  transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
/* =========================================================
   Echtes Radio-/Checkbox-Feld
   Bewusst nicht mit display:none ausblenden
   ========================================================= */
.plum-product-finder__answer-input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 0 10px 0 0;
  border: 1px solid var(--pf-border-dark);
  accent-color: var(--pf-gold);
  cursor: pointer;
}
/* =========================================================
   Antworttext
   ========================================================= */
.plum-product-finder__answer-title {
  display: block;
  color: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.3;
}
/* =========================================================
   Hover
   ========================================================= */
@media (hover: hover) {
  .plum-product-finder__answer:hover {
    border-color: var(--pf-gold);
    background-color: #ffffff;
    box-shadow: 0 4px 12px rgba(26, 26, 24, 0.08);
    transform: translateY(-1px);
  }
}
/* =========================================================
   Aktiver Zustand
   Wird bereits durch JavaScript als .is-active gesetzt
   ========================================================= */
.plum-product-finder__answer.is-active {
  border-color: var(--pf-gold);
  background-color: var(--pf-gold-soft);
  color: var(--pf-text);
  box-shadow: 0 0 0 1px var(--pf-gold-line), 0 4px 12px rgba(182, 153, 91, 0.18);
}
.plum-product-finder__answer.is-active .plum-product-finder__answer-input {
  accent-color: var(--pf-gold);
}
/* =========================================================
   Tastaturfokus
   ========================================================= */
.plum-product-finder__answer-input:focus-visible {
  outline: 3px solid rgba(182, 153, 91, 0.45);
  outline-offset: 2px;
}
/* =========================================================
   Einblendanimation
   ========================================================= */
@keyframes plum-product-finder-fade-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* =========================================================
   Ergebnisse
   ========================================================= */
.plum-product-finder__results {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid var(--pf-border);
}
.plum-product-finder__results-headline {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-bottom: 20px;
  padding: 7px 12px;
  border-radius: 999px;
  background-color: var(--pf-gold-soft);
  color: var(--pf-dark);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
}
/* =========================================================
   Ergebnisgruppen
   ========================================================= */
.plum-product-finder__result-group {
  margin: 0 0 32px;
}
.plum-product-finder__result-group:last-child {
  margin-bottom: 0;
}
.plum-product-finder__result-group-title {
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin: 0 0 16px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--pf-border);
  color: var(--pf-text);
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.3;
}
.plum-product-finder__result-group-count {
  color: var(--pf-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
}
/* =========================================================
   Ergebnis-Unterbereiche
   ========================================================= */
.plum-product-finder__result-area {
  margin-bottom: 26px;
}
.plum-product-finder__result-area:last-child {
  margin-bottom: 0;
}
.plum-product-finder__result-area-title {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 0 0 13px;
  color: var(--pf-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}
.plum-product-finder__result-area-count {
  color: var(--pf-text-muted);
  font-size: 0.75rem;
  font-weight: 600;
}
.plum-product-finder__result-products {
  --bs-gutter-x: 16px;
  --bs-gutter-y: 20px;
}
/* =========================================================
   Ladezustand
   ========================================================= */
.plum-product-finder.is-loading .plum-product-finder__body {
  pointer-events: none;
}
.plum-product-finder.is-loading .plum-product-finder__body::after {
  content: "";
  position: absolute;
  z-index: 20;
  inset: 0;
  border-radius: var(--pf-radius-medium);
  background-color: rgba(255, 255, 255, 0.7);
}
.plum-product-finder.is-loading::after {
  content: "";
  position: absolute;
  top: 120px;
  left: 50%;
  z-index: 21;
  width: 28px;
  height: 28px;
  margin-left: -14px;
  border: 3px solid rgba(182, 153, 91, 0.25);
  border-top-color: var(--pf-gold);
  border-radius: 50%;
  animation: plum-product-finder-loading 0.7s linear infinite;
}
@keyframes plum-product-finder-loading {
  to {
    transform: rotate(360deg);
  }
}
/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 991.98px) {
  .plum-product-finder__questions {
    gap: 12px;
  }
  .plum-product-finder__question {
    padding: 13px 14px 15px;
  }
  .plum-product-finder__answer {
    min-height: 42px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
}
/* =========================================================
   Mobil
   ========================================================= */
@media (max-width: 575.98px) {
  .plum-product-finder__headline {
    margin-bottom: 14px;
    font-size: 1.45rem;
  }
  .plum-product-finder__questions {
    gap: 10px;
    margin-bottom: 22px;
  }
  .plum-product-finder__question {
    padding: 12px;
    border-radius: 10px;
  }
  .plum-product-finder__question-title {
    margin-bottom: 9px;
    font-size: 0.94rem;
  }
  .plum-product-finder__answers {
    --bs-gutter-x: 8px;
    --bs-gutter-y: 8px;
  }
  .plum-product-finder__answer {
    min-height: 40px;
    padding: 7px 9px;
  }
  .plum-product-finder__answer-input {
    width: 16px;
    height: 16px;
    margin-right: 8px;
  }
  .plum-product-finder__answer-title {
    font-size: 0.82rem;
  }
  .plum-product-finder__results {
    margin-top: 22px;
    padding-top: 18px;
  }
  .plum-product-finder__results-headline {
    margin-bottom: 17px;
  }
  .plum-product-finder__result-group-title {
    font-size: 1.15rem;
  }
}
/* =========================================================
   Sehr schmale Geräte
   ========================================================= */
@media (max-width: 390px) {
  .plum-product-finder__answer-col {
    width: 100%;
  }
}
/* =========================================================
   Reduzierte Bewegungen
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .plum-product-finder__question, .plum-product-finder__answer {
    animation: none;
    transition: none;
  }
}
/* =========================================================
   Projektfinder-Balken unterhalb der Navigation
   ---------------------------------------------------------
   Fläche dunkelgrau, Akzente in Gold. Gold als vollflächiger
   Hintergrund wäre mit weißer Schrift zu kontrastarm
   (ca. 2,3:1). Falls der Balken doch golden sein soll:
   background-color unten auf var(--pf-bar-accent) und
   color auf #1A1A18 setzen.
   ========================================================= */
.pm-finder-bar {
  --pf-bar-accent: var(--pm-accent);
  position: relative;
  z-index: 5;
  width: 100%;
  overflow: hidden;
  background-color: #1A1A18;
  color: #ffffff;
}
/* Dezente Hintergrundgestaltung */
.pm-finder-bar::before {
  content: "";
  position: absolute;
  top: -45px;
  right: 8%;
  width: 220px;
  height: 110px;
  border: 1px solid rgba(182, 153, 91, 0.28);
  border-radius: 50%;
  transform: rotate(-12deg);
  pointer-events: none;
}
.pm-finder-bar::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 35%;
  background: linear-gradient(110deg, rgba(182, 153, 91, 0) 0%, rgba(182, 153, 91, 0.12) 100%);
  pointer-events: none;
}
/* =========================================================
   Innerer Bereich
   ========================================================= */
.pm-finder-bar__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  min-height: 50px;
  padding-top: 8px;
  padding-bottom: 8px;
}
/* =========================================================
   Hinweistext
   ========================================================= */
.pm-finder-bar__text {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
}
/* Fragezeichen-Icon */
.pm-finder-bar__text::before {
  content: "?";
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--pf-bar-accent);
  border-radius: 50%;
  color: var(--pf-bar-accent);
  font-size: 0.85rem;
  font-weight: 800;
  line-height: 1;
}
/* =========================================================
   Projektfinder-Link
   Bootstrap-Button vollständig zurücksetzen
   ========================================================= */
.pm-finder-bar__button, .pm-finder-bar__button.btn, .pm-finder-bar__button.btn-primary, .pm-finder-bar__button.btn-sm, .btn-group-sm > .pm-finder-bar__button.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding: 4px 36px 6px 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  color: var(--pf-bar-accent);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.2s ease, opacity 0.2s ease;
}
/* =========================================================
   Linie unter dem Link
   ========================================================= */
.pm-finder-bar__button::before {
  content: "";
  position: absolute;
  right: 36px;
  bottom: 1px;
  left: 0;
  height: 1px;
  background-color: var(--pf-bar-accent);
  transform: scaleX(1);
  transform-origin: left center;
  pointer-events: none;
  transition: transform 0.22s ease, background-color 0.22s ease;
}
/* =========================================================
   Pfeil
   Bleibt innerhalb der reservierten 36-Pixel-Fläche.
   ========================================================= */
.pm-finder-bar__button::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: 8px;
  color: var(--pf-bar-accent);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
  transform: translate3d(0, -52%, 0);
  transition: transform 0.22s ease;
}
/* =========================================================
   Hover
   ========================================================= */
@media (hover: hover) {
  .pm-finder-bar__button:hover, .pm-finder-bar__button.btn:hover, .pm-finder-bar__button.btn-primary:hover, .pm-finder-bar__button.btn-sm:hover, .btn-group-sm > .pm-finder-bar__button.btn:hover {
    border: 0;
    background-color: transparent;
    box-shadow: none;
    color: #ffffff;
    text-decoration: none;
  }
  .pm-finder-bar__button:hover::before {
    background-color: #ffffff;
    transform: scaleX(0.92);
  }
  .pm-finder-bar__button:hover::after {
    color: #ffffff;
    transform: translate3d(5px, -52%, 0);
  }
}
/* =========================================================
   Fokus und aktive Zustände
   ========================================================= */
.pm-finder-bar__button:focus, .pm-finder-bar__button:active, .pm-finder-bar__button:focus-visible, .pm-finder-bar__button.btn:focus, .pm-finder-bar__button.btn:active, .pm-finder-bar__button.btn-primary:focus, .pm-finder-bar__button.btn-primary:active {
  border: 0;
  background-color: transparent;
  box-shadow: none;
  color: #ffffff;
  text-decoration: none;
}
.pm-finder-bar__button:focus-visible {
  outline: 2px solid var(--pf-bar-accent);
  outline-offset: 4px;
}
/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 991.98px) {
  .pm-finder-bar__inner {
    gap: 22px;
  }
}
/* =========================================================
   Mobil
   ========================================================= */
@media (max-width: 767.98px) {
  .pm-finder-bar__inner {
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
  }
  .pm-finder-bar__text {
    gap: 8px;
  }
  .pm-finder-bar__text::before {
    width: 23px;
    height: 23px;
  }
  .pm-finder-bar__button, .pm-finder-bar__button.btn, .pm-finder-bar__button.btn-primary, .pm-finder-bar__button.btn-sm, .btn-group-sm > .pm-finder-bar__button.btn {
    padding-right: 31px;
    font-size: 0.9rem;
  }
  .pm-finder-bar__button::before {
    right: 31px;
  }
  .pm-finder-bar__button::after {
    right: 5px;
    font-size: 1.15rem;
  }
}
/* =========================================================
   Kleine Smartphones
   ========================================================= */
@media (max-width: 575.98px) {
  .pm-finder-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 5px;
    padding-top: 10px;
    padding-bottom: 11px;
  }
  .pm-finder-bar__text {
    width: 100%;
  }
  .pm-finder-bar__button, .pm-finder-bar__button.btn, .pm-finder-bar__button.btn-primary, .pm-finder-bar__button.btn-sm, .btn-group-sm > .pm-finder-bar__button.btn {
    margin-left: 31px;
  }
}
/* =========================================================
   Reduzierte Bewegung
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .pm-finder-bar__button, .pm-finder-bar__button::before, .pm-finder-bar__button::after {
    transition: none;
  }
}
/* =========================================================
   Produktfinder Hero
   ---------------------------------------------------------
   Dunkelgraue Fläche, Gold als Akzent.
   ========================================================= */
.pm-finder-hero {
  --pf-hero-gold: var(--pm-accent);
  --pf-hero-dark: #1A1A18;
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--pf-hero-dark);
  color: #ffffff;
}
/* =========================================================
   Dekorativer Hintergrund
   ========================================================= */
.pm-finder-hero::before {
  content: "";
  position: absolute;
  top: -190px;
  right: -110px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(182, 153, 91, 0.16);
  border-radius: 50%;
  pointer-events: none;
}
.pm-finder-hero::after {
  content: "";
  position: absolute;
  right: 13%;
  bottom: -240px;
  width: 470px;
  height: 470px;
  border: 80px solid rgba(182, 153, 91, 0.12);
  border-radius: 50%;
  pointer-events: none;
}
/* =========================================================
   Innerer Bereich
   ========================================================= */
.pm-finder-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
  align-items: center;
  gap: 70px;
  min-height: 480px;
  padding-top: 70px;
  padding-bottom: 70px;
}
/* =========================================================
   Inhalt
   ========================================================= */
.pm-finder-hero__content {
  position: relative;
  z-index: 3;
  max-width: 680px;
}
/* =========================================================
   Kleine Überschrift
   ========================================================= */
.pm-finder-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--pf-hero-gold);
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pm-finder-hero__eyebrow::before {
  content: "";
  width: 34px;
  height: 2px;
  background-color: var(--pf-hero-gold);
}
/* =========================================================
   Hauptüberschrift
   ========================================================= */
.pm-finder-hero__title {
  max-width: 660px;
  margin: 0 0 22px;
  color: #ffffff;
  font-size: clamp(2.2rem, 4.2vw, 4rem);
  font-weight: 750;
  line-height: 1.04;
  letter-spacing: -0.035em;
}
/* =========================================================
   Beschreibung
   ========================================================= */
.pm-finder-hero__text {
  max-width: 620px;
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.65;
}
/* =========================================================
   Vorteile
   ========================================================= */
.pm-finder-hero__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-bottom: 30px;
}
.pm-finder-hero__benefit {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 20px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.91rem;
  font-weight: 600;
  line-height: 1.35;
}
.pm-finder-hero__benefit::before {
  content: "";
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  border: 2px solid var(--pf-hero-gold);
  border-radius: 50%;
}
/* =========================================================
   Link
   ========================================================= */
.pm-finder-hero__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 52px 0 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}
.pm-finder-hero__link::before {
  content: "";
  position: absolute;
  right: 52px;
  bottom: 6px;
  left: 0;
  height: 2px;
  background-color: var(--pf-hero-gold);
  transform-origin: left center;
  transition: transform 0.22s ease;
}
.pm-finder-hero__link::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  color: #ffffff;
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
  transform: translateY(-50%);
  transition: right 0.22s ease, border-color 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}
@media (hover: hover) {
  .pm-finder-hero__link:hover {
    color: #ffffff;
    text-decoration: none;
  }
  .pm-finder-hero__link:hover::before {
    transform: scaleX(0.9);
  }
  .pm-finder-hero__link:hover::after {
    right: 4px;
    border-color: var(--pf-hero-gold);
    background-color: var(--pf-hero-gold);
    color: var(--pf-hero-dark);
  }
}
.pm-finder-hero__link:focus-visible {
  outline: 2px solid var(--pf-hero-gold);
  outline-offset: 5px;
}
/* =========================================================
   Rechte Visualisierung
   ========================================================= */
.pm-finder-hero__visual {
  position: relative;
  width: 100%;
  min-height: 340px;
}
/* =========================================================
   Hintergrundschein
   ========================================================= */
.pm-finder-hero__visual-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background-color: rgba(182, 153, 91, 0.3);
  filter: blur(70px);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
/* =========================================================
   Karten allgemein
   ========================================================= */
.pm-finder-hero__visual-card {
  position: absolute;
  display: flex;
  color: var(--pf-hero-dark);
  background-color: #ffffff;
  box-shadow: 0 24px 60px rgba(26, 26, 24, 0.28);
}
/* =========================================================
   Hauptkarte
   ========================================================= */
.pm-finder-hero__visual-card--main {
  top: 18px;
  right: 20px;
  left: 20px;
  z-index: 4;
  flex-direction: column;
  min-height: 265px;
  padding: 28px;
  border-radius: 18px;
}
.pm-finder-hero__visual-card--main::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 5px;
  border-radius: 18px 0 0 18px;
  background-color: var(--pf-hero-gold);
}
/* =========================================================
   Visualisierungs-Überschriften
   ========================================================= */
.pm-finder-hero__visual-label {
  margin-bottom: 8px;
  color: #9a7f45;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pm-finder-hero__visual-title {
  display: block;
  margin-bottom: 22px;
  color: var(--pf-hero-dark);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.35;
}
/* =========================================================
   Auswahloptionen
   ========================================================= */
.pm-finder-hero__visual-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pm-finder-hero__visual-option {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 12px 9px 40px;
  border: 1px solid #e5e3de;
  border-radius: 8px;
  background-color: #faf9f7;
  color: #6b6b68;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.3;
}
.pm-finder-hero__visual-option::before {
  content: "";
  position: absolute;
  left: 13px;
  width: 15px;
  height: 15px;
  border: 1px solid #cfccc4;
  border-radius: 50%;
  background-color: #ffffff;
}
.pm-finder-hero__visual-option.is-active {
  border-color: var(--pf-hero-gold);
  background-color: rgba(182, 153, 91, 0.14);
  color: var(--pf-hero-dark);
}
.pm-finder-hero__visual-option.is-active::before {
  border: 4px solid var(--pf-hero-gold);
}
/* =========================================================
   Kleine Karten
   ========================================================= */
.pm-finder-hero__visual-card--tool, .pm-finder-hero__visual-card--material {
  z-index: 6;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 10px 16px;
  border-radius: 10px;
  color: var(--pf-hero-dark);
  font-size: 0.84rem;
  font-weight: 700;
}
.pm-finder-hero__visual-card--tool {
  top: 0;
  left: -8px;
}
.pm-finder-hero__visual-card--material {
  top: 82px;
  right: -14px;
}
.pm-finder-hero__visual-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 7px;
  background-color: rgba(182, 153, 91, 0.16);
  color: #9a7f45;
  font-size: 0.85rem;
}
/* =========================================================
   Ergebnis-Karte
   ========================================================= */
.pm-finder-hero__visual-card--result {
  right: 48px;
  bottom: 0;
  z-index: 7;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 17px;
  border-radius: 11px;
  color: var(--pf-hero-dark);
  font-size: 0.82rem;
  font-weight: 700;
}
.pm-finder-hero__visual-result-icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: var(--pf-hero-dark);
  color: var(--pf-hero-gold);
  font-size: 0.75rem;
}
/* =========================================================
   Tablet
   ========================================================= */
@media (max-width: 1199.98px) {
  .pm-finder-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.85fr);
    gap: 45px;
  }
  .pm-finder-hero__title {
    font-size: clamp(2.1rem, 4vw, 3.3rem);
  }
}
/* =========================================================
   Kleine Tablets
   ========================================================= */
@media (max-width: 991.98px) {
  .pm-finder-hero__inner {
    grid-template-columns: 1fr;
    gap: 45px;
    min-height: auto;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .pm-finder-hero__content {
    max-width: 720px;
  }
  .pm-finder-hero__visual {
    width: min(100%, 560px);
    min-height: 350px;
    margin-right: auto;
    margin-left: auto;
  }
}
/* =========================================================
   Mobil
   ========================================================= */
@media (max-width: 767.98px) {
  .pm-finder-hero__inner {
    gap: 36px;
    padding-top: 46px;
    padding-bottom: 46px;
  }
  .pm-finder-hero__eyebrow {
    margin-bottom: 14px;
    font-size: 0.76rem;
  }
  .pm-finder-hero__title {
    margin-bottom: 17px;
    font-size: clamp(2rem, 9vw, 2.8rem);
  }
  .pm-finder-hero__text {
    margin-bottom: 22px;
    font-size: 1rem;
  }
  .pm-finder-hero__benefits {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 24px;
  }
  .pm-finder-hero__visual {
    min-height: 320px;
  }
  .pm-finder-hero__visual-card--main {
    right: 8px;
    left: 8px;
    padding: 24px 20px;
  }
  .pm-finder-hero__visual-card--tool {
    left: 0;
  }
  .pm-finder-hero__visual-card--material {
    right: 0;
  }
  .pm-finder-hero__visual-card--result {
    right: 24px;
  }
}
/* =========================================================
   Kleine Smartphones
   ========================================================= */
@media (max-width: 575.98px) {
  .pm-finder-hero__inner {
    padding-top: 38px;
    padding-bottom: 38px;
  }
  .pm-finder-hero__visual {
    min-height: 305px;
  }
  .pm-finder-hero__visual-card--main {
    top: 20px;
    min-height: 245px;
    padding: 22px 17px;
  }
  .pm-finder-hero__visual-title {
    margin-bottom: 16px;
    font-size: 1rem;
  }
  .pm-finder-hero__visual-option {
    min-height: 38px;
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 0.76rem;
  }
  .pm-finder-hero__visual-card--tool, .pm-finder-hero__visual-card--material {
    min-height: 42px;
    padding: 8px 11px;
    font-size: 0.74rem;
  }
  .pm-finder-hero__visual-card--material {
    top: 76px;
  }
  .pm-finder-hero__visual-card--result {
    right: 14px;
    bottom: 0;
    min-height: 46px;
    padding: 8px 12px;
    font-size: 0.72rem;
  }
  .pm-finder-hero__visual-result-icon {
    width: 26px;
    height: 26px;
  }
}
/* =========================================================
   Sehr schmale Smartphones
   ========================================================= */
@media (max-width: 390px) {
  .pm-finder-hero__visual-card--tool, .pm-finder-hero__visual-card--material {
    display: none;
  }
  .pm-finder-hero__visual-card--main {
    right: 0;
    left: 0;
  }
  .pm-finder-hero__visual-card--result {
    right: 8px;
  }
}
/* =========================================================
   Reduzierte Bewegung
   ========================================================= */
@media (prefers-reduced-motion: reduce) {
  .pm-finder-hero__link, .pm-finder-hero__link::before, .pm-finder-hero__link::after {
    transition: none;
  }
}
/* =========================================================
   SHOP-SPEZIFISCH – aus dem alten Theme uebernommen.
   Bewusst ZULETZT importiert, damit diese Regeln die
   generischen Theme-Regeln ueberschreiben.
   ========================================================= */
/* =========================================================
     Farben (Shop-Hauptfarben)
     - Primär:  #00689C
     - Sekundär:#B1B2B2
     ========================================================= */
:root {
  --dl-primary: #00689C;
  --dl-gray:    #B1B2B2;
  --dl-dark:    #073a55;
  /* dunkler Ton abgeleitet */
  --dl-radius:  16px;
  --dl-gap:     16px;
}
/* HAUPTGRID: 4 Spalten, 3 Reihen (links: 2 hohe + unten Support) */
.dl-tiles-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--dl-gap);
  /* Höhe kannst du natürlich anpassen */
  grid-template-rows: 180px 180px 120px;
  /* Rechte Seite ist ein Wrapper, der über alle 3 Reihen geht */
  grid-template-areas: "tile1 tile2 right right" "tile1 tile2 right right" "support support right right";
}
/* Zuweisung der Areas */
.dl-tile--tile1 {
  grid-area: tile1;
}
.dl-tile--tile2 {
  grid-area: tile2;
}
.dl-tile--support {
  grid-area: support;
}
.dl-right-stack {
  grid-area: right;
}
/* RECHTS: 2 Reihen im Wrapper -> tile3 + tile4 = exakt Gesamt-Höhe links */
.dl-right-stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  /* beide gleich hoch */
  gap: var(--dl-gap);
  min-height: 100%;
}
/* Grundkachel */
.dl-tile {
  position: relative;
  border-radius: var(--dl-radius);
  overflow: hidden;
  text-decoration: none;
  outline: none;
  min-height: 100%;
}
/* Fokus sichtbar (Barrierefreiheit) */
.dl-tile:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 104, 156, 0.35);
}
/* Hintergrundbild (kommt über CSS Variable --bg) */
.dl-tile__bg {
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  transition: transform 0.25s ease;
}
/* Verlauf für Lesbarkeit des Labels */
.dl-tile__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.3) 100%);
}
/* Hover nur auf Link-Kacheln */
a.dl-tile:hover .dl-tile__bg {
  transform: scale(1.06);
}
/* Label-Balken unten */
.dl-tile__label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--dl-primary);
  color: #fff;
  padding: 12px 14px;
  font-weight: 700;
  letter-spacing: 0.2px;
  display: flex;
  align-items: center;
}
/* Support/Service: kein Bild, dunkler Hintergrund */
.dl-tile--support {
  background: var(--dl-dark);
  color: #fff;
  display: flex;
  align-items: center;
  padding: 16px 18px;
}
.dl-support__inner {
  width: 100%;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
}
.dl-support__eyebrow {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 4px;
}
.dl-support__headline {
  font-size: 18px;
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 6px;
}
.dl-support__subline {
  font-size: 14px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.85);
  max-width: 58ch;
}
.dl-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--dl-primary);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  border: 2px solid rgba(255, 255, 255, 0.35);
  transition: transform 0.15s ease, opacity 0.15s ease;
}
.dl-btn:hover {
  transform: translateY(-1px);
  opacity: 0.95;
}
/* =========================================================
     Responsive
     ========================================================= */
/* Tablet: alles untereinander/logisch stapeln */
@media (max-width: 991.98px) {
  .dl-tiles-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 220px 220px auto auto;
    grid-template-areas: "tile1 tile2" "tile1 tile2" "right right" "support support";
  }
  .dl-right-stack {
    grid-template-rows: 220px 220px;
    /* zwei Kacheln untereinander */
  }
  .dl-support__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .dl-support__subline {
    max-width: 100%;
  }
}
/* Mobile: 1 Spalte */
@media (max-width: 575.98px) {
  .dl-tiles-grid {
    grid-template-columns: 1fr;
    grid-template-rows: 220px 220px 200px 200px auto;
    grid-template-areas: "tile1" "tile2" "right" "support" "support";
  }
  .dl-right-stack {
    grid-template-rows: 200px 200px;
  }
}
/* pmtheme/footer-5spalten entfaellt bewusst: die Datei war ein reiner
   aelterer Teil-Stand von pmtheme/footer (kein einziger exklusiver
   Selektor) und hat u. a. .footer-collapse.is-collapsed{max-height:0}
   auf dem Desktop wieder aktiviert -> Linklisten mit Hoehe 0. */
/* ============================================================
   PRODUCT HIGHLIGHTS
   ============================================================ */
.product--properties-wrapper {
  background: #f8f9fa;
  border-radius: 0.5rem;
  padding: 2rem 1.5rem;
  margin-top: 2rem;
  color: #333333;
}
.product--properties-wrapper .product--properties-heading {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #00689C;
}
.product--properties-wrapper .product--properties-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
}
.product--properties-wrapper .product--properties-content .column .product--properties-label {
  font-weight: 600;
  margin-top: 1rem;
  color: #333333;
}
.product--properties-wrapper .product--properties-content .column h5, .product--properties-wrapper .product--properties-content .column .h5 {
  margin-bottom: 0;
  color: #333333;
}
.product--properties-wrapper .product--properties-content .column ul {
  padding-left: 1rem;
}
.product--properties-wrapper .product--properties-content .column .product--properties-value {
  margin-bottom: 0.5rem;
}
.product--properties-wrapper .product--properties-content .column.downloads ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.product--properties-wrapper .product--properties-content .column.downloads ul li {
  margin-bottom: 0.25rem;
}
.product--properties-wrapper .product--properties-content .column.downloads ul a {
  text-decoration: none;
  color: #00689C;
  transition: color 0.2s ease;
}
.product--properties-wrapper .product--properties-content .column.downloads ul a:hover, .product--properties-wrapper .product--properties-content .column.downloads ul a:focus {
  color: #474747;
  text-decoration: underline;
}
:root {
  /* Firmenfarben */
  --brand-primary: #00689C;
  /* Blau */
  --brand-secondary: #BABCBB;
  /* Grau */
  /* Neutrals / UI */
  --ui-text: #111111;
  --ui-muted: rgba(0,0,0,.65);
  --ui-border: rgba(0,0,0,.10);
  --ui-shadow: 0 10px 28px rgba(0,0,0,.06);
  /* Abgeleitete Flächen */
  --brand-primary-soft: rgba(0, 104, 156, .10);
  /* Blau sehr hell */
  --brand-secondary-soft: rgba(186, 188, 187, .25);
  /* Grau hell */
}
/* ===========================
     Support – Base / Layout
     =========================== */
.support-map-section {
  padding: 1.5rem 0 0.75rem;
}
.support-map-wrap {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  position: relative;
}
.support-map-wrap::before {
  content: "";
  display: block;
  padding-bottom: 40%;
}
.support-map-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
/* ===========================
   Support Navigation Cards
   =========================== */
.support-nav-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  /* mehr Abstand zwischen den Cards */
}
/* Card */
.support-nav-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 28px 26px;
  /* vorher ca 14px → jetzt deutlich luftiger */
  min-height: 170px;
  /* sorgt für gleiche Höhe */
  border-radius: 18px;
  border: 1px solid var(--ui-border);
  box-shadow: var(--ui-shadow);
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
/* Hover */
.support-nav-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}
/* Icon */
.support-nav-icon {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: var(--brand-primary-soft);
  color: var(--brand-primary);
  font-size: 1.4rem;
  /* FontAwesome Icon größer */
  margin-bottom: 14px;
}
/* Titel */
.support-nav-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 6px 0;
  color: var(--ui-text);
}
/* Beschreibung */
.support-nav-text {
  margin: 0;
  color: rgba(0, 0, 0, 0.68);
  font-size: 0.95rem;
  line-height: 1.4;
}
/* Pfeil */
.support-nav-arrow {
  margin-top: auto;
  /* sorgt dafür dass der Pfeil unten sitzt */
  margin-left: auto;
  color: var(--brand-primary);
  font-size: 0.9rem;
}
.support-nav-card:hover {
  border-color: rgba(0, 104, 156, 0.35);
}
/* Tablet */
@media (max-width: 1100px) {
  .support-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Mobile */
@media (max-width: 600px) {
  .support-nav-grid {
    grid-template-columns: 1fr;
  }
  .support-nav-card {
    min-height: auto;
    padding: 22px 20px;
  }
}
/* ===========================
     Kontaktblock (dein Stil + kleine Ergänzungen)
     =========================== */
.contact-locations-section {
  padding: 2.5rem 0;
}
.contact-locations-heading {
  text-align: center;
  font-size: 2rem;
  color: #333;
  margin-bottom: 2rem;
}
.location-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
  border-radius: 0.75rem;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.location-map {
  flex: 70%;
  position: relative;
}
.location-map::before {
  content: "";
  display: block;
  padding-bottom: 50%;
}
.location-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.location-info {
  flex: 30%;
  background: var(--brand-primary);
  color: #fff;
  padding: 1.5rem;
}
.location-title {
  font-size: 1.7rem;
  margin-bottom: 0.75rem;
  color: var(--brand-secondary);
}
.location-line {
  border: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(186, 188, 187, 0.1), var(--brand-secondary), rgba(186, 188, 187, 0.1));
  max-width: 260px;
  margin: 0.75rem 0 1.1rem 0;
  border-radius: 999px;
}
.location-address {
  margin-bottom: 1.2rem;
  line-height: 1.4;
}
.location-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.location-contact-list li {
  margin-bottom: 0.45rem;
  display: flex;
  gap: 0.5rem;
  align-items: baseline;
}
.location-contact-list i {
  color: rgba(255, 255, 255, 0.85);
  width: 18px;
  text-align: center;
}
.location-info a {
  color: var(--brand-secondary);
  text-decoration: none;
}
.location-info a:hover {
  text-decoration: underline;
}
.location-note {
  margin-top: 1.1rem;
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.95rem;
}
@media (min-width: 992px) {
  .location-row {
    flex-direction: row;
  }
  .location-map::before {
    padding-bottom: 40%;
  }
  .location-info {
    padding: 1.25rem 1.5rem;
  }
}
/* ===========================
     Formularbereich
     =========================== */
.contact-form-section {
  padding: 2.5rem 0 2rem;
}
.contact-form-heading {
  text-align: center;
  font-size: 2rem;
  color: var(--fw-dark);
  margin-bottom: 1.5rem;
}
.contact-form-wrapper {
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  background: #fff;
  padding: 1.25rem 1.5rem;
}
.support-placeholder {
  border: 1px dashed rgba(0, 0, 0, 0.25);
  border-radius: 12px;
  padding: 1rem;
  color: rgba(0, 0, 0, 0.75);
  background: rgba(0, 0, 0, 0.02);
}
/* ===========================
   Fernwartung / Support Bereich
   =========================== */
.support-remote-section {
  padding: 4rem 0;
  /* vorher ca 2.5rem */
}
/* Abstand unter Überschrift */
.support-head {
  margin-bottom: 2rem;
}
/* Abstand zwischen Beschreibung und Downloads */
.support-subheadline {
  margin: 2rem 0 1.2rem 0;
  font-size: 1.15rem;
}
/* ===========================
   Download Grid
   =========================== */
.support-download-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  /* vorher 14px */
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}
/* Download Card größer und luftiger */
.support-download-card {
  padding: 20px 20px;
  /* vorher ca 14px */
  border-radius: 16px;
  border: 1px solid var(--ui-border);
  box-shadow: var(--ui-shadow);
  background: #fff;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-height: 110px;
  /* sorgt für ruhige Höhe */
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.support-download-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}
/* Icon größer */
.support-download-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--brand-primary-soft);
  color: var(--brand-primary);
  flex: 0 0 52px;
  font-size: 1.3rem;
}
/* Titel */
.support-download-title {
  font-size: 1.05rem;
  font-weight: 700;
}
/* Beschreibung */
.support-download-text {
  margin-top: 4px;
  font-size: 0.95rem;
  color: rgba(0, 0, 0, 0.65);
}
/* Download Cards – keine Unterstreichung */
.support-download-card, .support-download-card:hover, .support-download-card:focus, .support-download-card:active {
  text-decoration: none;
}
/* sicherstellen dass auch innere Elemente nicht unterstrichen werden */
.support-download-card * {
  text-decoration: none !important;
}
/* Download Button rechts */
.support-download-chip {
  margin-left: auto;
  align-self: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--brand-secondary-soft);
  color: rgba(0, 0, 0, 0.7);
  font-size: 0.85rem;
}
.support-download-card:hover {
  border-color: rgba(0, 104, 156, 0.35);
}
/* ===========================
   Schritte (Fernwartung Ablauf)
   =========================== */
.support-steps {
  margin-top: 1.8rem;
  margin-bottom: 2.5rem;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.support-step {
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(186, 188, 187, 0.18);
  border: 1px solid rgba(186, 188, 187, 0.35);
  color: rgba(0, 0, 0, 0.75);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
}
/* Wenn in den Steps Icons/Nummern drin sind */
.support-step i {
  color: var(--brand-primary);
}
/* ===========================
   Kostenblock Abstand
   =========================== */
.support-price-box {
  margin-top: 2rem;
  /* vorher kleiner */
}
/* ===========================
     Kostenblock (dein Block, angepasst auf FA)
     =========================== */
.support-price-box {
  margin-top: 18px;
}
.support-price-box__inner {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.support-price-box__header {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 16px 12px;
  background: linear-gradient(180deg, rgba(0, 104, 156, 0.08), rgba(0, 0, 0, 0));
}
.support-price-box__icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--brand-primary-soft);
  color: var(--brand-primary);
  flex: 0 0 44px;
  font-size: 1.1rem;
}
.support-price-box__title {
  margin: 0;
  font-size: 1.05rem;
  color: #111;
}
.support-price-box__subtitle {
  margin: 0.35rem 0 0;
  color: rgba(0, 0, 0, 0.65);
  font-size: 0.95rem;
}
.support-price-box__content {
  padding: 12px 16px 16px;
}
.support-price-box__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 14px;
  border-radius: 12px;
  background: rgba(186, 188, 187, 0.16);
}
.support-price-box__label {
  font-size: 1rem;
  color: #111;
}
.support-price-box__hint {
  display: inline-block;
  margin-top: 4px;
  font-size: 0.92rem;
  color: rgba(0, 0, 0, 0.65);
}
.support-price-box__price {
  text-align: right;
  white-space: nowrap;
}
.support-price-box__amount {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--ui-text);
}
.support-price-box__star {
  font-weight: 800;
  margin-left: 4px;
  color: rgba(0, 0, 0, 0.7);
}
.support-price-box__footnote {
  margin-top: 12px;
  font-size: 0.92rem;
  color: rgba(0, 0, 0, 0.65);
}
@media (max-width: 520px) {
  .support-price-box__row {
    flex-direction: column;
    align-items: flex-start;
  }
  .support-price-box__price {
    text-align: left;
  }
}
/* ===========================
     FAQ Accordion (2 Spalten)
     =========================== */
.support-faq-section {
  padding: 2.5rem 0 3rem;
}
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.faq-item {
  border: 1px solid var(--ui-border);
  box-shadow: var(--ui-shadow);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.faq-question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 14px;
  border: 0;
  background: transparent;
  text-align: left;
  font-weight: 700;
  color: var(--ui-text);
  cursor: pointer;
}
.faq-question i {
  transition: transform 0.15s ease;
  color: var(--brand-primary);
}
.faq-question.is-open i {
  transform: rotate(180deg);
}
.faq-answer {
  padding: 0 14px 14px 14px;
  color: rgba(0, 0, 0, 0.72);
  line-height: 1.45;
}
/* optional: Hover-Akzent */
.faq-item:hover {
  border-color: rgba(0, 104, 156, 0.35);
}
@media (max-width: 900px) {
  .faq-grid {
    grid-template-columns: 1fr;
  }
}
/* Abstand zwischen den FAQ-Accordions */
.faq-item {
  margin-bottom: 16px;
}
/* letzter Eintrag in jeder Spalte ohne extra Abstand */
.faq-col .faq-item:last-child {
  margin-bottom: 0;
}
/* Smooth scroll bei Sprungmarken */
html {
  scroll-behavior: smooth;
}
/* ==================================================
     Full-Bleed Map (100vw, auch wenn im Container)
     ================================================== */
.support-map-full {
  /* Full-Bleed Trick: Element geht über Container hinaus */
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  /* Optional: Abstand nach unten zur Navigation */
  margin-top: 0;
  margin-bottom: 1.25rem;
}
.support-map-full__inner {
  position: relative;
  overflow: hidden;
  /* Optik */
  border-radius: 0;
  /* volle Breite wirkt meist cleaner ohne Rundungen */
  border: 0;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}
/* Höhe per Aspect-Ratio-Trick */
.support-map-full__inner::before {
  content: "";
  display: block;
  padding-bottom: 36%;
  /* Desktop: eher „hero-like“ */
}
.support-map-full__inner iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
/* Mobile: etwas höher, damit man die Karte besser nutzen kann */
@media (max-width: 768px) {
  .support-map-full__inner::before {
    padding-bottom: 70%;
  }
}
/* Große Screens: noch etwas flacher für eleganten Look */
@media (min-width: 1400px) {
  .support-map-full__inner::before {
    padding-bottom: 28%;
  }
}
/* ===========================
   Überschriften & Untertitel zentrieren
   =========================== */
.support-head {
  text-align: center;
}
.support-title {
  text-align: center;
}
.support-subtitle {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
  /* verhindert zu breite Textzeilen */
}
/* zusätzliche Überschriften */
.contact-form-heading, .contact-locations-heading {
  text-align: center;
}
/* ============================================
   CHITUBOX – Styles (ohne Wrapper)
   Farben: #00689C (Primary) | #BABCBB (Grey)
   ============================================ */
:root {
  --chitu-primary: #00689C;
  --chitu-grey: #BABCBB;
  --chitu-soft: rgba(0, 104, 156, 0.08);
  --chitu-border: rgba(0,0,0,.10);
  --chitu-shadow: 0 12px 28px rgba(0,0,0,.08);
  --chitu-radius: 18px;
}
/* Anchor offset: damit Sprungziele nicht unter Header verschwinden */
.chitu-anchor {
  scroll-margin-top: 110px;
}
/* ===========================
   CHITUBOX HERO (fix: Overlay hinter Text)
   =========================== */
.chitu-hero {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 450px;
  /* Vorgabe */
  display: grid;
  align-items: end;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}
/* Hintergrundbild */
.chitu-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--chitu-hero-bg, #111) center/cover no-repeat;
  transform: scale(1.02);
  z-index: 0;
  /* ganz hinten */
}
/* Overlay */
.chitu-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.7) 85%);
  /* kräftiges Overlay + leichter Verlauf für bessere Lesbarkeit */
  z-index: 1;
  /* über Bild, aber unter Text */
}
/* Inhalt */
.chitu-hero__inner {
  position: relative;
  z-index: 2;
  /* über Overlay */
  color: #fff;
  padding: 56px 42px;
  /* mehr „im Bild“ */
  max-width: 820px;
  /* Textblock nicht zu breit */
}
/* H1 explizit weiß */
.chitu-hero__inner h1, .chitu-hero__inner .h1 {
  margin: 0;
  color: #fff;
  /* wichtig */
  font-weight: 900;
  letter-spacing: 0.2px;
  font-size: clamp(1.8rem, 2.6vw, 2.6rem);
  line-height: 1.1;
}
.chitu-hero__inner p {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.45;
  max-width: 60ch;
}
/* Optional: kleiner „Kicker“ */
.chitu-hero__kicker {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.95);
  font-weight: 700;
  font-size: 0.85rem;
}
/* Mobile: kompakter */
@media (max-width: 767.98px) {
  .chitu-hero {
    min-height: 450px;
    /* bleibt */
    align-items: end;
  }
  .chitu-hero__inner {
    padding: 34px 20px;
    max-width: 100%;
  }
}
/* ===========================
   Chitubox Navigation Cards
   (Layout wie Support)
   =========================== */
/* Grid */
.chitu-nav-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  /* 3 Karten */
  gap: 18px;
}
/* Card */
.chitu-nav-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 28px 26px;
  min-height: 170px;
  border-radius: 18px;
  border: 1px solid var(--ui-border, rgba(0, 0, 0, 0.1));
  box-shadow: var(--ui-shadow, 0 10px 28px rgba(0, 0, 0, 0.06));
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
/* Hover */
.chitu-nav-card:hover, .chitu-nav-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  border-color: rgba(0, 104, 156, 0.35);
  outline: none;
}
/* Icon */
.chitu-nav-icon {
  width: 58px;
  height: 58px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  /* Fallbacks auf deine Firmenfarben */
  background: var(--brand-primary-soft, rgba(0, 104, 156, 0.1));
  color: var(--brand-primary, #00689C);
  font-size: 1.4rem;
  margin-bottom: 14px;
}
/* Titel */
.chitu-nav-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 6px 0;
  color: var(--ui-text, #111);
}
/* Beschreibung */
.chitu-nav-text {
  margin: 0;
  color: rgba(0, 0, 0, 0.68);
  font-size: 0.95rem;
  line-height: 1.4;
}
/* Pfeil */
.chitu-nav-arrow {
  margin-top: auto;
  margin-left: auto;
  color: var(--brand-primary, #00689C);
  font-size: 0.9rem;
}
/* Tablet */
@media (max-width: 1100px) {
  .chitu-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* Mobile */
@media (max-width: 600px) {
  .chitu-nav-grid {
    grid-template-columns: 1fr;
  }
  .chitu-nav-card {
    min-height: auto;
    padding: 22px 20px;
  }
}
/* ----------------------------
   SECTION BOX
   ---------------------------- */
.chitu-section {
  padding: 18px 18px;
  border-radius: var(--chitu-radius);
  border: 1px solid var(--chitu-border);
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
}
.chitu-section h2, .chitu-section .h2 {
  margin: 0 0 10px;
  font-weight: 900;
  color: #111;
  font-size: 1.35rem;
}
.chitu-muted {
  color: rgba(0, 0, 0, 0.7);
}
/* ----------------------------
   DOWNLOAD BUTTON
   ---------------------------- */
.chitu-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  background: var(--chitu-primary);
  color: #fff !important;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 12px 26px rgba(0, 104, 156, 0.25);
}
.chitu-btn:hover, .chitu-btn:focus-visible {
  filter: brightness(1.02);
  transform: translateY(-1px);
  outline: none;
}
.chitu-btn small, .chitu-btn .small {
  font-weight: 600;
  opacity: 0.92;
}
/* =========================================================
   CHITUBOX Infos – Mosaik + Info Panel
   ========================================================= */
.chitu-anchor {
  scroll-margin-top: 110px;
}
/* Links: Mosaik */
.chitu-mosaic-wrap {
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  background: #fff;
}
.chitu-mosaic-grid {
  height: 100%;
  display: grid;
  gap: 12px;
  padding: 12px;
  /* 4 Spalten wie bei dir – flexibel */
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  /* gleiche Höhe wie rechter Block */
}
.chitu-mosaic-item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  display: block;
  outline: none;
  background: #f4f4f4;
}
.chitu-mosaic-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.chitu-mosaic-item:hover img, .chitu-mosaic-item:focus-visible img {
  transform: scale(1.03);
}
/* Keyvisual: über volle Breite (oben) */
.chitu-mosaic-wide {
  grid-column: span 2;
}
/* Rechts: Panel */
.chitu-info-panel {
  border-radius: 18px;
  padding: 26px;
  height: 100%;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  background: #fff;
}
.chitu-info-sub {
  color: rgba(0, 0, 0, 0.7);
  line-height: 1.45;
  margin-bottom: 18px;
}
/* Ruhige Liste */
.chitu-teaser-list {
  display: grid;
  gap: 18px;
  /* etwas kompakter als 30px */
  margin-top: 10px;
}
.chitu-teaser-item {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: start;
}
/* Icon-Kreis */
.chitu-teaser-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(0, 104, 156, 0.1);
  color: #00689C;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 18px;
  margin-top: 2px;
}
.chitu-teaser-title {
  font-size: 1.05rem;
  margin: 0;
  line-height: 1.2;
  font-weight: 800;
}
.chitu-teaser-text {
  margin-top: 4px;
  color: rgba(0, 0, 0, 0.7);
  line-height: 1.4;
}
/* Buttons */
.chitu-btn-primary {
  background: #00689C;
  border-color: #00689C;
  font-weight: 700;
  border-radius: 999px;
  padding: 0.55rem 1rem;
}
.chitu-btn-primary:hover {
  filter: brightness(1.03);
}
.chitu-btn-outline {
  border-radius: 999px;
  padding: 0.55rem 1rem;
  border-color: rgba(0, 0, 0, 0.18);
}
/* =========================================================
   MOBILE OPTIMIERUNG
   ========================================================= */
@media (max-width: 767.98px) {
  .chitu-mosaic-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 8px;
    height: auto;
    grid-auto-rows: 120px;
    /* kompakt auf Mobile */
  }
  .chitu-mosaic-wide {
    grid-column: span 2;
  }
  .chitu-mosaic-wrap {
    height: auto;
  }
  .chitu-info-panel {
    padding: 20px;
  }
  .chitu-teaser-list {
    gap: 14px;
  }
}
/* ----------------------------
   SUPPORT STÖRER
   ---------------------------- */
.chitu-support {
  border-radius: var(--chitu-radius);
  border: 1px solid rgba(186, 188, 187, 0.8);
  background: linear-gradient(90deg, rgba(0, 104, 156, 0.1), rgba(186, 188, 187, 0.2));
  padding: 14px 16px;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.chitu-support strong {
  color: #111;
}
.chitu-support a {
  color: var(--chitu-primary);
  font-weight: 800;
  text-decoration: none;
  border-bottom: 2px solid rgba(0, 104, 156, 0.25);
}
.chitu-support a:hover {
  border-bottom-color: rgba(0, 104, 156, 0.6);
}
/* ----------------------------
   TUTORIAL CARDS
   ---------------------------- */
.chitu-tutorials {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 991.98px) {
  .chitu-tutorials {
    grid-template-columns: 1fr;
  }
}
.chitu-linkcard {
  border-radius: var(--chitu-radius);
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  padding: 14px 14px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.chitu-linkcard:hover, .chitu-linkcard:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.1);
  border-color: rgba(0, 104, 156, 0.35);
  outline: none;
}
.chitu-linkcard .title {
  margin: 0 0 6px;
  font-weight: 900;
  color: var(--chitu-primary);
}
.chitu-linkcard .desc {
  margin: 0;
  color: rgba(0, 0, 0, 0.7);
}
/* ===========================
   Tutorial Cards – Dropdown Text
   =========================== */
.chitu-linkcard details {
  margin-top: 10px;
}
/* Summary wie ein kleiner Link/Toggle */
.chitu-linkcard summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  font-weight: 800;
  color: #00689C;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 2px solid rgba(0, 104, 156, 0.18);
  padding-bottom: 2px;
}
/* Standard-Pfeil ausblenden (Browser) */
.chitu-linkcard summary::-webkit-details-marker {
  display: none;
}
/* Kleines Icon/Arrow */
.chitu-linkcard summary::after {
  content: "▾";
  font-weight: 900;
  transform: translateY(-1px);
  transition: transform 0.15s ease;
  opacity: 0.9;
}
.chitu-linkcard details[open] summary::after {
  transform: rotate(180deg) translateY(1px);
}
/* Dropdown-Inhalt */
.chitu-linkcard details .chitu-dd-text {
  margin-top: 10px;
  color: rgba(0, 0, 0, 0.72);
  line-height: 1.45;
}
/* ===========================
   CHITUBOX WORKFLOW STEPS
   =========================== */
.chitu-steps {
  padding: 60px 0;
}
.chitu-steps-head {
  max-width: 720px;
  margin: 0 auto 40px;
}
.chitu-steps-head h2, .chitu-steps-head .h2 {
  margin-bottom: 10px;
}
.chitu-steps-head p {
  color: rgba(0, 0, 0, 0.65);
}
/* ===========================
   GRID DEFAULT (4 STEPS)
   =========================== */
.chitu-steps-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
/* ===========================
   MODIFIER: 5 STEPS
   =========================== */
.chitu-steps-grid.is-5 {
  grid-template-columns: repeat(6, 1fr);
}
/* ===========================
   CARD
   =========================== */
.chitu-step {
  background: #fff;
  border-radius: 18px;
  padding: 26px 24px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
}
/* Nur im 5er Layout: Cards spannen 2 Spalten */
.chitu-steps-grid.is-5 .chitu-step {
  grid-column: span 2;
}
/* Zentrierung der letzten Reihe */
.chitu-steps-grid.is-5 .chitu-step:nth-child(4) {
  grid-column: 2 / span 2;
}
.chitu-steps-grid.is-5 .chitu-step:nth-child(5) {
  grid-column: 4 / span 2;
}
/* ===========================
   ICON
   =========================== */
.chitu-step-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(0, 104, 156, 0.1);
  color: #00689C;
  font-size: 1.3rem;
  margin-bottom: 14px;
}
/* ===========================
   TITLE
   =========================== */
.chitu-step-title {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 8px;
}
/* ===========================
   TEXT
   =========================== */
.chitu-step-text {
  color: rgba(0, 0, 0, 0.7);
  line-height: 1.45;
  font-size: 0.95rem;
}
/* ===========================
   TIME
   =========================== */
.chitu-step-time {
  margin-top: auto;
  padding-top: 12px;
  font-weight: 600;
  font-size: 0.9rem;
  color: #00689C;
}
/* ===========================
   RESPONSIVE
   =========================== */
@media (max-width: 1100px) {
  /* Reset für alle Sonderregeln */
  .chitu-steps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .chitu-step {
    grid-column: auto !important;
  }
}
@media (max-width: 600px) {
  .chitu-steps-grid {
    grid-template-columns: 1fr;
  }
}
/* ===========================
   RESIN HERO
   =========================== */
.resin-hero {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 420px;
  display: grid;
  align-items: end;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}
.resin-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--resin-hero-bg) center/cover no-repeat;
  z-index: 0;
}
.resin-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.65) 85%);
  z-index: 1;
}
.resin-hero__inner {
  position: relative;
  z-index: 2;
  padding: 48px 42px;
  max-width: 820px;
  color: #fff;
}
.resin-hero__inner h1, .resin-hero__inner .h1 {
  margin: 0;
  color: #fff;
}
.resin-hero__kicker {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.85rem;
  font-weight: 700;
}
.resin-hero__inner p {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.9);
}
/* ===========================
   Resin Navigation Cards
   =========================== */
/* ===========================
   Resin Navigation Grid
   =========================== */
.resin-nav-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
}
/* jede card nimmt 2 spalten */
.resin-nav-grid .support-nav-card {
  grid-column: span 2;
}
/* Tablet */
@media (max-width: 1100px) {
  .resin-nav-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .resin-nav-grid .support-nav-card {
    grid-column: span 1;
  }
}
/* Mobile */
@media (max-width: 600px) {
  .resin-nav-grid {
    grid-template-columns: 1fr;
  }
}
/* ===========================
   RESIN SECTION
   =========================== */
.resin-section {
  margin-top: 70px;
}
.resin-intro {
  max-width: 650px;
  color: rgba(0, 0, 0, 0.7);
  margin-bottom: 30px;
}
/* GRID */
.resin-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
/* CARD */
.resin-card {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 20px;
  padding: 20px;
  border-radius: 18px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}
.resin-card-media {
  border-radius: 12px;
  overflow: hidden;
  background: #f7f7f7;
}
.resin-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* CONTENT */
.resin-eyebrow {
  font-size: 0.8rem;
  font-weight: 700;
  color: #00689C;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.resin-subtitle {
  color: rgba(0, 0, 0, 0.7);
  margin-bottom: 10px;
}
.resin-benefits {
  padding-left: 1rem;
  margin-bottom: 14px;
}
.resin-benefits li {
  margin-bottom: 4px;
}
/* BUTTONS */
.resin-actions {
  display: flex;
  gap: 10px;
}
.resin-btn {
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  font-size: 0.9rem;
}
.resin-btn-primary {
  background: #00689C;
  color: #fff;
}
.resin-btn-secondary {
  border: 1px solid rgba(0, 104, 156, 0.4);
  color: #00689C;
}
/* RESPONSIVE */
@media (max-width: 900px) {
  .resin-grid {
    grid-template-columns: 1fr;
  }
  .resin-card {
    grid-template-columns: 1fr;
  }
}
/* ===========================
   RESIN SETTINGS MODAL
   =========================== */
.resin-settings-modal .modal-header {
  background: #f8fafb;
  border-bottom: 1px solid rgba(0, 104, 156, 0.15);
  align-items: flex-start;
}
.resin-modal-eyebrow {
  font-size: 0.7rem;
  font-weight: 700;
  color: #00689C;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}
/* Screenshot */
.resin-modal-screenshot-wrap {
  margin-bottom: 18px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #f7f7f7;
}
.resin-modal-screenshot {
  width: 100%;
  display: block;
  max-height: 360px;
  object-fit: contain;
}
/* Tabs */
.resin-modal-tabs .nav-link {
  color: rgba(0, 0, 0, 0.55);
  font-weight: 600;
  font-size: 0.9rem;
}
.resin-modal-tabs .nav-link.active {
  color: #00689C;
  border-bottom-color: #00689C;
}
/* ===========================
   DRUCKPARAMETER-TABELLE
   – exaktes Layout wie Slicer-Software
   =========================== */
.resin-print-table-wrap {
  overflow-x: auto;
}
.resin-print-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  min-width: 560px;
}
/* Spaltengruppen-Überschriften */
.resin-print-table__col-head {
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  background: #00689C;
  padding: 6px 12px;
  text-align: left;
}
.resin-print-table__col-head--right {
  border-left: 2px solid #fff;
}
/* Zeilen */
.resin-print-table__row {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.resin-print-table__row:last-child {
  border-bottom: none;
}
.resin-print-table__row:nth-child(even) {
  background: rgba(0, 104, 156, 0.03);
}
/* Label-Zellen */
.resin-print-table__label {
  padding: 8px 12px 8px 10px;
  font-size: 0.8rem;
  color: rgba(0, 0, 0, 0.6);
  font-weight: 500;
  white-space: nowrap;
  width: 24%;
}
.resin-print-table__label--right {
  border-left: 2px solid rgba(0, 104, 156, 0.15);
  padding-left: 16px;
  width: 24%;
}
/* Wert-Zellen */
.resin-print-table__value {
  padding: 8px 12px 8px 0;
  white-space: nowrap;
  width: 26%;
}
/* Einzelne Wertbausteine */
.resin-pval {
  font-weight: 700;
  color: #1a1a2e;
  font-variant-numeric: tabular-nums;
  font-size: 0.9rem;
}
.resin-pval--empty {
  color: rgba(0, 0, 0, 0.25);
  font-weight: 400;
}
.resin-psep {
  display: inline-block;
  margin: 0 5px;
  font-weight: 700;
  color: #00689C;
  font-size: 0.8rem;
}
.resin-unit {
  font-size: 0.75rem;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.4);
  margin-left: 4px;
}
/* Modal Footer */
.resin-settings-modal .modal-footer {
  border-top: 1px solid rgba(0, 104, 156, 0.12);
  padding: 12px 16px;
}
/* ===========================
   RESIN GRID VARIANTS
   =========================== */
.resin-grid--1col {
  grid-template-columns: 1fr;
}
.resin-grid--3col {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  .resin-grid--3col {
    grid-template-columns: 1fr;
  }
}
.resin-section--cms {
  margin-top: 0;
}
.resin-cms-headline {
  margin-bottom: 8px;
}
/* Responsive Tabelle */
@media (max-width: 640px) {
  .resin-print-table {
    min-width: 100%;
  }
  .resin-print-table__col-head, .resin-print-table thead {
    display: none;
  }
  .resin-print-table, .resin-print-table tbody, .resin-print-table tr, .resin-print-table td {
    display: block;
    width: 100% !important;
  }
  .resin-print-table__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 0;
    padding: 4px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  }
  .resin-print-table__label--right {
    border-left: none;
    border-top: 4px solid rgba(0, 104, 156, 0.1);
    padding-left: 10px;
    margin-top: 4px;
  }
}
/* ===========================
   LIGHTBOX (Bild-Zoom)
   =========================== */
#resin-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}
#resin-lightbox.resin-lb--open {
  display: flex;
}
.resin-lb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88);
  cursor: zoom-out;
  animation: resinLbFadeIn 0.2s ease;
}
.resin-lb-content {
  position: relative;
  z-index: 1;
  max-width: 92vw;
  max-height: 92vh;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: resinLbZoomIn 0.2s ease;
}
.resin-lb-img {
  max-width: 92vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
  object-fit: contain;
  cursor: zoom-out;
}
.resin-lb-close {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #fff;
  color: #1a1a2e;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  z-index: 2;
  line-height: 1;
  padding: 0;
  transition: background 0.15s, transform 0.15s;
}
.resin-lb-close:hover {
  background: #f0f0f0;
  transform: scale(1.1);
}
/* Scroll-Lock auf body */
.resin-lb-body-lock {
  overflow: hidden;
}
/* Zoom-Cursor-Hinweis auf dem Bild im Modal */
.resin-modal-screenshot {
  transition: opacity 0.15s, box-shadow 0.15s;
}
.resin-modal-screenshot:hover {
  opacity: 0.92;
  box-shadow: 0 0 0 3px rgba(0, 104, 156, 0.4);
}
@keyframes resinLbFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes resinLbZoomIn {
  from {
    transform: scale(0.88);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* CSS Document */
/* =========================================================
   LMF Hero
   Informations-Hero für das CADdata 3D LMF System
   ========================================================= */
.lmf-hero {
  /* Hintergrundbild wird über Inline-CSS als Variable gesetzt */
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-image: var(--lmf-hero-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #ffffff;
}
/* Abdunklung und Verlauf für bessere Lesbarkeit */
.lmf-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.68) 38%, rgba(0, 0, 0, 0.28) 68%, rgba(0, 0, 0, 0.12) 100%);
  pointer-events: none;
}
/* Inhaltsebene */
.lmf-hero__inner {
  position: relative;
  z-index: 2;
  width: min(100%, 1280px);
  margin: 0 auto;
  padding: 90px 24px;
}
/* Begriffs-/Markenlabel */
.lmf-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  padding: 8px 16px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
/* Kleine Akzentmarkierung vor dem Kicker */
.lmf-hero__kicker::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #00689c;
  box-shadow: 0 0 0 5px rgba(0, 104, 156, 0.2);
}
.lmf-hero h1, .lmf-hero .h1 {
  max-width: 760px;
  margin: 0 0 24px;
  font-size: clamp(2.3rem, 5vw, 5rem);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.04em;
}
.lmf-hero p {
  max-width: 720px;
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 1.28rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}
.lmf-hero p strong {
  color: #ffffff;
  font-weight: 800;
}
/* Button-Bereich */
.lmf-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}
.lmf-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
/* Haupt-CTA */
.lmf-hero__btn--primary {
  background: #00689C;
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(227, 6, 19, 0.34);
}
.lmf-hero__btn--primary:hover, .lmf-hero__btn--primary:focus-visible {
  color: #ffffff;
  background: #00689C;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(0, 104, 156, 0.44);
}
/* Sekundärer CTA */
.lmf-hero__btn--secondary {
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.38);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
}
.lmf-hero__btn--secondary:hover, .lmf-hero__btn--secondary:focus-visible {
  color: #111111;
  background: #ffffff;
  border-color: #ffffff;
  transform: translateY(-2px);
}
/* Zusatzhinweis unterhalb der Buttons */
.lmf-hero__note {
  max-width: 720px;
  margin-top: 22px;
  font-size: 0.92rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.72);
}
/* Tastatur-Fokus sichtbar halten */
.lmf-hero__btn:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.9);
  outline-offset: 4px;
}
/* =========================================================
   Responsive Anpassungen
   ========================================================= */
@media (max-width: 991.98px) {
  .lmf-hero {
    min-height: 560px;
    background-position: center right;
  }
  .lmf-hero__overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.86) 0%, rgba(0, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0.4) 100%);
  }
  .lmf-hero__inner {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}
@media (max-width: 575.98px) {
  .lmf-hero {
    min-height: auto;
  }
  .lmf-hero__inner {
    padding: 64px 18px;
  }
  .lmf-hero__kicker {
    font-size: 0.78rem;
    line-height: 1.3;
  }
  .lmf-hero__actions {
    flex-direction: column;
  }
  .lmf-hero__btn {
    width: 100%;
    text-align: center;
  }
}
/* =========================================================
   LMF Informationsseite
   Ergänzende Inhalte nach dem Hero
   ========================================================= */
.lmf-page {
  color: #1d1d1f;
  background: #ffffff;
}
.lmf-section {
  padding: 86px 0;
}
.lmf-section:nth-child(even) {
  background: #f7f8fa;
}
.lmf-section__head {
  max-width: 920px;
  margin-bottom: 42px;
}
.lmf-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #00689C;
}
.lmf-section h2, .lmf-section .h2 {
  margin: 0 0 18px;
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: #111111;
}
.lmf-section h3, .lmf-section .h3 {
  margin: 0 0 12px;
  font-size: 1.25rem;
  line-height: 1.25;
  font-weight: 800;
  color: #111111;
}
.lmf-section p {
  font-size: 1.05rem;
  line-height: 1.72;
  color: #4a4a4a;
}
.lmf-lead {
  font-size: clamp(1.12rem, 1.5vw, 1.32rem);
  color: #333333;
}
/* Karten */
.lmf-card-grid {
  display: grid;
  gap: 24px;
}
.lmf-card-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.lmf-card-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.lmf-card {
  height: 100%;
  padding: 30px;
  border: 1px solid #e7e7e7;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.055);
}
.lmf-card__number {
  width: 42px;
  height: 42px;
  margin-bottom: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #00689C;
  color: #ffffff;
  font-weight: 800;
  font-size: 0.92rem;
}
.lmf-card--component {
  border-left: 5px solid #00689C;
}
/* Splitbereich */
.lmf-split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  gap: 54px;
  align-items: center;
}
.lmf-process {
  display: grid;
  gap: 18px;
}
.lmf-process__item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  padding: 24px;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.055);
}
.lmf-process__item > span {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #111111;
  color: #ffffff;
  font-weight: 800;
  font-size: 1.15rem;
}
/* Kompatibilität */
.lmf-compatibility-list {
  display: grid;
  gap: 16px;
}
.lmf-compatibility-list__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 26px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
}
.lmf-compatibility-list__item strong {
  font-size: 1.15rem;
  color: #111111;
}
.lmf-compatibility-list__item span {
  color: #5a5a5a;
}
/* Preisbereich */
.lmf-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}
.lmf-price-card {
  position: relative;
  padding: 32px 26px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e4e4e4;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.055);
}
.lmf-price-card--highlight {
  border-color: #00689C;
  box-shadow: 0 22px 54px rgba(0, 104, 156, 0.16);
}
.lmf-price-card__badge {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: rgba(0, 104, 156, 0.1);
  color: #00689C;
  font-size: 0.78rem;
  font-weight: 800;
}
.lmf-price-card__price {
  margin: 18px 0 8px;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #111111;
}
.lmf-small-note {
  margin-top: 24px;
  font-size: 0.95rem;
  color: #666666;
}
/* Info-Band */
.lmf-info-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 36px;
  align-items: center;
  padding: 42px;
  border-radius: 30px;
  background: #111111;
  color: #ffffff;
}
.lmf-info-band h2, .lmf-info-band .h2, .lmf-info-band p {
  color: #ffffff;
}
.lmf-info-band p {
  color: rgba(255, 255, 255, 0.78);
}
.lmf-info-band__box {
  padding: 28px;
  border-radius: 24px;
  background: #ffffff;
  color: #111111;
}
.lmf-info-band__box strong, .lmf-info-band__box span, .lmf-info-band__box a {
  display: block;
}
.lmf-info-band__box strong {
  margin-bottom: 10px;
  font-size: 1.2rem;
}
.lmf-info-band__box span {
  margin-bottom: 16px;
  color: #555555;
}
.lmf-info-band__box a {
  color: #00689C;
  font-size: 1.3rem;
  font-weight: 800;
  text-decoration: none;
}
.lmf-info-band__box a:hover {
  text-decoration: underline;
}
/* Anfragebereich */
.lmf-request {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(380px, 1.05fr);
  gap: 54px;
  align-items: start;
}
.lmf-check-list {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.lmf-check-list li {
  position: relative;
  padding-left: 34px;
  font-size: 1.02rem;
  line-height: 1.55;
  color: #333333;
}
.lmf-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.08em;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #00689C;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 900;
}
.lmf-request__form-wrap {
  padding: 34px;
  border-radius: 28px;
  background: #ffffff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}
.lmf-form {
  display: grid;
  gap: 18px;
}
.lmf-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.lmf-form__field {
  display: grid;
  gap: 8px;
}
.lmf-form label {
  font-size: 0.92rem;
  font-weight: 800;
  color: #222222;
}
.lmf-form input, .lmf-form select, .lmf-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #d7d7d7;
  border-radius: 14px;
  background: #ffffff;
  color: #111111;
  font-size: 1rem;
}
.lmf-form textarea {
  min-height: 130px;
  resize: vertical;
}
.lmf-form input:focus, .lmf-form select:focus, .lmf-form textarea:focus {
  outline: 3px solid rgba(0, 104, 156, 0.18);
  border-color: #00689C;
}
.lmf-form__privacy {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  font-size: 0.92rem;
  color: #555555;
}
.lmf-form__privacy input {
  width: 18px;
  min-height: 18px;
  margin-top: 3px;
}
.lmf-form__submit {
  min-height: 54px;
  padding: 14px 26px;
  border: 0;
  border-radius: 999px;
  background: #00689C;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.lmf-form__submit:hover, .lmf-form__submit:focus-visible {
  background: #fff;
  color: #00689C;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0, 104, 156, 0.28);
}
/* FAQ */
.lmf-faq {
  display: grid;
  gap: 14px;
}
.lmf-faq details {
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  overflow: hidden;
}
.lmf-faq summary {
  padding: 22px 26px;
  cursor: pointer;
  font-size: 1.08rem;
  font-weight: 800;
  color: #111111;
}
.lmf-faq details p {
  margin: 0;
  padding: 0 26px 24px;
}
/* =========================================================
   Responsive Anpassungen
   ========================================================= */
@media (max-width: 1199.98px) {
  .lmf-card-grid--4, .lmf-pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lmf-split, .lmf-request, .lmf-info-band {
    grid-template-columns: 1fr;
  }
  .lmf-info-band__box {
    max-width: 420px;
  }
}
@media (max-width: 767.98px) {
  .lmf-section {
    padding: 62px 0;
  }
  .lmf-card-grid--4, .lmf-card-grid--2, .lmf-pricing-grid, .lmf-form__row {
    grid-template-columns: 1fr;
  }
  .lmf-card, .lmf-request__form-wrap, .lmf-info-band {
    padding: 24px;
    border-radius: 22px;
  }
  .lmf-compatibility-list__item {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}
/* pmtheme/safety-card entfaellt – liegt jetzt im Plugin PmSafetyCard */
/* Adobe Fonts (century-gothic / sol-pro) werden consentgesteuert per
   cookie-event.js geladen (Kit vyb7nnn). Kein @import hier – ein @import
   mitten in der kompilierten all.css wuerde vom Browser ignoriert. */
body {
  font-family: var(--pm-font-base);
  font-weight: var(--pm-font-weight-base);
  font-style: normal;
  font-size: var(--pm-font-size-base);
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: var(--pm-font-headline);
  font-weight: var(--pm-font-weight-headline);
  font-style: normal;
}
.full-width {
  padding: 0 !important;
}
.container-main {
  padding: 0 !important;
  margin: 0 !important;
}
p {
  margin-bottom: 0.5em;
}
/*.cms-breadcrumb{
    padding-top: 15px;
}*/
.cms-element-title-paragraph {
  font-size: 35px;
}
@media (max-width: 992px) {
  .cms-element-title-paragraph {
    font-size: 20px;
    text-align: center;
  }
}
.product-box .product-image-wrapper img, .box-wishlist .product-image-wrapper img {
  width: auto;
  height: 100%;
  object-fit: cover;
  margin: auto;
}
.product-image {
  display: block;
  max-width: 300px;
  max-height: 100%;
}
.btn-primary {
  background-color: #00689C;
  color: #ffffff;
  border: 1px solid #00689C;
  border-radius: 0.5rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 0.5rem 1.75rem;
  text-transform: none;
  transition: background-color 0.25s ease-in-out, color 0.25s ease-in-out, border-color 0.25s ease-in-out, transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: #474747;
  color: #fff;
  border-color: #474747;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}
.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.btn-primary:disabled, .btn-primary.disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.account-guest-area .btn-primary {
  background-color: #333;
  color: #00689C;
}
.color-akzent {
  color: #E89831;
}
a.color-akzent:hover {
  color: #95613E;
}
/* Altshop-Design: Breadcrumb ausgeblendet.
   Fuer die Standard-Darstellung diesen Block gegen
   .breadcrumb{ margin-top:15px; margin-bottom:0; } tauschen. */
.breadcrumb {
  display: none;
}
/* Hover-/Focus-Animationen */
.cms-image-link {
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
/* Hover-/Focus */
.cms-image-link:hover, .cms-image-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  text-decoration: none;
}
/* Tastatur-Fokus sichtbar */
.cms-image-link:focus-visible {
  outline: 2px solid #c47a3c;
  outline-offset: 3px;
}
/* ==============================
   Social Media – Minimal Block
   ============================== */
/* Block bleibt wie gehabt (weiß, mittig, Höhe 340px) */
.social-minimal {
  background: #fff;
  height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4rem 0;
}
/* Zwei Elemente nebeneinander, gleichmäßig */
.social-minimal-inner {
  display: flex;
  gap: 6rem;
  align-items: center;
}
/* Link als „Kachel“: Icon + Text darunter */
.social-icon-link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
/* Text unter Icon */
.social-icon-link span {
  font-size: 1rem;
  color: #777;
  transition: color 0.2s linear;
}
/* Das „Icon-Button“-Element: neutral, ohne Startfarben */
.social-icon-link i {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 2px solid #e6e6e6;
  color: #111;
  font-size: 24px;
  position: relative;
  overflow: hidden;
  /* Genau wie dein Ansatz: Rotation + Border-Radius zeitversetzt */
  transition: transform 0.2s linear, border-radius 0.2s linear 0.2s, border-color 0.2s linear, box-shadow 0.2s linear;
}
/* Der Effekt-Wrapper (wie deine .effect.social-media) */
.social-rotate .social-icon-link:hover i {
  transform: rotate(-90deg);
  border-radius: 50%;
  border-color: var(--pm-accent-soft);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}
/* Gegenrotation fürs Icon selbst, damit das Logo „gerade“ bleibt */
.social-rotate .social-icon-link:hover i::before {
  /* Font Awesome Icons sind oft über ::before gerendert */
  display: inline-block;
  transform: rotate(90deg);
}
/* Text reagiert mit (optional, wirkt wertiger) */
.social-rotate .social-icon-link:hover span {
  color: #000;
}
/* Tastatur-Fokus (Barrierefreiheit) */
.social-icon-link:focus-visible i {
  outline: 3px solid var(--pm-accent-soft);
  outline-offset: 6px;
}
/* Responsive Feinschliff */
@media (max-width: 576px) {
  .social-minimal {
    height: 260px;
    margin: 3rem 0;
  }
  .social-minimal-inner {
    gap: 3.5rem;
  }
}
/* Grundsätzlich: keine Unterstreichung auf dem Link selbst */
.social-icon-link:hover {
  text-decoration: none !important;
}
/* Icon explizit ohne Text-Dekoration */
.social-icon-link i {
  text-decoration: none;
}
/* Sicherheit: auch im Hover/Fokus keine Linie */
.social-icon-link:hover i, .social-icon-link:focus-visible i {
  text-decoration: none;
}
/* ==============================
   Titel-Spalte – Desktop / Tablet
   ============================== */
.ulm-title {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 8px solid var(--pm-accent-soft);
  padding: 1.5rem;
  text-align: center;
  aspect-ratio: 0.9;
  color: #fff;
}
.ulm-title h2, .ulm-title .h2 {
  margin: 0;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 3rem;
  color: #fff;
}
/* ==============================
   Mobile: kompakt + Linie
   ============================== */
@media (max-width: 1000px) {
  /* Titel-Spalte */
  /* Goldene Linie */
  .ulm-title {
    border: none;
    /* Rahmen weg */
    padding: 0.5rem 0;
    aspect-ratio: auto;
    /* keine künstliche Höhe */
    display: block;
    text-align: left;
  }
  .ulm-title h2, .ulm-title .h2 {
    font-size: 1.4rem;
    position: relative;
    padding-bottom: 0.6rem;
    color: #fff;
    line-height: 3rem;
  }
  .ulm-title h2::after, .ulm-title .h2::after {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    background: var(--pm-accent-soft);
    margin-top: 0.6rem;
  }
}
/* Störer über volle Breite (Background full width, Text im Container) */
.fw-stoerer {
  width: 100%;
  background: #333;
  color: #fff;
}
/* Innenabstand + saubere Typo */
.fw-stoerer .container, .fw-stoerer .cms-section .boxed, .cms-section .fw-stoerer .boxed {
  padding-top: 14px;
  padding-bottom: 14px;
}
/* Absatz resetten + optisch kompakt halten */
.fw-stoerer__text {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.35;
  text-align: center;
  letter-spacing: 0.2px;
  font-weight: 500;
}
/* =========================================
   TOOLTIP – Fachbegriffe
========================================= */
.tooltip-term {
  position: relative;
  cursor: help;
  /* Mauszeiger mit Hinweis */
  border-bottom: 1px dotted currentColor;
  display: inline;
}
/* Tooltip Box */
.tooltip-box {
  position: absolute;
  bottom: 125%;
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
  padding: 12px 14px;
  background: #222;
  color: #fff;
  font-size: 0.9rem;
  line-height: 1.4;
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease;
  z-index: 10;
}
/* kleiner Pfeil */
.tooltip-box::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
}
/* Anzeigen bei Hover oder Fokus */
.tooltip-term:hover .tooltip-box, .tooltip-term:focus .tooltip-box {
  opacity: 1;
  visibility: visible;
}
.tooltip-icon {
  font-size: 0.8em;
  margin-left: 4px;
  opacity: 0.7;
}
.split-block__media-wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 Verhältnis */
}
.split-block__media-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.address-manager-modal-address-form:hover {
  background: transparent;
}
/* =========================================================
   Startseite: Zentrierter weißer Inhaltsbereich
   auf großem Seiten-Hintergrundbild
   ========================================================= */
:root {
  --home-gold: var(--pm-accent);
  --home-max-width: 1320px;
  --home-panel-radius: 1.2rem;
  --home-panel-bg: rgba(255,255,255,.85);
  --home-soft-shadow: 0 24px 70px rgba(0,0,0,.12);
}
/* 
   Scope:
   Ideal: Klasse am main setzen:
   <main class="content-main home-centered-layout" id="content-main">
*/
.home-centered-layout {
  position: relative;
  min-height: 100vh;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.36)), radial-gradient(circle at top right, rgba(182, 153, 91, 0.16), transparent 34%), none;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}
/* Mobile: fixed background vermeiden */
@media (max-width: 991px) {
  .home-centered-layout {
    background-attachment: scroll;
  }
}
/* Shopware-Standardflächen transparent machen */
.home-centered-layout .container-main, .home-centered-layout .cms-page, .home-centered-layout .cms-section, .home-centered-layout .cms-section-default {
  background: transparent;
}
/* Breadcrumb auf Startseite ausblenden */
.home-centered-layout .cms-breadcrumb {
  display: none;
}
/* =========================================================
   ZENTRIERTER HAUPT-WRAPPER
   ========================================================= */
.home-centered-layout .cms-sections {
  max-width: var(--home-max-width);
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem;
  background: var(--home-panel-bg);
  box-shadow: var(--home-soft-shadow);
  overflow: hidden;
}
/* Außenabstand zum Hintergrundbild */
.home-centered-layout .cms-page {
  padding: 3rem 1rem 4rem;
}
/* Einzelne CMS-Sections innerhalb des weißen Panels */
.home-centered-layout .cms-section {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
/* Full-width und boxed innerhalb des Panels gleich behandeln */
.home-centered-layout .cms-section-default.full-width, .home-centered-layout .cms-section-default.boxed {
  max-width: 100%;
}
/* Container innerhalb des Panels nicht nochmals künstlich verbreitern */
.home-centered-layout .cms-section .container, .home-centered-layout .cms-section .cms-section .boxed, .cms-section .home-centered-layout .cms-section .boxed, .home-centered-layout .cms-section .container-fluid, .home-centered-layout .cms-section .container-xs {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
/* Shopware Inline-Paddings horizontal entschärfen */
.home-centered-layout .cms-block-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* =========================================================
   Prozess-Schritte (Altshop) – aus dem alten base.scss
   ========================================================= */
.process-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.process-icon {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--pm-primary-soft);
  color: var(--pm-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 10px;
  transition: all 0.3s ease;
}
.process-step:hover .process-icon {
  background: var(--pm-primary);
  color: #fff;
  transform: translateY(-4px);
}
.process-title {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
}
@media (min-width: 768px) {
  .process-step {
    position: relative;
  }
  .process-step::after {
    content: "";
    position: absolute;
    top: 35px;
    right: -50%;
    width: 100%;
    height: 2px;
    background: #e5e5e5;
    z-index: -1;
  }
  .col-md-2:last-child .process-step::after {
    display: none;
  }
}
