/**
 * OneStorefront — Shop-weite Kalorienrechner-Optik (lädt als letztes via custom.css).
 * Brand #1789ad · Accent #35D7FF · Glas · Verlauf nur auf Interaktion.
 */

/* --- Typografie --- */
#content-wrapper {
  color: var(--osf-heading, #000000);
}

#content-wrapper .text-muted,
#content-wrapper small,
#content-wrapper .form-text {
  color: var(--osf-muted, #64748b) !important;
}

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

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

/* --- Buttons: delegated to onestorefront-shop-cc-theme.css (loads after this file) --- */

/* --- Header (dunkel wie Footer) --- */
#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;
}

#header-top-bar,
#header-top-bar.osf-header-topbar,
header,
header#jtl-nav-wrapper {
  background: transparent !important;
  color: var(--osf-footer-text, #e8f1f4) !important;
}

header .navbar-nav > .nav-item > .nav-link {
  color: var(--osf-footer-text, #e8f1f4) !important;
}

header .search-wrapper .input-group-append .osf-search-submit,
header .main-search .input-group-append .osf-search-submit,
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;
}

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

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

header .dropdown-menu {
  background: linear-gradient(180deg, #12272f 0%, #1a3340 100%) !important;
  color: var(--osf-footer-text, #e8f1f4) !important;
}

/* --- Ribbons: kein Gold/Orange (NOVA ribbon-1 = #eeb700) --- */
.productbox .productbox-ribbon.ribbon,
.osf-plp .osf-product-card .productbox-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;
}

.productbox .ribbon-1::before,
.productbox .ribbon-2::before,
.productbox .ribbon-4::before,
.productbox .ribbon-5::before,
.productbox .ribbon-6::before,
.osf-plp .osf-product-card .ribbon-1::before,
.osf-plp .osf-product-card .ribbon-2::before,
.osf-plp .osf-product-card .ribbon-4::before,
.osf-plp .osf-product-card .ribbon-5::before,
.osf-plp .osf-product-card .ribbon-6::before {
  border-right-color: var(--osf-brand, #1789ad) !important;
}

.productbox .ribbon-3,
.osf-plp .osf-product-card .ribbon-3 {
  background: var(--success, #1c871e) !important;
  color: #ffffff !important;
}

/* --- PLP Produktkarten --- */
:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .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-plp-radius, var(--osf-radius-lg, 1.25rem)) !important;
  box-shadow: var(--osf-glass-shadow) !important;
  overflow: hidden;
}

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

.osf-plp .content-cats-small .sub-categories {
  border-radius: var(--osf-plp-radius, var(--osf-radius-lg, 1.25rem)) !important;
  overflow: hidden;
}

:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .productbox-title,
:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .productbox-title a {
  color: var(--osf-heading, #000000) !important;
}

:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .price,
:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .price_wrapper .price {
  color: var(--osf-heading, #000000);
  font-weight: 700;
}

:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .price-note,
:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .vat_info,
:is(.osf-plp #product-list, .osf-pdp .recommendations .product-list, .osf-cart .recommendations .product-list).layout-gallery
  .osf-product-card
  .base-price {
  color: var(--osf-muted, #64748b);
}

/* --- Filter-Sidebar --- */
.is-item-list #sidepanel_left .box[class*="box-filter"],
.is-item-list #sidepanel_left .box.box-categories,
.is-item-list #sidepanel_left .box.box-search-category,
.is-item-list #sidepanel_left .box.box-normal,
.is-item-list #sidepanel_left .box.box-slider {
  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;
  overflow: hidden;
}

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

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

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

/* --- Karten / Boxen --- */
.card,
.box,
#content-wrapper > .card,
.osf-plp .content-cats-small .sub-categories {
  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;
}

/* --- Formulare --- */
#content-wrapper .form-control,
#content-wrapper .custom-select,
.osf-plp .form-control,
.osf-pdp .form-control {
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(6px);
  -webkit-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);
}

#content-wrapper .form-control:focus,
.osf-plp .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;
}

/* --- Pagination --- */
.page-item.active .page-link,
.osf-plp .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;
}

/* Footer-Link-Hover */
#footer a:not(.btn):hover {
  color: var(--osf-accent, #35d7ff);
}
