@charset "UTF-8";



:root{
	--bc-navy:#262182;
	--bc-navy-dark:#1e1a65;
	--bc-ink:#15171c;
	--bc-body:#364040;
	--bc-heading:#364040;
	/* 2026-08-11: #737a86 -> #696f75. The old value measured 4.07:1 on the #f8f8f8 page background
	   and 4.32:1 on white — both under the 4.5:1 WCAG AA minimum for text below 18.66px, which is
	   every one of its 18 uses. Measured failures included the blog subtitle, all the "(1)" archive
	   counts, struck-through prices and product meta. New value: 4.79:1 on #f8f8f8, 5.08:1 on white.
	   ⚠ Fixed at the VARIABLE, not per class: an earlier pass patched .gustivo-loop-brand alone
	   because the scan only covered 3 templates and appeared to show one failing class. The blog
	   then produced 26 more failures from the same variable in different classes. One source of
	   truth is the correct fix.
	   ⚠ One use had to be handled separately: .site-copyright sits on the DARK footer (#1a1d24),
	   where this colour was already failing at 3.9:1 and darkening would have made it 3.32:1. That
	   rule now inherits the footer's own rgba(255,255,255,.72) instead — see .site-copyright below. */
	--bc-muted:#696f75;
	--bc-lavender:#eef0fb;
	--bc-hairline:#e6e6e3;
	--bc-topbar-bg:#eeeeee;
	--bc-nav-ink:#0a0a0a;
	--bc-sale:#c90000;
	--bc-font-body:'Radnika',-apple-system,BlinkMacSystemFont,Arial,Helvetica,'Helvetica Neue',Verdana,sans-serif;
	--bc-font-head:'NeueEinstellung',-apple-system,BlinkMacSystemFont,Arial,Helvetica,'Helvetica Neue',Verdana,sans-serif;
	--bc-fs-base:14px;
	--bc-lh:1.7;
	--bc-container:1580px;
	--bc-gutter:10px;
	--bc-pad:15px;
}


*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,svg,video{max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
ul,ol{margin:0;padding:0}


body{
	font-family:var(--bc-font-body);
	font-size:var(--bc-fs-base);
	line-height:var(--bc-lh);
	color:var(--bc-body);
	background:#fff;
	-webkit-font-smoothing:antialiased;
}
a{color:var(--bc-ink);text-decoration:none;transition:color .15s}
a:hover{color:var(--bc-navy)}
p{margin:0 0 1.5em}


h1,h2,h3,h4,h5,h6{font-family:var(--bc-font-head);color:var(--bc-heading);font-weight:600;line-height:1.15;margin:0 0 .5em}
h1{font-size:28px}
h2{font-size:24px}
h3{font-size:18px}
h4{font-size:16px}
h5{font-size:14px}
h6{font-size:13px}


.row{max-width:var(--bc-container);margin-left:auto;margin-right:auto}
.row::before,.row::after{content:' ';display:table}
.row::after{clear:both}
.row .row{max-width:none;margin-left:calc(var(--bc-gutter) * -1);margin-right:calc(var(--bc-gutter) * -1)}

@media (min-width:1024px){.row{padding-left:50px;padding-right:50px}.row .row{padding-left:0;padding-right:0}}
.column,.columns{float:left;width:100%;padding-left:var(--bc-gutter);padding-right:var(--bc-gutter)}
.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}


.small-1{width:8.3333%}.small-2{width:16.6667%}.small-3{width:25%}.small-4{width:33.3333%}
.small-5{width:41.6667%}.small-6{width:50%}.small-7{width:58.3333%}.small-8{width:66.6667%}
.small-9{width:75%}.small-10{width:83.3333%}.small-11{width:91.6667%}.small-12{width:100%}
.small-centered{margin-left:auto;margin-right:auto;float:none}

@media (min-width:640px){
	.medium-1{width:8.3333%}.medium-2{width:16.6667%}.medium-3{width:25%}.medium-4{width:33.3333%}
	.medium-5{width:41.6667%}.medium-6{width:50%}.medium-7{width:58.3333%}.medium-8{width:66.6667%}
	.medium-9{width:75%}.medium-10{width:83.3333%}.medium-11{width:91.6667%}.medium-12{width:100%}
	.medium-centered{margin-left:auto;margin-right:auto;float:none}
}
@media (min-width:1024px){
	.large-1{width:8.3333%}.large-2{width:16.6667%}.large-3{width:25%}.large-4{width:33.3333%}
	.large-5{width:41.6667%}.large-6{width:50%}.large-7{width:58.3333%}.large-8{width:66.6667%}
	.large-9{width:75%}.large-10{width:83.3333%}.large-11{width:91.6667%}.large-12{width:100%}
	.large-centered{margin-left:auto;margin-right:auto;float:none}
	.large-uncentered{margin-left:0;margin-right:0;float:left}
	.large-push-0{position:relative;left:0}.large-pull-0{position:relative;right:0}
}
@media (min-width:1200px){
	.xlarge-1{width:8.3333%}.xlarge-2{width:16.6667%}.xlarge-3{width:25%}.xlarge-4{width:33.3333%}
	.xlarge-5{width:41.6667%}.xlarge-6{width:50%}.xlarge-7{width:58.3333%}.xlarge-8{width:66.6667%}
	.xlarge-9{width:75%}.xlarge-10{width:83.3333%}.xlarge-11{width:91.6667%}.xlarge-12{width:100%}
	.xlarge-centered{margin-left:auto;margin-right:auto;float:none}
}
@media (min-width:1440px){
	.xxlarge-1{width:8.3333%}.xxlarge-2{width:16.6667%}.xxlarge-3{width:25%}.xxlarge-4{width:33.3333%}
	.xxlarge-5{width:41.6667%}.xxlarge-6{width:50%}.xxlarge-7{width:58.3333%}.xxlarge-8{width:66.6667%}
	.xxlarge-9{width:75%}.xxlarge-10{width:83.3333%}.xxlarge-11{width:91.6667%}.xxlarge-12{width:100%}
	.xxlarge-centered{margin-left:auto;margin-right:auto;float:none}
}


.show-for-large{display:none}
@media (min-width:1024px){.show-for-large{display:block}.hide-for-large{display:none}}
.show-for-large-only{display:none}
@media (min-width:1024px) and (max-width:1199px){.show-for-large-only{display:block}}
@media (max-width:1023px){.show-for-medium-only,.show-for-small-only{display:block}}


.bc-container{max-width:var(--bc-container);margin:0 auto;padding-left:var(--bc-pad);padding-right:var(--bc-pad)}
.bc-main{min-height:40vh}
@media (min-width:1024px){.bc-container{padding-left:50px;padding-right:50px}}


