/* ============================================
   Technolenz Global Styles
   Loaded as LAST stylesheet after NOVA's CSS bundle.
   All rules prefixed with body.is-nova for specificity.
   ============================================ */

:root {
  --tz-bg: #FAF7F2;
  --tz-bg2: #F0EBE3;
  --tz-dark: #1A1A1A;
  --tz-dark2: #2C2826;
  --tz-text: #2C2826;
  --tz-text2: #6B5E54;
  --tz-text-light: #FAF7F2;
  --tz-muted: #9E9389;
  --tz-accent: #C8956C;
  --tz-accent-hover: #B07D56;
  --tz-accent-light: #E8D5C0;
  --tz-border: #E0D8CE;
  --tz-border-dark: #3A3632;
  --tz-display: 'Playfair Display', Georgia, serif;
  --tz-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --tz-mono: 'JetBrains Mono', monospace;
}

/* ═══════════════════════════════════════════
   SKIP-TO LINKS (NOVA accessibility links)
   ═══════════════════════════════════════════ */
.btn-skip-to {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  transform: scale(0) !important;
}

/* ═══════════════════════════════════════════
   GLOBAL BASE
   ═══════════════════════════════════════════ */
body.is-nova {
  font-family: var(--tz-body) !important;
  color: var(--tz-text) !important;
  background: var(--tz-bg) !important;
  -webkit-font-smoothing: antialiased;
  border-top: none !important;
}

/* ═══════════════════════════════════════════
   TYPOGRAPHY
   ═══════════════════════════════════════════ */
body.is-nova h1, body.is-nova h2, body.is-nova h3,
body.is-nova h4, body.is-nova h5, body.is-nova h6,
body.is-nova .h1, body.is-nova .h2, body.is-nova .h3,
body.is-nova .h4, body.is-nova .h5, body.is-nova .h6 {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
  letter-spacing: -.02em;
}
body.is-nova p {
  color: var(--tz-text2);
  line-height: 1.7;
}
body.is-nova a {
  color: var(--tz-accent) !important;
  transition: color .3s;
}
body.is-nova a:hover {
  color: var(--tz-accent-hover) !important;
  text-decoration: none;
}
body.is-nova label,
body.is-nova .small, body.is-nova small,
body.is-nova .form-text {
  font-family: var(--tz-body) !important;
}
body.is-nova .text-muted {
  color: var(--tz-muted) !important;
}
body.is-nova ::selection {
  background: var(--tz-accent-light);
  color: var(--tz-dark);
}

/* ═══════════════════════════════════════════
   HEADER / NAV  — FULL NOVA OVERRIDE
   ═══════════════════════════════════════════ */
body.is-nova #jtl-nav-wrapper {
  background: rgba(250,247,242,.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--tz-border) !important;
  border-top: none !important;
  box-shadow: none !important;
}
body.is-nova #jtl-nav-wrapper * {
  font-family: var(--tz-body) !important;
}
body.is-nova #jtl-nav-wrapper .navbar {
  font-family: var(--tz-body) !important;
  background: transparent !important;
}

/* Nav links */
body.is-nova #jtl-nav-wrapper .nav-link,
body.is-nova #jtl-nav-wrapper .navbar-toggler,
body.is-nova #jtl-nav-wrapper .nav-item a,
body.is-nova #jtl-nav-wrapper .navbar-nav .nav-link {
  color: var(--tz-text) !important;
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
}
body.is-nova #jtl-nav-wrapper .nav-link:hover,
body.is-nova #jtl-nav-wrapper .nav-link:focus,
body.is-nova #jtl-nav-wrapper .nav-item a:hover {
  color: var(--tz-accent) !important;
}
body.is-nova #mainNavigation .nav-link {
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

/* Nav mobile */
body.is-nova .nav-mobile-header {
  border-bottom: 1px solid var(--tz-border) !important;
}
body.is-nova .nav-mobile-header-hr {
  border-color: var(--tz-border) !important;
}
body.is-nova .nav-offcanvas-title {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
}

/* Cart icon */
body.is-nova .cart-icon-dropdown .nav-link,
body.is-nova .cart-icon-dropdown-icon {
  color: var(--tz-text) !important;
}
body.is-nova .cart-icon-dropdown:hover .nav-link,
body.is-nova .cart-icon-dropdown:hover .cart-icon-dropdown-icon {
  color: var(--tz-accent) !important;
}
body.is-nova .cart-icon-dropdown-price {
  font-family: var(--tz-body) !important;
  color: var(--tz-text) !important;
}

/* Badge (cart count, wishlist count, etc.) */
body.is-nova .fa-sup {
  background-color: var(--tz-accent) !important;
  color: #fff !important;
  font-family: var(--tz-body) !important;
}
body.is-nova .badge-circle:hover,
body.is-nova .badge-circle:focus {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
}
body.is-nova .badge-circle-1.on-list {
  border-color: var(--tz-accent) !important;
  background-color: var(--tz-accent) !important;
}

/* Top bar (if present) */
body.is-nova #header-top-bar,
body.is-nova .topbar-wrapper {
  background: var(--tz-dark) !important;
}
body.is-nova .topbar-wrapper .nav-link,
body.is-nova .topbar-wrapper a {
  color: rgba(255,255,255,.7) !important;
  font-size: .8rem !important;
}
body.is-nova .topbar-wrapper .nav-link:hover,
body.is-nova .topbar-wrapper a:hover {
  color: var(--tz-accent) !important;
}

/* Search */
body.is-nova .search-wrapper .form-control {
  border-radius: 4px !important;
  border-color: var(--tz-border) !important;
  font-family: var(--tz-body) !important;
  background: #fff !important;
}
body.is-nova .search-wrapper .form-control:focus {
  border-color: var(--tz-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(200,149,108,.2) !important;
}
body.is-nova .search-wrapper .btn {
  background: var(--tz-dark) !important;
  border-color: var(--tz-dark) !important;
  color: #fff !important;
}

/* Logo */
body.is-nova .navbar-brand img {
  filter: none !important;
}
body.is-nova .toggler-logo-wrapper {
  font-family: var(--tz-body) !important;
}
body.is-nova .navbar-toggler-icon {
  color: var(--tz-text) !important;
}

/* Navbar toggler (hamburger) */
body.is-nova .navbar-toggler {
  border-color: var(--tz-border) !important;
}
body.is-nova .navbar-toggler:focus {
  box-shadow: 0 0 0 .2rem rgba(200,149,108,.25) !important;
}

/* Account dropdown in nav */
body.is-nova #jtl-nav-wrapper .dropdown-menu {
  background: #fff !important;
  border: 1px solid var(--tz-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.08) !important;
}
body.is-nova #jtl-nav-wrapper .dropdown-item {
  color: var(--tz-text) !important;
}
body.is-nova #jtl-nav-wrapper .dropdown-item:hover {
  background-color: var(--tz-bg2) !important;
  color: var(--tz-accent) !important;
}
body.is-nova #jtl-nav-wrapper .dropdown-footer {
  border-top: 1px solid var(--tz-border) !important;
  background: var(--tz-bg2) !important;
  color: var(--tz-text2) !important;
}
body.is-nova #jtl-nav-wrapper .dropdown-footer a {
  color: var(--tz-accent) !important;
}
body.is-nova #jtl-nav-wrapper .dropdown-body {
  color: var(--tz-text) !important;
}
body.is-nova #jtl-nav-wrapper legend {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
  border-bottom-color: var(--tz-border) !important;
}

/* Language dropdown */
body.is-nova .language-dropdown .dropdown-item.active,
body.is-nova .language-dropdown .link-lang.active {
  background-color: var(--tz-bg2) !important;
  color: var(--tz-accent) !important;
  font-weight: 600 !important;
}

/* ═══════════════════════════════════════════
   BUTTONS  — OVERRIDE NOVA #f8bf00
   ═══════════════════════════════════════════ */
