/**
 * OneStorefront — Vollständige Shop-Optik = Kalorienrechner (Brand #1789ad, Accent #35D7FF, Glas).
 * Scope: body.osf-shop-cc-theme — Header, Footer, Startseite, OPC, PLP, PDP, Warenkorb.
 */

/* ========== NOVA/Bootstrap Token-Overrides ========== */
.osf-shop-cc-theme {
  --primary: var(--osf-brand, #1789ad);
  --secondary: var(--osf-muted, #64748b);
}

.osf-shop-cc-theme .text-primary {
  color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme a.text-primary:hover {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme .bg-primary,
.osf-shop-cc-theme .badge-primary {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  border-color: transparent !important;
}

.osf-shop-cc-theme .border-primary {
  border-color: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
}

/* ========== Seitenhintergrund ========== */
.osf-shop-cc-theme,
.osf-shop-cc-theme #content-wrapper {
  background: linear-gradient(
    165deg,
    rgba(var(--osf-brand-rgb, 23, 137, 173), 0.09) 0%,
    rgba(var(--osf-accent-rgb, 53, 215, 255), 0.05) 28%,
    var(--osf-surface, #f5f8fa) 32%
  );
  background-color: var(--osf-surface, #f5f8fa);
}

/* ========== Typografie global ========== */
.osf-shop-cc-theme h1,
.osf-shop-cc-theme h2,
.osf-shop-cc-theme h3,
.osf-shop-cc-theme h4,
.osf-shop-cc-theme h5,
.osf-shop-cc-theme h6,
.osf-shop-cc-theme .h1,
.osf-shop-cc-theme .h2,
.osf-shop-cc-theme .h3,
.osf-shop-cc-theme .hr-sect,
.osf-shop-cc-theme .productlist-filter-headline,
.osf-shop-cc-theme .card-title {
  color: var(--osf-heading, #000000) !important;
  font-weight: 700;
}

.osf-shop-cc-theme .text-muted,
.osf-shop-cc-theme small,
.osf-shop-cc-theme .form-text,
.osf-shop-cc-theme .vat_info,
.osf-shop-cc-theme .base-price {
  color: var(--osf-muted, #64748b) !important;
}

/* ========== Links ========== */
.osf-shop-cc-theme #content-wrapper a:not(.btn):not(.dropdown-item):not(.page-link):not(.badge):not(.nav-link) {
  color: var(--osf-brand, #1789ad);
}

.osf-shop-cc-theme #content-wrapper a:not(.btn):not(.dropdown-item):hover {
  color: var(--osf-accent, #35d7ff);
}

/* ========== Buttons = Kalorienrechner-CTA (Pill + Brand→Accent-Verlauf) ========== */
.osf-shop-cc-theme {
  --osf-btn-gradient: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%);
  --osf-btn-gradient-hover: linear-gradient(135deg, var(--osf-accent, #35d7ff) 0%, var(--osf-brand, #1789ad) 100%);
  --osf-btn-shadow: 0 8px 24px rgba(var(--osf-brand-rgb, 23, 137, 173), 0.22), 0 4px 16px rgba(var(--osf-accent-rgb, 53, 215, 255), 0.32);
  --osf-btn-shadow-sm: 0 4px 16px rgba(var(--osf-brand-rgb, 23, 137, 173), 0.22), 0 2px 10px rgba(var(--osf-accent-rgb, 53, 215, 255), 0.28);
  --osf-btn-pill-radius: 9999px;
}

/* Shared primary CTA — same recipe as .osf-store-locator__route-btn */
.osf-btn-primary,
.osf-shop-cc-theme .osf-btn-primary,
.osf-shop-cc-theme .osf-store-locator__route-btn.btn-primary {
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  background-color: transparent !important;
  border: none !important;
  border-color: transparent !important;
  border-radius: var(--osf-btn-pill-radius) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: var(--osf-btn-shadow-sm) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.osf-btn-primary:hover,
.osf-btn-primary:focus,
.osf-shop-cc-theme .osf-btn-primary:hover,
.osf-shop-cc-theme .osf-btn-primary:focus,
.osf-shop-cc-theme .osf-store-locator__route-btn.btn-primary:hover,
.osf-shop-cc-theme .osf-store-locator__route-btn.btn-primary:focus {
  background: var(--osf-btn-gradient-hover) !important;
  background-image: var(--osf-btn-gradient-hover) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  box-shadow: var(--osf-btn-shadow) !important;
  transform: translateY(-1px);
}

/* Pill-Form (wie .upcode-cc__btn--cta) — Ausnahmen: Link, Close, Nav-Toggler, Slider, reine Text-Filter */
.osf-shop-cc-theme .btn:not(.btn-link):not(.btn-close):not(.navbar-toggler):not(.page-link):not(.slick-arrow):not(.btn-filter-box):not(.dropdown-toggle):not(.btn-skip-to):not(.osf-search-submit),
.osf-shop-cc-theme a.btn:not(.btn-link):not(.page-link):not(.osf-search-submit),
.osf-shop-cc-theme button.btn:not(.navbar-toggler):not(.slick-arrow):not(.osf-search-submit),
.osf-shop-cc-theme input[type="submit"].btn:not(.osf-search-submit),
.osf-shop-cc-theme input[type="button"].btn:not(.osf-search-submit) {
  border-radius: var(--osf-btn-pill-radius) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.osf-shop-cc-theme .btn-sm:not(.btn-link) {
  border-radius: var(--osf-btn-pill-radius) !important;
  min-height: 2.25rem;
}

.osf-shop-cc-theme .btn-lg:not(.btn-link),
.osf-shop-cc-theme .btn-block.btn-primary,
.osf-shop-cc-theme #cart-checkout-btn,
.osf-shop-cc-theme #add-to-cart .btn-primary {
  min-height: 3rem;
  font-size: 1rem;
}

/* Primary CTAs = Route planen (gradient pill); not .btn-link / .btn-outline-secondary / generic .btn-secondary */
.osf-shop-cc-theme .btn-primary:not(.btn-link):not(.page-link):not(.osf-search-submit),
.osf-shop-cc-theme a.btn-primary:not(.btn-link):not(.page-link):not(.osf-search-submit),
.osf-shop-cc-theme button.btn-primary:not(.osf-search-submit),
.osf-shop-cc-theme input.btn-primary[type="submit"]:not(.osf-search-submit),
.osf-shop-cc-theme .btn-submit,
.osf-shop-cc-theme .btn-osf-plp-gallery-cta,
.osf-shop-cc-theme .basket-details-add-to-cart,
.osf-shop-cc-theme .basket-details-add-to-cart.btn-osf-plp-gallery-cta,
.osf-shop-cc-theme .osf-plp .basket-details-add-to-cart.btn-osf-plp-gallery-cta,
.osf-shop-cc-theme #add-to-cart .btn-primary,
.osf-shop-cc-theme #add-to-cart button.btn-primary,
.osf-shop-cc-theme .osf-pdp-buybox #add-to-cart .btn-primary,
.osf-shop-cc-theme #cart-checkout-btn,
.osf-shop-cc-theme .osf-cart-drawer__btn--primary,
.osf-shop-cc-theme .btn-basket.btn-primary,
.osf-shop-cc-theme .osf-plp-intro__toggle,
.osf-shop-cc-theme .osf-plp .osf-plp-intro__toggle,
.osf-shop-cc-theme .osf-footer-newsletter .btn,
.osf-shop-cc-theme #newsletter_email ~ .input-group-append .btn,
.osf-shop-cc-theme .productlist-filter-footer .btn-primary,
.osf-shop-cc-theme .consent-btn-primary,
.osf-shop-cc-theme #consent-manager .consent-btn-primary,
.osf-shop-cc-theme .btn-animated .btn-primary,
.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-actions .btn-osf-plp-gallery-cta,
.osf-shop-cc-theme header .search-wrapper .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .main-search .input-group-append .osf-search-submit {
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  background-color: transparent !important;
  border: none !important;
  border-color: transparent !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: var(--osf-btn-shadow-sm) !important;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.osf-shop-cc-theme .btn-primary:not(.btn-link):hover,
.osf-shop-cc-theme .btn-primary:not(.btn-link):focus,
.osf-shop-cc-theme .btn-primary:not(.btn-link):focus-visible,
.osf-shop-cc-theme .btn-primary:not(.btn-link):active,
.osf-shop-cc-theme a.btn-primary:not(.btn-link):hover,
.osf-shop-cc-theme a.btn-primary:not(.btn-link):focus,
.osf-shop-cc-theme button.btn-primary:hover,
.osf-shop-cc-theme button.btn-primary:focus,
.osf-shop-cc-theme input.btn-primary[type="submit"]:hover,
.osf-shop-cc-theme .btn-submit:hover,
.osf-shop-cc-theme .btn-submit:focus,
.osf-shop-cc-theme .btn-osf-plp-gallery-cta:hover,
.osf-shop-cc-theme .btn-osf-plp-gallery-cta:focus,
.osf-shop-cc-theme .basket-details-add-to-cart:hover,
.osf-shop-cc-theme .basket-details-add-to-cart:focus,
.osf-shop-cc-theme #add-to-cart .btn-primary:hover,
.osf-shop-cc-theme #add-to-cart .btn-primary:focus,
.osf-shop-cc-theme #cart-checkout-btn:hover,
.osf-shop-cc-theme #cart-checkout-btn:focus,
.osf-shop-cc-theme .osf-cart-drawer__btn--primary:hover,
.osf-shop-cc-theme .osf-plp-intro__toggle:hover,
.osf-shop-cc-theme .osf-plp-intro__toggle:focus,
.osf-shop-cc-theme .osf-footer-newsletter .btn:hover,
.osf-shop-cc-theme .osf-footer-newsletter .btn:focus,
.osf-shop-cc-theme #newsletter_email ~ .input-group-append .btn:hover,
.osf-shop-cc-theme #newsletter_email ~ .input-group-append .btn:focus,
.osf-shop-cc-theme .consent-btn-primary:hover,
.osf-shop-cc-theme .consent-btn-primary:focus,
.osf-shop-cc-theme .btn-animated .btn-primary:hover,
.osf-shop-cc-theme .btn-animated .btn-primary:focus,
.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-actions .btn-osf-plp-gallery-cta:hover,
.osf-shop-cc-theme header .osf-search-submit:hover,
.osf-shop-cc-theme header .osf-search-submit:focus {
  background: var(--osf-btn-gradient-hover) !important;
  background-image: var(--osf-btn-gradient-hover) !important;
  background-color: transparent !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  box-shadow: var(--osf-btn-shadow) !important;
  transform: translateY(-1px);
}

.osf-shop-cc-theme .btn-outline-primary,
.osf-shop-cc-theme .btn-outline-secondary {
  border: 1px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.45) !important;
  color: var(--osf-brand, #1789ad) !important;
  background: rgba(255, 255, 255, 0.55) !important;
  box-shadow: none !important;
}

.osf-shop-cc-theme .btn-outline-primary:hover,
.osf-shop-cc-theme .btn-outline-primary:focus,
.osf-shop-cc-theme .btn-outline-secondary:hover,
.osf-shop-cc-theme .btn-outline-secondary:focus {
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  border-color: transparent !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  box-shadow: var(--osf-btn-shadow-sm) !important;
}

/* Ghost-Buttons: Pill + Rahmen, Hover mit Verlauf */
.osf-shop-cc-theme .btn-ghost,
.osf-shop-cc-theme .upcode-cc__btn--ghost {
  border-radius: var(--osf-btn-pill-radius) !important;
  border: 1px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
  background: transparent !important;
  color: var(--osf-heading, #000000) !important;
  box-shadow: none !important;
}

.osf-shop-cc-theme .btn-ghost:hover,
.osf-shop-cc-theme .upcode-cc__btn--ghost:hover {
  background: var(--osf-btn-gradient) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  border-color: transparent !important;
}

/* Gefahr/Löschen: Pill, aber rot (kein Marketing-Verlauf) */
.osf-shop-cc-theme .btn-danger {
  border-radius: var(--osf-btn-pill-radius) !important;
}

/* Input-Gruppen: nur äußere Ecken pill (not .osf-pill-input-group — clipped wrapper like newsletter) */
.osf-shop-cc-theme .input-group:not(.osf-pill-input-group) > .input-group-append:last-child > .btn,
.osf-shop-cc-theme .input-group:not(.osf-pill-input-group) > .input-group-append:last-child > .btn:first-child {
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: var(--osf-btn-pill-radius) !important;
  border-bottom-right-radius: var(--osf-btn-pill-radius) !important;
}

.osf-shop-cc-theme .input-group > .input-group-prepend:first-child > .btn {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-top-left-radius: var(--osf-btn-pill-radius) !important;
  border-bottom-left-radius: var(--osf-btn-pill-radius) !important;
}

.osf-shop-cc-theme header .search-wrapper .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .main-search .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group-append .osf-search-submit {
  border-radius: 0 !important;
  min-height: 2.75rem;
  border: none !important;
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  box-shadow: none !important;
}

/* Quantity +/- — pill shape only, no marketing gradient */
.osf-shop-cc-theme .form-counter .btn,
.osf-shop-cc-theme #quantity-grp .btn,
.osf-shop-cc-theme .osf-sticky-atc__qty-grp .btn {
  border-radius: var(--osf-btn-pill-radius) !important;
  min-height: auto;
  padding: 0.35rem 0.55rem;
  background: rgba(255, 255, 255, 0.92) !important;
  background-image: none !important;
  border: 1px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.28) !important;
  color: var(--osf-heading, #000000) !important;
  box-shadow: none !important;
  transform: none !important;
  font-weight: 600;
}

.osf-shop-cc-theme .form-counter .btn:hover,
.osf-shop-cc-theme #quantity-grp .btn:hover,
.osf-shop-cc-theme .osf-sticky-atc__qty-grp .btn:hover {
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.08) !important;
  color: var(--osf-brand, #1789ad) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* NOVA .btn-primary harte Overrides entwerten */
.osf-shop-cc-theme .btn-primary:not(:disabled):not(.disabled):active,
.osf-shop-cc-theme .btn-primary:not(:disabled):not(.disabled).active,
.osf-shop-cc-theme .show > .btn-primary.dropdown-toggle {
  background: var(--osf-btn-gradient-hover) !important;
  background-image: var(--osf-btn-gradient-hover) !important;
  border-color: transparent !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
}

/* btn-animated (NOVA): kein Legacy-#1f9dcb auf Hover */
.osf-shop-cc-theme .btn-animated .btn-primary {
  overflow: hidden;
  position: relative;
}

.osf-shop-cc-theme .btn-animated .btn-primary:hover,
.osf-shop-cc-theme .btn-animated .btn-primary:focus {
  background: var(--osf-btn-gradient-hover) !important;
  background-color: transparent !important;
  border-color: transparent !important;
}

/* ========== HEADER (dunkel wie Footer) ========== */
.osf-shop-cc-theme #osf-header-sticky-root.osf-header-sticky-root {
  background: var(--osf-header-dark-gradient, linear-gradient(180deg, #0e5f73 0%, #12272f 4rem, #1a3340 100%)) !important;
  background-color: var(--osf-header-dark-bg, #1a3340) !important;
  color: var(--osf-footer-text, #e8f1f4) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

.osf-shop-cc-theme #header-top-bar,
.osf-shop-cc-theme #header-top-bar.osf-header-topbar {
  background: transparent !important;
  color: var(--osf-footer-text, #e8f1f4) !important;
  border-bottom: 1px solid var(--osf-header-dark-border, rgba(53, 215, 255, 0.25)) !important;
}

.osf-shop-cc-theme #header-top-bar a:not(.btn),
.osf-shop-cc-theme #header-top-bar .nav-link {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme #header-top-bar a:not(.btn):hover,
.osf-shop-cc-theme #header-top-bar .nav-link:hover {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme header,
.osf-shop-cc-theme header#jtl-nav-wrapper {
  background: transparent !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--osf-header-dark-border, rgba(53, 215, 255, 0.25)) !important;
  box-shadow: none !important;
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme header .hide-navbar,
.osf-shop-cc-theme header .menu-search-position-left,
.osf-shop-cc-theme header .menu-search-position-right,
.osf-shop-cc-theme header .hide-navbar .osf-header-categories,
.osf-shop-cc-theme header .hide-navbar [class*="menu-center-"],
.osf-shop-cc-theme header .hide-navbar [class*="menu-multiple-rows-"] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Legacy second strip outside .hide-navbar */
@media (min-width: 992px) {
  .osf-shop-cc-theme #osf-header-sticky-root > header > .container-fluid[class*="menu-center-"],
  .osf-shop-cc-theme #osf-header-sticky-root > header > .container[class*="menu-center-"],
  .osf-shop-cc-theme #osf-header-sticky-root > header > .container-fluid[class*="menu-multiple-rows-"],
  .osf-shop-cc-theme #osf-header-sticky-root > header > .container[class*="menu-multiple-rows-"] {
    display: none !important;
  }
}

.osf-shop-cc-theme header a:not(.dropdown-item):not(.btn),
.osf-shop-cc-theme header .navbar-nav > .nav-item > .nav-link,
.osf-shop-cc-theme header .nav-link.dropdown-toggle {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme header a:not(.dropdown-item):not(.btn):hover,
.osf-shop-cc-theme header .navbar-nav > .nav-item > .nav-link:hover {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme header .navbar-nav > .nav-item.active > .nav-link,
.osf-shop-cc-theme header .navbar-nav > .nav-item > .nav-link.active,
.osf-shop-cc-theme header .navbar-nav > .nav-item.show > .nav-link {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme header .navbar-nav > .nav-item > .nav-link::before,
.osf-shop-cc-theme header .navbar-nav > .nav-item.active > .nav-link::before {
  border-color: var(--osf-accent, #35d7ff) !important;
  background: linear-gradient(90deg, var(--osf-brand, #1789ad), var(--osf-accent, #35d7ff)) !important;
}

.osf-shop-cc-theme header .navbar-toggler {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme .osf-pill-input-group,
.osf-shop-cc-theme header .search-wrapper .input-group,
.osf-shop-cc-theme header .main-search .input-group,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group,
.osf-shop-cc-theme #footer .osf-footer-newsletter .newsletter-email-wrapper .input-group {
  background: rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: none;
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.3) !important;
  box-shadow: none !important;
  border-radius: var(--osf-btn-pill-radius) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.osf-shop-cc-theme header .search-wrapper .form-control,
.osf-shop-cc-theme header .main-search .form-control,
.osf-shop-cc-theme header .search-form-wrapper-fixed .form-control {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 0 !important;
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme .osf-pill-input-group > .form-control,
.osf-shop-cc-theme .osf-pill-input-group > .form-control:first-child,
.osf-shop-cc-theme header .search-wrapper .input-group > .form-control,
.osf-shop-cc-theme header .search-wrapper .input-group .form-control,
.osf-shop-cc-theme header .main-search .input-group > .form-control,
.osf-shop-cc-theme header .main-search .input-group .form-control,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group > .form-control,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group .form-control,
.osf-shop-cc-theme #footer .osf-pill-input-group > #newsletter_email,
.osf-shop-cc-theme #footer .osf-pill-input-group > .form-control {
  border-radius: 0 !important;
  min-height: 2.75rem;
  padding-left: 1.25rem;
}

.osf-shop-cc-theme header .search-wrapper .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .main-search .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group-append .osf-search-submit {
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  border: none !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  box-shadow: var(--osf-btn-shadow-sm) !important;
}

.osf-shop-cc-theme #shop-nav.nav-icons .osf-header-nav-icon {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme #shop-nav.nav-icons .cart-icon-dropdown-price {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme #shop-nav.nav-icons > .nav-item > .nav-link:hover {
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
}

.osf-shop-cc-theme #shop-nav.nav-icons > .nav-item > .nav-link:hover .osf-header-nav-icon {
  color: #ffffff !important;
}

.osf-shop-cc-theme #shop-nav.nav-icons .cart-icon-dropdown-icon .fa-sup,
.osf-shop-cc-theme #shop-nav .badge,
.osf-shop-cc-theme header .badge {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  border-color: var(--osf-header-dark-bg, #1a3340) !important;
}

/* Mega-Menü / Dropdowns im Header — dunkel, nicht weiß */
.osf-shop-cc-theme header .dropdown-menu,
.osf-shop-cc-theme header .dropdown-menu.show,
.osf-shop-cc-theme #mainNavigation .dropdown-menu,
.osf-shop-cc-theme header .dropdown-full .dropdown-menu {
  background: linear-gradient(180deg, #12272f 0%, #1a3340 100%) !important;
  border: 1px solid var(--osf-header-dark-border, rgba(53, 215, 255, 0.25)) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35) !important;
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme header .dropdown-menu .dropdown-body,
.osf-shop-cc-theme header .dropdown-menu .subcategory-wrapper {
  background: transparent !important;
  color: inherit !important;
}

.osf-shop-cc-theme header .dropdown-menu a,
.osf-shop-cc-theme header .dropdown-menu .nav-link,
.osf-shop-cc-theme header .dropdown-menu .nav-mobile-heading,
.osf-shop-cc-theme header .dropdown-menu strong {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme header .dropdown-menu a:hover,
.osf-shop-cc-theme header .dropdown-menu .nav-link:hover {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme header .osf-manufacturer-mega__menu.show,
.osf-shop-cc-theme header .osf-manufacturer-mega__menu.show > .dropdown-body,
.osf-shop-cc-theme header .osf-manufacturer-mega__menu.show .osf-manufacturer-mega {
  background-color: #1a3340 !important;
  background: linear-gradient(180deg, #12272f 0%, #1a3340 100%) !important;
}

.osf-shop-cc-theme header .osf-manufacturer-mega,
.osf-shop-cc-theme header .osf-manufacturer-mega__abc {
  background: transparent !important;
  border-color: var(--osf-header-dark-border, rgba(53, 215, 255, 0.25)) !important;
}

.osf-shop-cc-theme header .osf-manufacturer-mega__abc-btn {
  color: var(--osf-footer-text, #e8f1f4) !important;
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
}

.osf-shop-cc-theme header .osf-manufacturer-mega__name,
.osf-shop-cc-theme header .osf-manufacturer-mega__item a,
.osf-shop-cc-theme header .osf-manufacturer-mega__all-link {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme #osf-header-sticky-root .fixed-search,
.osf-shop-cc-theme #osf-header-sticky-root .search-form-wrapper-fixed {
  background: transparent !important;
}

.osf-shop-cc-theme header .nav-scrollbar-arrow.left {
  background-image: linear-gradient(to right, #1a3340 30%, rgba(26, 51, 64, 0.01) 100%) !important;
}

.osf-shop-cc-theme header .nav-scrollbar-arrow.right {
  background-image: linear-gradient(to right, rgba(26, 51, 64, 0.01) 0%, #1a3340 70%) !important;
}

.osf-shop-cc-theme header .nav-scrollbar-arrow {
  color: var(--osf-accent, #35d7ff) !important;
}

/* Account/Warenkorb-Dropdowns im Header */
.osf-shop-cc-theme header .dropdown-item {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

.osf-shop-cc-theme header .dropdown-item:hover,
.osf-shop-cc-theme header .dropdown-item:focus {
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
  color: #ffffff !important;
}

.osf-shop-cc-theme header .dropdown-item.active,
.osf-shop-cc-theme header .dropdown-item:active {
  background: rgba(var(--osf-accent-rgb, 53, 215, 255), 0.2) !important;
  color: var(--osf-accent, #35d7ff) !important;
}

/* PLP/Content: Dropdowns außerhalb Header bleiben hell */
.osf-shop-cc-theme #content-wrapper .dropdown-menu {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22);
  box-shadow: var(--osf-glass-shadow);
  color: var(--osf-heading, #000000);
}

.osf-shop-cc-theme #content-wrapper .dropdown-item.active,
.osf-shop-cc-theme #content-wrapper .dropdown-item:active {
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.12) !important;
  color: var(--osf-heading, #000000) !important;
}

/* ========== FOOTER ========== */
.osf-shop-cc-theme #footer:not(.osf-footer--inlead) {
  background: linear-gradient(180deg, #0e5f73 0%, #12272f 6rem, #1a3340 100%) !important;
  border-top: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.25);
}

.osf-shop-cc-theme #footer .card,
.osf-shop-cc-theme #footer .box,
.osf-shop-cc-theme #footer #footer-boxes .card,
.osf-shop-cc-theme #footer .osf-footer-link-card {
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.14) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.2) !important;
  box-shadow: none !important;
}

.osf-shop-cc-theme #footer .card .card-title,
.osf-shop-cc-theme #footer .newsletter-footer-heading {
  color: #ffffff !important;
}

/* Overrides global .osf-shop-cc-theme h1–h6 / .productlist-filter-headline (black !important) */
.osf-shop-cc-theme #footer :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6,
  .productlist-filter-headline,
  .osf-footer-column__title,
  .osf-footer-column__heading,
  .osf-store-locator__title,
  .upcode-cc--footer .upcode-cc__footer-lead
) {
  color: var(--osf-footer-text, #ffffff) !important;
  font-weight: 700 !important;
}

.osf-shop-cc-theme #footer a.osf-footer-column__heading:not(.btn) {
  color: var(--osf-footer-text, #ffffff) !important;
}

.osf-shop-cc-theme #footer a.osf-footer-column__heading:not(.btn):hover {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme #footer a:not(.btn) {
  color: var(--osf-footer-text, #ffffff);
}

.osf-shop-cc-theme #footer a:not(.btn):hover {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme #footer .osf-footer-column__heading--brand .osf-footer-brand__logo-link {
  margin-bottom: 0 !important;
}

.osf-shop-cc-theme #footer .osf-footer-social .btn,
.osf-shop-cc-theme #footer .footer-social-media .btn {
  background: var(--osf-btn-gradient) !important;
  border: none !important;
  border-radius: var(--osf-btn-pill-radius) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  box-shadow: var(--osf-btn-shadow-sm) !important;
}

.osf-shop-cc-theme #footer .osf-footer-social .btn:hover,
.osf-shop-cc-theme #footer .footer-social-media .btn:hover {
  background: var(--osf-btn-gradient-hover) !important;
  border-color: transparent !important;
}

.osf-shop-cc-theme .osf-footer-newsletter .newsletter-email-wrapper .input-group,
.osf-shop-cc-theme .osf-pill-input-group {
  border-radius: var(--osf-btn-pill-radius);
  overflow: hidden;
}

.osf-shop-cc-theme .osf-footer-newsletter .form-control {
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.3) !important;
  color: #ffffff !important;
}

.osf-shop-cc-theme .osf-pill-input-group .form-control,
.osf-shop-cc-theme .osf-footer-newsletter .osf-pill-input-group .form-control {
  border: 0 !important;
}

/* Newsletter: E-Mail-Feld links pill, Button rechts pill (wie Header-Suche) */
.osf-shop-cc-theme .osf-footer-newsletter .newsletter-email-wrapper .input-group:not(.has-validation) > #newsletter_email.form-control:not(:last-child),
.osf-shop-cc-theme .osf-footer-newsletter .newsletter-email-wrapper .input-group > #newsletter_email,
.osf-shop-cc-theme .osf-footer-newsletter .newsletter-email-wrapper .input-group > .form-control:first-child {
  border-radius: var(--osf-btn-pill-radius) 0 0 var(--osf-btn-pill-radius) !important;
  border-top-left-radius: var(--osf-btn-pill-radius) !important;
  border-bottom-left-radius: var(--osf-btn-pill-radius) !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  min-height: 2.75rem;
  padding-left: 1.25rem;
  padding-right: 1rem;
}

.osf-shop-cc-theme .osf-footer-newsletter #newsletter_email ~ .input-group-append .btn,
.osf-shop-cc-theme .osf-footer-newsletter .newsletter-email-wrapper .input-group-append .btn {
  min-height: 2.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 var(--osf-btn-pill-radius) var(--osf-btn-pill-radius) 0 !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: var(--osf-btn-pill-radius) !important;
  border-bottom-right-radius: var(--osf-btn-pill-radius) !important;
}

/* ========== STARTSEITE: Produkt-Slider & News ========== */
.osf-shop-cc-theme .product-slider-wrapper {
  padding: clamp(1rem, 2vw, 1.5rem) 0;
}

.osf-shop-cc-theme .product-slider-wrapper + .product-slider-wrapper {
  border-top: 1px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.1);
}

.osf-shop-cc-theme .product-slider-wrapper .hr-sect.h2,
.osf-shop-cc-theme .index-news-wrapper .hr-sect.h2,
.osf-shop-cc-theme .index-news-wrapper .blog-header .hr-sect {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--osf-heading, #000000) !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: none !important;
  text-align: center;
}

.osf-shop-cc-theme .product-slider-wrapper .hr-sect::before,
.osf-shop-cc-theme .product-slider-wrapper .hr-sect::after,
.osf-shop-cc-theme .index-news-wrapper .hr-sect::before,
.osf-shop-cc-theme .index-news-wrapper .hr-sect::after {
  content: "" !important;
  flex-grow: 1 !important;
  height: 2px !important;
  margin: 0 1.25rem !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) 25%,
    rgba(var(--osf-accent-rgb, 53, 215, 255), 0.65) 50%,
    rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) 75%,
    transparent 100%
  ) !important;
  border: none !important;
}

.osf-shop-cc-theme .product-slider-wrapper .hr-sect a,
.osf-shop-cc-theme .index-news-wrapper .hr-sect a {
  color: var(--osf-heading, #000000) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  padding: 0 0.25rem;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.osf-shop-cc-theme .product-slider-wrapper .hr-sect a:hover,
.osf-shop-cc-theme .index-news-wrapper .hr-sect a:hover {
  color: var(--osf-brand, #1789ad) !important;
}

/* Slider-Panel (Glas) */
.osf-shop-cc-theme .product-slider-wrapper .slick-slider-other.is-not-opc,
.osf-shop-cc-theme .index-news-wrapper .slick-slider-other.is-not-opc {
  background: var(--osf-glass-mix-soft) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
  border-radius: var(--osf-radius-md, 0.75rem) !important;
  box-shadow: var(--osf-glass-shadow) !important;
  padding: 0.85rem 0.65rem 1rem !important;
  margin-bottom: 0 !important;
}

/* Startseiten-Kacheln (item_slider.tpl — kein .productbox) */
.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product {
  padding: 0.65rem !important;
}

.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product > a,
.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product > .osf-item-slider-card {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  color: var(--osf-heading, #000000) !important;
  background: rgba(255, 255, 255, 0.62) !important;
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
  border-radius: var(--osf-radius-md, 0.75rem) !important;
  padding: 0.45rem 0.75rem 0.65rem !important;
  box-shadow: var(--osf-shadow-sm) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product > a:hover,
.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product > .osf-item-slider-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--osf-accent-rgb, 53, 215, 255), 0.45) !important;
  box-shadow: var(--osf-shadow-hover) !important;
  color: var(--osf-heading, #000000) !important;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-card__link {
  text-decoration: none !important;
  color: inherit !important;
  flex: 0 0 auto;
  flex-grow: 0;
  min-height: 0;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-card {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.osf-shop-cc-theme .product-slider-wrapper .osf-item-slider-card.h-100 {
  height: auto !important;
  min-height: 0 !important;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-card__price-block {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 0 0 auto;
  flex-shrink: 0;
  margin-top: 0.35rem;
  width: 100%;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-actions {
  flex: 0 0 auto;
  flex-shrink: 0;
  width: 100%;
}

.osf-shop-cc-theme .product-slider-wrapper .osf-item-slider-actions {
  margin-top: 0.4rem;
  padding-top: 0.25rem;
  padding-bottom: 0.35rem;
}

.osf-shop-cc-theme :is(.osf-pdp, .osf-cart) .recommendations .slick-slider-other .osf-item-slider-actions {
  margin-top: auto;
  padding-top: 0.35rem;
  padding-bottom: 0.75rem;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-actions .form-basket,
.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-actions .btn-osf-plp-gallery-cta {
  margin-top: 0;
  margin-bottom: 0;
  width: 100%;
  max-width: 100%;
}

.osf-shop-cc-theme .product-slider-wrapper .item-slider.productbox-image {
  margin-bottom: 0.35rem !important;
  border-radius: var(--osf-radius-sm, 0.35rem) !important;
  overflow: hidden;
  background: #ffffff;
  flex-shrink: 0;
  width: 100%;
}

.osf-shop-cc-theme .product-slider-wrapper .item-slider.productbox-image.square::before {
  padding-bottom: 88%;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider-desc {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--osf-heading, #000000) !important;
  margin-bottom: 0.15rem;
  flex: 0 0 auto;
  flex-grow: 0;
  height: auto;
  min-height: calc(2 * 0.875rem * 1.35);
  max-height: calc(2 * 0.875rem * 1.35);
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider-desc span {
  display: inline;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.osf-shop-cc-theme .product-slider-wrapper .item-slider-price,
.osf-shop-cc-theme .product-slider-wrapper .item-slider-price .price,
.osf-shop-cc-theme .product-slider-wrapper .item-slider-price .productbox-price,
.osf-shop-cc-theme .product-slider-wrapper .item-slider-price .price_label {
  color: var(--osf-brand, #1789ad) !important;
  font-weight: 700 !important;
  font-size: 0.9375rem !important;
}

/* Homepage product sliders: compact row height (no stretch gap before CTA) */
.osf-shop-cc-theme .product-slider-wrapper .carousel.slick-initialized .slick-track {
  display: flex !important;
  align-items: flex-start;
}

.osf-shop-cc-theme .product-slider-wrapper .carousel .slick-slide {
  height: auto;
  display: flex;
}

.osf-shop-cc-theme .product-slider-wrapper .carousel .slick-slide > div {
  display: flex;
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: 0;
  align-items: flex-start;
}

.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: auto;
  min-height: 0;
}

.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product > a,
.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product > .osf-item-slider-card {
  flex: 0 1 auto;
  min-height: 0 !important;
  height: auto !important;
}

.osf-shop-cc-theme .product-slider-wrapper .product-wrapper-product:is(.ml-auto-util, .mr-auto, .m-auto) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider.productbox-image {
  flex-shrink: 0;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider-price {
  margin-top: 0;
  flex-shrink: 0;
  width: 100%;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider-price .price_wrapper {
  margin-bottom: 0;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider-price .price-note {
  min-height: 0;
  margin-top: 0.1rem;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider-price .price-note:has(.base-price, .old-price, .instead-of, .discount) {
  min-height: 1.35rem;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .item-slider-price .price-note .base-price {
  display: block;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  color: var(--osf-muted, #64748b) !important;
  line-height: 1.35;
}

.osf-shop-cc-theme :is(.product-slider-wrapper, .slick-slider-other) .osf-item-slider-bulk-hint {
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--osf-muted, #64748b);
  margin: 0;
}

@media (max-width: 991.98px) {
  .osf-shop-cc-theme .product-slider-wrapper .hr-sect.h2,
  .osf-shop-cc-theme .index-news-wrapper .hr-sect.h2 {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 0.85rem !important;
  }

  .osf-shop-cc-theme .product-slider-wrapper .hr-sect::before,
  .osf-shop-cc-theme .product-slider-wrapper .hr-sect::after,
  .osf-shop-cc-theme .index-news-wrapper .hr-sect::before,
  .osf-shop-cc-theme .index-news-wrapper .hr-sect::after {
    display: block !important;
    flex-grow: 1 !important;
    margin: 0 0.65rem !important;
  }

  .osf-shop-cc-theme .product-slider-wrapper .slick-slider-other.is-not-opc {
    padding: 0.75rem 0.5rem 0.9rem !important;
  }
}

.osf-shop-cc-theme .product-slider-wrapper .item-slider-price .footnote-reference,
.osf-shop-cc-theme .product-slider-wrapper .item-slider-price .vat_info {
  color: var(--osf-muted, #64748b) !important;
  font-weight: 400 !important;
  font-size: 0.75rem !important;
}

/* Slider-Pfeile & Dots */
.osf-shop-cc-theme .product-slider-wrapper .slick-arrow,
.osf-shop-cc-theme .index-news-wrapper .slick-arrow {
  width: 2.65rem !important;
  height: 2.65rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.28) !important;
  box-shadow: var(--osf-shadow-sm) !important;
  opacity: 1 !important;
  z-index: 3;
}

.osf-shop-cc-theme .product-slider-wrapper .slick-arrow::before,
.osf-shop-cc-theme .index-news-wrapper .slick-arrow::before {
  color: var(--osf-brand, #1789ad) !important;
  opacity: 1 !important;
}

.osf-shop-cc-theme .product-slider-wrapper .slick-arrow:hover,
.osf-shop-cc-theme .index-news-wrapper .slick-arrow:hover {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  border-color: transparent !important;
}

.osf-shop-cc-theme .product-slider-wrapper .slick-arrow:hover::before,
.osf-shop-cc-theme .index-news-wrapper .slick-arrow:hover::before {
  color: #ffffff !important;
}

.osf-shop-cc-theme .product-slider-wrapper .slick-dots li button::before,
.osf-shop-cc-theme .index-news-wrapper .slick-dots li button::before {
  color: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
  opacity: 1 !important;
}

.osf-shop-cc-theme .product-slider-wrapper .slick-dots li.slick-active button::before,
.osf-shop-cc-theme .index-news-wrapper .slick-dots li.slick-active button::before {
  color: var(--osf-accent, #35d7ff) !important;
}

.osf-shop-cc-theme .index-news-wrapper {
  padding: clamp(2rem, 4vw, 3rem) 0;
  border-top: 1px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.1);
}

/* OPC-Bereiche (Startseite) */
.osf-shop-cc-theme [data-area-id],
.osf-shop-cc-theme .opc-rootarea,
.osf-shop-cc-theme .opc-area,
.osf-shop-cc-theme .link-content {
  color: var(--osf-heading, #000000);
}

.osf-shop-cc-theme [data-area-id] .card,
.osf-shop-cc-theme [data-area-id] .box,
.osf-shop-cc-theme .opc-portlet,
.osf-shop-cc-theme .well {
  background: var(--osf-glass-mix-soft) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
  box-shadow: var(--osf-glass-shadow) !important;
}

/* ========== Produktboxen (überall: Startseite-Slider, PLP, Empfehlungen) ========== */
.osf-shop-cc-theme .productbox .productbox-inner {
  background: var(--osf-glass-mix-soft) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
  border-radius: var(--osf-radius-lg, 1.25rem) !important;
  box-shadow: var(--osf-glass-shadow) !important;
  overflow: hidden;
}

.osf-shop-cc-theme .osf-plp #product-list.layout-list .productbox-row {
  border-radius: var(--osf-radius-lg, 1.25rem) !important;
  overflow: hidden;
}

.osf-shop-cc-theme .productbox .productbox-title,
.osf-shop-cc-theme .productbox .productbox-title a {
  color: var(--osf-heading, #000000) !important;
}

.osf-shop-cc-theme .productbox .productbox-title a:hover {
  color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme .productbox .price,
.osf-shop-cc-theme .productbox .price_wrapper .price {
  color: var(--osf-heading, #000000) !important;
  font-weight: 700;
}

/* Ribbons — kein Gold/Orange (#eeb700, #f78e25) */
.osf-shop-cc-theme .productbox .productbox-ribbon.ribbon,
.osf-shop-cc-theme .ribbon.ribbon {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
}

.osf-shop-cc-theme .ribbon-1,
.osf-shop-cc-theme .ribbon-2,
.osf-shop-cc-theme .ribbon-4,
.osf-shop-cc-theme .ribbon-5,
.osf-shop-cc-theme .ribbon-6 {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
}

.osf-shop-cc-theme .ribbon-1::before,
.osf-shop-cc-theme .ribbon-2::before,
.osf-shop-cc-theme .ribbon-4::before,
.osf-shop-cc-theme .ribbon-5::before,
.osf-shop-cc-theme .ribbon-6::before {
  border-right-color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme .ribbon-3 {
  background: var(--success, #1c871e) !important;
  color: #ffffff !important;
}

.osf-shop-cc-theme .status-1,
.osf-shop-cc-theme .signal_image.status-1 {
  color: var(--osf-brand, #1789ad) !important;
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.12) !important;
}

/* ========== Kategorien / Filter-Sidebar ========== */
.osf-shop-cc-theme #sidepanel_left .box,
.osf-shop-cc-theme #sidepanel_left .box[class*="box-filter"],
.osf-shop-cc-theme #sidepanel_left .box.box-categories,
.osf-shop-cc-theme #sidepanel_left .box.box-search-category,
.osf-shop-cc-theme #sidepanel_left .box.box-normal,
.osf-shop-cc-theme #sidepanel_left .box.box-slider {
  background: var(--osf-glass-mix-soft) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
  border-radius: var(--osf-radius-lg, 1.25rem) !important;
  overflow: hidden;
}

.osf-shop-cc-theme #sidepanel_left .filter-item.active,
.osf-shop-cc-theme #sidepanel_left .nav-link.active {
  background: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.12) !important;
  color: var(--osf-heading, #000000) !important;
}

.osf-shop-cc-theme .content-cats-small .sub-categories {
  background: var(--osf-glass-mix-soft) !important;
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
  border-radius: var(--osf-radius-lg, 1.25rem) !important;
  overflow: hidden;
}

/* ========== Formulare ========== */
.osf-shop-cc-theme .form-control,
.osf-shop-cc-theme .custom-select,
.osf-shop-cc-theme select.form-control {
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(6px);
  border: 1px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.22) !important;
  border-radius: 10px;
  color: var(--osf-heading, #000000);
}

.osf-shop-cc-theme .form-control:focus {
  border-color: rgba(var(--osf-accent-rgb, 53, 215, 255), 0.55) !important;
  box-shadow:
    0 0 0 3px rgba(var(--osf-brand-rgb, 23, 137, 173), 0.14),
    0 0 0 1px rgba(var(--osf-accent-rgb, 53, 215, 255), 0.35) !important;
}

/* ========== Slider / Carousel ========== */
.osf-shop-cc-theme .slick-arrow:hover {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
}

.osf-shop-cc-theme .slick-dots li.slick-active button::before {
  color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme .noUi-connect,
.osf-shop-cc-theme .noUi-horizontal .noUi-connect {
  background: linear-gradient(90deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
}

.osf-shop-cc-theme .noUi-handle,
.osf-shop-cc-theme .noUi-horizontal .noUi-handle {
  background: var(--osf-brand, #1789ad) !important;
  border: 0 !important;
  border-color: var(--osf-brand, #1789ad) !important;
  box-shadow: 0 0 0 5px rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
}

.osf-shop-cc-theme .noUi-horizontal .noUi-handle::before,
.osf-shop-cc-theme .noUi-horizontal .noUi-handle::after {
  display: none !important;
  content: none !important;
}

/* ========== Pagination & Breadcrumb ========== */
.osf-shop-cc-theme .page-item.active .page-link,
.osf-shop-cc-theme .productlist-pagination .page-item.active .page-link {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  border-color: transparent !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
}

.osf-shop-cc-theme .breadcrumb-item a {
  color: var(--osf-brand, #1789ad);
}

.osf-shop-cc-theme .breadcrumb-item a:hover {
  color: var(--osf-accent, #35d7ff);
}

.osf-shop-cc-theme .breadcrumb-item.active {
  color: var(--osf-muted, #64748b);
}

/* ========== PDP ========== */
.osf-shop-cc-theme .osf-pdp .product-title {
  color: var(--osf-heading, #000000) !important;
}

.osf-shop-cc-theme .osf-pdp .tab-navigation .nav-link.active {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  border-color: transparent !important;
}

.osf-shop-cc-theme .osf-pdp-buybox,
.osf-shop-cc-theme .osf-pdp .card {
  background: var(--osf-glass-mix-soft) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
}

/* ========== Warenkorb ========== */
.osf-shop-cc-theme .osf-cart .card,
.osf-shop-cc-theme .basket-summary {
  background: var(--osf-glass-mix-soft) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22) !important;
}

/* ========== Icons in Content (Font Awesome) ========== */
.osf-shop-cc-theme #content-wrapper .fa-arrow-circle-right,
.osf-shop-cc-theme .product-slider-wrapper .fa-arrow-circle-right {
  color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme #content-wrapper .fa-arrow-circle-right:hover {
  color: var(--osf-accent, #35d7ff) !important;
}

/* Kalorienrechner im Footer */
.osf-shop-cc-theme #footer .osf-footer-col--calorie_calculator .upcode-cc--footer,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc.upcode-cc--footer {
  max-width: 20rem !important;
  width: 100% !important;
}

.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__footer-cta {
  background: linear-gradient(135deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  width: max-content !important;
  max-width: 100% !important;
}

/* ========== FOOTER layout (end of shop-cc bundle — wins generic #footer .card glass) ========== */

.osf-shop-cc-theme #footer .newsletter-footer.row.osf-footer-newsletter,
.osf-shop-cc-theme #footer .row.newsletter-footer.osf-footer-newsletter,
.osf-shop-cc-theme #footer .osf-footer-newsletter.newsletter-footer {
  border-radius: 1.25rem !important;
  overflow: hidden !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background-clip: padding-box !important;
  -webkit-background-clip: padding-box !important;
}

.osf-shop-cc-theme #footer .osf-footer-divider,
.osf-shop-cc-theme #footer hr.osf-footer-divider {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
}

.osf-shop-cc-theme #footer .osf-footer-main.row {
  align-items: start !important;
}

.osf-shop-cc-theme #footer.newsletter-active .osf-footer-main.row {
  margin-top: var(--osf-footer-newsletter-gap, 2.5rem) !important;
}

@media (min-width: 992px) {
  .osf-shop-cc-theme #footer .osf-footer-main[class*="--cols-"].row {
    display: grid !important;
    grid-template-columns: repeat(var(--osf-footer-cols, 5), minmax(0, 1fr)) !important;
    align-items: start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    column-gap: var(--osf-footer-column-gap, 1.5rem) !important;
  }

  .osf-shop-cc-theme #footer:not(.osf-footer--inlead) .osf-footer-main--cols-5.row {
    grid-template-columns: 1.55fr 0.95fr 0.95fr 0.95fr 0.95fr !important;
    column-gap: 1.25rem !important;
  }

  .osf-shop-cc-theme #footer.osf-footer--inlead .osf-footer-main--cols-5.row {
    grid-template-columns: 1.6fr 0.92fr 0.92fr 0.92fr 0.88fr !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-main[class*="--cols-"].row > [class*="col"] {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-self: start !important;
  }
}

.osf-shop-cc-theme #footer .osf-footer-column,
.osf-shop-cc-theme #footer .osf-footer-column.h-100 {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  min-height: 0 !important;
}

.osf-shop-cc-theme #footer .osf-footer-column__heading--static {
  min-height: var(--osf-footer-heading-row, 1.1875rem) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  flex: 0 0 auto !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column__body,
.osf-shop-cc-theme #footer .osf-footer-brand {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.osf-shop-cc-theme #footer .osf-footer-brand__logo {
  margin-top: 0 !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--calorie_calculator,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc-wrap,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc.upcode-cc--footer {
  margin-top: 0 !important;
}

.osf-shop-cc-theme #footer .osf-footer-link-card,
.osf-shop-cc-theme #footer #footer-boxes .card,
.osf-shop-cc-theme #footer .osf-footer-col--linkgroup .card,
.osf-shop-cc-theme #footer .osf-footer-col--links .card,
.osf-shop-cc-theme #footer .osf-footer-col--store .card,
.osf-shop-cc-theme #footer .osf-footer-col--store_info .card,
.osf-shop-cc-theme #footer .osf-footer-col--store_actions .card,
.osf-shop-cc-theme #footer .osf-footer-col--actions .card,
.osf-shop-cc-theme #footer .osf-store-locator__card,
.osf-shop-cc-theme #footer .osf-store-locator--in-footer .osf-store-locator__card {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.osf-shop-cc-theme #footer .newsletter-footer-heading,
.osf-shop-cc-theme #footer .osf-footer-column__title,
.osf-shop-cc-theme #footer .osf-footer-column__heading .osf-footer-column__title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Footer newsletter email — pill left (loads after custom.css in onestorefront.css bundle) */
.osf-shop-cc-theme #footer #newsletter_email,
.osf-shop-cc-theme #footer .newsletter-email-wrapper .form-control,
.osf-shop-cc-theme #footer .osf-footer-newsletter .input-group > .form-control:first-child {
  border-top-left-radius: 9999px !important;
  border-bottom-left-radius: 9999px !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  min-height: 2.75rem !important;
  color: #ffffff !important;
}

.osf-shop-cc-theme #footer #newsletter_email::placeholder,
.osf-shop-cc-theme #footer .newsletter-email-wrapper .form-control::placeholder,
.osf-shop-cc-theme #footer .osf-footer-newsletter .input-group > .form-control:first-child::placeholder {
  color: #ffffff !important;
  opacity: 1 !important;
}

.osf-shop-cc-theme #footer #newsletter_email::-webkit-input-placeholder,
.osf-shop-cc-theme #footer .newsletter-email-wrapper .form-control::-webkit-input-placeholder {
  color: #ffffff !important;
  opacity: 1 !important;
}

.osf-shop-cc-theme #footer #newsletter_email::-moz-placeholder,
.osf-shop-cc-theme #footer .newsletter-email-wrapper .form-control::-moz-placeholder {
  color: #ffffff !important;
  opacity: 1 !important;
}

.osf-shop-cc-theme #footer .newsletter-email-wrapper .input-group,
.osf-shop-cc-theme #footer .osf-footer-newsletter .newsletter-email-wrapper .input-group {
  border-radius: 9999px !important;
  overflow: hidden !important;
}

.osf-shop-cc-theme #footer .osf-footer-newsletter .newsletter-email-wrapper .input-group-append .btn,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn {
  min-height: 2.75rem !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 9999px !important;
  border-bottom-right-radius: 9999px !important;
}

/* ========== FOOTER: all visible CTAs = Route planen (.osf-store-locator__route-btn) ========== */
.osf-shop-cc-theme #footer .osf-store-locator__route-btn,
.osf-shop-cc-theme #footer .osf-footer-newsletter .input-group-append .btn,
.osf-shop-cc-theme #footer .osf-footer-newsletter .input-group-append .btn.btn-secondary,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn.btn-secondary,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__footer-cta,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__btn--cta.upcode-cc__footer-cta,
.osf-shop-cc-theme #footer .osf-store-locator__map-load-btn.btn,
.osf-shop-cc-theme #footer .osf-store-locator__actions .btn:not(.btn-link) {
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  background-color: transparent !important;
  border: none !important;
  border-color: transparent !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: var(--osf-btn-shadow-sm) !important;
}

.osf-shop-cc-theme #footer .osf-store-locator__route-btn:hover,
.osf-shop-cc-theme #footer .osf-store-locator__route-btn:focus,
.osf-shop-cc-theme #footer .osf-footer-newsletter .input-group-append .btn:hover,
.osf-shop-cc-theme #footer .osf-footer-newsletter .input-group-append .btn:focus,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn:hover,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn:focus,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__footer-cta:hover,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__footer-cta:focus,
.osf-shop-cc-theme #footer .osf-store-locator__map-load-btn.btn:hover,
.osf-shop-cc-theme #footer .osf-store-locator__actions .btn:not(.btn-link):hover {
  background: var(--osf-btn-gradient-hover) !important;
  background-image: var(--osf-btn-gradient-hover) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
  box-shadow: var(--osf-btn-shadow) !important;
  transform: translateY(-1px);
}

/* Route planen — no tilt (wins generic footer CTA hover above) */
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn:hover,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn:focus {
  transform: none !important;
}

.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__footer-tags li {
  border: none !important;
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: var(--osf-btn-shadow-sm) !important;
}

/* Footer main grid — unified column heading baseline (≥992px) */
@media (min-width: 992px) {
  .osf-shop-cc-theme #footer .osf-footer-main[class*="--cols-"].row {
    column-gap: var(--osf-footer-column-gap, 1.5rem) !important;
    row-gap: 0 !important;
    align-items: start !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-main[class*="--cols-"].row > [class*="col"] {
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-self: start !important;
  }

  .osf-shop-cc-theme #footer:not(.osf-footer--inlead) .osf-footer-main--cols-5.row {
    grid-template-columns: 1.55fr 0.95fr 0.95fr 0.95fr 0.95fr !important;
    column-gap: 1.25rem !important;
  }

  .osf-shop-cc-theme #footer.osf-footer--inlead .osf-footer-main--cols-5.row {
    grid-template-columns: 1.6fr 0.92fr 0.92fr 0.92fr 0.88fr !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Mobile accordion toggle must not reserve desktop heading space */
  .osf-shop-cc-theme #footer .osf-footer-column__heading--toggle {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column__heading--static:not(.osf-footer-column__heading--brand) {
    display: flex !important;
    align-items: flex-start !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    min-height: var(--osf-footer-heading-row, 1.1875rem) !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column__title,
  .osf-shop-cc-theme #footer .osf-store-locator__title,
  .osf-shop-cc-theme #footer .upcode-cc__footer-lead {
    display: block !important;
    margin: 0 0 var(--osf-footer-body-gap, 0.85rem) !important;
    padding: 0 !important;
    line-height: var(--osf-footer-heading-row, 1.1875rem) !important;
    min-height: var(--osf-footer-heading-row, 1.1875rem) !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--static,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--toggle {
    align-self: stretch !important;
    justify-content: center !important;
    order: 1 !important;
    width: 100% !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__title {
    margin-bottom: var(--osf-footer-body-gap, 0.85rem) !important;
    text-align: center !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__body,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-route-stack {
    order: 2 !important;
    align-items: center !important;
    width: 100% !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column__body,
  .osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column__body,
  .osf-shop-cc-theme #footer .osf-footer-col--calorie_calculator .osf-footer-column__body {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--linkgroup .osf-footer-column,
  .osf-shop-cc-theme #footer .osf-footer-col--manual .osf-footer-column,
  .osf-shop-cc-theme #footer .osf-footer-col--categories .osf-footer-column {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column:has(.osf-footer-column__heading--static) .osf-store-locator__title {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column__heading--brand .osf-footer-brand__logo-link,
  .osf-shop-cc-theme #footer .osf-footer-brand__logo-link.mb-3 {
    margin-bottom: 0 !important;
  }

  .osf-shop-cc-theme #footer .osf-store-locator--in-footer .osf-store-locator__card,
  .osf-shop-cc-theme #footer .osf-footer-col--store_info .osf-store-locator__card,
  .osf-shop-cc-theme #footer .osf-footer-col--store_actions .osf-store-locator__card,
  .osf-shop-cc-theme #footer .osf-footer-col--store .osf-store-locator__card {
    padding: 0 !important;
    margin: 0 !important;
  }

  .osf-shop-cc-theme #footer .osf-store-locator--in-footer {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Unser Geschäft — keep info/hours layout inside column (no actions flex bleed) */
  .osf-shop-cc-theme #footer .osf-footer-col--store_info .osf-store-locator__body,
  .osf-shop-cc-theme #footer .osf-store-locator--info.osf-store-locator--in-footer .osf-store-locator__body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    width: 100% !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--store_info .osf-store-locator__info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--store_info .osf-store-locator__hours-summary {
    justify-content: flex-start !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--store_info .osf-store-locator__hours-summary::after {
    margin-left: 0.35rem !important;
  }

  /* Route & Kontakt — stacked CTA centered (desktop; see also final block below) */
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__body,
  .osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer .osf-store-locator__body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: none !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__aside--footer-actions {
    flex: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    align-items: center !important;
    width: max-content !important;
    max-width: 100% !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__actions {
    align-items: center !important;
    width: max-content !important;
    max-width: 100% !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn {
    margin-inline: 0 !important;
    margin-left: 0 !important;
    align-self: center !important;
    transform: none !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__qr--compact {
    align-items: center !important;
    width: max-content !important;
    max-width: 100% !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__qr-link,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__qr-image {
    margin-inline: 0 !important;
    margin-left: 0 !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-social {
    justify-content: flex-start !important;
  }
}

/* ========== Primary CTA — final cascade (wins Bootstrap #1f9dcb / brand-glass) ========== */
.osf-shop-cc-theme .btn-primary:not(.btn-link):not(.page-link):not(.osf-search-submit),
.osf-shop-cc-theme .btn-osf-plp-gallery-cta,
.osf-shop-cc-theme .basket-details-add-to-cart,
.osf-shop-cc-theme #add-to-cart .btn-primary,
.osf-shop-cc-theme #cart-checkout-btn,
.osf-shop-cc-theme .osf-cart-drawer__btn--primary,
.osf-shop-cc-theme .osf-footer-newsletter .input-group-append .btn,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn,
.osf-shop-cc-theme .osf-store-locator__route-btn.btn-primary {
  background: var(--osf-btn-gradient) !important;
  background-image: var(--osf-btn-gradient) !important;
  background-color: transparent !important;
  border-radius: var(--osf-btn-pill-radius) !important;
  border: none !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  font-weight: 700;
  box-shadow: var(--osf-btn-shadow-sm) !important;
}

/* Pill input-group: outer wrapper clips corners (no per-field radius = no dark seam artifacts) */
.osf-shop-cc-theme .osf-pill-input-group > .input-group-append,
.osf-shop-cc-theme header .search-wrapper .input-group-append,
.osf-shop-cc-theme header .main-search .input-group-append,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group-append,
.osf-shop-cc-theme #footer .osf-pill-input-group .input-group-append {
  margin-left: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.osf-shop-cc-theme .osf-pill-input-group > .input-group-append:last-child > .btn,
.osf-shop-cc-theme .osf-pill-input-group .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .search-wrapper .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .main-search .input-group-append .osf-search-submit,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group-append .osf-search-submit,
.osf-shop-cc-theme #footer .osf-pill-input-group .input-group-append .btn,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn {
  border-radius: 0 !important;
}

.osf-shop-cc-theme .btn-primary:not(.btn-link):hover,
.osf-shop-cc-theme .btn-primary:not(.btn-link):focus,
.osf-shop-cc-theme .btn-primary:not(.btn-link):focus-visible,
.osf-shop-cc-theme .btn-primary:not(.btn-link):active,
.osf-shop-cc-theme .btn-osf-plp-gallery-cta:hover,
.osf-shop-cc-theme .basket-details-add-to-cart:hover,
.osf-shop-cc-theme #add-to-cart .btn-primary:hover,
.osf-shop-cc-theme #cart-checkout-btn:hover,
.osf-shop-cc-theme .osf-cart-drawer__btn--primary:hover,
.osf-shop-cc-theme .osf-footer-newsletter .input-group-append .btn:hover,
.osf-shop-cc-theme #footer #newsletter_email ~ .input-group-append .btn:hover,
.osf-shop-cc-theme .osf-store-locator__route-btn.btn-primary:hover {
  background: var(--osf-btn-gradient-hover) !important;
  background-image: var(--osf-btn-gradient-hover) !important;
  color: var(--osf-text-on-brand, #ffffff) !important;
  box-shadow: var(--osf-btn-shadow) !important;
  transform: translateY(-1px);
}

/* ========== FOOTER: brand column — logo + social centered (wins custom.css flex-start) ========== */
.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column__heading--brand,
.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column__body,
.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-brand,
.osf-shop-cc-theme #footer .osf-footer-column__heading--brand .osf-footer-brand {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-brand__logo-link,
.osf-shop-cc-theme #footer .osf-footer-column__heading--brand .osf-footer-brand__logo-link {
  display: block !important;
  margin-inline: auto !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-brand__logo,
.osf-shop-cc-theme #footer .osf-footer-column__heading--brand .osf-footer-brand__logo {
  margin-inline: auto !important;
  max-height: 7rem !important;
  max-width: min(100%, 18rem) !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-social .btn {
  --osf-footer-social-size: 3.125rem;
  width: var(--osf-footer-social-size) !important;
  height: var(--osf-footer-social-size) !important;
  min-width: var(--osf-footer-social-size) !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-social .btn .fa-fw,
.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-social .btn i {
  font-size: 1.2rem !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-brand__social,
.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-social {
  gap: 0.75rem !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-brand__social,
.osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-social {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin-inline: auto !important;
}

/* Desktop grid: keep top baseline for all columns; center only inside brand */
@media (min-width: 992px) {
  .osf-shop-cc-theme #footer .osf-footer-main[class*="--cols-"].row > .osf-footer-col--brand {
    align-self: start !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column {
    align-items: stretch !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column__heading--brand,
  .osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column__body,
  .osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-brand {
    align-items: center !important;
  }
}

/* ========== FOOTER: Route & Kontakt — heading, then CTA + QR below (final) ========== */
/* footer_column.tpl: osf-footer-col--{source} → store_actions (not store_locator). Legacy: --actions. */
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: var(--osf-footer-body-gap, 0.85rem) !important;
  width: 100% !important;
  margin-inline: 0 !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--static,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--toggle {
  order: 1 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__body,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-route-stack {
  order: 2 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 991.98px) {
  .osf-shop-cc-theme #footer .osf-footer-column__body.collapse:not(.show) {
    display: none !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column__body.collapse.show {
    display: block !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__body.collapse.show,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-route-stack.collapse.show {
    display: flex !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--brand .osf-footer-column__body.collapse.show {
    display: flex !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-col--calorie_calculator .osf-footer-column__body.collapse.show {
    display: block !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column__heading--toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: auto !important;
    min-height: var(--osf-footer-heading-row, 1.1875rem) !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0.65rem 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .osf-shop-cc-theme #footer .osf-footer-column__heading--toggle .osf-footer-column__title {
    margin-bottom: 0 !important;
  }
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--static,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__title {
  width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

@media (max-width: 991.98px) {
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--static,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__title {
    text-align: left !important;
  }
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__body {
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator--in-footer,
.osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer {
  width: 100% !important;
  margin-inline: 0 !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__body,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__body--stacked,
.osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer .osf-store-locator__body,
.osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer .osf-store-locator__body--stacked {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: none !important;
  gap: var(--osf-footer-body-gap, 0.85rem) !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__title {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__aside,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__aside--footer-actions,
.osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer .osf-store-locator__aside--footer-actions {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  align-self: center !important;
  flex: none !important;
  justify-content: flex-start !important;
  width: max-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  gap: var(--osf-footer-body-gap, 0.85rem) !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__footer-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  margin-inline: 0 !important;
  margin-left: 0 !important;
  align-self: center !important;
  padding: 0.5rem 1rem !important;
  width: max-content !important;
  max-width: 100% !important;
  transform: none !important;
  background-image: linear-gradient(90deg, var(--osf-brand, #1789ad) 0%, var(--osf-accent, #35d7ff) 100%) !important;
  box-shadow: 0 3px 12px rgba(var(--osf-brand-rgb, 23, 137, 173), 0.35) !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn:hover,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn:focus,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn:focus-visible,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn:active,
.osf-shop-cc-theme #footer .osf-store-locator__route-btn.btn-primary:hover,
.osf-shop-cc-theme #footer .osf-store-locator__route-btn.btn-primary:focus {
  transform: none !important;
  background-image: linear-gradient(90deg, var(--osf-accent, #35d7ff) 0%, var(--osf-brand, #1789ad) 100%) !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__route-btn .fa-route {
  transform: none !important;
  display: inline-block !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__qr,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__qr--compact {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  margin-inline: 0 !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__qr-link,
.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__qr-image {
  display: block !important;
  margin-inline: 0 !important;
  margin-left: 0 !important;
}

.osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-social {
  justify-content: flex-start !important;
  width: 100% !important;
}

/* Route & Kontakt — desktop: centered stack inside column; column stays in footer grid */
@media (min-width: 992px) {
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column {
    align-items: stretch !important;
    width: 100% !important;
    gap: normal !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__body,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-route-stack {
    align-items: center !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__body,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__body--stacked,
  .osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer .osf-store-locator__body,
  .osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer .osf-store-locator__body--stacked {
    align-items: center !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--static,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__heading--toggle {
    align-self: stretch !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__title {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-inline: auto !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column__body,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-route-stack {
    width: 100% !important;
    align-items: center !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__aside,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-store-locator__aside--footer-actions,
  .osf-shop-cc-theme #footer .osf-store-locator--actions.osf-store-locator--in-footer .osf-store-locator__aside--footer-actions {
    align-self: center !important;
    margin-inline: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Kalorienrechner CTA — never stretch with grid track (wins plugin width:100%) */
.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__footer-cta,
.osf-shop-cc-theme #footer .osf-footer-calorie-cc .upcode-cc__btn--cta.upcode-cc__footer-cta {
  width: max-content !important;
  max-width: 100% !important;
}

.osf-shop-cc-theme #footer .osf-footer-col--calorie_calculator .osf-footer-column {
  align-items: flex-start !important;
}

/* Header search pill — clip-only; wins .btn-primary pill radius (loads last) */
.osf-shop-cc-theme header .search-wrapper .input-group.osf-pill-input-group button.btn.btn-primary.osf-search-submit,
.osf-shop-cc-theme header .main-search .input-group.osf-pill-input-group button.btn.btn-primary.osf-search-submit,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group.osf-pill-input-group button.btn.btn-primary.osf-search-submit,
.osf-shop-cc-theme header .search-wrapper .input-group.osf-pill-input-group > .input-group-append > .btn,
.osf-shop-cc-theme header .main-search .input-group.osf-pill-input-group > .input-group-append > .btn,
.osf-shop-cc-theme header .search-form-wrapper-fixed .input-group.osf-pill-input-group > .input-group-append > .btn {
  border-radius: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  box-shadow: none !important;
}

/* ========== Route & Kontakt: one centered axis (footer_column.tpl: osf-footer-column--route-center) ========== */
@media (min-width: 992px) {
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column.osf-footer-column--route-center {
    align-items: center !important;
    gap: var(--osf-footer-body-gap, 0.85rem) !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center > .osf-footer-column__heading--static {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    min-height: var(--osf-footer-heading-row, 1.1875rem) !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-footer-column__title {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center > .osf-footer-column__body,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-footer-route-stack {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-store-locator__body,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-store-locator__body--stacked,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-store-locator__aside,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-store-locator__aside--footer-actions {
    align-items: center !important;
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 991.98px) {
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column.osf-footer-column--route-center {
    align-items: stretch !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-footer-column__heading--toggle {
    display: flex !important;
    justify-content: space-between !important;
    text-align: left !important;
    width: 100% !important;
    height: auto !important;
    min-height: var(--osf-footer-heading-row, 1.1875rem) !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 0.65rem 0 !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-footer-column__title {
    text-align: left !important;
    margin-bottom: 0 !important;
  }

  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center > .osf-footer-column__body,
  .osf-shop-cc-theme #footer :is(.osf-footer-col--store_actions, .osf-footer-col--actions) .osf-footer-column--route-center .osf-footer-route-stack {
    align-items: flex-start !important;
  }
}

/* ========== NOVA legacy gold (#F8BF00) — final cascade (this file loads last) ========== */
.osf-shop-cc-theme .productlist-filter-categories > .nav-item > .nav-link::before,
.osf-shop-cc-theme .productlist-filter-categories > .nav-item > .nav-link.active::before,
.osf-shop-cc-theme #sidepanel_left .productlist-filter-categories > .nav-item > .nav-link::before,
.osf-shop-cc-theme #sidepanel_left .productlist-filter-categories > .nav-item > .nav-link.active::before,
.is-item-list #sidepanel_left .productlist-filter-categories > .nav-item > .nav-link::before,
.is-item-list #sidepanel_left .productlist-filter-categories > .nav-item > .nav-link.active::before,
.osf-shop-cc-theme #sidepanel_left .box-categories .nav-link.active::before,
.is-item-list #sidepanel_left .box-categories .nav-link.active::before {
  display: none !important;
  content: none !important;
  width: 0 !important;
  border: 0 !important;
  background: none !important;
}

.osf-shop-cc-theme .filter-item.active .filter-img,
.osf-shop-cc-theme .filter-item:active .filter-img,
.osf-shop-cc-theme #sidepanel_left .filter-item.active .filter-img {
  border-color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme .filter-search-wrapper.input-group-selected .input-group-text,
.osf-shop-cc-theme .filter-search-wrapper.input-group-selected .filter-search,
.osf-shop-cc-theme #sidepanel_left .filter-search-wrapper.input-group-selected .input-group-text,
.osf-shop-cc-theme #sidepanel_left .filter-search-wrapper.input-group-selected .filter-search {
  border-color: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.55) !important;
  box-shadow: none !important;
}

.osf-shop-cc-theme .custom-control-input:checked ~ .custom-control-label::before,
.osf-shop-cc-theme #sidepanel_left .custom-control-input:checked ~ .custom-control-label::before {
  border-color: var(--osf-brand, #1789ad) !important;
  background-color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme .custom-control-input:focus:not(:checked) ~ .custom-control-label::before,
.osf-shop-cc-theme #sidepanel_left .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.45) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--osf-brand-rgb, 23, 137, 173), 0.12) !important;
}

.osf-shop-cc-theme #sidepanel_left .form-control:focus,
.osf-shop-cc-theme .price-range-inputs .form-control:focus {
  border-color: rgba(var(--osf-accent-rgb, 53, 215, 255), 0.55) !important;
  box-shadow: 0 0 0 0.2rem rgba(var(--osf-brand-rgb, 23, 137, 173), 0.12) !important;
}

.osf-shop-cc-theme .text-primary,
.osf-shop-cc-theme a.text-primary {
  color: var(--osf-brand, #1789ad) !important;
}

.osf-shop-cc-theme .btn-outline-primary,
.osf-shop-cc-theme .btn-outline-primary:not(:disabled):not(.disabled):active,
.osf-shop-cc-theme .btn-outline-primary:not(:disabled):not(.disabled).active,
.osf-shop-cc-theme .show > .btn-outline-primary.dropdown-toggle {
  color: var(--osf-brand, #1789ad) !important;
  border-color: rgba(var(--osf-brand-rgb, 23, 137, 173), 0.45) !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.osf-shop-cc-theme .btn-outline-primary:hover,
.osf-shop-cc-theme .btn-outline-primary:focus,
.osf-shop-cc-theme .btn-outline-primary.focus {
  color: var(--osf-text-on-brand, #ffffff) !important;
  background: var(--osf-btn-gradient, linear-gradient(135deg, #1789ad 0%, #35d7ff 100%)) !important;
  border-color: transparent !important;
  box-shadow: var(--osf-btn-shadow-sm, 0 4px 16px rgba(23, 137, 173, 0.22)) !important;
}

.osf-shop-cc-theme aside .nav-panel > .nav > .active > .nav-link {
  border-bottom-color: var(--osf-brand, #1789ad) !important;
}

@media (min-width: 768px) {
  .osf-shop-cc-theme .productbox.productbox-hover:focus-visible .productbox-inner,
  .osf-shop-cc-theme .productbox.productbox-hover:focus-within .productbox-inner,
  .osf-shop-cc-theme .productbox.osf-card--interactive:focus-visible .productbox-inner,
  .osf-shop-cc-theme .productbox.osf-card--interactive:focus-within .productbox-inner,
  .osf-shop-cc-theme .osf-plp #product-list .osf-product-card:focus-visible .productbox-inner,
  .osf-shop-cc-theme .osf-plp #product-list .osf-product-card:focus-within .productbox-inner {
    outline: 2px solid rgba(var(--osf-brand-rgb, 23, 137, 173), 0.55) !important;
    outline-offset: 2px;
    border-color: rgba(var(--osf-accent-rgb, 53, 215, 255), 0.35) !important;
  }
}

/* Footer newsletter vs. columns — wins generic overrides (tokens in custom.css :root) */
.osf-shop-cc-theme #footer.newsletter-active .osf-footer-newsletter {
  background: linear-gradient(
    165deg,
    rgba(var(--osf-brand-rgb, 23, 137, 173), 0.28) 0%,
    var(--osf-footer-newsletter-bg, var(--osf-footer-deep, #12272f)) 58%
  ) !important;
  border: 1px solid var(--osf-footer-newsletter-border, rgba(var(--osf-accent-rgb, 53, 215, 255), 0.22)) !important;
  border-radius: var(--osf-footer-newsletter-radius, 1.25rem) !important;
  overflow: hidden !important;
  background-clip: padding-box !important;
  -webkit-background-clip: padding-box !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.osf-shop-cc-theme #footer.newsletter-active .osf-footer-main {
  border-top: 1px solid var(--osf-footer-main-divider, rgba(255, 255, 255, 0.12)) !important;
  padding-top: 0.25rem !important;
}