.top-bar{background:var(--bc-topbar-bg);color:#555;font-size:12px;border-bottom:1px solid #e2e2e2;overflow:hidden}
.top-bar__inner{position:relative;display:flex;align-items:center;gap:16px;min-height:40px;padding-top:0;padding-bottom:0}
.top-bar__marquee{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap}
.top-bar__track{display:inline-flex;align-items:center;animation:bc-marquee 38s linear infinite;will-change:transform}
.top-bar__marquee:hover .top-bar__track{animation-play-state:paused}
@keyframes bc-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.top-bar__item{padding:0 22px;font-size:12.5px;font-weight:400;color:#555;white-space:nowrap}
.top-bar__item b,.top-bar__item strong{font-weight:600;color:#333}
.top-bar__sep{opacity:.4;color:#777}
.top-bar__right{flex:0 0 auto;display:flex;align-items:center;gap:16px;background:var(--bc-topbar-bg);position:relative;z-index:1;padding-left:14px}
.top-bar__nav .menu{display:flex;align-items:center;gap:16px;list-style:none;margin:0;padding:0}
.top-bar__nav a{font-size:12px;font-weight:600;text-transform:uppercase;color:#555;letter-spacing:.02em}
.top-bar__nav a:hover{color:var(--bc-navy)}
/* 2026-08-11: the phone link rendered as a 15x15 tap target on every viewport (icon-only, padding:0),
   below the 24x24 minimum of WCAG 2.2 SC 2.5.8 — and it is the click that starts a phone call.
   min-width/min-height (not padding) so nothing in the top-bar flex row shifts, and
   justify-content centres the 15px icon inside the larger hit area. Direction-agnostic: no
   left/right values, so the RTL mirror is byte-identical for this rule. */
.top-bar__hotline{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:24px;min-height:24px;font-size:12.5px;font-weight:500;color:#444}
.top-bar__hotline svg{stroke:var(--bc-navy)}
.top-bar__hotline:hover{color:var(--bc-navy)}
@media (prefers-reduced-motion:reduce){.top-bar__track{animation:none}}


.site-header{background:#fff;position:sticky;top:0;z-index:1100;transition:box-shadow .18s}
.site-header.is-stuck{box-shadow:0 1px 0 rgba(20,22,28,.10)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
.bc-header-sentinel{height:1px}


@media(max-width:900px){
  .site-header{position:sticky;top:0;box-shadow:none !important}
}

:root{--bc-header-bottom:54px}
body.admin-bar{--bc-header-bottom:86px}
.site-header__bar{background:#fff}
.site-header__inner{display:flex;align-items:center;gap:26px;padding-top:6px;padding-bottom:6px}
.site-branding{flex:0 0 auto}
.site-logo{display:inline-block}
.site-logo-img{display:block;width:auto;height:34px}


.site-header__search{flex:1 1 auto;min-width:160px;position:relative}
.site-header__search .bc-search-form{position:relative;display:flex;align-items:center;height:42px;border:1.5px solid transparent;border-radius:8px;background:#ededed;transition:border-color .15s,box-shadow .15s,background .15s}
.site-header__search .bc-search-form:focus-within{background:#fff;border-color:var(--bc-navy);box-shadow:0 0 0 3px rgba(38,33,130,.10)}
.site-header__search .bc-search-input{flex:1;min-width:0;border:0;background:none;padding:0 20px;font-size:16px;color:var(--bc-ink);outline:none}
.site-header__search .bc-search-input::placeholder{color:var(--bc-muted)}
.site-header__search .bc-search-submit{display:none}
.site-header__search .bc-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;margin-top:0;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--bc-hairline);border-radius:8px;box-shadow:0 18px 40px -18px rgba(20,22,28,.28);padding:6px;z-index:1200}
.site-header__search .bc-search-results[hidden]{display:none}


.site-header__search .bc-search-tabs{display:flex;gap:5px;align-items:center;background:#ededed;border-radius:9px;padding:5px;margin-bottom:8px;border-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain;scrollbar-width:none}
.site-header__search .bc-search-tab{appearance:none;display:inline-flex;align-items:center;height:34px;padding:0 13px;border:0;font-family:inherit;font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;white-space:nowrap;flex:0 0 auto;color:#222;background:#f8f8f8;cursor:pointer;border-radius:7px;transition:color .15s,background .15s}
.site-header__search .bc-search-tab:hover{color:#222;background:#f2f2f2}
.site-header__search .bc-search-tab.is-active{color:#222;background:#fff}
.site-header__search .bc-search-panel[hidden]{display:none}
.site-header__search .bc-search-item{border-bottom:1px solid var(--bc-hairline)}
.site-header__search .bc-search-item:last-child{border-bottom:0}
.site-header__search .bc-search-link{padding:9px 8px;border-radius:6px}
.site-header__search .bc-search-link:hover{background:var(--bc-lavender)}
.site-header__search .bc-search-link--plain{display:block}
.site-header__search .bc-search-more{padding:10px 8px 6px}


.site-mainnav{background:#f8f8f8}


body.single-product .site-header.is-stuck{box-shadow:none}
.site-mainnav .main-menu{flex-wrap:wrap}


.main-navigation{display:flex;align-items:center}
.main-menu{display:flex;align-items:center;list-style:none}
.main-menu li{position:relative}
.main-menu>li>a{display:block;font-family:var(--bc-font-head);font-size:13px;font-weight:600;text-transform:uppercase;color:var(--bc-nav-ink);padding:10px 15px;letter-spacing:.01em}
.main-menu>li>a:hover,.main-menu>li.current-menu-item>a,.main-menu>li.current-menu-parent>a{color:var(--bc-navy)}
.main-menu .sub-menu{position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:8px 0;list-style:none;background:#fff;border:1px solid var(--bc-hairline);box-shadow:0 14px 34px -14px rgba(20,22,28,.26);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:1000}
.main-menu li:hover>.sub-menu,.main-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.main-menu .sub-menu a{display:block;font-family:var(--bc-font-body);font-size:14px;font-weight:500;text-transform:none;color:var(--bc-body);padding:8px 18px;white-space:nowrap}
.main-menu .sub-menu a:hover{color:var(--bc-navy);background:var(--bc-lavender)}

.main-menu .sub-menu a.gcp-tile{padding:0;white-space:normal;background:none;font-size:inherit;font-weight:inherit;color:inherit}
.main-menu .sub-menu a.gcp-tile:hover{background:none}
.main-menu .sub-menu .sub-menu{top:0;left:100%}

.main-menu>li.menu-item-has-children>a{display:flex;align-items:center}
.main-menu>li.menu-item-has-children>a::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.main-menu>li.menu-item-has-children:hover>a::after{transform:translateY(0) rotate(225deg)}


.site-tools{display:flex;align-items:center;gap:12px;margin-left:auto;flex:0 0 auto}
.bc-tools-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;position:relative;background:none;border:0;padding:8px;cursor:pointer;color:var(--bc-ink)}
.bc-tools-button:hover{color:var(--bc-navy)}
.bc-tools-button .bc-icon{display:block}

.bc-tools-label{font-size:14px;font-weight:500;line-height:1;white-space:nowrap}
@media(max-width:1099px){.bc-tools-label{display:none}}

/* Logged-in account icon: small green dot badge (matches .cart-count's existing badge-on-icon
   convention below, just a plain dot instead of a number) + click-to-open dropdown -- replaces an
   earlier always-visible "Angemeldet"/"Abmelden" text pair the site owner didn't want (2026-08-19: adds
   translation strings for no real benefit; icon + dropdown is how e-commerce sites do this).
   .bc-account-menu/.bc-lang-item below intentionally reuse the language-dropdown's own panel/row
   styling verbatim -- same look, same behaviour, just a second instance of the same component. */
.bc-account{position:relative;display:inline-flex}
.bc-account-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:#16a34a;border:1.5px solid #fff}
.bc-account-menu{position:absolute;top:100%;right:0;margin-top:6px;min-width:150px;background:#fff;border:1px solid var(--bc-hairline);box-shadow:0 14px 34px -14px rgba(20,22,28,.26);padding:6px 0;z-index:1000}
.bc-account-menu[hidden]{display:none}

.cart-count{position:absolute;top:0;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--bc-navy);color:#fff;font-family:var(--bc-font-body);font-size:10px;font-weight:700;line-height:17px;text-align:center}
.cart-count.is-empty{display:none}
.menu-toggle{display:none}

.bc-lang{position:relative;display:inline-flex}
.bc-lang-menu{position:absolute;top:100%;right:0;margin-top:6px;min-width:150px;background:#fff;border:1px solid var(--bc-hairline);box-shadow:0 14px 34px -14px rgba(20,22,28,.26);padding:6px 0;z-index:1000}
.bc-lang-menu[hidden]{display:none}
.bc-lang-item{display:block;padding:8px 16px;font-family:var(--bc-font-body);font-size:14px;color:var(--bc-body);text-decoration:none;white-space:nowrap}
.bc-lang-item:hover{color:var(--bc-navy);background:var(--bc-lavender)}
.bc-lang-item.is-active{font-weight:700;color:var(--bc-navy);cursor:default}
.bc-lang-item.is-off{opacity:.4;cursor:default}

.gcp-tb-sort.bc-sort-on > form.woocommerce-ordering{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.bc-sort{position:relative;display:inline-flex}
.bc-sort-toggle{display:inline-flex;align-items:center;gap:7px;background:none;border:0;font-family:var(--bc-font-head);font-size:14px;font-weight:600;color:var(--bc-ink);cursor:pointer;padding:0;line-height:1}
.bc-sort-toggle svg{transition:transform .2s}
.bc-sort-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.bc-sort-menu{position:absolute;top:100%;right:0;margin-top:8px;min-width:220px;background:#fff;border:1px solid var(--bc-hairline);box-shadow:0 14px 34px -14px rgba(20,22,28,.26);padding:8px 0;z-index:1000;overflow-y:auto;overscroll-behavior:contain}
.bc-sort-menu.bc-sort-menu--up{top:auto;bottom:100%;margin-top:0;margin-bottom:8px}
.bc-sort-menu[hidden]{display:none}
.bc-sort-opt{display:block;width:100%;text-align:left;background:none;border:0;padding:11px 18px;font-family:var(--bc-font-body);font-size:14px;color:var(--bc-body);cursor:pointer;white-space:nowrap}
.bc-sort-opt:hover{color:var(--bc-navy);background:var(--bc-lavender)}
.bc-sort-opt.is-active{font-weight:700;color:var(--bc-navy)}

body .gustivo-vt-table{width:auto;margin-left:auto;margin-right:auto;max-width:100%}
body .gustivo-vt-table thead th,body .gustivo-vt-table tbody td{text-align:center}
body .gcp-tableview th,body .gcp-tableview td{text-align:center}
@media (max-width:1023px){
	.site-mainnav{display:none}
	.menu-toggle{display:inline-flex}
	.site-header__inner{flex-wrap:wrap;gap:12px 16px;padding-top:12px;padding-bottom:12px}
	.site-branding{order:1}
	.site-tools{order:2;margin-left:auto}
	.site-header__search{order:3;flex-basis:100%}
}


.bc-offcanvas[hidden],.bc-offcanvas-overlay[hidden]{display:none}
.bc-offcanvas{position:fixed;top:0;height:100%;width:min(360px,88vw);background:#fff;z-index:9999;overflow-y:auto;-webkit-overflow-scrolling:touch}
.bc-offcanvas--menu{right:0;transform:translateX(100%);transition:transform .3s ease}
.bc-offcanvas--menu.is-open{transform:translateX(0)}
.bc-offcanvas--search{left:0;right:0;top:0;height:auto;width:100%;transform:translateY(-100%);transition:transform .3s ease}
.bc-offcanvas--search.is-open{transform:translateY(0)}
.bc-offcanvas--filters{left:0;transform:translateX(-100%);transition:transform .3s ease}
.bc-offcanvas--filters.is-open{transform:translateX(0)}
.bc-offcanvas--filters .bc-offcanvas__body{padding:0 20px 24px}
.bc-offcanvas__head{display:flex;justify-content:flex-end;padding:12px}
.bc-offcanvas__inner{position:relative;padding-top:40px;padding-bottom:40px}
.bc-offcanvas__close{background:none;border:0;padding:8px;cursor:pointer;color:var(--bc-ink)}
.bc-offcanvas__title{font-size:20px;margin:0 0 16px}
.bc-offcanvas__body{padding:0 20px 24px}
.bc-offcanvas .mobile-menu,.bc-offcanvas .mobile-secondary{list-style:none;margin:0;padding:0}
.bc-offcanvas .mobile-menu a{display:block;padding:12px 4px;border-bottom:1px solid var(--bc-hairline);font-family:var(--bc-font-head);font-size:14px;font-weight:600;text-transform:uppercase;color:var(--bc-ink)}
/* 2026-08-11: the secondary off-canvas links ("Blog", "Kontakt") had no display rule, so they stayed
   `inline` — and an inline box is only as tall as its TEXT (19px), not its line box. Their
   line-height is already 25.6px, so the height needed to clear the 24x24 WCAG 2.2 SC 2.5.8 minimum
   was present and simply not being claimed. inline-block claims it: 19px -> 26px.
   Chosen over adding padding (the fix used for the footer links) precisely because nothing needs to
   grow here — padding would have added 6px of spacing the design never asked for. Measured: panel
   content height unchanged at 844px, so the menu does not start scrolling. The 12 main menu links
   are untouched; they are display:block with 12px padding and already render 47px. */
.bc-offcanvas .mobile-secondary a{display:inline-block}
.bc-offcanvas .sub-menu{list-style:none;margin:0;padding:0 0 0 16px}
.bc-offcanvas-overlay{position:fixed;inset:0;background:rgba(20,22,28,.45);z-index:9990;opacity:0;transition:opacity .3s}
.bc-offcanvas-overlay.is-open{opacity:1}
body.bc-offcanvas-open{overflow:hidden}


.bc-offcanvas--menu .menu-item-has-children{position:relative}
.bc-offcanvas--menu .menu-item-has-children>a{padding-right:46px}
.bc-submenu-toggle{position:absolute;top:3px;right:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--bc-ink);cursor:pointer}
.bc-submenu-toggle svg{transition:transform .2s}
.bc-offcanvas--menu .menu-item-has-children.is-open>.bc-submenu-toggle svg{transform:rotate(180deg)}
.bc-offcanvas--menu .sub-menu{display:none}
.bc-offcanvas--menu .menu-item-has-children.is-open>.sub-menu{display:block}


.bc-search-form{position:relative;display:flex;align-items:center;border-bottom:2px solid var(--bc-ink)}
.bc-search-input{flex:1;min-width:0;border:0;background:none;padding:10px 40px 10px 0;font-family:var(--bc-font-body);font-size:18px;color:var(--bc-ink);outline:none}
.bc-search-input::placeholder{color:var(--bc-muted)}
.bc-search-submit{position:absolute;right:0;background:none;border:0;padding:8px;color:var(--bc-ink);cursor:pointer}
.bc-search-submit:hover{color:var(--bc-navy)}
.bc-search-results{margin-top:14px;max-height:60vh;overflow-y:auto}
.bc-search-results[hidden]{display:none}
.bc-search-list{list-style:none;margin:0;padding:0}
.bc-search-item{border-bottom:1px solid var(--bc-hairline)}
.bc-search-link{display:flex;align-items:center;gap:14px;padding:10px 4px;color:var(--bc-ink)}
.bc-search-link:hover{color:var(--bc-navy)}
.bc-search-media{flex:none;width:56px;height:56px}
.bc-search-thumb{width:56px;height:56px;object-fit:contain}
.bc-search-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.bc-search-title{font-family:var(--bc-font-body);font-size:14px;line-height:1.3}
.bc-search-price{font-family:var(--bc-font-head);font-size:14px;font-weight:600;color:var(--bc-navy)}
.bc-search-price del{color:var(--bc-muted);font-weight:400;margin-right:6px}
.bc-search-price ins{text-decoration:none}
.bc-search-stock{font-family:var(--bc-font-body);font-size:12px}
.bc-search-stock--instock{color:#3f7d54}
.bc-search-stock--onbackorder{color:#a1721f}
.bc-search-stock--outofstock{color:#a14343}
.bc-search-empty{color:var(--bc-muted);font-size:14px;padding:12px 4px}
.bc-search-more{display:inline-block;margin-top:12px;font-family:var(--bc-font-head);font-size:13px;font-weight:600;text-transform:uppercase;color:var(--bc-navy)}


.bc-to-top[hidden]{display:none}
.bc-to-top{position:fixed;bottom:24px;right:24px;width:46px;height:46px;border-radius:50%;background:#f0f0f1;color:#1a1a1a;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:900;box-shadow:0 6px 18px -6px rgba(20,22,28,.14)}
.bc-to-top:hover{background:#e2e2e4;color:#1a1a1a}


.site-footer{margin-top:56px;padding:48px 0 32px;border-top:1px solid var(--bc-hairline);color:var(--bc-body)}
.footer-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;margin-bottom:28px}
.footer-col .widget-title{font-family:var(--bc-font-head);font-size:16px;font-weight:600;margin-bottom:.9em}
.footer-col a{color:var(--bc-body)}
.footer-col a:hover{color:var(--bc-navy)}
.footer-navigation .menu{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0 0 16px}
/* 2026-08-11: colour declaration REMOVED, not replaced. This line sits on the dark footer
   (#1a1d24), where --bc-muted was already failing at 3.9:1 — and darkening the variable for the
   light-background cases would have pushed it to 3.32:1. Inheriting .site-footer's own
   rgba(255,255,255,.72) gives 9.26:1 and matches every other piece of footer text, so no new
   colour value had to be invented. */
.site-copyright{font-size:13px;line-height:1.6}


.button,button.button,input[type=submit],.bc-btn,
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.single_add_to_cart_button{
	display:inline-block;background:var(--bc-navy);color:#fff;border:0;border-radius:8px;
	font-family:var(--bc-font-head);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;
	line-height:1.2;padding:15px 22px;cursor:pointer;transition:background .15s}
.button:hover,.bc-btn:hover,.single_add_to_cart_button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--bc-navy-dark);color:#fff}

.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce a.button.alt.disabled,.woocommerce button.button.alt.disabled,.woocommerce input.button.alt.disabled,
.woocommerce #respond input#submit.alt,
.woocommerce button.single_add_to_cart_button.alt,.woocommerce button.single_add_to_cart_button.alt.disabled,
.single_add_to_cart_button.alt{
	background:var(--bc-navy);color:#fff}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,
.woocommerce button.single_add_to_cart_button.alt:hover{background:var(--bc-navy-dark);color:#fff}


.woocommerce-content{padding-bottom:40px}
#primary.content-area.bc-shop-page{padding:24px 0 40px}
.woocommerce-products-header__title{font-family:var(--bc-font-head);font-size:28px;font-weight:600;color:var(--bc-heading);margin:0 0 18px}
.term-description{color:var(--bc-body);margin-bottom:18px;max-width:760px}


.bc-shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--bc-hairline)}
.bc-shop-toolbar>.columns{float:none;width:auto;padding:0}
.bc-shop-toolbar>.text-right{padding-right:8px}
.bc-filter-toggle{background:none;border:0;font-family:var(--bc-font-head);font-size:14px;font-weight:600;text-transform:uppercase;color:var(--bc-ink);cursor:pointer;padding:6px 0}
.bc-filter-toggle:hover{color:var(--bc-navy)}
.bc-catalog-ordering{display:flex;align-items:center;gap:16px;justify-content:flex-end}
.woocommerce-result-count{margin:0;font-size:13px;color:var(--bc-muted)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select.orderby{font-family:var(--bc-font-body);font-size:13px;border:1px solid var(--bc-hairline);padding:8px 10px;background:#fff}


/* 2026-08-11: `1fr` expands to `minmax(auto,1fr)`, and that `auto` floor is the column's
   MIN-CONTENT width — so a single long word in one card widens its whole track and pushes the
   grid past its container. Measured live on /blog/ at 390px: the two tracks resolved to
   204.5px + 167.6px = 372px inside a 345px container, scrolling the page sideways (83px at 320px).
   `minmax(0,1fr)` removes that floor so tracks share the space evenly and always fit.
   Applied to all three breakpoints: the 3- and 4-column rules carry the identical latent bug and
   only escape it because there is more room. Purely a lower-bound change — it cannot alter any
   layout that already fitted. */
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px}
@media (max-width:1199px){ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
ul.products li.product,.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{margin:0;padding:0;text-align:left;position:relative;list-style:none;float:none;width:auto}

/* 2026-08-16 — WooCommerce's woocommerce-smallscreen.css is linked with
   media="only screen and (max-width:768px)". Because that media lives on the <link>, it is invisible
   to an @media scan of the CSSOM, which is why this looked width-independent while behaving
   width-dependently. Below 768px it applied:
       li.product          {width:48%; float:left; clear:both; margin:0 0 2.992em}
       li.product:nth(2n)  {float:right; clear:none!important}
   That is a pre-CSS-grid float layout fighting ul.products{display:grid} above, and it produced all
   three reported symptoms at once: cards at 48% of their grid cell, a ~48px extra row gap, and
   left/right misalignment. Neutralised here (same specificity, later in the cascade, so it wins
   without !important). The SAME sheet's cart/checkout/my-account rules are deliberately LEFT ALONE.
   Direction-neutral (float:none), so the RTL twin carries an identical block. */
.woocommerce ul.products[class*="columns-"] li.product,.woocommerce-page ul.products[class*="columns-"] li.product{width:auto;float:none;clear:none;margin:0}
.woocommerce ul.products[class*="columns-"] li.product:nth-child(2n),.woocommerce-page ul.products[class*="columns-"] li.product:nth-child(2n){float:none;clear:none}


.woocommerce ul.products::before,.woocommerce ul.products::after,.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none;display:none}
.bc-product-thumb-wrapper{position:relative;margin-bottom:0}
.bc-product-thumb{position:relative;overflow:hidden;background:#fff;aspect-ratio:1/1}
.bc-product-thumb img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.bc-product-thumb-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .35s}
.bc-product-thumb.bc-has-second-image:hover .bc-product-thumb-bg{opacity:1}

.bc-stock-badge{position:absolute;left:8px;right:auto;margin:0;min-width:0;min-height:0;width:auto;height:auto;padding:4px 8px;font-size:11px;font-weight:700;border-radius:3px;color:#fff;text-transform:uppercase;line-height:1.2;z-index:3}
.bc-stock-badge.bc-badge-pos-1{top:8px}
.bc-stock-badge.bc-badge-pos-2{top:37px}
.bc-stock-in{background:#1a7a3c}
.bc-stock-back{background:#a3762b}
/* 2026-08-11: --bc-muted (#737a86) on the #f8f8f8 card background measures 4.07:1 — below the 4.5:1
   WCAG AA minimum for text under 18.66px, and this label renders at 12px. Measured on 16 instances
   per page, every page with product cards, at every viewport. #696f75 gives 4.79:1 and still reads
   as muted grey.
   Scoped to this class ON PURPOSE rather than darkening --bc-muted globally: that variable is used
   across the whole site and a contrast sweep found ONLY this class failing — the other uses sit on
   lighter backgrounds or larger text and already pass, so a global change would restyle them for
   no reason. */
/* 2026-08-11: back to var(--bc-muted). The hard-coded #696f75 here was an earlier, too-narrow fix
   for the same contrast problem; now that the variable itself carries that value the override is
   redundant, and leaving it would be a second place to update. One source of truth. */
.gustivo-loop-brand{font-size:12px;color:var(--bc-muted);margin-bottom:3px}
.woocommerce-loop-product__title{font-family:var(--bc-font-head);font-size:15px;font-weight:600;line-height:1.3;margin:0 0 6px}
.woocommerce-loop-product__title a{color:var(--bc-ink)}
.woocommerce-loop-product__title a:hover{color:var(--bc-navy)}
.shop-page ul.products li.product{box-shadow:0 0 27px rgba(0,0,0,.08)}
ul.products .price{font-family:var(--bc-font-head);font-size:18px;font-weight:700;color:var(--bc-ink);display:block;margin:0 0 10px}
ul.products .price del{color:var(--bc-muted);font-weight:400;font-size:12.5px;margin-right:7px}
ul.products .price ins{text-decoration:none}

.woocommerce ul.products li.product.type-product .price{font-family:var(--bc-font-head);font-size:18px;font-weight:700;color:var(--bc-ink);display:block;margin:0}
.woocommerce ul.products li.product.type-product .price del{color:var(--bc-muted);font-weight:400;font-size:12.5px;margin-right:7px}
.woocommerce ul.products li.product.type-product .price ins{text-decoration:none}
.woocommerce ul.products li.product.type-product .price .woocommerce-price-suffix{display:block;font-size:11px;font-weight:400;color:var(--bc-muted);margin-top:1px}

.bc-loop-footer{margin-top:auto}
.bc-loop-tagline{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--bc-muted);margin:0 0 2px}
.bc-loop-cta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:var(--bc-navy);font-size:13px;font-weight:700;text-decoration:none}
.bc-loop-cta svg{width:13px;height:13px;flex:none;transition:transform .15s}
.bc-loop-cta:hover{color:var(--bc-navy-dark)}
.bc-loop-cta:hover svg{transform:translateX(3px)}
.onsale{position:absolute;top:8px;left:8px;background:var(--bc-sale);color:#fff;font-size:11px;font-weight:700;padding:4px 8px;z-index:2;text-transform:uppercase;line-height:1.2}


.bc-shop-sidebar .widget{margin-bottom:28px}
.shop_sidebar.bc-shop-sidebar .widget:first-child{border-top:0}
.bc-shop-sidebar .widget-title{font-family:var(--bc-font-head);font-size:14px;font-weight:600;text-transform:uppercase;color:var(--bc-ink);margin-bottom:12px}
.bc-shop-sidebar ul{list-style:none;margin:0;padding:0}
.bc-shop-sidebar li{padding:5px 0;font-size:14px;line-height:1.4}
.bc-shop-sidebar a{color:var(--bc-body)}
.bc-shop-sidebar a:hover{color:var(--bc-navy)}
.bc-shop-sidebar .count{display:none}


.woocommerce-pagination{margin:34px 0 0;text-align:center}
.woocommerce-pagination ul{display:inline-flex;list-style:none;gap:4px;margin:0;padding:0;border:0}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;border:1px solid var(--bc-hairline);color:var(--bc-ink)}
.woocommerce-pagination .current{background:var(--bc-navy);color:#fff;border-color:var(--bc-navy)}


.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:14px 18px;margin:0 0 20px;border:0;border-radius:8px;background:var(--bc-lavender);list-style:none;font-size:14px}
.woocommerce-error{background:#fcebeb;color:var(--bc-sale)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}


.single-product .bc-product{margin:18px 0 0}

.gustivo-lieferzeit-productpage{display:flex;flex-direction:column;gap:9px;margin:16px 0}
.gustivo-lieferzeit-productpage>div{position:relative;padding-left:26px;font-size:14px;line-height:1.4;color:var(--bc-body)}
.gustivo-lieferzeit-productpage>div::before{content:"\2713";position:absolute;left:0;top:0;color:#1a7f37;font-weight:700;font-size:15px}
.gustivo-lieferzeit-productpage .gustivo-sku-note{color:var(--bc-muted);font-size:13px;padding-top:8px;margin-top:2px;border-top:1px solid var(--bc-hairline)}
.gustivo-lieferzeit-productpage .gustivo-sku-note::before{content:none}
.bc-product-main{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start;margin:0 0 40px}

.bc-product-gallery{flex:1 1 calc(50% - 24px);max-width:calc(50% - 24px);min-width:0;position:relative}
.bc-product-summary{flex:1 1 calc(50% - 24px);max-width:calc(50% - 24px);min-width:0}
@media (max-width:900px){.bc-product-gallery,.bc-product-summary{flex:1 1 100%;max-width:100%}}
.bc-product-summary .product_title{font-family:var(--bc-font-head);font-size:22px;font-weight:600;color:var(--bc-heading);line-height:1.15;margin:0 0 14px}
.bc-product-summary .price{font-family:var(--bc-font-head);font-size:22px;font-weight:600;color:var(--bc-navy);display:block;margin:0 0 16px}
.bc-product-summary .price del{color:var(--bc-muted);font-weight:400;font-size:16px;margin-right:8px}
.bc-product-summary .price ins{text-decoration:none}

.woocommerce div.product .bc-product-summary p.price,
.woocommerce div.product .bc-product-summary .price,
.woocommerce div.product .bc-product-summary .price .woocommerce-Price-amount{
	color:var(--bc-navy);font-family:var(--bc-font-head);font-size:22px;font-weight:600}
.woocommerce div.product .bc-product-summary .price del,
.woocommerce div.product .bc-product-summary .price del .woocommerce-Price-amount{
	color:var(--bc-muted);font-size:16px;font-weight:400}
.bc-product-summary .woocommerce-product-details__short-description{margin:0 0 18px}

.woocommerce-product-gallery{margin:0}
.woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery__image img{display:block;width:100%;height:auto}
.woocommerce-product-gallery .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:10px 0 0;padding:0}
.woocommerce-product-gallery .flex-control-thumbs li{width:76px;margin:0}
.woocommerce-product-gallery .flex-control-thumbs img{cursor:pointer;opacity:.55;border:1px solid var(--bc-hairline);transition:opacity .15s}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--bc-navy)}

table.variations{width:100%;margin:0 0 14px;border:0}
table.variations th,table.variations td{padding:8px 0;border:0;vertical-align:middle}
table.variations th.label{text-align:left;font-weight:600;font-size:14px;width:30%}
table.variations select{width:100%;padding:11px 12px;border:1px solid var(--bc-hairline);background:#fff;font-size:14px}
.woocommerce-variation-price .price,.single_variation .price{margin:10px 0}
.reset_variations{font-size:13px;color:var(--bc-muted)}

form.cart,.woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}
form.cart .quantity{display:inline-flex}
.quantity input.qty{width:64px;height:48px;text-align:center;border:1px solid var(--bc-hairline);font-size:15px;padding:0 6px}

.single_add_to_cart_button{min-height:48px;padding-left:90px !important;padding-right:90px !important}
.woocommerce-variation-add-to-cart.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{opacity:.45;cursor:not-allowed}

.product_meta{font-size:13px;color:var(--bc-muted);margin-top:18px;border-top:1px solid var(--bc-hairline);padding-top:14px}
.product_meta>span{display:block;margin-bottom:4px}
.product_meta a{color:var(--bc-body)}

.bc-product-tabs-wrap{margin-top:24px}
.woocommerce-tabs .panel,.woocommerce-tabs .wc-tab{padding:24px 0}
.related.products,.up-sells.upsells{margin-top:48px;clear:both}
.related.products>h2,.up-sells>h2{font-family:var(--bc-font-head);font-size:22px;font-weight:600;margin:0 0 22px}


.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;background:#fff;color:var(--bc-ink);padding:8px 16px;z-index:100000;box-shadow:0 2px 8px rgba(0,0,0,.2)}


.woocommerce span.onsale,
.woocommerce ul.products li.product span.onsale,
.woocommerce-page span.onsale,
span.onsale {
  position: absolute;
  top: 8px;
  left: 8px;
  right: auto;
  margin: 0;
  min-width: 0;
  min-height: 0;
  width: auto;
  height: auto;
  padding: 4px 8px;
  background: var(--bc-sale, #c90000);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  border-radius: 3px;
  z-index: 3;
}


@media (max-width:767px) {
  .woocommerce span.onsale,
  .woocommerce ul.products li.product span.onsale,
  .woocommerce-page span.onsale,
  span.onsale,
  .bc-stock-badge {
    /* 2026-08-11: 9px -> 11px. This is the "Sie sparen 22%" savings badge and the stock badge —
       the selling message on the device most customers use, previously rendered below any
       readable size. Padding left at 3px 6px so the badge box grows only by the text height. */
    font-size: 11px;
    padding: 3px 6px;
  }
  .bc-stock-badge.bc-badge-pos-2 { top: 28px; }
}


.bc-product-gallery .woocommerce-product-gallery,
.bc-product-gallery div.images {
  width: 100% !important;
  max-width: 500px;
  float: none !important;
  margin: 0 auto;
}

.bc-product-gallery .woocommerce-product-gallery,
.bc-product-gallery div.images {
  aspect-ratio: 1 / 1;
}
.bc-product-gallery .woocommerce-product-gallery__wrapper,
.bc-product-gallery .woocommerce-product-gallery__image {
  height: 100%;
}

.woocommerce-product-gallery__image img,
.woocommerce-product-gallery__wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}


.site-footer{background:#1a1d24;color:rgba(255,255,255,.72);border-top:0;margin-top:56px;padding:48px 0 28px}
.site-footer .bc-container{max-width:1400px}
.site-footer .footer-widgets{gap:32px 40px;padding-bottom:20px}
.site-footer .footer-col .widget-title,
.site-footer .footer-col .widgettitle,
.site-footer .footer-col h2,
.site-footer .footer-col h3{font-family:var(--bc-font-head);font-size:12.8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin:0 0 16px}
.site-footer .footer-col,
.site-footer .footer-col p,
.site-footer .footer-col li,
.site-footer .footer-col td{color:rgba(255,255,255,.72);font-size:14px;line-height:1.7}
/* 2026-08-11: footer links rendered ~18px tall — 24 of them per page, below the 24x24 minimum of
   WCAG 2.2 SC 2.5.8, and they sit in tight lists where a mis-tap hits the neighbouring link.
   inline-block + 3px block padding takes them to 24px. Applied to list links only (:not(.footer-brand__link))
   so the brand/logo link, which wraps an 18px-tall image and is sized by it, is left alone.
   The social icons are already 44x44 and are untouched. */
.site-footer .footer-col a{color:rgba(255,255,255,.72);text-decoration:none;transition:color .15s}
.site-footer .footer-col li > a:not(.footer-brand__link):not(.footer-social-link){display:inline-block;padding-block:3px}
.site-footer .footer-col a:hover{color:#fff}
.site-footer .footer-col img{filter:brightness(0) invert(1);opacity:.78;transition:opacity .15s;height:18px;width:auto}
.site-footer .footer-col a:hover img{opacity:1}
.site-footer .footer-navigation a{color:rgba(255,255,255,.72)}
.site-footer .footer-navigation a:hover{color:#fff}
.site-footer .site-copyright{color:rgba(255,255,255,.5);border-top:1px solid rgba(255,255,255,.1);margin-top:8px;padding-top:20px;font-size:13px;line-height:1.6}
.site-footer .site-copyright a{color:rgba(255,255,255,.72)}
.site-footer .site-copyright a:hover{color:#fff}


.site-footer .footer-top-bar{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:8px}
.site-footer .footer-top-bar__social{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}
.site-footer .footer-top-bar__social-label{font-size:12.8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin:0}
.site-footer .footer-social-list{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.site-footer .footer-social-list li{margin:0}
.site-footer .footer-social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;background:#fff;color:#1a1a1a;transition:opacity .15s,transform .15s}
.site-footer .footer-social-link:hover{opacity:.85;transform:translateY(-1px)}
.site-footer .footer-social-link__icon{display:flex;width:22px;height:22px}
.site-footer .footer-social-link__icon svg{width:22px;height:22px;display:block}
.site-footer .footer-back-to-top{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:12px;background:#fff;color:#1a1a1a;flex:0 0 auto;margin-left:auto;transition:opacity .15s,transform .15s}
.site-footer .footer-back-to-top:hover{opacity:.85;transform:translateY(-2px)}
.site-footer .footer-back-to-top__icon{display:flex;width:26px;height:26px}
.site-footer .footer-back-to-top__icon svg{width:26px;height:26px;display:block}

.site-footer #custom_html-7{display:none}
.site-footer .footer-widgets{padding-top:28px}


@font-face{font-family:'Roboto';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/roboto-latin-var.woff2') format('woff2')}

@font-face{font-family:'Inter Tight';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/inter-tight/inter-tight-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/inter-tight/inter-tight-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* CLS fix 2026-08-17: metric-matched fallback faces so the font-display:swap above no longer
   reflows text when the real webfont finishes loading. Values measured empirically in a live
   browser (canvas fontBoundingBoxAscent/Descent + text width for a representative German string
   incl. umlauts) comparing Roboto/Inter Tight against their actual rendered fallback (Arial /
   Segoe UI), then re-verified by re-measuring these exact @font-face rules — within 1px of the
   real font at a 100px test size. This is the standard "size-adjust" fallback-matching technique
   (same approach as Next.js's automatic font fallback); it does not change how Roboto/Inter Tight
   look once loaded, only what the PLACEHOLDER font occupies while they're loading.
   Measured 0.31-0.56 CLS (Google "poor" is >0.25) on every category/search/brand grid page before
   this fix — see projects\gustivo\reports\2026-08-17-sitewide-bugs-flicker-audit.md. */
@font-face{font-family:'Roboto Fallback';src:local('Arial');ascent-override:95%;descent-override:25%;line-gap-override:0%;size-adjust:98.87%}
@font-face{font-family:'Inter Tight Fallback';src:local('Segoe UI'),local('Arial');ascent-override:97%;descent-override:24%;line-gap-override:0%;size-adjust:98.07%}

:root{
  --bc-font-head:'Roboto','Roboto Fallback',-apple-system,BlinkMacSystemFont,Arial,Helvetica,sans-serif;
  --bc-font-body:'Roboto','Roboto Fallback',-apple-system,BlinkMacSystemFont,Arial,Helvetica,sans-serif;
}
body{font-family:var(--bc-font-body);font-size:16px;line-height:1.6}


.site-branding .site-logo .site-logo-img{height:36px!important;width:auto!important}


.woocommerce-cart .bc-main{background:#f2f2f2!important;padding-top:36px;padding-bottom:56px}
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}
.woocommerce-cart .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart form.woocommerce-cart-form{grid-column:1;margin:0}
.woocommerce-cart .cart-collaterals{grid-column:2;width:100%!important;float:none!important;margin:0}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%!important;float:none!important}

.woocommerce-cart .woocommerce:has(.cart-empty){display:flex!important;flex-direction:column;align-items:center;gap:22px;max-width:560px;margin:8px auto;background:#fff;border:1px solid var(--bc-hairline);border-radius:14px;padding:56px 32px;text-align:center;min-height:0!important}
.woocommerce-cart .cart-empty.woocommerce-info{background:none;border:0;padding:0;margin:0;font-size:18px;font-weight:600;color:var(--bc-ink)}
.woocommerce-cart .cart-empty.woocommerce-info::before{display:none}
.woocommerce-cart .woocommerce:has(.cart-empty) .return-to-shop{margin:0}

.woocommerce-cart table.cart{background:#fff;border:1px solid var(--bc-hairline);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;margin:0}
.woocommerce-cart table.cart thead th{background:#fafbfc;border:0;border-bottom:1px solid var(--bc-hairline);padding:15px 18px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--bc-muted);font-weight:700;text-align:left}
.woocommerce-cart table.cart td{border:0;border-bottom:1px solid var(--bc-hairline);padding:20px 18px;vertical-align:middle;background:transparent}
.woocommerce-cart table.cart tbody tr:last-child td{border-bottom:0}
.woocommerce-cart table.cart .product-name a{font-weight:700;color:var(--bc-ink);text-decoration:none}
.woocommerce-cart table.cart .product-name a:hover{color:var(--bc-navy)}
.woocommerce-cart table.cart .variation{margin:6px 0 0;font-size:12.5px;color:var(--bc-muted);line-height:1.6}
.woocommerce-cart table.cart .variation dt,.woocommerce-cart table.cart .variation dd{display:inline;margin:0;font-weight:400}
.woocommerce-cart table.cart .variation dd{margin-right:10px}
.woocommerce-cart .product-thumbnail img{width:74px;height:74px;object-fit:contain;border:1px solid var(--bc-hairline);border-radius:10px;background:#fff}
.woocommerce-cart .product-price,.woocommerce-cart .product-subtotal{font-weight:700;color:var(--bc-ink);white-space:nowrap}
.woocommerce-cart td.product-remove{width:40px}
.woocommerce-cart td.product-remove .remove{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid #d8dbe2;color:#5c6670!important;font-size:19px;line-height:1;text-decoration:none}
.woocommerce-cart td.product-remove .remove:hover{background:#fff;border-color:var(--bc-sale);color:var(--bc-sale)!important}

.woocommerce-cart .product-quantity .quantity{display:inline-flex;align-items:center;border:0;border-radius:8px;overflow:hidden;background:#f0f0f1}
.woocommerce-cart .product-quantity .quantity .qty{width:40px;border:0;text-align:center;font-weight:600;-moz-appearance:textfield;background:transparent;font-size:14px;color:#2a2a2a}
.woocommerce-cart .product-quantity .quantity .qty::-webkit-outer-spin-button,.woocommerce-cart .product-quantity .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bc-qty-step{width:36px;height:36px;border:0;background:transparent;color:#333;font-size:18px;font-weight:500;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
.bc-qty-step:hover{background:rgba(0,0,0,.06)}

.woocommerce-cart .cart_totals{background:#fff;border:1px solid var(--bc-hairline);border-radius:14px;padding:22px 22px 24px}
.woocommerce-cart .cart_totals h2{font-family:var(--bc-font-head);font-size:14px;letter-spacing:.05em;text-transform:uppercase;margin:0 0 12px;color:var(--bc-ink);border:0}
.woocommerce-cart .cart_totals table{margin:0;border:0;width:100%}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{border:0;border-bottom:1px solid var(--bc-hairline);padding:12px 0;font-size:14px;background:transparent}
.woocommerce-cart .cart_totals table th{font-weight:600;color:var(--bc-body);text-align:left}
.woocommerce-cart .cart_totals td{text-align:right;color:var(--bc-ink)}
.woocommerce-cart .cart_totals tr.order-total th,.woocommerce-cart .cart_totals tr.order-total td{border-bottom:0;padding-top:14px;font-size:18px;font-weight:800;color:var(--bc-navy)}

.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block!important;width:100%;background:var(--bc-navy)!important;color:#fff!important;text-transform:uppercase;letter-spacing:.04em;font-weight:700;border-radius:10px;padding:16px;text-align:center;font-size:15px}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--bc-navy-dark)!important}

.woocommerce-cart button[name=update_cart],.woocommerce-cart input[name=update_cart]{display:none!important}
.woocommerce-cart .cart td.actions,.woocommerce-cart .woocommerce-cart-form .actions{text-align:left;padding:0!important;background:transparent!important;border:0!important}
.woocommerce-cart .cart .actions .coupon{display:flex;gap:8px;float:left;padding:14px 0 0}
.woocommerce-cart .cart .actions .coupon input{border:1px solid var(--bc-hairline);border-radius:8px;padding:10px 12px}
.woocommerce-cart .cart .actions .coupon .button{border-radius:8px}

@media(max-width:900px){.woocommerce-cart .woocommerce{grid-template-columns:1fr}.woocommerce-cart form.woocommerce-cart-form,.woocommerce-cart .cart-collaterals{grid-column:1}}


.woocommerce-pagination{text-align:center!important;margin-top:24px!important;margin-bottom:0!important}
.woocommerce-pagination ul.page-numbers{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:8px!important;list-style:none!important;margin:0!important;padding:0!important;border:0!important}
.woocommerce-pagination ul.page-numbers li{display:flex!important;margin:0!important;padding:0!important;border:0!important;list-style:none!important}
.woocommerce-pagination ul.page-numbers li::before,.woocommerce-pagination ul.page-numbers li::after{content:none!important}
.woocommerce-pagination ul.page-numbers li .page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-width:40px!important;height:40px!important;padding:0 6px!important;margin:0!important;border:1px solid transparent!important;border-radius:4px!important;font-size:14px!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;transition:background-color .15s ease,border-color .15s ease,color .15s ease!important}
.woocommerce-pagination ul.page-numbers li a.page-numbers{background-color:#EAEAEA!important;border-color:#EAEAEA!important;color:#323232!important}
.woocommerce-pagination ul.page-numbers li a.page-numbers:hover,.woocommerce-pagination ul.page-numbers li a.page-numbers:focus-visible{background-color:#dcdcdc!important;border-color:#dcdcdc!important;color:#1b1c22!important}
.woocommerce-pagination ul.page-numbers li span.page-numbers.current{background-color:#262182!important;border-color:#262182!important;color:#fff!important}
.woocommerce-pagination ul.page-numbers li span.page-numbers.dots{background:transparent!important;border-color:transparent!important;color:#888!important;font-weight:700!important;min-width:24px!important;padding:0!important}
.woocommerce-pagination ul.page-numbers li a.page-numbers.next,.woocommerce-pagination ul.page-numbers li a.page-numbers.prev{background-color:#262182!important;border-color:#262182!important;color:#fff!important;font-size:16px!important;font-weight:700!important;min-width:44px!important;padding:0 16px!important}
.woocommerce-pagination ul.page-numbers li a.page-numbers.next:hover,.woocommerce-pagination ul.page-numbers li a.page-numbers.prev:hover{background-color:#1a1560!important;border-color:#1a1560!important;color:#fff!important}
@media(max-width:600px){.woocommerce-pagination ul.page-numbers{gap:6px!important}.woocommerce-pagination ul.page-numbers li .page-numbers{min-width:36px!important;height:36px!important;font-size:13px!important}}


@media (min-width:768px){
  .woocommerce-cart table.cart{width:100%}
  .woocommerce-cart table.cart td{vertical-align:top}
  .woocommerce-cart table.cart td.product-price,
  .woocommerce-cart table.cart td.product-quantity,
  .woocommerce-cart table.cart td.product-subtotal{padding-top:20px}
  .woocommerce-cart table.cart th.product-subtotal,
  .woocommerce-cart table.cart td.product-subtotal{text-align:right}
}

@media (max-width:1023px){
  .top-bar__nav a{display:inline-block;padding:11px 6px}
  .bc-lang-item{padding:11px 16px}
  .site-footer .footer-navigation a{display:inline-block;padding:8px 0}
  .bc-offcanvas__close{padding:11px;min-width:44px;min-height:44px}
  .site-footer .footer-social-link{width:44px;height:44px}
}

@media (max-width:767px){
  .bc-qty-step{width:44px;height:44px}
  .woocommerce-cart .product-quantity .quantity .qty{height:44px}
}

@media (max-width:767px){
  form.cart .single_add_to_cart_button,
  .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 auto}
}

@media (max-width:1023px){
  .bc-product-main{gap:28px}
  .bc-product-gallery,.bc-product-summary{flex:1 1 100%;max-width:100%}
}
@media (max-width:767px){.bc-product-main{gap:24px}}

@media (max-width:1023px){
  .woocommerce-cart .woocommerce{grid-template-columns:1fr}
  .woocommerce-cart form.woocommerce-cart-form,.woocommerce-cart .cart-collaterals{grid-column:1}
}

.bc-offcanvas--menu .sub-menu{padding-left:16px}
.bc-offcanvas--menu .sub-menu .sub-menu{padding-left:28px}
.bc-offcanvas--menu .sub-menu a{text-transform:none;font-weight:500;font-size:13.5px}

@media (max-width:480px){
  .site-tools{gap:2px;margin-left:auto}
  .bc-tools-button{padding:7px}
}


body.woocommerce-cart .bc-main .woocommerce,
body.woocommerce-checkout .bc-main .woocommerce{max-width:var(--bc-container);margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;box-sizing:border-box;width:100%}
@media (min-width:1024px){
  body.woocommerce-cart .bc-main .woocommerce,
  body.woocommerce-checkout .bc-main .woocommerce{padding-left:50px;padding-right:50px}
}


@media(min-width:1025px){
 .site-mainnav>.bc-container{position:relative}
 .main-menu>li.menu-item-has-children{position:static}
 .main-menu>li.menu-item-has-children>.sub-menu{
   position:absolute;left:0;right:0;top:100%;width:100%;min-width:0;
   /* 2026-08-23: auto-FIT (not auto-fill) + a 115-150px range, not a fixed 140px track.
      auto-fit collapses empty implicit tracks and lets the browser's own track-stretch
      distribute their freed space among the tiles that actually exist -- so a row that's one
      or two short of a full row (e.g. 7 of a possible 8) has its 7 tiles grow toward 150px to
      close the trailing gap, instead of leaving blank space at the row's end (site owner,
      2026-08-23: wanted tiles a bit smaller AND stretching to fill instead of leaving a gap).
      With plain auto-FILL those empty tracks stay reserved and just show as dead space.
      Cap stays modest (150px, barely above the old fixed 140px) so a genuinely sparse tab
      (e.g. "Gedeckter Tisch & Service", 2 tiles) doesn't blow the tiles up trying to fill the
      whole row -- that residual case needs the PANEL itself to shrink-to-content-width, a
      separate change, not this track sizing. */
   display:grid;grid-template-columns:repeat(auto-fit,minmax(min(115px,100%),150px));gap:20px;
   max-height:calc(100vh - 140px);overflow-y:auto;
   padding:28px 32px 34px;border:1px solid var(--bc-hairline);border-top:2px solid var(--bc-navy);
   box-shadow:0 24px 60px -20px rgba(20,22,28,.30);background:#fff}
 .main-menu>li>.sub-menu>li{position:static}
 .main-menu>li>.sub-menu>li>.sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:block;box-shadow:none;border:0;padding:0;min-width:0;background:transparent}
 .main-menu>li>.sub-menu>li>.sub-menu a{padding:5px 0;white-space:normal;font-size:13.5px;color:var(--bc-body)}

}


.gcp-tile{flex:0 0 min(155px,45vw);scroll-snap-align:start;display:block;text-decoration:none;text-align:center}
.gcp-frame2{display:block;position:relative;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#fff;
  box-shadow:0 1px 3px rgba(20,22,28,.08),0 6px 16px -8px rgba(20,22,28,.20);transition:box-shadow .2s,transform .2s}
.gcp-tile:hover .gcp-frame2{box-shadow:0 14px 32px -10px rgba(20,22,28,.30);transform:translateY(-2px)}
.gcp-frame2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:9%;transition:transform .45s ease}
.gcp-tile:hover .gcp-frame2 img{transform:scale(1.045)}

.gcp-frame2 .gcp-bg-layer{position:absolute;inset:9%;background-size:contain;background-position:center;background-repeat:no-repeat;transition:transform .45s ease}
.gcp-tile:hover .gcp-frame2 .gcp-bg-layer{transform:scale(1.045)}
.gcp-label{display:block;margin-top:10px;font-size:14px;font-weight:600;line-height:1.15;letter-spacing:-.01em;color:#15171c}
.gcp-tile.active .gcp-badge{background:var(--gcp-brand);color:#fff}
.gcp-tile.active .gcp-label{color:var(--gcp-brand);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}


@media(min-width:1025px){
 .main-menu>li.menu-item-has-children>.sub-menu{transition:opacity .16s ease,transform .16s ease,visibility .16s ease;opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none}
 .main-menu>li.menu-item-has-children.bc-mm-open>.sub-menu,
 .main-menu>li.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
 .main-menu>li.bc-mm-open>a{color:var(--bc-navy)}

 .main-menu>li.menu-item-has-children:hover>a::after{transform:translateY(-2px) rotate(45deg)}
 .main-menu>li.menu-item-has-children.bc-mm-open>a::after,
 .main-menu>li.menu-item-has-children:focus-within>a::after{transform:translateY(0) rotate(225deg)}
}


@media(min-width:1025px){
 .main-menu>li.menu-item-has-children>.sub-menu li>.sub-menu{
   position:static!important;left:auto!important;right:auto!important;top:auto!important;
   opacity:1!important;visibility:visible!important;transform:none!important;display:block!important;
   box-shadow:none!important;border:0!important;padding:0!important;margin:0!important;
   min-width:0!important;background:transparent!important;transition:none!important}
}


.bc-page--doc{padding-top:48px}
.bc-page--doc .entry-title,
.bc-page--doc .entry-content{max-width:820px}
.bc-page--doc .entry-content table{width:100%}
@media(max-width:600px){
 .bc-page--doc{padding-top:28px}
}

.bc-trust-box{display:flex;gap:16px;align-items:flex-start;background:var(--bc-lavender);border-radius:14px;padding:22px 26px;box-shadow:0 1px 3px rgba(0,0,0,.06);margin:28px 0}
.bc-trust-box__icon{flex:0 0 auto;width:30px;height:30px;color:var(--bc-navy)}
.bc-trust-box__icon svg{width:30px;height:30px;display:block}
.bc-trust-box__title{margin:0 0 8px;font-family:var(--bc-font-head);font-size:20px;line-height:1.3;font-weight:700;color:var(--bc-navy)}
.bc-trust-box__text{margin:0;color:var(--bc-body)}
@media(max-width:600px){
 .bc-trust-box{padding:18px 18px;gap:12px;border-radius:12px}
 .bc-trust-box__title{font-size:18px}
}


@media(max-width:600px){
 .woocommerce-product-gallery .flex-control-thumbs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding-bottom:4px}
 .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar{display:none}
 .woocommerce-product-gallery .flex-control-thumbs li{flex:0 0 80px;border-radius:8px;overflow:hidden}
 .woocommerce-product-gallery .flex-control-thumbs img{border-radius:8px;width:80px;height:80px;object-fit:cover}

 .woocommerce-product-gallery .flex-prev,.woocommerce-product-gallery .flex-next{display:block!important;opacity:.75;width:36px;height:36px;line-height:36px;font-size:18px;background:rgba(255,255,255,.85);border-radius:50%;text-align:center;top:50%;transform:translateY(-50%)}

 .site-branding .site-logo .site-logo-img{height:25px!important}
}


.single_add_to_cart_button,
.wc-proceed-to-checkout a.checkout-button,
form.checkout #place_order:not(.ppcp-hidden){
  border-radius:10px !important;
  box-shadow:0 6px 16px rgba(38,33,130,.30) !important;
}

form.checkout #place_order:not(.ppcp-hidden){background:var(--bc-navy) !important;border-color:var(--bc-navy) !important;color:#fff !important}
form.checkout #place_order:not(.ppcp-hidden):hover{background:var(--bc-navy-dark) !important;border-color:var(--bc-navy-dark) !important}


@media (min-width:901px){
  .woocommerce div.product div.images .flex-control-thumbs{ display:none !important; }
  .gus-mediarows{ margin-top:14px; display:flex; flex-direction:column; gap:10px; padding-right:8px; }
  .gus-mrow{ display:flex; align-items:center; gap:12px; }
  .gus-mrow-strip{ overflow:hidden; flex:1 1 auto; }
  .gus-mrow-track{ display:flex; gap:10px; transition:transform .28s ease; }
  .gus-tile{
    position:relative; flex:0 0 56px; width:56px; height:56px; background:#fff;
    padding:0; overflow:hidden;
    border:1px solid var(--bc-hairline); border-radius:4px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:border-color .15s;
  }
  .gus-tile img{ width:100%; height:100%; object-fit:contain; display:block; }

  .bc-product-gallery .flex-viewport{ border-radius:4px; }
  .gus-tile:hover,.gus-tile.is-active,.gus-tile:focus-visible{ border-color:var(--bc-navy); outline:none; }
  .gus-tile .gus-badge{
    position:absolute; inset:2px; display:flex; align-items:center; justify-content:center;
    background:rgba(20,22,45,.42); border-radius:3px; color:#fff; pointer-events:none;
  }
  .gus-tile .gus-badge.t360{ background:rgba(20,22,45,.55); font-weight:700; font-size:14px; letter-spacing:.5px; }
  .gus-sarrow{
    flex:0 0 32px; width:32px; height:56px; display:flex; align-items:center; justify-content:center;
    background:#fff; border:1px solid var(--bc-hairline); border-radius:4px; cursor:pointer; color:#444; padding:0;
  }
  .gus-sarrow:hover{ border-color:var(--bc-navy); }
  .gus-sarrow[disabled]{ opacity:.3; cursor:default; }
  .gus-sarrow.is-spacer{ visibility:hidden; pointer-events:none; }
  .gus-media-note{ margin:2px 0 0; font-size:12px; line-height:1.4; color:var(--bc-muted,#6b7280); }
  .gus-modal{
    position:fixed; inset:0; z-index:99999; background:rgba(10,12,25,.72);
    display:flex; align-items:center; justify-content:center; padding:24px;
  }
  .gus-modal-inner{ position:relative; width:min(960px,100%); aspect-ratio:16/9; background:#000; border-radius:8px; overflow:hidden; }
  .gus-modal-inner iframe{ width:100%; height:100%; border:0; display:block; }
  .gus-modal-close{
    position:absolute; top:8px; right:8px; z-index:2; background:#fff; border:1px solid var(--bc-hairline);
    border-radius:6px; width:32px; height:32px; cursor:pointer; line-height:1; font-size:18px; color:#222;
  }
}


@media (max-width:900px){
  .woocommerce div.product div.images .flex-control-thumbs{ display:none !important; }
  .gus-mediarows{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
  .gus-mrow{ display:flex; align-items:center; gap:0; }
  .gus-sarrow{ display:none !important; }
  .gus-mrow-strip{ flex:1 1 auto; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .gus-mrow-strip::-webkit-scrollbar{ display:none; }
  .gus-mrow-track{ display:flex; gap:8px; transform:none !important; }
  .gus-tile{
    position:relative; flex:0 0 64px; width:64px; height:64px; background:#fff;
    border:1px solid var(--bc-hairline); border-radius:6px; cursor:pointer; overflow:hidden;
    display:flex; align-items:center; justify-content:center; padding:0;
  }
  .gus-tile img{ width:100%; height:100%; object-fit:contain; display:block; }
  .gus-tile.is-active{ border-color:var(--bc-navy); }
  .bc-product-gallery .flex-viewport{ border-radius:6px; }
  .gus-tile .gus-badge{
    position:absolute; inset:1px; display:flex; align-items:center; justify-content:center;
    background:rgba(20,22,45,.42); border-radius:5px; color:#fff; pointer-events:none;
  }
  .gus-tile .gus-badge.t360{ background:rgba(20,22,45,.55); font-weight:700; font-size:14px; letter-spacing:.5px; }
  .gus-media-note{ margin:2px 0 0; font-size:11px; line-height:1.45; color:var(--bc-muted,#6b7280); }
  .gus-modal{ position:fixed; inset:0; z-index:99999; background:rgba(10,12,25,.8); display:flex; align-items:center; justify-content:center; padding:12px; }
  .gus-modal-inner{ position:relative; width:100%; aspect-ratio:16/9; background:#000; border-radius:8px; overflow:hidden; }
  .gus-modal-inner iframe{ width:100%; height:100%; border:0; display:block; }
  .gus-modal-close{ position:absolute; top:8px; right:8px; z-index:2; background:#fff; border:1px solid var(--bc-hairline); border-radius:6px; width:36px; height:36px; cursor:pointer; font-size:18px; color:#222; }
}


.bc-product-gallery .flex-viewport{ position:relative; }
.gus-img-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:6;
  width:46px; height:46px; border:0; border-radius:50%; padding:0; cursor:pointer;
  background:#f0f0f1; color:#1a1a1a;
  box-shadow:0 6px 18px -6px rgba(20,22,28,.14);
  display:flex; align-items:center; justify-content:center;
  transition:background .15s, box-shadow .15s;
}
.gus-img-nav:hover{ background:#e6e6e7; box-shadow:0 6px 18px -6px rgba(20,22,28,.14); }
.gus-img-nav:focus-visible{ outline:2px solid var(--bc-navy); outline-offset:2px; }
.gus-img-nav.prev{ left:12px; }
.gus-img-nav.next{ right:12px; }
@media (max-width:900px){
  .gus-img-nav{ width:44px; height:44px; }
  .gus-img-nav.prev{ left:8px; }
  .gus-img-nav.next{ right:8px; }
}

/* 2026-08-19 (the site owner): video/360 tiles now swap the main gallery slide inline
   (matching Maxima's own product pages) instead of opening a popup modal. */
.gus-inline-embed{ position:absolute; inset:0; z-index:7; background:#000; border-radius:inherit; overflow:hidden; }
.gus-inline-embed iframe{ width:100%; height:100%; border:0; display:block; }


@media (min-width:901px){
  .gus-sarrow{ display:none !important; }
  .gus-mrow{ gap:0; }
  .gus-mrow-strip{ flex:1 1 auto; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .gus-mrow-strip::-webkit-scrollbar{ display:none; }
  .gus-mrow-track{ transform:none !important; }
}


@media (min-width:901px){

  .bc-product-gallery{ flex:1 1 calc(60% - 24px) !important; max-width:calc(60% - 24px) !important; }
  .bc-product-summary{ flex:1 1 calc(40% - 24px) !important; max-width:calc(40% - 24px) !important; }

  .bc-product-gallery .woocommerce-product-gallery,
  .bc-product-gallery div.images{ max-width:100% !important; }
}


.woocommerce-Tabs-panel ul + p,
.woocommerce-Tabs-panel ul + h2,
.woocommerce-Tabs-panel ul + h3,
.woocommerce-Tabs-panel ul + h4,
.woocommerce-Tabs-panel ol + p,
.woocommerce-Tabs-panel ol + h2,
.woocommerce-Tabs-panel ol + h3,
.woocommerce-Tabs-panel ol + h4,
.gustivo-seo-content ul + p,
.gustivo-seo-content ul + h3,
.gustivo-seo-content ul + h4{ margin-top:18px; }


.woocommerce div.product form.cart .quantity.gustivo-stepper,
.quantity.gustivo-stepper{ border:0 !important; box-shadow:none !important; }


.bc-product-gallery .onsale.gc-discount-badge,
.bc-product-gallery span.onsale{
  font-size:17px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  padding:9px 15px !important;
  border-radius:6px !important;
  letter-spacing:.3px;
  top:12px !important;
  left:12px !important;
  z-index:7;
}
@media (max-width:900px){
  .bc-product-gallery .onsale.gc-discount-badge,
  .bc-product-gallery span.onsale{
    font-size:14px !important;
    padding:7px 12px !important;
    top:8px !important;
    left:8px !important;
  }
}


@media all {
  .bc-product-gallery .woocommerce-product-gallery,
  .bc-product-gallery div.images{ aspect-ratio:auto !important; }
  .bc-product-gallery .woocommerce-product-gallery__wrapper,
  .bc-product-gallery .woocommerce-product-gallery__image{ height:auto !important; }

  .bc-product-gallery .woocommerce-product-gallery__image img{
    height:auto !important;
    max-height:none !important;
    object-fit:contain;
    object-position:center top;
  }
}


.gustivo-xsell{ margin:48px 0 0; padding:40px 0 8px; border-top:1px solid var(--bc-hairline); background:#fbfbfc; }
.gustivo-xsell__title{ font-family:var(--bc-font-head); font-size:22px; font-weight:600; color:var(--bc-heading); margin:0 0 22px; }
.gustivo-xsell ul.products{ margin:0; }
@media (max-width:900px){
  .gustivo-xsell{ margin-top:32px; padding:28px 0 4px; }
  .gustivo-xsell__title{ font-size:19px; margin-bottom:16px; }
}


body{background:#f8f8f8}


@media (prefers-reduced-motion: no-preference){
  html{scroll-behavior:smooth}
}


/* ---- Faire-Preise trust banner (product page, below short description) — 2026-08-17 ---- */
.gustivo-trust-banner{margin:16px 0;background:#fff;border-radius:14px;padding:18px 20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.gustivo-trust-banner__eyebrow-row{display:flex;align-items:center;gap:8px;margin:0 0 8px}
.gustivo-trust-banner__dot{width:7px;height:7px;border-radius:50%;background:var(--bc-navy);flex:0 0 auto;position:relative}
.gustivo-trust-banner__dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--bc-navy);opacity:0;transform:scale(.6);animation:gtbPing 1.8s ease-out .3s infinite}
@keyframes gtbPing{0%{opacity:.7;transform:scale(.6)}100%{opacity:0;transform:scale(1.9)}}
.gustivo-trust-banner__eyebrow{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--bc-navy)}
.gustivo-trust-banner__title{margin:0 0 8px;font-family:var(--bc-font-head);font-size:16.5px;font-weight:700;color:var(--bc-ink)}
.gustivo-trust-banner__body p{margin:0 0 6px;font-size:13.5px;line-height:1.55;color:var(--bc-body)}
.gustivo-trust-banner__body p:last-child{margin-bottom:0}
@media(prefers-reduced-motion:reduce){
  .gustivo-trust-banner__dot::after{animation:none;opacity:0}
}

/* ---------------------------------------------------------------------------
   Cookie settings: bc-reopen retired (2026-09-02, the site owner).
   The floating button duplicated the footer's own "Cookie-Einstellungen" link
   (footer.php, Rechtliches column) -- the consent script binds every
   .gustivo-consent-open element, so the footer link opens the identical panel.
   Consent withdrawal therefore stays one click away on every page.
   Revert: delete this block.
   --------------------------------------------------------------------------- */
body .bc-reopen { display: none; }

/* ---------------------------------------------------------------------------
   to-top moved to the LEFT corner (2026-09-02, the site owner: "left uptop. right chatbot").
   The chat launcher occupies the bottom-right; the two used to stack there, which
   forced a 72px lift on this button. Opposite corners removes that entirely -- the
   lift is deleted from gustivo-tawkto-chat.php in the same change.
   Revert: delete this block (and restore the lift if chat returns to the left).
   --------------------------------------------------------------------------- */
body .bc-to-top { right: auto; left: 24px; }
@media (max-width: 767px) { body .bc-to-top { left: 16px; } }