body.is-nova .btn {
  font-family: var(--tz-body) !important;
  font-weight: 500 !important;
  border-radius: 4px !important;
  transition: all .3s cubic-bezier(.16,1,.3,1) !important;
}
body.is-nova .btn-primary,
body.is-nova .btn-primary:focus,
body.is-nova .btn-primary:active,
body.is-nova a.btn-primary,
body.is-nova .show > .btn-primary.dropdown-toggle,
body.is-nova .show > .btn-primary[data-toggle=collapse]:not(.navbar-toggler) {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
  color: #fff !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  font-size: .85rem !important;
}
body.is-nova .btn-primary:hover,
body.is-nova a.btn-primary:hover {
  background-color: var(--tz-accent-hover) !important;
  border-color: var(--tz-accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(200,149,108,.3) !important;
  color: #fff !important;
}
body.is-nova .btn-primary.disabled,
body.is-nova .btn-primary:disabled {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
  opacity: .65;
}
body.is-nova .btn-secondary,
body.is-nova .btn-secondary:focus {
  background-color: var(--tz-dark) !important;
  border-color: var(--tz-dark) !important;
  color: #fff !important;
}
body.is-nova .btn-secondary:hover {
  background-color: var(--tz-dark2) !important;
  border-color: var(--tz-dark2) !important;
}
body.is-nova .btn-outline-primary,
body.is-nova .btn-outline-primary:focus {
  color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
  background: transparent !important;
}
body.is-nova .btn-outline-primary:hover,
body.is-nova .show > .btn-outline-primary.dropdown-toggle,
body.is-nova .show > .btn-outline-primary[data-toggle=collapse]:not(.navbar-toggler) {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
  color: #fff !important;
}
body.is-nova .btn-outline-primary.disabled,
body.is-nova .btn-outline-primary:disabled {
  color: var(--tz-accent) !important;
  background-color: transparent !important;
}
body.is-nova .btn-link {
  color: var(--tz-accent) !important;
}
body.is-nova .btn-link:hover {
  color: var(--tz-accent-hover) !important;
}
/* Animated buttons (NOVA feature) */
body.is-nova .btn-animated .btn-primary:hover {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
}
body.is-nova .btn-animated .btn-primary:hover:before {
  background-color: var(--tz-accent-hover) !important;
}
body.is-nova .btn-animated .btn-outline-primary:hover:after {
  background: var(--tz-accent) !important;
}
/* Icon buttons */
body.is-nova .btn-icon-primary:hover {
  border-color: var(--tz-accent) !important;
  color: var(--tz-accent) !important;
}
body.is-nova .show > .btn-icon-primary.dropdown-toggle,
body.is-nova .show > .btn-icon-primary[data-toggle=collapse]:not(.navbar-toggler) {
  border-color: var(--tz-accent) !important;
  background-color: var(--tz-accent) !important;
}
body.is-nova .show > .btn-icon-secondary.dropdown-toggle,
body.is-nova .show > .btn-icon-secondary[data-toggle=collapse]:not(.navbar-toggler) {
  border-color: var(--tz-accent) !important;
  background-color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   FORMS  — OVERRIDE NOVA #f8bf00 FOCUS
   ═══════════════════════════════════════════ */
body.is-nova .form-control {
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  border: 1px solid var(--tz-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--tz-text) !important;
  width: 100% !important;
  transition: border-color .2s, box-shadow .2s !important;
}
/* Override NOVA's size-class based widths (form-control-20, form-control-sm, etc.) */
body.is-nova .form-control[class*="form-control-"],
body.is-nova input.form-control:not(.quantity),
body.is-nova select.form-control,
body.is-nova textarea.form-control {
  width: 100% !important;
}
/* Quantity inputs inside input-groups must NOT be forced to 100% width */
body.is-nova .form-counter .form-control,
body.is-nova .input-group .form-control.quantity {
  width: 50px !important;
  min-width: 40px !important;
  flex: 1 1 0% !important;
}
body.is-nova .form-counter,
body.is-nova .tz-cart-item-qty .input-group,
body.is-nova .qty-wrapper .input-group {
  flex-wrap: nowrap !important;
}
body.is-nova .form-control:focus {
  border-color: var(--tz-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(200,149,108,.25) !important;
}
body.is-nova .form-control:focus + .input-group-append .input-group-text {
  border-color: var(--tz-accent) !important;
}
body.is-nova .form-control::placeholder {
  color: var(--tz-muted) !important;
  opacity: .7 !important;
}
body.is-nova textarea.form-control {
  min-height: 100px !important;
  resize: vertical !important;
}
/* Form groups must fill their column */
body.is-nova .form-group {
  width: 100% !important;
}
/* Custom select dropdowns */
body.is-nova .custom-select {
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  border: 1px solid var(--tz-border) !important;
  border-radius: 4px !important;
  background-color: #fff !important;
  color: var(--tz-text) !important;
  width: 100% !important;
  transition: border-color .2s, box-shadow .2s !important;
}
body.is-nova .custom-select:focus {
  border-color: var(--tz-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(200,149,108,.25) !important;
}
/* Checkboxes & radios */
body.is-nova .custom-control-input:checked ~ .custom-control-label::before {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
}
body.is-nova .custom-control-input:focus ~ .custom-control-label::before {
  border-color: var(--tz-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(200,149,108,.25) !important;
}
body.is-nova .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: var(--tz-accent) !important;
}
body.is-nova .custom-control-label {
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  color: var(--tz-text) !important;
  cursor: pointer !important;
}
body.is-nova .custom-control-label::before {
  border-color: var(--tz-border) !important;
  border-radius: 3px !important;
  transition: border-color .2s, background-color .2s !important;
}
/* Radio buttons */
body.is-nova .custom-radio .custom-control-label::before {
  border-radius: 50% !important;
}
/* File input */
body.is-nova .custom-file-input:focus ~ .custom-file-label {
  border-color: var(--tz-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(200,149,108,.25) !important;
}
/* Fieldsets — remove default borders globally */
body.is-nova fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Shipping page — clean layout */
body.is-nova .page-shipping .form-group,
body.is-nova .page-shipping fieldset {
  border: none !important;
}
/* Bootstrap select plugin */
body.is-nova .bootstrap-select.custom-select {
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}
body.is-nova .bootstrap-select.custom-select button.dropdown-toggle {
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  border: 1px solid var(--tz-border) !important;
  border-radius: 4px !important;
  background: #fff !important;
  color: var(--tz-text) !important;
  min-height: 44px !important;
  padding: .6rem .85rem !important;
  transition: border-color .2s, box-shadow .2s !important;
}
body.is-nova .bootstrap-select.custom-select button.dropdown-toggle:focus:not(.navbar-toggler) {
  border-color: var(--tz-accent) !important;
  box-shadow: 0 0 0 .2rem rgba(200,149,108,.25) !important;
}
body.is-nova .bootstrap-select.custom-select.show button.dropdown-toggle,
body.is-nova .bootstrap-select.custom-select.show button[data-toggle=collapse]:not(.navbar-toggler) {
  border-color: var(--tz-accent) !important;
}
body.is-nova .bootstrap-select .dropdown-menu {
  border: 1px solid var(--tz-border) !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.08) !important;
  font-family: var(--tz-body) !important;
}
body.is-nova .bootstrap-select .dropdown-item {
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  color: var(--tz-text) !important;
  padding: .5rem .85rem !important;
}
body.is-nova .bootstrap-select .dropdown-item:hover,
body.is-nova .bootstrap-select .dropdown-item.active,
body.is-nova .bootstrap-select .dropdown-item:active {
  background: var(--tz-bg2) !important;
  color: var(--tz-accent) !important;
}
/* Input group (e.g. +/- buttons, append/prepend) */
body.is-nova .input-group-text {
  font-family: var(--tz-body) !important;
  border-color: var(--tz-border) !important;
  background: var(--tz-bg2) !important;
  color: var(--tz-text2) !important;
  min-height: 44px !important;
}
/* Labels & legends */
body.is-nova .col-form-label,
body.is-nova legend {
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  color: var(--tz-text2) !important;
  border-bottom-color: var(--tz-border) !important;
}
body.is-nova .form-group label,
body.is-nova .formgroup label {
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  color: var(--tz-text2) !important;
}
body.is-nova .form-group .optional {
  font-weight: 400 !important;
  color: var(--tz-muted) !important;
  font-size: .8rem !important;
}
body.is-nova .form-icon-trigger-label:hover {
  color: var(--tz-accent) !important;
}
/* Error state */
body.is-nova .has-error .form-control,
body.is-nova .is-invalid {
  border-color: #dc3545 !important;
}
body.is-nova .has-error .form-control:focus,
body.is-nova .is-invalid:focus {
  box-shadow: 0 0 0 .2rem rgba(220,53,69,.25) !important;
}
body.is-nova .form-error-msg,
body.is-nova .invalid-feedback {
  font-family: var(--tz-body) !important;
  font-size: .8rem !important;
  color: #dc3545 !important;
}
/* Form help text */
body.is-nova .form-text {
  font-family: var(--tz-body) !important;
  font-size: .8rem !important;
  color: var(--tz-muted) !important;
}
/* Focus-visible outline */
body.is-nova .btn:focus-visible,
body.is-nova .focus:focus-visible,
body.is-nova :focus-visible {
  outline-color: var(--tz-accent) !important;
}

/* Label slide (NOVA floating labels) */
body.is-nova .label-slide label {
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  color: var(--tz-text2) !important;
}
body.is-nova .label-slide .form-group {
  width: 100% !important;
  margin-bottom: 1rem !important;
}
body.is-nova .label-slide .form-control {
  width: 100% !important;
}

/* ── Register / Checkout form layout consistency ── */
body.is-nova .register-form,
body.is-nova .checkout-register-form {
  font-family: var(--tz-body) !important;
}
body.is-nova .register-form .row,
body.is-nova .checkout-register-form .row,
body.is-nova .inc-billing-address-form .row {
  margin-left: -15px !important;
  margin-right: -15px !important;
}
body.is-nova .register-form .row > [class*="col"],
body.is-nova .checkout-register-form .row > [class*="col"],
body.is-nova .inc-billing-address-form .row > [class*="col"] {
  padding-left: 15px !important;
  padding-right: 15px !important;
}
/* Section heading rows (Name, Adresse, Kontakt, etc.) */
body.is-nova .register-form hr,
body.is-nova .checkout-register-form hr,
body.is-nova .inc-billing-address-form hr {
  border-top-color: var(--tz-border) !important;
  margin: 1.5rem 0 !important;
}
body.is-nova .register-form .h6,
body.is-nova .register-form h6,
body.is-nova .checkout-register-form .h6,
body.is-nova .checkout-register-form h6 {
  font-family: var(--tz-display) !important;
  font-size: 1rem !important;
  color: var(--tz-text) !important;
  margin-bottom: 1rem !important;
}
/* Password strength meter */
body.is-nova .password-check .progress-bar {
  background-color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   CARDS & PANELS
   ═══════════════════════════════════════════ */
body.is-nova .card {
  border: none !important;
  border-radius: 8px !important;
  overflow: hidden;
  box-shadow: none !important;
  background: transparent !important;
}
body.is-nova .card:hover {
  box-shadow: none !important;
}
body.is-nova .card-header {
  background: transparent !important;
  border-bottom: none !important;
  font-family: var(--tz-display) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.is-nova .card-body {
  font-family: var(--tz-body) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* NOVA card-gray variant (used in checkout order summary) */
body.is-nova .card-gray {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ═══════════════════════════════════════════
   BREADCRUMB
   ═══════════════════════════════════════════ */
body.is-nova .breadcrumb {
  background: transparent !important;
  font-family: var(--tz-body) !important;
  font-size: .82rem !important;
}
body.is-nova .breadcrumb-item a,
body.is-nova .breadcrumb-link {
  color: var(--tz-text2) !important;
}
body.is-nova .breadcrumb-item a:hover,
body.is-nova .breadcrumb-link:hover {
  color: var(--tz-accent) !important;
}
body.is-nova .breadcrumb-item.active {
  color: var(--tz-muted) !important;
}

/* ═══════════════════════════════════════════
   ALERTS
   ═══════════════════════════════════════════ */
body.is-nova .alert {
  font-family: var(--tz-body) !important;
  border-radius: 8px !important;
}
body.is-nova .alert-info {
  background-color: var(--tz-bg2) !important;
  border-color: var(--tz-border) !important;
  color: var(--tz-text) !important;
}

/* ═══════════════════════════════════════════
   TABLES
   ═══════════════════════════════════════════ */
body.is-nova .table {
  font-family: var(--tz-body) !important;
}
body.is-nova .table thead th {
  border-bottom-color: var(--tz-border) !important;
  font-family: var(--tz-display) !important;
  font-weight: 500 !important;
  color: var(--tz-text) !important;
}
body.is-nova .table td,
body.is-nova .table th {
  border-color: var(--tz-border) !important;
}

/* ═══════════════════════════════════════════
   DROPDOWNS
   ═══════════════════════════════════════════ */
body.is-nova .dropdown-menu {
  border-color: var(--tz-border) !important;
  border-radius: 6px !important;
  font-family: var(--tz-body) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.08) !important;
  background: #fff !important;
}
body.is-nova .dropdown-item {
  font-family: var(--tz-body) !important;
  color: var(--tz-text) !important;
}
body.is-nova .dropdown-item:hover,
body.is-nova .dropdown-item:focus {
  background-color: var(--tz-bg2) !important;
  color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   PAGINATION & BADGES
   ═══════════════════════════════════════════ */
body.is-nova .page-link {
  color: var(--tz-accent) !important;
  border-color: var(--tz-border) !important;
}
body.is-nova .page-link:hover {
  color: var(--tz-accent) !important;
}
body.is-nova .page-item.active .page-link {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
  color: #fff !important;
}
body.is-nova .badge-primary {
  background-color: var(--tz-accent) !important;
  color: #fff !important;
}
body.is-nova a.badge-primary:hover,
body.is-nova a.badge-primary:focus {
  background-color: var(--tz-accent-hover) !important;
}
body.is-nova .badge-light {
  background: var(--tz-accent-light) !important;
  color: var(--tz-accent) !important;
}
body.is-nova .badge-outline-primary {
  border-color: var(--tz-accent) !important;
  color: var(--tz-accent) !important;
}
body.is-nova a.badge-outline-primary:hover {
  background-color: var(--tz-accent) !important;
  color: #fff !important;
}
body.is-nova .badge-check {
  border-color: var(--tz-accent) !important;
}
body.is-nova .badge-check .badge-circle {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   PROGRESS BAR
   ═══════════════════════════════════════════ */
body.is-nova .progress-bar {
  background-color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   LIST GROUPS
   ═══════════════════════════════════════════ */
body.is-nova .list-group-item.active {
  background-color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   UTILITY COLOR OVERRIDES (was #f8bf00)
   ═══════════════════════════════════════════ */
body.is-nova .bg-primary {
  background-color: var(--tz-accent) !important;
}
body.is-nova .border-primary {
  border-color: var(--tz-accent) !important;
}
body.is-nova .text-primary {
  color: var(--tz-accent) !important;
}
body.is-nova a.text-primary:hover,
body.is-nova a.text-primary:focus {
  color: var(--tz-accent-hover) !important;
}
body.is-nova .text-white {
  color: #fff !important;
}

/* ═══════════════════════════════════════════
   BASKET / CART PAGE
   ═══════════════════════════════════════════ */
body.is-nova .basket {
  font-family: var(--tz-body) !important;
}
body.is-nova .basket-heading {
  font-family: var(--tz-display) !important;
  font-weight: 500 !important;
  color: var(--tz-text) !important;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid var(--tz-border);
}
body.is-nova .basket-empty .alert {
  background: var(--tz-bg2) !important;
  border: 1px solid var(--tz-border) !important;
  border-radius: 12px !important;
  padding: 3rem 2rem !important;
  text-align: center !important;
}
body.is-nova .basket-empty .badge.bubble {
  background: var(--tz-accent-light) !important;
  color: var(--tz-accent) !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.is-nova .basket-empty .badge.bubble i {
  color: var(--tz-accent) !important;
}
body.is-nova .basket .price,
body.is-nova .basket .sub-price {
  font-family: var(--tz-display) !important;
  font-weight: 600 !important;
}
body.is-nova .cart-summary {
  background: var(--tz-bg2) !important;
  border: 1px solid var(--tz-border) !important;
  border-radius: 12px !important;
}

/* ═══════════════════════════════════════════
   CHECKOUT — FULL DESIGN
   ═══════════════════════════════════════════ */

/* ── Container & Layout ── */
body.is-nova[data-page="3"] .container-fluid,
body.is-nova .checkout-container,
body.is-nova #checkout {
  max-width: 1280px !important;
  margin: 0 auto !important;
}
body.is-nova .checkout-heading,
body.is-nova .register-heading {
  font-family: var(--tz-display) !important;
  font-size: 1.8rem !important;
  color: var(--tz-text) !important;
  margin-bottom: 1.5rem !important;
}

/* ── Stepper / Progress Steps ── */
body.is-nova .stepper.checkout-steps {
  background: transparent !important;
  border: none !important;
  margin-bottom: 2.5rem !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
}
body.is-nova .checkout-steps .step,
body.is-nova .checkout-steps .step.col-auto,
body.is-nova .checkout-steps .step.col-12,
body.is-nova .checkout-steps .step.col-lg-4 {
  font-family: var(--tz-body) !important;
  flex: 1 1 0% !important;
  max-width: none !important;
  width: auto !important;
  padding: 0 !important;
}
/* Kill NOVA's arrow triangles on .step */
body.is-nova .checkout-steps .step:after,
body.is-nova .checkout-steps .step:before,
body.is-nova .stepper .step:after,
body.is-nova .stepper .step:before {
  display: none !important;
  content: none !important;
}
body.is-nova .checkout-steps .step-content {
  display: flex !important;
  align-items: center !important;
  gap: .75rem !important;
  position: relative !important;
  padding-right: 1.5rem !important;
}
/* Connector line after each step (on .step-content::after) */
body.is-nova .checkout-steps .step-content:after,
body.is-nova .stepper.checkout-steps .step-content:after {
  content: '' !important;
  display: block !important;
  position: static !important;
  flex: 1 !important;
  height: 1px !important;
  background: var(--tz-border) !important;
  min-width: 20px !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  z-index: auto !important;
}
/* Active/completed connector in accent color */
body.is-nova .checkout-steps .step-active .step-content:after,
body.is-nova .stepper .step-active .step-content:after,
body.is-nova .stepper .step-complete .step-content:after {
  background: var(--tz-accent) !important;
}
/* Step number badges */
body.is-nova .checkout-steps .badge,
body.is-nova .checkout-steps .badge-pill {
  background: var(--tz-border) !important;
  color: var(--tz-text2) !important;
  font-family: var(--tz-body) !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  min-width: 32px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
/* Active step badge */
body.is-nova .checkout-steps .step-active .badge-pill,
body.is-nova .checkout-steps .step-active .badge-primary,
body.is-nova .checkout-steps .step-active .badge,
body.is-nova .checkout-steps .step-current .badge-pill,
body.is-nova .checkout-steps .step-current .badge {
  background: var(--tz-accent) !important;
  color: #fff !important;
}
/* Completed step badge */
body.is-nova .checkout-steps .badge-primary {
  background: var(--tz-accent) !important;
  color: #fff !important;
}
/* Inactive step badge */
body.is-nova .checkout-steps .badge-secondary {
  background: var(--tz-border) !important;
  color: var(--tz-text2) !important;
}
/* Step text labels */
body.is-nova .checkout-steps .step-text {
  font-family: var(--tz-body) !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: var(--tz-text2) !important;
  white-space: nowrap !important;
}
body.is-nova .checkout-steps .step-active .step-text,
body.is-nova .checkout-steps .step-current .step-text {
  color: var(--tz-text) !important;
  font-weight: 600 !important;
}
/* Checkmark on completed steps */
body.is-nova .checkout-steps .step-check {
  color: var(--tz-accent) !important;
  font-size: .8rem !important;
}
body.is-nova .secure-checkout-icon,
body.is-nova .secure-checkout-icon i {
  color: var(--tz-accent) !important;
}
body.is-nova .checkout-steps a {
  text-decoration: none !important;
}
/* Mobile stepper: stack vertically isn't needed, just shrink text */
@media (max-width: 767.98px) {
  body.is-nova .checkout-steps .step-text {
    font-size: .7rem !important;
    letter-spacing: .02em !important;
  }
  body.is-nova .checkout-steps .step-content {
    padding-right: .75rem !important;
    gap: .4rem !important;
  }
  body.is-nova .checkout-steps .badge,
  body.is-nova .checkout-steps .badge-pill {
    min-width: 26px !important;
    width: 26px !important;
    height: 26px !important;
    font-size: .7rem !important;
  }
}

/* ── Step 0: Login / Register ── */
body.is-nova .checkout-existing-customer,
body.is-nova #register-customer {
  font-family: var(--tz-body) !important;
}
body.is-nova .checkout-existing-customer .card,
body.is-nova #register-customer .card {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.is-nova .checkout-existing-customer .card-header,
body.is-nova #register-customer .card-header {
  background: transparent !important;
  font-family: var(--tz-display) !important;
  font-size: 1.1rem !important;
  border-bottom: none !important;
  padding: 1rem 0 !important;
}

/* ── Billing / Shipping Address Forms ── */
body.is-nova fieldset legend {
  font-family: var(--tz-display) !important;
  font-size: 1.2rem !important;
  color: var(--tz-text) !important;
  border-bottom: none !important;
  padding-bottom: .75rem !important;
  margin-bottom: 1.25rem !important;
}
body.is-nova fieldset legend h3,
body.is-nova fieldset .h3 {
  font-family: var(--tz-display) !important;
  font-size: 1.1rem !important;
}
/* Address section headings (Name, Adresse, Kontakt, etc.) */
body.is-nova .inc-billing-address-form h6,
body.is-nova .inc-billing-address-form .h6,
body.is-nova .customer-shipping-address h6,
body.is-nova .customer-shipping-address .h6 {
  font-family: var(--tz-display) !important;
  font-size: 1rem !important;
  color: var(--tz-text) !important;
  margin-top: 1.5rem !important;
  margin-bottom: 1rem !important;
  padding-bottom: .5rem !important;
  border-bottom: none !important;
}
/* Shipping address checkbox */
body.is-nova .shipping-address-toggle {
  background: var(--tz-bg2) !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 1rem 1.25rem !important;
  margin: 1rem 0 !important;
}

/* ── Step 3: Shipping & Payment Options ── */
body.is-nova .checkout-shipping-form fieldset {
  border: none !important;
  padding: 0 !important;
}
body.is-nova .checkout-shipping-form-options {
  display: flex !important;
  flex-direction: column !important;
  gap: .5rem !important;
}
/* Shipping / Payment radio cards */
body.is-nova .checkout-shipping-form-options .custom-control,
body.is-nova .checkout-payment-options .custom-control,
body.is-nova .checkout-payment-method {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: .75rem 0 .75rem 2rem !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid var(--tz-border) !important;
}
body.is-nova .checkout-shipping-form-options .custom-control:last-child,
body.is-nova .checkout-payment-options .custom-control:last-child,
body.is-nova .checkout-payment-method:last-child {
  border-bottom: none !important;
}
body.is-nova .checkout-shipping-form-options .custom-control:hover,
body.is-nova .checkout-payment-options .custom-control:hover,
body.is-nova .checkout-payment-method:hover {
  border-color: var(--tz-border) !important;
  box-shadow: none !important;
}
body.is-nova .checkout-shipping-form-options .custom-control-input:checked ~ .custom-control-label,
body.is-nova .checkout-payment-options .custom-control-input:checked ~ .custom-control-label {
  color: var(--tz-text) !important;
  font-weight: 500 !important;
}
/* Shipping option labels */
body.is-nova .checkout-shipping-form .shipping-option-title {
  font-family: var(--tz-body) !important;
  font-weight: 500 !important;
}
body.is-nova .checkout-shipping-form .shipping-option-price,
body.is-nova .checkout-shipping-form .shipping-option-cost {
  font-family: var(--tz-display) !important;
  color: var(--tz-accent) !important;
}
/* Payment method labels */
body.is-nova .checkout-payment-method-badge {
  background: var(--tz-accent) !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: .75rem !important;
  padding: .15rem .5rem !important;
}
body.is-nova .checkout-payment-method-note {
  font-size: .8rem !important;
  color: var(--tz-text2) !important;
}
/* Payment method images */
body.is-nova .checkout-payment-method img {
  max-height: 28px !important;
  width: auto !important;
}

/* ── Step 5: Confirmation / Summary ── */
body.is-nova .checkout-confirmation-billing-address,
body.is-nova .checkout-confirmation-shipping,
body.is-nova .checkout-confirmation-comment,
body.is-nova .checkout-confirmation-coupon {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
body.is-nova .checkout-confirmation-heading,
body.is-nova .checkout-confirmation h3,
body.is-nova .checkout-confirmation .h3 {
  font-family: var(--tz-display) !important;
  font-size: 1.1rem !important;
  color: var(--tz-text) !important;
}
/* Compact spacing for step 5 */
body.is-nova .checkout-confirmation .card-header {
  padding: .5rem 0 .25rem !important;
}
body.is-nova .checkout-confirmation .card-body {
  padding: .25rem 0 .75rem !important;
}
body.is-nova .checkout-confirmation .row {
  margin-bottom: 0 !important;
}
body.is-nova .checkout-confirmation .col-12,
body.is-nova .checkout-confirmation .col-md-6 {
  margin-bottom: .5rem !important;
}
body.is-nova .checkout-confirmation .min-h-card {
  min-height: unset !important;
}
body.is-nova .checkout-confirmation-change,
body.is-nova .checkout-confirmation-change a {
  font-family: var(--tz-body) !important;
  font-size: .8rem !important;
  color: var(--tz-accent) !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
/* Hide comment section entirely */
body.is-nova #panel-edit-comment,
body.is-nova .checkout-confirmation-comment {
  display: none !important;
}
/* Hide unnecessary <hr> lines on step 5 */
body.is-nova .checkout-confirmation-pre-form-hr,
body.is-nova #complete_order > hr,
body.is-nova .checkout-step5-confirmation-include-checkbox > hr,
body.is-nova #complete_order hr {
  display: none !important;
}
/* Legal notice checkboxes */
body.is-nova .checkout-confirmation-legal-notice {
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  color: var(--tz-text2) !important;
}
body.is-nova .checkout-confirmation-legal-notice a {
  color: var(--tz-accent) !important;
  text-decoration: underline !important;
}

/* ── Order Items (checkout summary) ── */
body.is-nova .checkout-items-header {
  font-family: var(--tz-body) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--tz-text2) !important;
  border-bottom: 1px solid var(--tz-border) !important;
  padding-bottom: .5rem !important;
}
body.is-nova .checkout-items-item {
  border-bottom: 1px solid var(--tz-border) !important;
  padding: .6rem 0 !important;
  font-family: var(--tz-body) !important;
}
body.is-nova .checkout-items-item:last-child {
  border-bottom: none !important;
}
/* Smaller product image in order items */
body.is-nova .checkout-items-item-image-wrapper {
  max-width: 60px !important;
  flex: 0 0 60px !important;
}
body.is-nova .checkout-items-item-image-wrapper img {
  border-radius: 6px !important;
  border: none !important;
  max-width: 60px !important;
  height: auto !important;
}
body.is-nova .checkout-items-item-main a {
  font-family: var(--tz-body) !important;
  font-weight: 500 !important;
  color: var(--tz-text) !important;
  text-decoration: none !important;
}
body.is-nova .checkout-items-item-main a:hover {
  color: var(--tz-accent) !important;
}
body.is-nova .checkout-items-item-title {
  font-family: var(--tz-body) !important;
  font-size: .75rem !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  color: var(--tz-text2) !important;
}
body.is-nova .price_overall,
body.is-nova .checkout-items-item .price {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
}
/* Order total */
body.is-nova .checkout-items-total-wrapper {
  border-top: 2px solid var(--tz-border) !important;
  margin-top: 1rem !important;
  padding-top: 1rem !important;
}
body.is-nova .checkout-items-total-total {
  font-size: 1.1rem !important;
}
body.is-nova .checkout-items-total-total .total-sum {
  font-family: var(--tz-display) !important;
  font-size: 1.3rem !important;
  color: var(--tz-accent) !important;
  font-weight: 700 !important;
}

/* ── Checkout Buttons ── */
body.is-nova .checkout-button-row {
  margin-top: 2rem !important;
  padding-top: 0 !important;
  border-top: none !important;
}
/*
 * Force Zurück + Weiter side by side on desktop.
 * Inject inline styles via JS at bottom of body to guarantee override.
 */
/* Forward button */
body.is-nova .checkout-button-row .btn-primary,
body.is-nova #complete-order-button {
  background: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
  color: #fff !important;
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding: .85rem 2rem !important;
  border-radius: 4px !important;
  transition: all .3s cubic-bezier(.16,1,.3,1) !important;
}
body.is-nova .checkout-button-row .btn-primary:hover,
body.is-nova #complete-order-button:hover {
  background: var(--tz-accent-hover) !important;
  border-color: var(--tz-accent-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(200,149,108,.3) !important;
}
/* Back button */
body.is-nova .checkout-button-row .btn-outline-primary,
body.is-nova .checkout-button-row .btn-secondary,
body.is-nova .checkout-button-row .btn-back {
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  border-radius: 4px !important;
  border: 1px solid var(--tz-accent) !important;
  color: var(--tz-accent) !important;
  background: transparent !important;
  padding: .85rem 2rem !important;
  transition: all .3s cubic-bezier(.16,1,.3,1) !important;
}
body.is-nova .checkout-button-row .btn-outline-primary:hover,
body.is-nova .checkout-button-row .btn-secondary:hover,
body.is-nova .checkout-button-row .btn-back:hover {
  background: var(--tz-accent) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 16px rgba(200,149,108,.3) !important;
}

/* ── Coupon & Credit Forms (checkout) ── */
body.is-nova .coupon-form .btn,
body.is-nova .credit-form .btn {
  font-family: var(--tz-body) !important;
  font-size: .82rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

/* ── Order Completed Page ── */
body.is-nova .order-completed {
  text-align: center !important;
  padding: 3rem 1rem !important;
}
body.is-nova .order-completed h1,
body.is-nova .order-completed .h1 {
  font-family: var(--tz-display) !important;
  font-size: 2rem !important;
  color: var(--tz-text) !important;
  margin-bottom: 1rem !important;
}
body.is-nova .order-confirmation-note {
  font-family: var(--tz-body) !important;
  font-size: 1rem !important;
  color: var(--tz-text2) !important;
  max-width: 600px !important;
  margin: 0 auto 2rem !important;
}
body.is-nova .order-confirmation-details {
  font-family: var(--tz-body) !important;
  text-align: left !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}
body.is-nova .order-completed .btn-primary {
  margin-top: 2rem !important;
}

/* ── Register Page (also used in checkout step 0) ── */
body.is-nova .register-form fieldset {
  border: none !important;
}
body.is-nova #account-form .card,
body.is-nova .register-form .card {
  border: none !important;
  border-radius: 0 !important;
}

/* ── My Account / Login page forms ── */
body.is-nova .account-login .card {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.is-nova .account-login .card-header {
  background: transparent !important;
  font-family: var(--tz-display) !important;
  border-bottom: none !important;
}

/* ── Contact Form ── */
body.is-nova .contact-form {
  max-width: 720px !important;
  margin: 0 auto !important;
}
body.is-nova .contact-form h1 {
  font-family: var(--tz-display) !important;
  text-align: center !important;
  margin-bottom: 2rem !important;
}

/* ═══════════════════════════════════════════
   FOOTER  — FULL NOVA OVERRIDE
   ═══════════════════════════════════════════ */
body.is-nova #footer {
  background: var(--tz-dark) !important;
  color: var(--tz-text-light) !important;
  font-family: var(--tz-body) !important;
  padding-top: 3rem !important;
}
body.is-nova #footer * {
  font-family: var(--tz-body) !important;
}
body.is-nova #footer .container,
body.is-nova #footer .container-fluid {
  color: var(--tz-text-light) !important;
}
body.is-nova #footer a,
body.is-nova #footer .nav-link,
body.is-nova #tz-footer a,
body.is-nova .tz-footer a {
  color: rgba(255,255,255,.5) !important;
}
body.is-nova #footer a:hover,
body.is-nova #footer .nav-link:hover,
body.is-nova #tz-footer a:hover,
body.is-nova .tz-footer a:hover {
  color: var(--tz-accent) !important;
}
body.is-nova #footer h5, body.is-nova #footer .h5,
body.is-nova #footer h6, body.is-nova #footer .h6,
body.is-nova #footer .box-normal-link,
body.is-nova #footer .productlist-filter-headline {
  color: var(--tz-text-light) !important;
  font-family: var(--tz-display) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
}
body.is-nova #footer .box-normal-link span {
  color: var(--tz-text-light) !important;
}
body.is-nova #footer .box-normal-hr,
body.is-nova #footer hr {
  border-color: var(--tz-border-dark) !important;
  opacity: .3;
}
body.is-nova #footer .nav-panel,
body.is-nova #footer .box-nav-item {
  color: rgba(255,255,255,.5) !important;
}
body.is-nova #footer .nav-panel .nav-item,
body.is-nova #footer .nav-panel .nav-link {
  color: rgba(255,255,255,.5) !important;
}
body.is-nova #footer .nav-panel .nav-link:hover {
  color: var(--tz-accent) !important;
}
body.is-nova #footer .footnote-vat,
body.is-nova #footer .footnote-vat span,
body.is-nova #footer .footnote-vat a {
  color: rgba(255,255,255,.35) !important;
}
body.is-nova #footer #copyright {
  border-top: 1px solid var(--tz-border-dark) !important;
  padding: 1.5rem 0 !important;
}
body.is-nova #footer #copyright,
body.is-nova #footer #system-credits,
body.is-nova #footer #system-credits a {
  color: rgba(255,255,255,.25) !important;
  font-size: .72rem !important;
}
body.is-nova #footer .go-to-top,
body.is-nova #footer .scroll-to-top {
  background: var(--tz-accent) !important;
  color: #fff !important;
  border-radius: 50% !important;
  border: none !important;
}
body.is-nova #footer .go-to-top:hover,
body.is-nova #footer .scroll-to-top:hover {
  background: var(--tz-accent-hover) !important;
}
/* Footer card overrides (NOVA puts boxes in footer) */
body.is-nova #footer-boxes .card {
  background: transparent !important;
  border: none !important;
}
body.is-nova #footer .box-linkgroup {
  color: rgba(255,255,255,.5) !important;
}
/* Footer label slides */
body.is-nova #footer .label-slide .form-group label,
body.is-nova #footer .label-slide label {
  color: rgba(255,255,255,.5) !important;
}
body.is-nova #footer .form-control {
  background: rgba(255,255,255,.1) !important;
  border-color: var(--tz-border-dark) !important;
  color: #fff !important;
}
body.is-nova #footer .form-control:focus {
  border-color: var(--tz-accent) !important;
}
body.is-nova #footer .btn-outline-primary {
  color: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
}
body.is-nova #footer .btn-outline-primary:hover {
  background: var(--tz-accent) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════
   PRODUCT CARDS
   ═══════════════════════════════════════════ */
