@font-face{font-family:"HelveticaNeueW01-45Ligh";src:url("/fonts/albert-sans-300.1488bb54.woff2") format("woff2");font-weight:400;font-display:swap;size-adjust:98.2%;}
@font-face{font-family:"HelveticaNeueW02-45Ligh";src:url("/fonts/albert-sans-300.1488bb54.woff2") format("woff2");font-weight:400;font-display:swap;size-adjust:98.2%;}
@font-face{font-family:"HelveticaNeueW01-55Roma";src:url("/fonts/arimo-400.2dc9b34b.woff2") format("woff2");font-weight:400;font-display:swap;}
@font-face{font-family:"HelveticaNeueW01-65Medi";src:url("/fonts/arimo-700.70e62a25.woff2") format("woff2");font-weight:400;font-display:swap;}
/* Small additions on top of the original Wix CSS: things Wix drew with JavaScript (mini cart, open states,
   form messages) and font aliases for Wix system font names. */

/* Wix system font names → self-hosted equivalents */
@font-face { font-family: "Madefor"; src: url("/fonts/wix-madefor-text-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Madefor"; src: url("/fonts/wix-madefor-text-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "wix-madefor-text-v2"; src: url("/fonts/wix-madefor-text-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "wix-madefor-display-v2"; src: url("/fonts/wix-madefor-display-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }

/* product page: selected thumbnail, open info section (minus instead of plus) */
[data-hook="thumbnail-root"].kp-selected { outline: 1px solid currentColor; outline-offset: -1px; }
li.kp-open [data-hook="collapse-info-plus-icon"] svg { transform: rotate(45deg); transition: transform .2s; }
[data-hook="collapse-info-plus-icon"] svg { transition: transform .2s; }

/* forms */
.kp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.kp-form-msg { position: absolute; left: 0; right: 0; bottom: -26px; margin: 0; font-size: 13px; text-align: center; color: #1a8a3a; }
.kp-form-msg:empty { display: none; }
.kp-form-msg.error { color: #df3131; }
form.wixui-form { position: relative; }

/* shop filter collapsed */
.kp-collapsed [data-hook="range-filter"] { display: none; }

/* phone menu */
.kp-menu-open.nQIUtw { display: block !important; }
html.kp-menu-locked, html.kp-menu-locked body { overflow: hidden; }
.kp-sub-open > ul, .kp-sub-open [role="menu"] { display: block !important; visibility: visible !important; opacity: 1 !important; }

/* cart page additions */
.kp-coupon { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 12px; max-width: 320px; }
.kp-coupon input { height: 36px; padding: 0 10px; border: 1px solid #c8c8c8; font: inherit; font-size: 14px; min-width: 0; }
.kp-coupon button { height: 36px; padding: 0 16px; border: 1px solid #c4482b; background: #fff; color: #c4482b; font: inherit; font-size: 14px; cursor: pointer; }
.kp-coupon-msg { grid-column: 1 / -1; margin: 0; font-size: 13px; color: #1a8a3a; }
.kp-coupon-msg:empty { display: none; }
.kp-coupon-msg.error { color: #df3131; }
.kp-note { display: block; width: 100%; max-width: 420px; margin-top: 12px; padding: 8px 10px; border: 1px solid #c8c8c8; font: inherit; font-size: 14px; resize: vertical; }

/* mini cart (slide-in, as on Wix: black header, items, voucher link, total, orange button) */
.kp-mini { position: fixed; inset: 0; z-index: 99999; font-family: "avenir-lt-w01_35-light1475496", "Nunito Sans", "Helvetica Neue", Arial, sans-serif; color: #000; }
.kp-mini__shade { position: absolute; inset: 0; background: rgba(0, 0, 0, .6); opacity: 0; transition: opacity .25s; }
.kp-mini__panel { position: absolute; top: 0; right: 0; bottom: 0; width: 420px; max-width: 100%; display: flex; flex-direction: column; background: #fff; transform: translateX(100%); transition: transform .25s ease; }
.kp-mini.is-open .kp-mini__shade { opacity: 1; }
.kp-mini.is-open .kp-mini__panel { transform: none; }
.kp-mini__head { display: flex; align-items: center; justify-content: space-between; height: 70px; padding: 0 20px; background: #111; color: #fff; }
.kp-mini__head h2 { margin: 0; font: inherit; font-size: 22px; font-weight: 400; }
.kp-mini__head small { font-size: 14px; }
.kp-mini__x { background: none; border: 0; color: #fff; cursor: pointer; padding: 4px; }
.kp-mini__lines { flex: 1; overflow: auto; list-style: none; margin: 0; padding: 20px; }
.kp-mini__lines li { display: grid; grid-template-columns: 76px 1fr auto; gap: 14px; padding-bottom: 20px; font-size: 15px; line-height: 1.35; }
.kp-mini__lines img { width: 76px; height: 76px; object-fit: cover; border: 1px solid #e6e6e6; }
.kp-mini__lines .n { color: #000; text-decoration: none; }
.kp-mini__lines .r { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; }
.kp-mini__lines .rm { background: none; border: 0; padding: 0; cursor: pointer; color: #000; }
.kp-qty { display: inline-flex; align-items: center; margin-top: 10px; border: 1px solid #000; height: 32px; }
.kp-qty button { width: 30px; height: 30px; background: none; border: 0; font-size: 18px; cursor: pointer; color: #000; }
.kp-qty button:disabled { color: #bbb; cursor: default; }
.kp-qty span { min-width: 22px; text-align: center; font-size: 14px; }
.kp-mini__foot { padding: 20px; border-top: 1px solid #ccc; }
.kp-mini__coupon { display: inline-flex; align-items: center; gap: 8px; color: #c4482b; text-decoration: none; font-size: 15px; }
.kp-mini__total { display: flex; justify-content: space-between; margin: 24px 0 12px; font-size: 20px; }
.kp-mini__total b { font-weight: 400; }
.kp-mini__btn { display: block; padding: 12px; background: #9db39f; color: #fff; text-align: center; text-decoration: none; font-size: 16px; }
.kp-mini__btn:hover { background: #8aa38c; }

/* Wix's floating "back to top" button (phone) — visible after scrolling down */
#BACK_TO_TOP_BUTTON.kp-show { opacity: 1; visibility: visible; transition-delay: 0s; }

/* Home: the hero image sits 1px below the end of the black header line (also in Wix's markup) → white hairline.
   The image is extended 2px upward, behind the line; nothing else moves. */
#bgLayers_comp-k00ubpoh { top: -2px !important; height: calc(100% + 2px) !important; }

/* Product page video box ("Wir stellen uns vor"): on phones the 320px layout is scaled (e.g. ×1.22), so the edge to the
   bar above can fall between device pixels and show a white hairline. The cover reaches 1px under the bar's edge. */
[id^="cover-comp-"][data-testid="playable-cover"] { top: -1px; height: calc(100% + 1px); }
[id^="cover-comp-"][data-testid="playable-cover"] wow-image, [id^="cover-comp-"][data-testid="playable-cover"] wow-image img { width: 100% !important; height: 100% !important; object-fit: cover; }

/* notice ("Link kopiert"), blog search, image lightbox, liked heart — things Wix's blog/store scripts showed */
.kp-toast { position: fixed; left: 50%; bottom: 24px; z-index: 100001; transform: translate(-50%, 20px); max-width: calc(100% - 32px); padding: 12px 18px; background: #111; color: #fff; font: 14px/1.4 "Nunito Sans", "Helvetica Neue", Arial, sans-serif; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.kp-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.kp-toast a { color: #fff; text-decoration: underline; }
.kp-search { position: fixed; inset: 0 0 auto 0; z-index: 100000; display: none; padding: 16px; background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.15); font: 16px/1.4 "Nunito Sans", "Helvetica Neue", Arial, sans-serif; }
.kp-search.is-open { display: block; }
.kp-search form { display: flex; gap: 8px; max-width: 760px; margin: 0 auto; }
.kp-search input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #c8c8c8; font: inherit; }
.kp-search button { width: 44px; border: 0; background: none; font-size: 20px; cursor: pointer; color: #000; }
.kp-search ul { list-style: none; max-width: 760px; margin: 8px auto 0; padding: 0; max-height: 60vh; overflow: auto; }
.kp-search li a { display: block; padding: 10px 4px; color: #000; text-decoration: none; border-bottom: 1px solid #eee; }
.kp-search li.none { padding: 10px 4px; color: #777; }
.kp-lb { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: #fff; }
.kp-lb img { max-width: calc(100% - 96px); max-height: calc(100% - 96px); object-fit: contain; }
.kp-lb button { position: absolute; border: 0; background: none; color: #000; cursor: pointer; font: 300 40px/1 Arial, sans-serif; padding: 12px; }
.kp-lb .x { top: 8px; right: 12px; font-size: 28px; }
.kp-lb .p { left: 8px; top: 50%; transform: translateY(-50%); }
.kp-lb .n { right: 8px; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) { .kp-lb img { max-width: 100%; max-height: calc(100% - 120px); } }
button.kp-liked svg path { fill: #e0453a; }

/* Home (desktop): space between the "Unsere Kollektionen" button and the image row below (on Wix they touch) */
#comp-lg3kau1g { padding-bottom: 50px; }

/* Phone cart page: content had no side margins (also on Wix) — 16px on both sides */
body[data-variant="m"] [data-hook="CartAppDataHook.root"] { padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; }

/* Phone blog list (/blog-1): "Blog" bar in the shop green (as the "In den Warenkorb" button), and a smaller white gap
   above it — the phone header is 203px tall with ~66px of empty white under its black line; here it ends 16px below. */
body[data-variant="m"][data-path="/blog-1"] .un5cvk.blog-button-background-color { background-color: #9db39f !important; }
body[data-variant="m"][data-path="/blog-1"] #SITE_HEADER { height: 153px !important; overflow: hidden; }

/* Phone header basket: the bag's outline was centred, but its body sat ~4px low (the handle takes the top), so it looked
   too low; lifted 2px (and 0.5px left) so it reads as centred in the green circle. */
#comp-l4tuln1x .StylableButton2545352419__icon { transform: translate(-0.5px, -2px); }

/* Cart page: hidden until the real basket has been filled in (the page markup holds a sample cart from Wix) */
[data-hook="CartAppDataHook.root"]:not(.kp-ready) { visibility: hidden; }

/* ── Blog articles (scripts/blog.mjs): pictures, tables, tip box, charts, closing button ── */
.kp-figure { margin: 24px 0; }
.kp-figure img { display: block; width: 100%; height: auto; }
.kp-figure figcaption { margin-top: 8px; font-size: 13px; line-height: 1.4; color: #6f6f6f; text-align: center; }
.kp-chart img { max-width: 680px; margin: 0 auto; background: #fff; }
.kp-table-wrap { margin: 20px 0 24px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.kp-table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.kp-table th, .kp-table td { padding: 10px 12px; border-bottom: 1px solid #ddd; text-align: left; vertical-align: top; }
.kp-table th { background: #f3f1ec; font-weight: 700; border-bottom: 2px solid #9db39f; }
.kp-table tbody tr:nth-child(even) td { background: #fafaf8; }
.kp-tip { margin: 20px 0; padding: 14px 18px; background: #f3f6f3; border-left: 4px solid #9db39f; }
.kp-tip p { margin: 0; }
a.kp-a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.kp-cta { margin: 36px 0 12px; padding: 28px 20px; text-align: center; background: #f6f3ee; }
.kp-cta p { margin: 0 0 16px; font-size: 17px; line-height: 1.5; }
.kp-cta-btn { display: inline-block; padding: 14px 32px; background: #9db39f; color: #fff !important; text-decoration: none !important; font-size: 16px; letter-spacing: .02em; }
.kp-cta-btn:hover { background: #8aa38c; }
@media (max-width: 600px) { .kp-table { font-size: 13px; } .kp-table td, .kp-table th { padding: 8px 6px; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; } .kp-table th, .kp-table td { padding: 8px; } .kp-cta { padding: 22px 14px; } }

/* Blog list (desktop): Wix placed every entry at a fixed position in a fixed-height box; entries now flow, so new
   articles can be added and scheduled ones left out without gaps. */
body[data-path="/blog-1"] #pro-gallery-container-pro-blog, body[data-path="/blog-1"] #pro-gallery-margin-container-pro-blog { height: auto !important; }
body[data-path="/blog-1"] #pro-gallery-container-pro-blog .gallery-item-container { position: relative !important; top: auto !important; left: auto !important; margin-bottom: 32px !important; }
/* spacing inside new articles (the imported Wix posts used empty lines for this) */
.kp-article p { margin: 0 0 1em; }
.kp-article h2 { margin: 1.7em 0 .6em; }
.kp-article h3 { margin: 1.3em 0 .45em; }
.kp-article ul, .kp-article ol { margin: 0 0 1.1em; }
.kp-article li p { margin: 0 0 .35em; }
.kp-article > div:first-child .kp-figure { margin-top: 8px; }