body.is-nova .productbox {
  border: 1px solid var(--tz-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: box-shadow .4s, transform .4s !important;
}
body.is-nova .productbox:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.06) !important;
  transform: translateY(-2px);
}
body.is-nova .productbox .productbox-title a {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
}
body.is-nova .productbox .productbox-title a:hover {
  color: var(--tz-accent) !important;
}
body.is-nova .productbox .productbox-price {
  font-family: var(--tz-display) !important;
  font-weight: 600 !important;
}

/* Prices globally */
body.is-nova .price,
body.is-nova .product-price {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
  font-weight: 600 !important;
}

/* Swatches (variations) */
body.is-nova .swatches-image.active {
  border-color: var(--tz-accent) !important;
}
body.is-nova .swatches-text.active {
  border-color: var(--tz-accent) !important;
}

/* Product detail image gallery */
body.is-nova .carousel-thumbnails .slick-slide.slick-current {
  border-color: var(--tz-accent) !important;
}
body.is-nova #image_wrapper #gallery .slick-arrow:hover {
  background-color: var(--tz-accent) !important;
}
body.is-nova #image_wrapper.fullscreen .product-detail-image-topbar #image_fullscreen_close:hover {
  background-color: var(--tz-accent) !important;
}

/* Slick arrows (generic) */
body.is-nova .slick-arrow:hover {
  background-color: var(--tz-accent) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════
   CONTENT PAGES & ACCOUNT
   ═══════════════════════════════════════════ */
body.is-nova #content {
  font-family: var(--tz-body) !important;
  line-height: 1.7;
}
body.is-nova .index-heading-wrapper h1 {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
}
body.is-nova .account-heading {
  font-family: var(--tz-display) !important;
}
body.is-nova #quick-login legend,
body.is-nova #register legend {
  font-family: var(--tz-display) !important;
  color: var(--tz-text) !important;
}
body.is-nova .account-head-data-credit {
  border-color: var(--tz-accent) !important;
}
body.is-nova .box_login .register .fa {
  color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   SIDEBAR / ASIDE NAV PANELS
   ═══════════════════════════════════════════ */
body.is-nova aside .nav-panel > .nav > .active > .nav-link {
  border-bottom-color: var(--tz-accent) !important;
}
body.is-nova .productlist-filter-categories > .nav-item.active:after {
  border-color: var(--tz-accent) !important;
}
body.is-nova .filter-item.active .filter-img {
  border-color: var(--tz-accent) !important;
}
body.is-nova .filter-search-wrapper.input-group-selected .filter-search {
  border-color: var(--tz-accent) !important;
}

/* Tab navigation */
body.is-nova .tab-navigation .nav-link.active:after,
body.is-nova .tab-navigation .nav-link:hover:after {
  border-color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   RANGE SLIDER (noUi)
   ═══════════════════════════════════════════ */
body.is-nova .noUi-horizontal .noUi-connect {
  background: var(--tz-accent) !important;
}
body.is-nova .noUi-horizontal .noUi-handle {
  background: var(--tz-accent) !important;
}
body.is-nova .custom-range::-webkit-slider-thumb {
  background-color: var(--tz-accent) !important;
}
body.is-nova .custom-range::-moz-range-thumb {
  background-color: var(--tz-accent) !important;
}
body.is-nova .custom-range::-ms-thumb {
  background-color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   MODAL
   ═══════════════════════════════════════════ */
body.is-nova .modal-header .close:hover,
body.is-nova .modal-header .close:focus {
  background-color: var(--tz-accent) !important;
  color: #fff !important;
}

/* ═══════════════════════════════════════════
   CONSENT MANAGER — Full styles
   (NOVA's clear.css consent CSS is missing from the server's combined CSS bundle,
    so we include all structural + visual styles here.)
   ═══════════════════════════════════════════ */

/* --- Utilities --- */
.consent-hidden { display: none !important; }
.consent-no-space { margin: 0 !important; }

/* --- Buttons --- */
.consent-btn {
  display: inline-block;
  border-radius: 0.125rem;
  border: 0;
  padding: 0.45rem 0.85rem;
  font-size: 0.75rem;
  outline: 0;
  transition: all 0.2s;
  cursor: pointer;
  border: 0.0625rem solid transparent;
}
@media (min-width: 768px) {
  .consent-btn { padding: 0.65rem 1.25rem; font-size: 0.875rem; }
}
.consent-btn-primary {
  background-color: var(--tz-accent);
  border-color: var(--tz-accent);
  color: #fff;
}
.consent-btn-primary:hover { background-color: var(--tz-accent-hover); border-color: var(--tz-accent-hover); color: #fff; }
.consent-btn-primary:focus { background-color: var(--tz-accent-hover); border-color: var(--tz-accent-hover); color: #fff; box-shadow: 0 0 0 0.1875rem rgba(200,149,108,0.4); }

.consent-btn-outline-primary {
  background-color: transparent;
  border-color: var(--tz-accent);
  color: var(--tz-accent);
}
.consent-btn-outline-primary:hover { background-color: var(--tz-accent); border-color: var(--tz-accent); color: #fff; }
.consent-btn-outline-primary:focus { background-color: var(--tz-accent-hover); border-color: var(--tz-accent-hover); color: #fff; box-shadow: 0 0 0 0.1875rem rgba(200,149,108,0.4); }

.consent-btn-secondary { background-color: #fff; border-color: #fff; color: var(--tz-text2); }
.consent-btn-secondary:hover { background-color: #ececec; border-color: #ececec; color: var(--tz-text2); }

.consent-btn-tertiary { background-color: var(--tz-accent); border-color: var(--tz-accent); color: #fff; }
.consent-btn-tertiary:hover { background-color: var(--tz-accent-hover); border-color: var(--tz-accent-hover); color: #fff; }
.consent-btn-tertiary:focus { background-color: var(--tz-accent-hover); border-color: var(--tz-accent-hover); color: #fff; box-shadow: 0 0 0 0.1875rem rgba(200,149,108,0.4); }

.consent-btn-outline-tertiary { background-color: transparent; border-color: var(--tz-accent); color: var(--tz-accent); }
.consent-btn-outline-tertiary:hover { background-color: var(--tz-accent-hover); border-color: var(--tz-accent-hover); color: #fff; }

.consent-btn-helper {
  margin: -0.25rem;
  display: flex;
  flex-wrap: wrap;
}
.consent-btn-helper > div { padding: 0 0.25rem; width: 100%; }
.consent-btn-helper > div > .consent-btn { margin: 0.25rem; flex-grow: 1; font-weight: 600; }
.consent-btn-helper .consent-accept { width: 100%; }
@media (max-width: 991.98px) {
  .consent-btn-helper > div { width: 100%; }
  .consent-btn-helper > div > .consent-btn { width: 100%; font-size: 0.875rem; display: block; padding: 0.85rem; }
}
.consent-btn-block { width: 100%; }
.consent-btn-sm { padding: 0.45rem 0.85rem; font-size: 0.75rem; font-weight: 600; }

.consent-btn-holder {
  display: flex;
  flex-direction: column;
  align-items: start;
}
.consent-btn-holder > div:last-child { margin: 0 0 0 auto; }
.consent-btn-holder > div:first-child { flex-grow: 1; }
@media (min-width: 768px) {
  .consent-btn-holder { flex-direction: row; align-items: center; }
}
@media (max-width: 991.98px) {
  .consent-btn-holder > div:last-child { margin: 1rem 0 0; }
}

/* --- Toggle switches --- */
@media (min-width: 768px) {
  .consent-switch { padding-left: 3.5rem; }
}
.consent-switch .consent-input { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.consent-switch .consent-input:checked ~ .consent-label::before { background-color: var(--tz-dark2); }
.consent-switch .consent-input:checked ~ .consent-label::after { left: 1.375rem; }
.consent-switch .consent-input:disabled ~ .consent-label::before { opacity: 0.25; }
.consent-switch .consent-input:focus { outline: none; }
.consent-switch .consent-input:focus + .consent-label::before { outline: 2px solid var(--tz-accent-light); }
.consent-switch .consent-label {
  padding-left: 3.5rem;
  display: inline-block;
  position: relative;
  font-weight: 600;
  color: var(--tz-dark2);
  margin-bottom: 0.25rem;
}
.consent-switch .consent-label::before, .consent-switch .consent-label::after {
  content: "";
  float: left;
  margin-top: 0.125rem;
  position: absolute;
  left: 0;
  top: 0;
  transition: all 0.2s;
  cursor: pointer;
}
.consent-switch .consent-label::before { background-color: #dddddd; border-radius: 10rem; width: 2.5rem; height: 1.25rem; }
.consent-switch .consent-label::after { border-radius: 50%; background-color: #ffffff; height: 1rem; width: 1rem; top: 0.125rem; left: 0.125rem; }
@media (min-width: 768px) {
  .consent-switch .consent-label { margin-left: -3.5rem; margin-bottom: 0; }
}

/* --- Modal --- */
.consent-modal {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 1050;
  background-color: rgba(21, 28, 33, 0.9);
  overflow-x: hidden;
  overflow-y: auto;
  transition: all 0.2s;
  padding: 1rem;
}
.consent-modal:not(.show) { opacity: 0; visibility: hidden; }
.consent-modal:not(.active) { display: none; }

.consent-modal-content {
  margin: 2rem auto 0;
  max-width: 40rem;
  padding: 1rem;
  background: #ffffff;
  border-radius: 0.125rem;
  position: relative;
}
.consent-modal-content::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  width: 90%; height: 2rem;
  margin: auto;
  box-shadow: 0px 0.25rem 0.625rem rgba(0,0,0,0.45);
  border-radius: 50%;
  z-index: -1;
}
@media (min-width: 768px) {
  .consent-modal-content { padding: 2rem; }
}

.consent-modal-close {
  border: 0;
  background: transparent;
  color: var(--tz-text2);
  position: absolute;
  right: 0; top: 0;
  outline: 0;
  cursor: pointer;
  padding: 1rem;
  transition: all 0.2s;
}
.consent-modal-close i.fa { font-size: 1.375rem; }
.consent-modal-close:hover, .consent-modal-close:focus { color: var(--tz-accent); }

.consent-modal-icon {
  width: 4.0625rem;
  height: 4.0625rem;
  border-radius: 50%;
  background-color: inherit;
  color: var(--tz-text2);
  padding: 1rem;
  margin: -1rem auto -2rem;
  transform: translateY(-50%);
  overflow: hidden;
}
@media (min-width: 768px) {
  .consent-modal-icon { margin-top: -2rem; }
}

/* --- #consent-manager (fixed wrapper) --- */
#consent-manager {
  font-family: var(--tz-body);
  color: var(--tz-text2);
  font-size: 0.875rem;
  line-height: 1.5;
  position: fixed;
  z-index: 1050;
  bottom: 2rem;
  left: 1rem;
  right: 1rem;
}
#consent-manager, #consent-manager *, #consent-manager *::before, #consent-manager *::after { box-sizing: border-box; }
#consent-manager a { color: var(--tz-text2); }
#consent-manager a:hover { text-decoration: none; color: var(--tz-accent); }
#consent-manager p { margin: 0 0 1rem; }
#consent-manager p:last-child { margin-bottom: 0; }
#consent-manager img, #consent-manager svg { vertical-align: baseline; }
#consent-manager strong { font-weight: 600; color: var(--tz-dark2); }
#consent-manager hr { height: 0; border: 0; border-bottom: 0.0625rem solid var(--tz-border); margin-top: 1rem; margin-bottom: 1rem; }
#consent-manager ul { margin: 1rem 0; padding-left: 2em; }
#consent-manager ul li { margin: 0; }
#consent-manager:not(.active) { display: none; }

/* --- Icon helper --- */
.consent-icon { display: inline-block; vertical-align: -0.2em; width: 1em; height: 1em; margin-left: 0.25em; }

/* --- Help / display text --- */
.consent-help { color: var(--tz-text2); font-size: 0.9em; margin-top: 0.5rem; display: block; }

.consent-display-3, .consent-display-2, .consent-display-1 {
  font-weight: 600;
  color: var(--tz-dark2);
  margin-bottom: 1rem;
  display: block;
}
.consent-display-1 { font-size: 1.25rem; }
@media (min-width: 768px) { .consent-display-1 { font-size: 1.5rem; } }
.consent-display-2 { font-size: 1.1rem; }
.consent-display-3 { font-size: 0.85rem; }

/* --- Banner --- */
#consent-banner {
  border: 0.0625rem solid var(--tz-border);
  border-radius: 0.125rem;
  padding: 2rem 1rem 1rem;
  color: var(--tz-text2);
  background-color: #ffffff;
  width: 100%;
  max-width: 75rem;
  margin: auto;
  transition: all 0.2s;
}
:not(.fading) > #consent-banner { position: relative; }
:not(.fading) > #consent-banner::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  width: 90%; height: 2rem;
  margin: auto;
  box-shadow: 0px 0.25rem 0.625rem rgba(0,0,0,0.45);
  border-radius: 50%;
  z-index: -1;
}
.mini > #consent-banner { display: none; }
.fading > #consent-banner { transform: translateY(50%); opacity: 0; }
@media (min-width: 768px) {
  #consent-banner { padding: 1rem 2rem; }
}

.consent-banner-icon {
  border-radius: 10rem;
  padding: 0.75rem;
  width: 3.4375rem;
  height: 3.4375rem;
  background-color: inherit;
  border: 0.0625rem solid var(--tz-border);
  position: absolute;
  left: 50%; top: 0;
  transform: translate(-50%, -50%);
  color: var(--tz-text2);
  overflow: hidden;
}
.consent-banner-icon::before {
  content: "";
  background-color: inherit;
  width: calc(100% + 0.125rem);
  height: calc(50% + 0.125rem);
  position: absolute;
  left: -0.0625rem; top: 50%;
}
.consent-banner-icon svg { z-index: 1; position: relative; }
@media (min-width: 992px) {
  .consent-banner-icon { left: 0; top: 50%; }
  .consent-banner-icon::before {
    width: calc(50% + 0.125rem);
    height: calc(100% + 0.125rem);
    left: 50%; top: -0.0625rem;
  }
}

.consent-banner-body { display: flex; align-items: center; flex-direction: column; }
@media (min-width: 768px) { .consent-banner-body { flex-direction: row-reverse; } }

.consent-banner-description { flex-basis: 0; flex-grow: 1; max-width: 100%; }

.consent-banner-actions { margin-top: 1rem; width: 100%; }
@media (min-width: 768px) {
  .consent-banner-actions { margin-top: 0; margin-left: 2rem; width: 16.875rem; }
}

/* --- Show-more / expand --- */
.consent-show-more { text-align: right; display: block; margin: 0; }
@media (min-width: 768px) { .consent-show-more { float: right; } }
@media (max-width: 991.98px) {
  .consent-show-more { display: flex; align-items: center; font-size: 0.8rem; margin: 1rem 0; }
}
.consent-more-description { background: #fff; padding: 1rem; border-radius: 0.125rem; margin-top: 1rem; }
.consent-info { margin-top: 1.5rem; margin-bottom: 1.5rem; border: 0.0625rem solid var(--tz-border); border-radius: 0.125rem; padding: 0.5rem 1rem; }

/* --- Settings button (fingerprint icon, bottom-left) --- */
#consent-settings-btn {
  position: fixed;
  left: 1rem; bottom: 1rem;
  z-index: 1050;
  background: #ffffff;
  border-radius: 10rem;
  padding: 0.5rem;
  width: 2.5rem; height: 2.5rem;
  outline: 0;
  transition: all 0.2s;
  cursor: pointer;
}
#consent-settings-btn:hover, #consent-settings-btn:focus { background: var(--tz-dark2); }
:not(.mini) > #consent-settings-btn { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(100%); }
#consent-settings-btn .consent-icon { margin: 0; width: 100%; height: 100%; }

a.give-consent-preview:focus-visible { color: var(--tz-accent); text-decoration: none; }

/* ═══════════════════════════════════════════
   LOADING SPINNER
   ═══════════════════════════════════════════ */
body.is-nova .ring-loader,
body.is-nova [class*="ring"] {
  border-color: var(--tz-accent) var(--tz-accent) transparent transparent !important;
}

/* ═══════════════════════════════════════════
   LAYOUT SPACING
   ═══════════════════════════════════════════ */
body.is-nova #main-wrapper {
  min-height: 60vh;
}
body.is-nova:not([data-page="1"]) #content-wrapper {
  padding-top: 1rem !important;
  padding-bottom: 2rem !important;
}
body.is-nova[data-page="1"] #content-wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}


/* ═══════════════════════════════════════════
   CONTENT PAGE SPACING (all pages except product detail)
   data-page="1" = Artikeldetail → full-bleed, no padding
   ═══════════════════════════════════════════ */
body.is-nova:not([data-page="1"]) #content-wrapper {
  padding: 3rem clamp(1.5rem, 5vw, 4rem) 5rem !important;
  overflow-x: hidden !important;
}
body.is-nova:not([data-page="1"]) #content-wrapper .container,
body.is-nova:not([data-page="1"]) #content-wrapper .container-fluid {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  overflow-x: hidden !important;
}
/* Prevent form fields from overflowing their containers */
body.is-nova .form-control,
body.is-nova .custom-select,
body.is-nova .bootstrap-select,
body.is-nova .input-group,
body.is-nova .form-group,
body.is-nova .formgroup {
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body.is-nova:not([data-page="1"]) #content-wrapper h1 {
  margin-bottom: 2rem;
}
body.is-nova:not([data-page="1"]) #content-wrapper .well {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

body.is-nova .container,
body.is-nova .container-fluid {
  font-family: var(--tz-body) !important;
}

/* ═══════════════════════════════════════════
   JQCLOUD (tag cloud)
   ═══════════════════════════════════════════ */
body.is-nova .jqcloud-word a:hover {
  color: var(--tz-accent) !important;
}

/* ═══════════════════════════════════════════
   WARENKORB / BASKET PAGE
   ═══════════════════════════════════════════ */

/* ── Wrapper: constrained width, centered ── */
body.is-nova .tz-basket-wrapper {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
}

/* Page heading */
body.is-nova .basket .basket-heading {
  font-family: var(--tz-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  color: var(--tz-text) !important;
  border-bottom: 1px solid var(--tz-border);
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

/* ── Cart Item Row (custom grid) ── */
.tz-cart-item {
  display: grid;
  grid-template-columns: 80px 1fr auto auto auto;
  gap: 1.25rem;
  align-items: center;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--tz-border);
}
@media (max-width: 767px) {
  .tz-cart-item {
    grid-template-columns: 64px 1fr;
    gap: .75rem;
  }
  .tz-cart-item-qty,
  .tz-cart-item-price,
  .tz-cart-item-delete {
    grid-column: 2;
  }
}

/* Item image */
.tz-cart-item-img {
  width: 80px;
  height: 80px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--tz-border);
  background: var(--tz-bg2);
  flex-shrink: 0;
}
.tz-cart-item-img img,
.tz-cart-item-img picture img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}
@media (max-width: 767px) {
  .tz-cart-item-img,
  .tz-cart-item-img img,
  .tz-cart-item-img picture img {
    width: 64px !important;
    height: 64px !important;
  }
}

/* Item info */
.tz-cart-item-info {
  min-width: 0;
}
body.is-nova .tz-cart-item-name,
body.is-nova a.tz-cart-item-name {
  font-family: var(--tz-display) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--tz-text) !important;
  text-decoration: none !important;
  display: block;
  line-height: 1.3;
}
body.is-nova a.tz-cart-item-name:hover {
  color: var(--tz-accent) !important;
}
.tz-cart-item-variants {
  margin-top: .3rem;
}
.tz-cart-item-variant {
  font-size: .8rem;
  color: var(--tz-text2);
  display: inline-block;
  margin-right: .75rem;
}
.tz-cart-item-sku {
  font-size: .75rem;
  color: var(--tz-muted);
  margin-top: .25rem;
}

/* Quantity controls — equal height */
.tz-cart-item-qty {
  min-width: 120px;
}
body.is-nova .tz-cart-item-qty .form-counter {
  border: 1px solid var(--tz-border) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: stretch !important;
}
body.is-nova .tz-cart-item-qty .form-counter .form-control {
  border: none !important;
  text-align: center !important;
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  background: var(--tz-bg) !important;
  height: 38px !important;
  padding: 0 .25rem !important;
  line-height: 38px !important;
}
body.is-nova .tz-cart-item-qty .form-counter .btn-increment,
body.is-nova .tz-cart-item-qty .form-counter .btn-decrement {
  border: none !important;
  background: var(--tz-bg2) !important;
  color: var(--tz-text) !important;
  transition: background .3s, color .3s !important;
  height: 38px !important;
  width: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
}
body.is-nova .tz-cart-item-qty .form-counter .btn-increment:hover,
body.is-nova .tz-cart-item-qty .form-counter .btn-decrement:hover {
  background: var(--tz-accent) !important;
  color: #fff !important;
}
/* Also fix NOVA's default qty wrappers on basket page */
body.is-nova .qty-wrapper .form-counter {
  border: 1px solid var(--tz-border) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: stretch !important;
}
body.is-nova .qty-wrapper .form-counter .form-control {
  border: none !important;
  text-align: center !important;
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  background: var(--tz-bg) !important;
  height: 38px !important;
  padding: 0 .25rem !important;
}
body.is-nova .qty-wrapper .form-counter .btn-increment,
body.is-nova .qty-wrapper .form-counter .btn-decrement {
  border: none !important;
  background: var(--tz-bg2) !important;
  color: var(--tz-text) !important;
  transition: background .3s, color .3s !important;
  height: 38px !important;
  width: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
body.is-nova .qty-wrapper .form-counter .btn-increment:hover,
body.is-nova .qty-wrapper .form-counter .btn-decrement:hover {
  background: var(--tz-accent) !important;
  color: #fff !important;
}

/* Price — single column */
body.is-nova .tz-cart-item-price {
  text-align: right;
  white-space: nowrap;
}
body.is-nova .tz-cart-item-price .price_overall.text-accent {
  color: var(--tz-accent) !important;
  font-family: var(--tz-display) !important;
  font-weight: 600 !important;
  font-size: 1.1rem !important;
  display: block !important;
}
.tz-cart-item-unit-price {
  display: block;
  font-size: .75rem;
  color: var(--tz-muted);
  font-family: var(--tz-body);
  margin-top: .15rem;
}

/* Delete button */
body.is-nova .tz-delete-btn {
  color: var(--tz-muted) !important;
  font-size: 1rem !important;
  transition: color .3s !important;
  padding: .5rem !important;
  text-decoration: none !important;
}
body.is-nova .tz-delete-btn:hover {
  color: #c0392b !important;
}
/* Hide delete text, show only icon */
body.is-nova .tz-delete-btn .btn-text {
  display: none;
}

/* ── Cart Summary Sidebar ── */
body.is-nova .cart-summary {
  top: 5rem !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
body.is-nova .cart-summary .basket-heading {
  font-size: 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

/* Simplified summary block — no card, no background */
body.is-nova .tz-summary-block {
  padding: 0 !important;
}
body.is-nova .tz-summary-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  font-family: var(--tz-body) !important;
  font-size: .9rem !important;
  color: var(--tz-text2) !important;
  padding: .4rem 0 !important;
}
body.is-nova .tz-summary-row.tz-summary-tax {
  font-size: .82rem !important;
  color: var(--tz-muted) !important;
}
body.is-nova .tz-summary-row.tz-summary-total {
  border-top: 1px solid var(--tz-border) !important;
  margin-top: .75rem !important;
  padding-top: 1rem !important;
}
body.is-nova .tz-summary-row.tz-summary-total span {
  font-family: var(--tz-display) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: var(--tz-text) !important;
}
body.is-nova .tz-summary-block .total-sum {
  font-family: var(--tz-display) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  color: var(--tz-text) !important;
}
body.is-nova .tz-summary-shipping {
  padding: .5rem 0 !important;
}
body.is-nova .tz-summary-shipping small {
  color: var(--tz-muted) !important;
  font-size: .78rem !important;
}
body.is-nova .tz-summary-shipping-hint {
  margin-top: 1rem !important;
  font-size: .85rem !important;
  color: var(--tz-text2) !important;
}

/* Checkout button */
body.is-nova #cart-checkout-btn {
  background: var(--tz-accent) !important;
  border-color: var(--tz-accent) !important;
  color: #fff !important;
  font-family: var(--tz-body) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  border-radius: 4px !important;
  margin-top: 1.25rem !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  box-sizing: border-box !important;
  transition: all .4s cubic-bezier(.16,1,.3,1) !important;
}
body.is-nova #cart-checkout-btn:hover {
  background: var(--tz-accent-hover) !important;
  border-color: var(--tz-accent-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(200,149,108,.3) !important;
}

/* Hide leftover card styles in summary */
body.is-nova .cart-summary .card,
body.is-nova .cart-summary .card-gray {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
body.is-nova .cart-summary .card-body {
  padding: 0 !important;
}
body.is-nova .cart-summary .card-header {
  display: none !important;
}

/* ── PayPal ECS Buttons (injected by jtl_paypal_commerce plugin) ── */
div#ppc-cart-horizontal-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  margin: .75rem 0 0 !important;
  padding: 0 !important;
}
div#ppc-cart-horizontal-container .ppc-standalone-buttons {
  flex: none !important;
  width: auto !important;
  padding: 0 !important;
}
/* PayPal label text — right-aligned */
.ppc-button-placeholder-active,
.ppc-ecs-label,
[class*="ppc-button-placeholder"] {
  display: block !important;
  text-align: right !important;
  width: 100% !important;
}
/* Also right-align the parent wrapper of the PayPal label */
.basket-summary .ppc-button-placeholder-active,
.basket-summary [class*="ppc-button-placeholder"],
.basket-summary .ppc-ecs-label {
  text-align: right !important;
}
.card-body > .ppc-button-placeholder-active,
.card-body > [class*="ppc-button-placeholder"] {
  text-align: right !important;
}
/* PayPal Pay Later messaging (iframe container in .card-body) — right-align */
#ppc-cart-instalment-banner,
.card-body > div.mt-2:has([id^="zoid-paypal-message"]) {
  display: flex !important;
  justify-content: flex-end !important;
}

/* Coupon form */
body.is-nova #basket-coupon-form .btn-outline-primary {
  border-color: var(--tz-accent) !important;
  color: var(--tz-accent) !important;
  font-family: var(--tz-body) !important;
  font-size: .82rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  border-radius: 0 !important;
}
body.is-nova #basket-coupon-form .btn-outline-primary:hover {
  background: var(--tz-accent) !important;
  color: #fff !important;
}

/* ── Empty cart (custom) ── */
.tz-cart-empty {
  text-align: center;
  padding: 4rem 2rem;
}
.tz-cart-empty-icon {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--tz-bg2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.tz-cart-empty-icon i {
  font-size: 1.5rem;
  color: var(--tz-accent);
}
.tz-cart-empty-text {
  font-size: 1.1rem;
  color: var(--tz-text2);
  margin-bottom: 2rem;
}
body.is-nova .tz-cart-empty a.tz-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 2rem;
  background: var(--tz-accent);
  color: #fff !important;
  font-family: var(--tz-body);
  font-size: .85rem;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: none;
  text-decoration: none !important;
  transition: all .4s cubic-bezier(.16,1,.3,1);
}
body.is-nova .tz-cart-empty a.tz-btn-primary:hover {
  background: var(--tz-accent-hover);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(200,149,108,.3);
}

/* Free shipping hint */
body.is-nova .basket .font-weight-bold .fa-truck {
  color: var(--tz-accent) !important;
}

/* Hide NOVA's default basket container-fluid full-width */
body.is-nova[data-page="3"] .container-fluid.basket {
  max-width: 100% !important;
  padding: 0 !important;
}

/* ═══════════════════════════════════════════
   KONTAKT-SEITE
   ═══════════════════════════════════════════ */

/* Gesamtbereich zentrieren + max-width */
body.is-nova .contact-form {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 0 clamp(1.5rem, 4vw, 3rem) clamp(3rem, 6vw, 5rem) !important;
}

/* Titel-Heading ("Kontakt") wie h1 auf anderen Seiten */
body.is-nova #content > .container > .title.h2 {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 4vw, 3rem) 1.5rem !important;
  font-family: var(--tz-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  color: var(--tz-text) !important;
  border-bottom: 1px solid var(--tz-border) !important;
  margin-bottom: 0 !important;
}

/* Formular-Spalten: volle Breite statt enge col-lg-4 */
body.is-nova .contact-form .col-lg-4,
body.is-nova .contact-form .col-lg-8,
body.is-nova .contact-form .offset-lg-4 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
}

/* Label links ausrichten */
body.is-nova .contact-form .col-form-label {
  text-align: left !important;
  padding-top: 0.5rem !important;
}

/* Abschicken-Button: Accent-Farbe, volle Breite */
body.is-nova .contact-form .btn-primary {
  margin-top: 1rem !important;
}

/* ═══════════════════════════════════════════
   LEGAL / CONTENT PAGES (.link-content)
   Impressum, AGB, Datenschutz, Widerruf, Kontakt etc.
   ═══════════════════════════════════════════ */

/* Container */
body.is-nova .link-content {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: clamp(3rem, 6vw, 6rem) clamp(1.5rem, 4vw, 3rem) !important;
}

/* Breadcrumb ausblenden auf Inhaltsseiten */
body.is-nova:not([data-page="1"]) .breadcrumb-container {
  display: none !important;
}

/* JTL-Seitentitel-Wrapper ausblenden (Inhalt hat eigene Überschrift) */
body.is-nova .index-heading-wrapper {
  display: none !important;
}

/* Seitentitel — alle Inhaltsseiten (unterschiedliche Container je Seite) */
body.is-nova .link-content h1,
body.is-nova #tos h1:first-of-type,
body.is-nova #data-privacy h1:first-of-type,
body.is-nova #cancellation h1:first-of-type,
body.is-nova #shipping h1:first-of-type {
  font-family: var(--tz-display) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 500 !important;
  letter-spacing: -.02em !important;
  color: var(--tz-text) !important;
  margin-bottom: 2.5rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid var(--tz-border) !important;
}

/* Zwischenüberschriften */
body.is-nova .link-content h2,
body.is-nova #tos h2,
body.is-nova #data-privacy h2,
body.is-nova #cancellation h2,
body.is-nova #shipping h2 {
  font-family: var(--tz-display) !important;
  font-size: clamp(1.25rem, 2vw, 1.6rem) !important;
  font-weight: 500 !important;
  color: var(--tz-text) !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}
body.is-nova .link-content h3,
body.is-nova #tos h3,
body.is-nova #data-privacy h3,
body.is-nova #cancellation h3,
body.is-nova #shipping h3 {
  font-family: var(--tz-display) !important;
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--tz-text) !important;
  margin-top: 1.75rem !important;
  margin-bottom: .75rem !important;
}

/* Fließtext */
body.is-nova .link-content p,
body.is-nova #tos p,
body.is-nova #data-privacy p,
body.is-nova #cancellation p,
body.is-nova #shipping p {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: var(--tz-text2) !important;
  margin-bottom: 1rem !important;
}

/* Listen */
body.is-nova .link-content ul,
body.is-nova .link-content ol,
body.is-nova #tos ul,
body.is-nova #tos ol,
body.is-nova #data-privacy ul,
body.is-nova #data-privacy ol,
body.is-nova #cancellation ul,
body.is-nova #cancellation ol,
body.is-nova #shipping ul,
body.is-nova #shipping ol {
  padding-left: 1.5rem !important;
  margin-bottom: 1rem !important;
}
body.is-nova .link-content li,
body.is-nova #tos li,
body.is-nova #data-privacy li,
body.is-nova #cancellation li,
body.is-nova #shipping li {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: var(--tz-text2) !important;
  margin-bottom: .4rem !important;
}

/* Links */
body.is-nova .link-content a,
body.is-nova #tos a,
body.is-nova #data-privacy a,
body.is-nova #cancellation a,
body.is-nova #shipping a {
  color: var(--tz-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
body.is-nova .link-content a:hover,
body.is-nova #tos a:hover,
body.is-nova #data-privacy a:hover,
body.is-nova #cancellation a:hover,
body.is-nova #shipping a:hover {
  color: var(--tz-accent-hover) !important;
}

/* Tabellen (z.B. in AGB) */
body.is-nova .link-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 1.5rem !important;
  font-size: .95rem !important;
}
body.is-nova .link-content table th,
body.is-nova .link-content table td {
  padding: .75rem 1rem !important;
  border: 1px solid var(--tz-border) !important;
  color: var(--tz-text2) !important;
  text-align: left !important;
}
body.is-nova .link-content table th {
  background: var(--tz-bg2) !important;
  color: var(--tz-text) !important;
  font-weight: 500 !important;
}

/* Trennlinien */
body.is-nova .link-content hr {
  border: none !important;
  border-top: 1px solid var(--tz-border) !important;
  margin: 2rem 0 !important;
}

/* Strong/Bold */
body.is-nova .link-content strong,
body.is-nova .link-content b {
  color: var(--tz-text) !important;
  font-weight: 600 !important;
}
