/* Brand tokens (Unterkonstruktion) */
:root{ --border:#e6eaf0; }
.ukc-cart{
  --brand-blue:#072544;
  --brand-yellow:#ffb101;
  --brand-yellow-soft:#fffdfa;
  --text:#0b1220;
  --bg:#ffffff;
  --muted:var(--brand-yellow-soft);
  --border:#e6eaf0;
}

/* Tokens auch für Checkout-Wurzel setzen */
.ukc-checkout{
  --brand-blue:#072544;
  --brand-yellow:#ffb101;
  --brand-yellow-soft:#fffdfa;
  --text:#0b1220;
  --bg:#ffffff;
  --muted:var(--brand-yellow-soft);
  --border:#e6eaf0;
}

.ukc-cart__container {
  max-width: 1300px; /* Gesamtbreite deckeln */
  margin: 0 auto;     /* zentrieren */
  padding: 16px;
  width: 100%;
  box-sizing: border-box;
}

/* Two-column layout: items (left) + summary (right) - NUR für Cart */
.ukc-cart:not(.ukc-checkout) .ukc-cart__grid {
  display: flex;
  gap: 32px;
  align-items: start;
}
@media (max-width: 960px){
  .ukc-cart:not(.ukc-checkout) .ukc-cart__grid { 
    flex-direction: column; 
    gap: 24px;
  }
}

/* Checkout: ukc-cart__grid nicht als Grid verwenden */
/* Checkout: ukc-cart__grid als Block, nicht als Grid */
.ukc-checkout .ukc-cart__grid,
#fc-cart[data-context="checkout"] .ukc-cart__grid {
  display: block !important;
}

/* Example row hooks: attach to existing Foxy nodes by adding class names in future customizations if needed */
.ukc-row { display: grid; grid-template-columns: 80px 1fr auto auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--border); }
.ukc-row__thumb img { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; background: var(--muted); }
.ukc-row__title { font-weight: 600; }
.ukc-row__meta { font-size: 14px; opacity: .8; }
.ukc-row__qty input { width: 72px; }
.ukc-row__price, .ukc-row__total { text-align: right; white-space: nowrap; }

/* Bridge selectors for Foxy classes */
.fc-button:focus,
.fc-link:focus,
.fc-quantity__control:focus { outline:2px solid var(--brand-yellow); outline-offset:2px; }

@media (min-width: 961px){
  .ukc-summary { position: sticky; top: 24px; }
}

.ukc-items { 
  flex: 1; /* Nimmt den verfügbaren Platz ein */
}
.ukc-items > * + * { border-top: 1px solid var(--border); }
/* Falls Foxy-Header auftaucht, ausblenden */
.fc-cart__items__header{ display:none !important; }

/* Summary card */
.ukc-summary { 
  border: 1px solid var(--border); 
  border-radius: 20px; 
  padding: 24px; 
  background: #fff; 
  transition:box-shadow .2s;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  position: sticky;
  top: 24px;
  flex: 0 0 400px; /* Feste Breite für Flex-Layout */
}
.ukc-summary .fc-logo{ display:none }
.fc-sidebar__header .ukc-topvalue{ float:right; font-weight:700 }
.ukc-topvalue{ font-weight:700 }
.ukc-summary__line { 
  display: flex; 
  justify-content: space-between; 
  padding: 12px 0;
  font-size: 16px;
}
.ukc-summary__total { 
  font-weight: 700; 
  font-size: 24px; 
  padding-top: 16px; 
  border-top: 2px solid var(--border);
  color: var(--brand-blue);
}
.ukc-summary:hover{ 
  box-shadow:0 8px 30px rgba(0,0,0,.12);
}

/* Buttons */
.ukc-btn { 
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
  padding: 16px 24px; 
  border-radius: 16px; 
  border: 0; 
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  transition: all 0.2s ease;
  text-decoration: none;
}
.ukc-btn--primary { background: var(--brand-blue); color: #fff; box-shadow: 0 4px 16px rgba(7, 37, 68, 0.3); }
.ukc-btn--primary:hover{ background: #051a2e; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(7, 37, 68, 0.4); }
.ukc-btn--alt { background: #ffbf00; color: #0b1220; font-weight:800; box-shadow: 0 6px 16px rgba(255, 191, 0, 0.3); }
.ukc-btn--alt:hover{ background: #ffb300; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255, 191, 0, 0.4); }
.ukc-btn--wallet{ background:#000; color:#fff; width:100%; margin-top:12px }
.ukc-more-payments-label{ color:#6b7280; margin:16px 0 8px; font-weight:600 }
.ukc-payment-buttons{ display:flex; flex-direction:column; gap:12px }

/* Links & focus (accessibility) */
a{ color: var(--brand-blue) }
a:hover{ text-decoration: underline }
:where(button, [type=button],[type=submit],a,select,input):focus{ outline:2px solid var(--brand-yellow); outline-offset:2px }
:where(button, [type=button],[type=submit],a,select,input):focus-visible{ outline:2px solid var(--brand-yellow); outline-offset:2px }

/* Utilities */
.ukc-space-s{ gap:8px }
.ukc-space-m{ gap:16px }
.ukc-space-l{ gap:24px }
.ukc-h1{ font-size:24px; font-weight:700 }
.ukc-h2{ font-size:18px; font-weight:600 }
.ukc-small{ font-size:14px; opacity:.8 }

/* Images */
.ukc-img{ width:100%; height:100%; object-fit:cover; border-radius:8px; display:block }
.ukc-img--thumb{ width:80px; height:80px }

/* ---- Foxy core element theming (non-destructive) ---- */
/* Headings inside Foxy (checkout sections etc.) */
.fc-heading,
.fc-section__title,
.fc-checkout__section-title,
.fc-subheading,
h1, h2, h3 {
  color: var(--brand-blue);
}

/* Inputs / selects / textareas */
.fc-input,
.fc-select,
.fc-textarea,
input, select, textarea {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
}
.fc-input:focus,
.fc-select:focus,
.fc-textarea:focus,
input:focus, select:focus, textarea:focus {
  outline: 2px solid var(--brand-yellow);
  outline-offset: 2px;
}

/* Buttons: primary = brand yellow with blue text; secondary = blue with white */
.fc-button,
button[type=submit] {
  border-radius: 16px;
  font-weight: 600;
  padding: 16px 24px;
  font-size: 16px;
  transition: all 0.2s ease;
  border: none !important;
}
.fc-button--primary,
.fc-button.fc-button--action,
.fc-actions .fc-button--checkout,
.fc-actions .fc-button--submit {
  background: var(--brand-yellow) !important;
  color: var(--brand-blue) !important;
  box-shadow: 0 4px 16px rgba(255, 177, 1, 0.3);
}
.fc-button--primary:hover,
.fc-button.fc-button--action:hover,
.fc-actions .fc-button--checkout:hover,
.fc-actions .fc-button--submit:hover {
  background: #e6a000 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 177, 1, 0.4);
}
.fc-button--secondary,
.fc-button--muted {
  background: var(--brand-blue) !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(7, 37, 68, 0.3);
}
.fc-button--secondary:hover,
.fc-button--muted:hover {
  background: #051a2e !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(7, 37, 68, 0.4);
}

/* Quantity controls */
.fc-quantity,
.fc-quantity__control,
.fc-quantity input {
  border-radius: 10px;
  border-color: var(--border);
}

/* Sidecart panel look */
.fc-sidecart__panel,
.fc-sidecart__container {
  border-left: 1px solid var(--border);
  box-shadow: -8px 0 24px rgba(0,0,0,.08);
}
.fc-sidecart__header {
  border-bottom: 1px solid var(--border);
}
.fc-sidecart__title {
  color: var(--brand-blue);
  font-weight: 700;
}

/* Sidecart mit modernem UKC-Layout - NUR für Sidecart */
[data-fc-sidecart] .ukc-cart {
  font-family: var(--font-family);
  color: var(--text);
  background: white !important; /* Weißer Hintergrund für Sidecart */
}

/* Sidecart Shell Hintergrund */
[data-fc-sidecart] .fc-container.ukc-shell {
  background-color: white !important;
}

[data-fc-sidecart] .ukc-cart .ukc-cart__container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

[data-fc-sidecart] .ukc-cart .ukc-cart__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  min-height: 100vh;
}

/* Fullpage Cart - komplett getrennt vom Sidecart */
.ukc-cart:not([data-fc-sidecart] *) {
  font-family: var(--font-family);
  color: var(--text);
  background: var(--bg);
}

.ukc-cart:not([data-fc-sidecart] *) .ukc-cart__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.ukc-cart:not([data-fc-sidecart] *) .ukc-cart__grid {
  display: flex;
  gap: 40px;
  min-height: 100vh;
}

/* fc-cart Inhalt nutzt die gesamte Flexbox-Breite */
.ukc-cart:not([data-fc-sidecart] *) .fc-cart {
  flex: 1;
}

/* Sidecart spezifische Anpassungen - NUR für Sidecart */
[data-fc-sidecart] .fc-sidecart-only-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: white !important; /* Weißer Hintergrund für Navigation */
  border-bottom: 1px solid var(--border);
  padding: 12px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Sidecart Breite erhöhen - Override der Foxy-Standard-Werte */
[data-fc-with-sidecart="reveal"].cart-visible [data-fc-store-page],
[data-fc-with-sidecart="reveal"].cart-visible [data-fc-ui-block] {
  transform: translate3d(-550px, 0, 0) !important;
  -webkit-transform: translate3d(-550px, 0, 0) !important;
  -moz-transform: translate3d(-550px, 0, 0) !important;
  -ms-transform: translate3d(-550px, 0, 0) !important;
  -o-transform: translate3d(-550px, 0, 0) !important;
}

/* Sidecart Container Breite anpassen */
[data-fc-sidecart] {
  width: 550px !important;
  max-width: 550px !important;
}

.ukc-cart .fc-sidecart-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--brand-blue);
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.2s ease;
}

.ukc-cart .fc-sidecart-button:hover {
  background: var(--brand-blue-dark);
  transform: translateY(-1px);
}

.ukc-cart .fc-fixed-button-left .fc-sidecart-button {
  background: var(--bg-secondary);
  color: var(--text);
  border: 1px solid var(--border);
}

.ukc-cart .fc-fixed-button-left .fc-sidecart-button:hover {
  background: var(--bg-hover);
}

/* Sidecart Content Padding */
.ukc-cart #fc-cart {
  padding-top: 60px; /* Platz für Fixed Navigation */
}

/* Sidecart Summary Styling - NUR für Sidecart */
[data-fc-sidecart] .ukc-summary {
  background: white !important;
  border-radius: 12px;
  padding: 20px;
  margin: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  width: calc(100% - 40px);
  max-width: 510px;
}

/* Sidecart Bestellübersicht Hintergrund - alle grauen Bereiche weiß machen */
[data-fc-sidecart] .fc-transaction,
[data-fc-sidecart] .fc-sidebar__content,
[data-fc-sidecart] .fc-sidebar__header,
[data-fc-sidecart] .fc-sidebar__title,
[data-fc-sidecart] .fc-sidebar,
[data-fc-sidecart] .fc-sidebar--cart,
[data-fc-sidecart] .fc-cart__summary,
[data-fc-sidecart] .fc-cart__summary__content,
[data-fc-sidecart] .fc-cart__summary__header,
[data-fc-sidecart] .fc-cart__summary__title,
[data-fc-sidecart] .fc-cart__summary__body,
[data-fc-sidecart] .fc-cart__summary__footer {
  background: white !important;
}

/* Sidecart alle Buttons und Links - spezifischere Selektoren */
[data-fc-sidecart] .fc-action--checkout--button,
[data-fc-sidecart] .fc-action--checkout,
[data-fc-sidecart] .fc-btn,
[data-fc-sidecart] .fc-btn-action,
[data-fc-sidecart] a[href*="checkout"],
[data-fc-sidecart] button[type="submit"] {
  background: #FFD700 !important; /* Gelb statt blau */
  color: #000 !important; /* Schwarzer Text für bessere Lesbarkeit */
  border: none !important;
}

[data-fc-sidecart] .fc-action--remove-all--button,
[data-fc-sidecart] .fc-action--remove-all,
[data-fc-sidecart] a[href*="remove"],
[data-fc-sidecart] a[href*="delete"] {
  background: var(--danger) !important;
  color: white !important;
  border: none !important;
}

/* Zusätzliche Button-Selektoren für Bestellübersicht */
[data-fc-sidecart] .fc-transaction .fc-action--checkout--button,
[data-fc-sidecart] .fc-transaction .fc-action--checkout,
[data-fc-sidecart] .fc-transaction .fc-btn,
[data-fc-sidecart] .fc-transaction .fc-btn-action {
  background: #FFD700 !important; /* Gelb statt blau */
  color: #000 !important; /* Schwarzer Text für bessere Lesbarkeit */
  border: none !important;
}

[data-fc-sidecart] .fc-transaction .fc-action--remove-all--button,
[data-fc-sidecart] .fc-transaction .fc-action--remove-all {
  background: var(--danger) !important;
  color: white !important;
  border: none !important;
}

/* Sidecart Container anpassen */
[data-fc-sidecart] .fc-sidebar--cart {
  width: 100%;
  max-width: 550px;
  padding: 0 20px;
}

/* Sidecart Items Container */
[data-fc-sidecart] .fc-cart__items {
  width: 100%;
  max-width: 100%;
  margin-bottom: 0 !important; /* Entferne Abstand zur Bestellübersicht */
  padding-bottom: 0 !important;
}

/* Sidecart Items Header ausblenden */
[data-fc-sidecart] .fc-cart__items__header {
  display: none;
}

/* Entferne Abstand zwischen Produkten und Bestellübersicht */
[data-fc-sidecart] .fc-cart__items + .fc-transaction,
[data-fc-sidecart] .fc-cart__items + .ukc-summary,
[data-fc-sidecart] .fc-cart__items + .fc-sidebar__content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Zusätzliche Abstände für Buttons und Preise im Sidecart */
[data-fc-sidecart] .fc-transaction .fc-action--checkout--button + .fc-action--remove-all--button,
[data-fc-sidecart] .fc-transaction .fc-action--checkout + .fc-action--remove-all {
  margin-top: 10px !important;
}

[data-fc-sidecart] .fc-subtotal--row + .fc-subtotal--row {
  margin-top: 10px !important;
}

/* Spezifische Abstände für verschiedene Preis-Elemente */
[data-fc-sidecart] .fc-subtotal--row:not(:last-child) {
  margin-bottom: 10px !important;
}

.ukc-cart .ukc-summary .fc-logo {
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}

.ukc-cart .ukc-summary .fc-logo__image {
  max-height: 60px;
  width: auto;
}

.ukc-cart .ukc-summary .fc-logotype {
  color: var(--brand-blue);
  font-size: 24px;
  font-weight: 700;
  margin: 0;
}

/* Sidecart Produktzeilen Styling - NUR für Sidecart - 2 Wrapper Layout */
[data-fc-sidecart] .fc-cart__item {
  background: white;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 12px;
  transition: all 0.2s ease;
  display: flex !important;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 100%;
}

/* fc-container__row fc-cart__item ukc-row muss flex-direction: column haben */
[data-fc-sidecart] .fc-container__row.fc-cart__item.ukc-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
}

/* Wrapper 1: Bild und Name nebeneinander */
[data-fc-sidecart] .fc-cart__item__details-and-image {
  display: flex !important;
  gap: 12px;
  align-items: center;
}

[data-fc-sidecart] .fc-cart__item__image {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

[data-fc-sidecart] .fc-cart__item__details {
  flex: 1;
  display: block !important;
}

[data-fc-sidecart] .fc-cart__item__name {
  display: block !important;
  font-weight: 600;
  color: var(--text);
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}

/* Wrapper 2: Menge, Preis und Entfernen-Button */
[data-fc-sidecart] .fc-cart__item__totals {
  display: flex !important;
  flex-direction: column;
  gap: 12px;
}

/* Grid-Layout für fc-container__row ukc-row__actions - optimiert */
[data-fc-sidecart] .fc-cart__item__totals .fc-container__row.ukc-row__actions {
  display: grid !important;
  grid-template-columns: 150px 1fr; /* Erste Column max. 150px, zweite nimmt Rest */
  grid-template-rows: auto; /* Nur 1 Row */
  gap: 6px; /* Kleinere Gaps */
  align-items: center; /* Vertikal zentrieren */
}

/* Row 1, Column 1: Total (oben) - um 8px nach oben */
[data-fc-sidecart] .fc-cart__item__total.ukc-row__total {
  grid-row: 1;
  grid-column: 1;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative !important;
  top: -8px !important; /* 8px nach oben */
  order: 1; /* Gesamtpreis zuerst */
}

/* Row 1, Column 1: Price (unten) - relativ 15px nach unten verschoben */
[data-fc-sidecart] .fc-cart__item__price.ukc-row__price {
  grid-row: 1;
  grid-column: 1;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative !important;
  top: 15px !important; /* 15px nach unten verschieben */
  order: 2; /* Stückpreis danach */
}

/* Quantity rechts, zentriert */
[data-fc-sidecart] .fc-cart__item__quantity.ukc-row__qty {
  grid-row: 1;
  grid-column: 2;
  display: flex !important;
  align-items: center; /* Vertikal zentrieren */
  justify-content: center; /* Horizontal zentrieren */
  margin-bottom: 0 !important; /* Keine bottom margin */
}

/* Remove-Button rechts, unten - Text zentriert */
[data-fc-sidecart] .fc-cart__item__totals .fc-container__row.ukc-row__actions .ukc-row__remove {
  grid-row: 1;
  grid-column: 2;
  display: flex !important;
  justify-content: center; /* Horizontal zentrieren */
  align-items: center; /* Vertikal zentrieren */
  margin-top: 4px; /* Kleiner Abstand zwischen Qty und Remove */
}

/* Remove-Button Text zentrieren */
[data-fc-sidecart] .fc-cart__item__totals .fc-container__row.ukc-row__actions .ukc-row__remove a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Wrapper-Breiten und Zentrierung im Sidecart */
[data-fc-sidecart] .fc-cart__item__details-and-image {
  width: 90% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

[data-fc-sidecart] .fc-cart__item__totals {
  width: 98% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Seitenpadding im Sidecart-Hauptgrid entfernen */
[data-fc-sidecart] .fc-cart__main__content.fc-container__grid {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Cart-Item-Row exakt zentrieren mit minimalem Padding */
[data-fc-sidecart] .fc-container__row.fc-cart__item.ukc-row {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 20px !important; /* 20px Abstand nach unten */
  width: 95% !important; /* Alle Cart-Items auf 95% Breite */
  box-sizing: border-box;
  padding: 5px !important; /* Maximal 5px Padding an allen Seiten */
  border: 2px solid var(--border) !important; /* 2px Border für alle Cart-Items */
}

/* Letztes Cart-Item mit subtiler grauer Border */
[data-fc-sidecart] .fc-container__row.fc-cart__item.ukc-row.fc-cart__item--last {
  border-bottom: 1px solid #e5e7eb !important; /* Subtile graue Border */
  padding-bottom: 15px !important; /* Etwas mehr Padding für die Border */
  /* width: 95% ist bereits durch die allgemeine Regel gesetzt */
}

/* Verstecke nur die ursprünglichen Layout-Elemente, die wir ersetzen wollen */
[data-fc-sidecart] .fc-cart__item__price:not(.ukc-row__price) {
  display: none !important;
}

/* Stelle sicher, dass die ursprünglichen Elemente sichtbar sind - basierend auf DOM */
[data-fc-sidecart] .fc-cart__item {
  display: block !important;
}

[data-fc-sidecart] .fc-cart__item__image,
[data-fc-sidecart] .fc-cart__item__details,
[data-fc-sidecart] .fc-cart__item__name,
[data-fc-sidecart] .fc-cart__item__quantity,
[data-fc-sidecart] .fc-cart__item__total,
[data-fc-sidecart] .fc-cart__item__actions,
[data-fc-sidecart] .ukc-row__remove,
[data-fc-sidecart] .ukc-row__thumb,
[data-fc-sidecart] .ukc-row__details,
[data-fc-sidecart] .ukc-row__actions,
[data-fc-sidecart] .ukc-row__total,
[data-fc-sidecart] .ukc-row__qty {
  display: block !important;
  visibility: visible !important;
}

/* Zusätzliche Selektoren für alle möglichen Produktinhalte */
[data-fc-sidecart] .fc-cart__item * {
  visibility: visible !important;
}

[data-fc-sidecart] .fc-cart__item img,
[data-fc-sidecart] .fc-cart__item p,
[data-fc-sidecart] .fc-cart__item input,
[data-fc-sidecart] .fc-cart__item button,
[data-fc-sidecart] .fc-cart__item a {
  display: block !important;
  visibility: visible !important;
}

/* Spezifische Grid-Elemente sichtbar machen */
[data-fc-sidecart] .fc-cart__item__total.ukc-row__total,
[data-fc-sidecart] .fc-cart__item__price.ukc-row__price,
[data-fc-sidecart] .fc-cart__item__quantity.ukc-row__qty,
[data-fc-sidecart] .ukc-row__remove {
  display: flex !important;
  visibility: visible !important;
}

/* Grid-Container sichtbar machen */
[data-fc-sidecart] .fc-container__row.ukc-row__actions {
  display: grid !important;
  visibility: visible !important;
}

[data-fc-sidecart] .fc-cart__item:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
  transform: translateY(-2px);
}

/* Produktbild Styling */
[data-fc-sidecart] .fc-cart__item__image__img {
  border-radius: 8px;
  max-width: 100%;
  max-height: 120px;
  min-height: 100px;
  width: auto;
  height: auto;
  object-fit: cover;
}

/* Quantity Control Container - wie Fullpage Cart */
[data-fc-sidecart] .ukc-qty-control {
  display: flex !important;
  align-items: center !important;
  gap: 4px; /* Abstand zwischen Buttons und Input */
  /* Keine feste width - natürliche Breite */
}

/* Quantity Buttons - separiert vom Input */
[data-fc-sidecart] .ukc-qty-btn {
  width: 32px !important;
  height: 32px !important;
  border: 1px solid #000000 !important; /* Schwarze Border */
  border-radius: 8px !important;
  background: white !important;
  color: var(--text) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  /* Verhindere Submit-Verhalten */
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}

[data-fc-sidecart] .ukc-qty-btn:hover {
  background: var(--bg-hover) !important;
  color: var(--brand-blue) !important;
}

[data-fc-sidecart] .ukc-qty-btn:active {
  background: var(--border) !important;
}

/* Menge Input Styling - separiert mit eigener Border */
[data-fc-sidecart] .fc-cart__item__quantity__input {
  border: 1px solid #000000 !important; /* Schwarze Border */
  border-radius: 8px !important;
  padding: 8px 12px;
  text-align: center;
  width: 60px !important; /* Normale Breite */
  max-width: 60px !important;
  font-weight: 600;
  font-size: 14px;
  background: white !important; /* Weißer Hintergrund */
  color: var(--text);
  box-shadow: none;
  transition: all 0.2s ease;
  margin-top: 0 !important; /* Keine top margin */
}

[data-fc-sidecart] .fc-cart__item__quantity__input:focus {
  border-color: var(--brand-blue) !important;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
  outline: none;
}

[data-fc-sidecart] .fc-cart__item__quantity__input:hover {
  border-color: var(--brand-blue) !important;
}

/* Preis Styling */
[data-fc-sidecart] .fc-cart__item__total p {
  font-weight: 700;
  font-size: 18px;
  color: var(--brand-blue);
  margin: 0 0 4px 0;
}

/* Format: (price_each / Stück) */
[data-fc-sidecart] .fc-cart__item__price__each {
  position: relative !important;
  top: -5px !important;
}
[data-fc-sidecart] .fc-cart__item__price__each::before {
  content: "(" !important;
  margin-right: 2px;
}
[data-fc-sidecart] .fc-cart__item__price__each::after {
  content: " / Stück)" !important;
  margin-left: 2px;
}

/* Span mit title-Attribut im Sidecart ausblenden */
[data-fc-sidecart] .fc-cart__item__price__each span[title] {
  display: none !important;
}

/* Entfernen Button Styling */
[data-fc-sidecart] .fc-cart__item__actions ul {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}

[data-fc-sidecart] .fc-cart__item__actions li {
  margin: 0;
  width: 100%;
}

[data-fc-sidecart] .fc-cart__item__actions a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 8px 16px;
  background: var(--danger);
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  transition: all 0.2s ease;
}

[data-fc-sidecart] .fc-cart__item__actions a:hover {
  background: var(--danger-dark);
  transform: translateY(-1px);
}

/* Verstecke die ursprünglichen Layout-Elemente im Sidecart */
[data-fc-sidecart] .fc-cart__item__details-and-image {
  display: none;
}

[data-fc-sidecart] .fc-cart__item__totals {
  display: none;
}

[data-fc-sidecart] .fc-cart__item__price {
  display: none;
}

/* Sidecart Buttons - NUR für Sidecart */
[data-fc-sidecart] .fc-cart__item__actions a {
  color: var(--danger);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s ease;
}

[data-fc-sidecart] .fc-cart__item__actions a:hover {
  color: var(--danger-dark);
  text-decoration: underline;
}

/* Fullpage Cart Buttons - getrennt vom Sidecart */
.ukc-cart:not([data-fc-sidecart] *) .fc-cart__item__actions a {
  color: var(--danger);
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.ukc-cart:not([data-fc-sidecart] *) .fc-cart__item__actions a:hover {
  color: var(--danger-dark);
  text-decoration: underline;
}

/* Sidecart Transaction Summary */
[data-fc-sidecart] .fc-transaction {
  background: white;
  border-radius: 12px;
  padding: 20px;
  margin-top: 20px;
}

/* 5px Abstand zwischen Table-Rows in ukc-summary-table - korrigierte Methode */
.ukc-summary-table tbody tr td {
  padding-bottom: 8px !important;
}

.ukc-summary-table tbody tr:last-child td {
  padding-bottom: 0 !important;
}

[data-fc-sidecart] .fc-transaction__header {
  color: var(--brand-blue);
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--border);
}

[data-fc-sidecart] .fc-subtotal--row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0; /* 10px Abstand zwischen den Preisen */
  border-bottom: 1px solid var(--border-light);
}

[data-fc-sidecart] .fc-subtotal--row:last-child {
  border-bottom: none;
  font-weight: 700;
  font-size: 18px;
  color: var(--brand-blue);
}

[data-fc-sidecart] .fc-subtotal__label {
  color: var(--text);
  font-weight: 500;
}

[data-fc-sidecart] .fc-subtotal__value {
  color: var(--text);
  font-weight: 600;
}

/* Sidecart Checkout Button - gelb statt blau */
[data-fc-sidecart] .fc-action--checkout--button {
  display: block;
  width: 100%;
  background: #FFD700 !important; /* Gelb statt blau */
  color: #000 !important; /* Schwarzer Text für bessere Lesbarkeit */
  text-decoration: none;
  padding: 16px 24px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 18px;
  text-align: center;
  transition: all 0.2s ease;
  margin-top: 20px;
  border: none;
}

[data-fc-sidecart] .fc-action--checkout--button:hover {
  background: #FFC107 !important; /* Dunkleres Gelb beim Hover */
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
}

/* Sidecart "Alle Artikel entfernen" Button - wie Fullpage Cart */
[data-fc-sidecart] .fc-action--remove-all--button {
  display: block;
  width: 100%;
  background: var(--danger) !important;
  color: white !important;
  text-decoration: none;
  padding: 12px 24px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 16px;
  text-align: center;
  transition: all 0.2s ease;
  margin-top: 10px; /* 10px Abstand zum Checkout-Button */
  border: none;
}

/* 10px Abstand zwischen Buttons in fc-actions--payment */
.fc-actions--payment .ukc-checkout-section {
  margin-bottom: 10px !important;
}

.fc-actions--payment .ukc-remove-all {
  margin-top: 10px !important;
}

[data-fc-sidecart] .fc-action--remove-all--button:hover {
  background: var(--danger-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

/* Cart (full page) summary header */
.ukc-summary .fc-sidebar__header,
.ukc-summary .fc-sidebar__title,
.ukc-summary h3 {
  color: var(--brand-blue);
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--border);
}

/* Notice/alert slot styling */
.ukc-cart__notice {
  background: var(--brand-yellow-soft);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 12px;
  margin: 8px 0 16px;
  color: var(--brand-blue);
}

/* Payment buttons spacing inside summary */
.ukc-summary .fc-payment-methods,
.ukc-summary .fc-express-checkout {
  margin-top: 12px;
}

/* ----- Item row responsive grid (A) ----- */
.ukc-row{
  display:grid;
  grid-template-columns: 120px 250px max-content max-content max-content; /* thumb | name (fix 250px) | qty | total | remove */
  grid-auto-flow: column;
  gap:12px;
  align-items:center;
  padding:20px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  margin-bottom:16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: all 0.2s ease;
}
.ukc-row:hover{ 
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  transform: translateY(-1px);
}

.ukc-row__thumb{ width:120px; grid-column:1 }
.ukc-row__thumb .fc-cart__item__image__img{ 
  width:100px; 
  height:100px; 
  object-fit:cover; 
  border-radius:12px; 
  background:var(--muted);
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.ukc-row__details{ grid-column:2; min-width:250px; max-width:250px }
.ukc-row__details .fc-cart__item__name{ 
  font-weight:600; 
  color:var(--brand-blue); 
  margin:0 0 8px;
  font-size:16px;
  line-height:1.4;
}
.ukc-row__details .fc-cart__item__options{ 
  margin:8px 0 0;
  font-size:14px;
  color:#666;
}

.ukc-row__qty{ grid-column:3; align-self:center; width:max-content }
.ukc-row__qty input[type=number]{
  width:90px;
  border:2px solid var(--border);
  border-radius:12px;
  padding:12px 8px;
  text-align:center;
  font-weight:600;
  font-size:16px;
  background:#fff;
  transition: border-color 0.2s ease;
}
.ukc-row__qty input[type=number]:focus{
  border-color: var(--brand-yellow);
  outline: none;
}

/* Checkout section styling */
.ukc-checkout-section{
  margin-bottom:16px;
}

.ukc-checkout-label{
  display:block;
  font-size:14px;
  color:#6b7280;
  margin-bottom:8px;
  font-weight:500;
}

/* Summary table formatting */
.ukc-summary-table{ width:100%; border-collapse:collapse; margin:8px 0 8px; }
.ukc-summary-table td{ padding:6px 0; }
.ukc-summary-label{ color:#0b1220; font-weight:500; }
.ukc-summary-value{ text-align:right; color:#0b1220; font-weight:500; }
.ukc-bold{ font-weight:800; }
.ukc-summary-totalrow td{ padding-top:8px; border-top:1px solid var(--border); }
.ukc-summary-sep{ height:16px; border-top:1px solid var(--border); margin:12px 0; }

/* Buttons full width in sidebar */
.ukc-summary .ukc-btn{ width:100%; }
.ukc-summary .ukc-remove-all a{ width:100%; }

/* Empty cart box */
.ukc-empty{ 
  border:2px dashed var(--border); 
  border-radius:16px; 
  padding:36px; 
  background:#fff; 
  text-align:center; 
  width: 700px;
  max-width: 100%;
  margin: 0 auto;
}
.ukc-empty{ box-sizing:border-box }
@media (max-width: 768px){
  .ukc-empty{ width:100%; }
}
.ukc-empty__title{ margin:0 0 16px; font-size:20px; color:#9ca3af; }
.ukc-empty .ukc-btn{ margin-top:8px; }

/* Hard guard: Im Warenkorb nie Versand-/Adress-UI zeigen */
#fc-cart[data-context="cart"] .fc-address-entry,
#fc-cart[data-context="cart"] .fc-transaction__shipping,
#fc-cart[data-context="cart"] .fc-transaction__shipping-address{ display:none !important; }
/* Versandoptionen nur im Warenkorb ausblenden, nicht im Checkout */
#fc-cart[data-context="cart"] [data-fc-id="block-shipping-results"]{ display:none !important; }

/* EXPLIZIT: Versandoptionen im Checkout sichtbar machen */
#fc-cart[data-context="checkout"] [data-fc-id="block-shipping-results"],
#fc-cart[data-context="checkout"] [data-fc-id="shipping-results"]{ display:block !important; }

/* Versandoptionen Styling */
.fc-shipping-rates {
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  overflow: hidden;
}

.fc-shipping-rates__rate {
  border-bottom: 1px solid #f3f4f6;
  transition: background-color 0.2s ease;
}

.fc-shipping-rates__rate:last-child {
  border-bottom: none;
}

.fc-shipping-rates__rate:hover {
  background-color: #f9fafb;
}

.fc-shipping-rates__rate.fc-input-group-container--active {
  background-color: #eff6ff;
  border-color: #3b82f6;
}

.fc-form-label--shipping-rate {
  display: flex;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
  margin: 0;
  font-weight: 500;
  color: #374151;
}

.fc-form-control--shipping-rate {
  margin: 0 12px 0 0;
  width: 18px;
  height: 18px;
  accent-color: #3b82f6;
}

.fc-shipping-rates__rate__name {
  flex: 1;
  font-size: 14px;
  line-height: 1.4;
}

/* Kategorie (Spedition/Abholung) aus dem Namen entfernen */
.fc-shipping-rates__rate__name::before {
  content: '';
  display: none;
}

/* Alternative: Falls die Kategorie in einem separaten Element steht */
.fc-shipping-rates__rate__method {
  display: none !important;
}

.fc-shipping-rates__rate__value {
  font-weight: 600;
  font-size: 14px;
  color: #111827;
  min-width: 80px;
  text-align: right;
}

/* Zahlungsoptionen Styling */
/* Security Icon ausblenden */
#fc-icon-lock-large {
  display: none !important;
}

/* Mollie Payment Gateway modern stylen */
.fc-payment-method--mollie_omnipay {
  background: #fff;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin: 16px 0;
  transition: all 0.2s ease;
}

.fc-payment-method--mollie_omnipay:hover {
  border-color: #3b82f6;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
}

.fc-payment-method--mollie_omnipay .fc-input-group-container--active {
  background: transparent;
  border: none;
  padding: 0;
}

.fc-payment-method--mollie_omnipay .fc-input-group-container__title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  font-size: 16px;
  color: #374151;
  cursor: pointer;
  margin: 0;
}

.fc-payment-method--mollie_omnipay .fc-payment-method-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fc-payment-method--mollie_omnipay .fc-payment-method-logo img {
  height: 32px;
  width: auto;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.fc-payment-method--mollie_omnipay .fc-form-group {
  margin: 12px 0 0 0;
  padding: 12px 16px;
  background: #f8fafc;
  border-radius: 8px;
  border-left: 4px solid #3b82f6;
  font-size: 14px;
  color: #64748b;
  line-height: 1.5;
}

/* Radio Button für Mollie stylen */
.fc-payment-method--mollie_omnipay input[type="hidden"] + span::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #d1d5db;
  border-radius: 50%;
  margin-right: 12px;
  vertical-align: middle;
  transition: all 0.2s ease;
}

.fc-payment-method--mollie_omnipay .fc-input-group-container--active input[type="hidden"] + span::before {
  border-color: #3b82f6;
  background: #3b82f6;
  box-shadow: inset 0 0 0 4px #fff;
}
#fc-cart[data-context="cart"] .fc-subtotal--total{ display:none !important; }
/* Verhindert, dass die Standard-Foxy-Transaktionsliste im Warenkorb sichtbar ist */
/* Sidebar-Liste generell im Cart ausblenden (fall-back) */
#fc-cart[data-context="cart"] ul.fc-transaction{ display:none !important; }
/* WICHTIG: Im Checkout darf die Transaktionsliste sichtbar sein */
#fc-cart[data-context="checkout"] ul.fc-transaction{ display:block !important; }
/* Cart-spezifisches Ausblenden im Sidebar-Container, aber nicht im Checkout */
#fc-cart[data-context="cart"] .fc-sidebar--cart.ukc-summary ul.fc-transaction{ display:none !important; }
#fc-cart[data-context="checkout"] .fc-sidebar--cart.ukc-summary ul.fc-transaction{ display:block !important; }

/* Checkout: Versand-Zeile im Transaktions-Block ausblenden (nur Zusammenfassung) */
#fc-cart[data-context="checkout"] .fc-transaction__shipping.fc-transaction__section{ display:none !important; }

/* Checkout: Transaktionsliste ohne linkes Padding */
#fc-cart[data-context="checkout"] ul.fc-transaction{ padding-left:0 !important; margin-left:0 !important; }

/* Coupon-Eingabe: untereinander und volle Breite */
#fc-cart[data-context="checkout"] .fc-coupon-entry--input{ flex-direction:column !important; gap:8px !important; width:100% !important; }
#fc-cart[data-context="checkout"] .fc-coupon-entry--input input[type="text"],
#fc-cart[data-context="checkout"] .fc-coupon-entry--input .fc-input-group__button,
#fc-cart[data-context="checkout"] .fc-coupon-entry--input .fc-button{ width:100% !important; display:block !important; }

/* Größeres Eingabefeld für Coupon-Code im Checkout */
#fc-cart[data-context="checkout"] .fc-coupon-entry--input input[type="text"]{
  height: 46px !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  font-size: 16px !important;
}

/* Coupon Button an Checkout-Stil angleichen */
#fc-cart[data-context="checkout"] .fc-coupon-entry--input .fc-button{
  background: var(--brand-yellow) !important;
  color: var(--brand-blue) !important;
  border: none !important;
  border-radius: 12px !important;
  height: 46px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 16px rgba(255,177,1,.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
#fc-cart[data-context="checkout"] .fc-coupon-entry--input .fc-button:hover{
  background:#e6a000 !important;
}

/* ===================== */
/* Checkout — Pflichtfeld-Highlighting */
/* ===================== */
/* Rote Hervorhebung für ungültige/fehlende Werte (per JS Klasse .ukc-invalid) */
.fc-checkout__main__form .ukc-invalid,
.fc-checkout__main__form .fc-form-control.ukc-invalid{
  border-color:#dc2626 !important; /* red-600 */
  box-shadow:0 0 0 2px rgba(220,38,38,.15) !important;
}
.fc-checkout__main__form .fc-form-group.ukc-has-error .fc-form-label{
  color:#dc2626 !important;
}
.fc-checkout__main__form .ukc-invalid::placeholder{ color:rgba(220,38,38,.65) !important; }

/* Remove-all button look */
.ukc-remove-all{ text-align:center; margin:12px 0 0 }
.ukc-remove-all a{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:220px; height:44px; padding:0 18px;
  border:1px solid var(--border);
  border-radius:12px;
  color:#0b1220; text-decoration:none; font-weight:700; background:#fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: all 0.2s ease;
}
.ukc-remove-all a:hover{ background:#f7f9fc; transform: translateY(-1px); }

/* Einheitspreis im Full Cart ausblenden, aber NICHT im Sidecart */
.ukc-cart:not([data-fc-sidecart] *) .ukc-row__price{ display:none !important }
.ukc-row__total p{ 
  margin:0; 
  text-align:right; 
  white-space:nowrap;
  font-weight:600;
  font-size:16px;
}
.ukc-row__price p{
  color:#666;
  font-size:14px;
}
.ukc-row__total{ grid-column:4; width:max-content }
.ukc-row__total p{
  color:var(--brand-blue);
  font-size:18px;
}
.ukc-row__total .ukc-piece-price{
  margin: 4px 0 0;
  font-size: 12px !important;
  line-height: 1.3;
  color: #6b7280 !important; /* grau */
  display: block;
}
.ukc-row__remove{ grid-column:5; text-align:right; width:max-content }
.ukc-row__remove a{ 
  color:#999;
  text-decoration:none;
  font-size:14px;
  padding:8px 12px;
  border-radius:8px;
  transition: all 0.2s ease;
}
.ukc-row__remove a:hover{
  color:var(--brand-blue);
  background:var(--brand-yellow-soft);
}

@media (max-width: 960px){
  .ukc-row{
    grid-template-columns: 88px 1fr auto; /* thumb | details | total */
    grid-template-areas:
      "thumb details details"
      "thumb qty     remove";
  }
  .ukc-row__thumb{ grid-area: thumb }
  .ukc-row__details{ grid-area: details }
  .ukc-row__qty{ grid-area: qty }
  .ukc-row__remove{ grid-area: remove; text-align:left }
  /* Einheitspreis nur im Full Cart auf kleinen Screens verstecken, nicht im Sidecart */
  .ukc-cart:not([data-fc-sidecart] *) .ukc-row__price{ display:none }
  .ukc-row__total p{ font-weight:700 } /* emphasize total */
}

 /* Optional: make totals column align neatly */
.ukc-row__total p{ font-variant-numeric: tabular-nums }

/* Slight hover to match cards */
.ukc-row:hover{ box-shadow:0 4px 18px rgba(0,0,0,.06) }

/* Flatten Foxy wrapper so thumb & details participate in our grid */
.ukc-row .fc-cart__item__details-and-image{ display: contents; }
.ukc-row .fc-cart__item__totals{ display: contents; }
.ukc-row .fc-cart__item__totals > .fc-container__row{ display: contents; }
.ukc-row .ukc-row__actions{ display: contents; }

/* Qty control like mock */
.ukc-qty-control{ display:grid; grid-template-columns: 44px 1fr 44px; align-items:stretch; gap:8px; }
.ukc-qty-btn{ 
  display:flex; align-items:center; justify-content:center; 
  background:#f7f9fc; border:1px solid var(--border); border-radius:12px; 
  width:44px; height:44px; font-weight:700; font-size:18px; color:#1d2b3a; cursor:pointer;
}
.ukc-qty-btn:hover{ background:#fff; }
.ukc-row__qty input[type=number]{ height:44px; border:1px solid var(--border); border-radius:12px; text-align:center; font-weight:700; font-size:18px; }

/* Remove button like mock */
.ukc-remove-btn{ display:inline-flex; align-items:center; justify-content:center; min-width:130px; height:44px; border:1px solid var(--border); border-radius:12px; color:#0b1220; text-decoration:none; font-weight:700; background:#fff; }
.ukc-remove-btn:hover{ background:#f7f9fc; }
/* --- Page shell (logos above/below) --- */
.ukc-shell{
  max-width: 1300px; /* Sicherheitsnetz auf dem äußeren Shell-Container */
  margin: 0 auto;
  padding: 0; /* Kein horizontales Padding */
}
.ukc-site-header,
.ukc-site-footer{
  padding: 18px 0;
}
.ukc-site-header .ukc-shell,
.ukc-site-footer .ukc-shell{
  display:flex; align-items:center; justify-content:flex-start;
}
.ukc-logo{ height:auto; display:block }

.ukc-site-main{ padding: 12px 0 48px }

/* Hide the sidecart fixed nav on the full cart page */
.ukc-cart-page nav.fc-sidecart-only-fixed{ display:none !important; }

/* Hide the sidecart fixed nav everywhere - both sidecart and fullcart */
nav.fc-sidecart-only-fixed {
  display: none !important;
}

/* Sidecart Navigation für Cart-Context - AUSGEBLENDET */
.ukc-cart nav.fc-sidecart-only-fixed {
  display: none !important;
}

/* Sidecart Content Padding - Navigation ist ausgeblendet */
.ukc-cart #fc-cart {
  padding-top: 0; /* Kein Padding mehr nötig */
}

/* Responsive Anpassungen für Sidecart */
@media (max-width: 768px) {
  [data-fc-sidecart] #fc-cart {
    padding-top: 0; /* Kein Padding mehr nötig */
  }
  
  /* Auf Mobile: Sidecart komplett ausblenden, da wir zum Fullpage-Cart redirecten */
  [data-fc-sidecart] {
     display: none !important;
   }
   
   /* ============================================ */
   /* MOBILE: Alle Elemente auf Bildschirmbreite beschränken */
   /* ============================================ */
   
   /* Body und Hauptcontainer */
   body, html {
     overflow-x: hidden !important;
     max-width: 100vw !important;
   }
   
   /* Cart Container */
   .ukc-cart__container {
     padding: 8px !important;
     max-width: 100vw !important;
     box-sizing: border-box !important;
   }
   
   /* Fullpage Cart auf Mobile optimieren */
   .ukc-cart:not([data-fc-sidecart] *) .ukc-cart__grid {
     flex-direction: column;
     gap: 16px;
     max-width: 100% !important;
     padding: 0 !important;
   }
   
   /* Cart Items Container - VOLLE BREITE */
   .ukc-items,
   .fc-cart__items,
   .fc-cart__items--with-images,
   .fc-cart__items--without-images {
     max-width: 100% !important;
     width: 100% !important;
     overflow: hidden !important;
     box-sizing: border-box !important;
   }
   
   /* Cart Main Content - VOLLE BREITE */
   .fc-cart__main__content,
   .fc-container__grid {
     max-width: 100% !important;
     width: 100% !important;
     box-sizing: border-box !important;
   }
   
   /* Summary unten (bleibt normale Order) */
   .ukc-cart:not([data-fc-sidecart] *) .ukc-summary {
     order: 2 !important; /* Summary kommt NACH den Items */
   }
   
   /* Items Container explizit oben */
   .fc-cart__main__content {
     order: 1 !important; /* Items kommen ZUERST */
   }
   
   /* Individual Cart Rows - VOLLE BREITE */
   .ukc-row {
     grid-template-columns: 80px 1fr;
     grid-template-areas:
       "thumb details"
       "thumb qty"
       "total remove";
     gap: 4px 12px; /* Reduziert von 8px auf 4px */
     padding: 16px 12px !important; /* Mehr padding vertikal, weniger horizontal */
     max-width: 100% !important;
     width: 100% !important;
     box-sizing: border-box !important;
     margin: 0 0 12px 0 !important;
   }
   
   .ukc-row__thumb { 
     grid-area: thumb;
     align-self: start;
   }
   
   .ukc-row__details { 
     grid-area: details;
     min-width: 0 !important;
     max-width: 100% !important;
     padding-bottom: 4px; /* Kleiner Abstand zum Qty */
   }
   
   .ukc-row__details .fc-cart__item__name {
     font-size: 14px !important;
     line-height: 1.3 !important;
     word-break: break-word !important;
     margin-bottom: 0 !important;
   }
   
   .ukc-row__qty { 
     grid-area: qty;
     justify-self: start;
     align-self: center;
     padding-bottom: 8px; /* Abstand zu Total/Remove */
   }
   
   /* Total und Remove in einer Zeile nebeneinander - OHNE BORDER */
   .ukc-row__total { 
     grid-area: total;
     text-align: left !important;
     align-self: center;
     padding-top: 0 !important; /* Kein padding-top */
     border-top: none !important; /* KEINE LINIE */
   }
   
   .ukc-row__remove { 
     grid-area: remove;
     text-align: right !important;
     align-self: center;
     padding-top: 0 !important; /* Kein padding-top */
     border-top: none !important; /* KEINE LINIE */
   }
   
   /* Remove Button kleiner auf Mobile */
   .ukc-row__remove a {
     font-size: 13px !important;
     padding: 6px 10px !important;
   }
   
   /* Stückpreis kleiner */
   .ukc-row__total .ukc-piece-price {
     font-size: 12px !important;
     margin-top: 2px !important;
   }
   
   /* Summary */
   .ukc-cart:not([data-fc-sidecart] *) .ukc-summary {
     position: static;
     width: 100% !important;
     max-width: 100% !important;
     flex: 1;
     margin: 0 !important;
     box-sizing: border-box !important;
   }
   
   .ukc-summary-table {
     width: 100% !important;
     max-width: 100% !important;
   }
   
   /* Quantity Controls auf Mobile größer */
   .ukc-qty-control {
     grid-template-columns: 50px 1fr 50px;
     gap: 8px;
     max-width: 200px;
   }
   
   .ukc-qty-btn {
     width: 50px !important;
     height: 50px !important;
     font-size: 20px !important;
   }
   
   .ukc-row__qty input[type=number] {
     height: 50px !important;
     font-size: 18px !important;
     max-width: 80px !important;
   }
   
   /* ============================================ */
   /* MOBILE: Checkout auf Mobile anpassen */
   /* ============================================ */
   
   /* Checkout Container */
   #fc-checkout-container,
   .fc-checkout__main,
   .fc-checkout__main__contents {
     max-width: 100vw !important;
     padding: 8px !important;
     box-sizing: border-box !important;
   }
   
   /* Grid zu Flex: Summary OBEN, dann Formular */
   #fc-checkout-container.fc-checkout__main.fc-checkout__row {
     grid-template-columns: 1fr !important;
     gap: 0 !important; /* KEIN Gap zwischen Summary und Form */
     max-width: 100% !important;
     display: flex !important;
     flex-direction: column !important; /* Normale Reihenfolge */
   }
   
   /* Summary oben (order: -1 damit sie VOR dem Formular kommt) */
   .fc-sidebar--checkout,
   .fc-sidebar--cart.ukc-summary {
     grid-column: 1;
     position: static !important;
     max-width: 100% !important;
     margin: 0 !important; /* Alle Margins entfernt */
     padding-bottom: 12px !important; /* Nur kleiner Abstand unten */
     order: -1 !important; /* Garantiert dass Summary VOR Formular erscheint */
   }
   
   /* Checkout Form darunter */
   .fc-checkout__main__contents {
     order: 1 !important;
     margin-top: 0 !important;
     padding-top: 0 !important;
   }
   
   /* Checkout Fieldsets - Abstand reduzieren */
   .fc-checkout__main__form fieldset {
     margin-top: 0 !important;
     margin-bottom: 12px !important;
   }
   
   /* Erstes Fieldset ohne Top-Margin */
   .fc-checkout__main__form fieldset:first-of-type {
     margin-top: 0 !important;
   }
   
   /* Checkout Form */
   .fc-checkout__main__form {
     max-width: 100% !important;
     padding: 8px 16px 16px 16px !important; /* Weniger padding oben */
     margin-top: 0 !important;
     box-sizing: border-box !important;
   }
   
   .fc-checkout__main__form fieldset {
     max-width: 100% !important;
     padding: 12px !important;
     margin-top: 0 !important; /* Kein margin-top */
   }
   
   /* Form Inputs */
   .fc-form-control,
   .fc-checkout__main__form .fc-form-control,
   .fc-checkout__main__form input,
   .fc-checkout__main__form select {
     max-width: 100% !important;
     box-sizing: border-box !important;
   }
   
   /* Buttons */
   .ukc-btn,
   .fc-button {
     max-width: 100% !important;
     box-sizing: border-box !important;
   }
   
   /* Empty Cart */
   .ukc-empty {
     width: 100% !important;
     max-width: 100% !important;
     padding: 20px !important;
     box-sizing: border-box !important;
   }
   
   /* Images nicht über Container hinaus */
   img {
     max-width: 100% !important;
     height: auto !important;
   }
   
   .ukc-row__thumb .fc-cart__item__image__img {
     width: 80px !important;
     height: 80px !important;
   }
}

/* Sidecart Animationen - Navigation ist ausgeblendet */

/* Page background + type rhythm closer to CI */
body.ukc-cart-page{
  background:#fff;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Tighten headings on the cart page */
.fc-cart__title__header,
.ukc-h1{ color:var(--brand-blue); margin: 8px 0 4px; }
.fc-order-quantity{ display:none !important; }

/* Give the main cart container some breathing room inside the shell */
.ukc-cart__container{ padding: 8px 0 0; }

/* ===================== */
/* Checkout — Layout     */
/* ===================== */
/* Sidebar rechts neben Formular, sticky */
#fc-checkout-container.fc-checkout__main.fc-checkout__row{ display:grid; grid-template-columns: minmax(520px,1fr) 500px; gap:32px; align-items:start; }
#fc-checkout-container.fc-checkout__main.fc-checkout__row > .fc-checkout__main__contents{ grid-column:1; grid-row:1; }
#fc-checkout-container.fc-checkout__main.fc-checkout__row > .fc-sidebar--checkout{ grid-column:2; grid-row:1; position:sticky; top:24px }
#fc-main{ grid-column:1; grid-row:1 }
@media (max-width:960px){
  #fc-checkout-container.fc-checkout__main.fc-checkout__row{ grid-template-columns:1fr }
  .fc-sidebar--checkout{ grid-column:1; position:static }
}

/* Checkout Kopf-Overhead entfernen und Top-Gap schließen */
.ukc-checkout #fc-logo,
.ukc-checkout .fc-logo__image,
.ukc-checkout .fc-cart__header.fc-container__row,
.ukc-checkout .fc-cart__title,
.ukc-checkout .fc-cart__title__header{ display:none !important; }
.ukc-checkout #fc-checkout-container{ margin-top:0 !important; }
.ukc-checkout .fc-checkout__main{ padding-top:0 !important; }
.ukc-checkout .fc-checkout__main__contents{ margin-top:0 !important; }

/* ===================== */
/* Checkout — Formular UI */
/* ===================== */

/* Kartenlook für Sektionen */
.fc-checkout__main__form fieldset{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:20px;
  margin:12px 0 20px;
}
.fc-checkout__main__form legend{
  font-size:20px;
  font-weight:700;
  color:var(--brand-blue);
  padding:0 0 8px;
  margin:0 0 12px;
  border-bottom:2px solid var(--border);
}

/* Inputs und Labels */
.fc-checkout__main__form .fc-form-label{ color:#0b1220; font-weight:600; font-size:14px; margin-bottom:6px; }

/* Versand: nur die Headline 'Adresse' ausblenden, nicht Adresse 1/2 */
.fc-container__grid--label--address{ display:none !important; }
.fc-checkout__main__form .fc-form-control{
  background:#fff;
  border:1px solid var(--border);
  border-radius:12px;
  height:46px;
  padding:12px 14px;
  width:100%;
}
.fc-checkout__main__form input.fc-form-control,
.fc-checkout__main__form select.fc-form-control,
.fc-checkout__main__form textarea.fc-form-control,
.fc-checkout__main__form .fc-location,
.fc-checkout__main__form .awesomecomplete-input{
  background:#fff !important;
  border:1px solid var(--border) !important;
  border-radius:12px !important;
  height:46px;
  padding:12px 14px !important;
  width:100% !important;
}
.fc-checkout__main__form .fc-form-group{ margin-bottom:16px; }
.fc-checkout__main__form .fc-form-group--multiple-inline{ column-gap:12px; }

/* Subheadline-Label (Name-Gruppe) */
.fc-container__grid--label--name.fc-form-label{
  font-size:16px;
  font-weight:700;
  color:var(--brand-blue);
  margin:0 0 8px;
  display:block;
}

/* Country-Dropdown und Flag ausblenden/stylen */
.fc-foxycomplete-flag{ display:none !important; }
.fc-foxycomplete-combobox{ display:none !important; }
.fc-location.awesomecomplete-input{
  background:#fff !important;
  border:1px solid var(--border) !important;
  border-radius:12px !important;
  height:46px !important;
  padding:12px 14px !important;
  width:100% !important;
}

/* Country-Dropdown Liste stylen */
.fc-foxycomplete-list{
  background:#fff !important;
  border:1px solid var(--border) !important;
  border-radius:12px !important;
  box-shadow:0 4px 12px rgba(0,0,0,0.1) !important;
  max-height:200px !important;
  overflow-y:auto !important;
  padding:8px 0 !important;
  max-width:100% !important;
  z-index:1000 !important;
  right:0 !important;
  position:absolute !important;
}
.fc-foxycomplete-list li{
  padding:8px 16px !important;
  cursor:pointer !important;
  border-bottom:1px solid #f0f0f0 !important;
  transition:background-color 0.2s ease !important;
}
.fc-foxycomplete-list li:hover,
.fc-foxycomplete-list li.active{
  background-color:#f8f9fa !important;
}
.fc-foxycomplete-list li:last-child{
  border-bottom:none !important;
}
.fc-foxycomplete-list li p.title{
  margin:0 !important;
  font-size:14px !important;
  color:#333 !important;
}

/* Optional-Felder: (fakultativ) zu (optional) ändern */
.fc-form-label[for*="company"]::after,
.fc-form-label[for*="firma"]::after{
  content: " (optional)" !important;
}

/* Modernisierung der Checkout-Box */
.fc-checkout__main__form{
  background:#fff !important;
  border-radius:16px !important;
  box-shadow:0 8px 32px rgba(0,0,0,0.08) !important;
  padding:32px !important;
  margin:0 !important;
}

/* Checkboxen und Radio-Buttons kleiner und moderner */
.fc-form-control[type="checkbox"],
.fc-form-control[type="radio"]{
  width:18px !important;
  height:18px !important;
  border-radius:4px !important;
  border:2px solid var(--border) !important;
  background:#fff !important;
  cursor:pointer !important;
  margin:0 !important;
  flex-shrink:0 !important;
}

/* Radio-Buttons runde Form */
.fc-form-control[type="radio"]{
  border-radius:50% !important;
}
.fc-form-control[type="checkbox"]:checked,
.fc-form-control[type="radio"]:checked{
  background:var(--brand-blue) !important;
  border-color:var(--brand-blue) !important;
}
.fc-form-control[type="checkbox"]:checked::after{
  content:"✓" !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:bold !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
}
.fc-form-control[type="radio"]:checked::after{
  content:"" !important;
  background:#fff !important;
  border-radius:50% !important;
  width:8px !important;
  height:8px !important;
  margin:auto !important;
  display:block !important;
}

/* Hint-Texte modernisieren */
.fc-alert,
.fc-form-help,
.fc-checkout__help-text,
.fc-postal-code-entry__help-text{
  background:#f8f9fa !important;
  border:1px solid #e9ecef !important;
  border-radius:8px !important;
  padding:12px 16px !important;
  margin:8px 0 !important;
  font-size:14px !important;
  line-height:1.5 !important;
  color:#6c757d !important;
}
.fc-alert--info{
  background:#e3f2fd !important;
  border-color:#bbdefb !important;
  color:#1976d2 !important;
}
.fc-alert--success{
  background:#e8f5e8 !important;
  border-color:#c8e6c9 !important;
  color:#2e7d32 !important;
}

/* Checkbox-Labels modernisieren */
.fc-form-group--checkbox{
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
  margin:16px 0 !important;
}
.fc-form-group--checkbox .fc-form-label{
  font-size:14px !important;
  line-height:1.5 !important;
  color:#333 !important;
  margin:0 !important;
  cursor:pointer !important;
}

/* Postleitzahl-Actions Button stylen */
.fc-container__grid--postal-code-actions{
  margin-top:12px !important;
}
.fc-postal-code-entry__submit .fc-button{
  background:var(--brand-yellow) !important;
  border:none !important;
  border-radius:25px !important;
  color:#000 !important;
  font-weight:700 !important;
  font-size:16px !important;
  height:50px !important;
  padding:0 32px !important;
  transition:all 0.2s ease !important;
  width:100% !important;
  box-shadow:0 2px 8px rgba(0,0,0,0.1) !important;
}
.fc-postal-code-entry__submit .fc-button:hover{
  background:#e6c200 !important;
  transform:translateY(-2px) !important;
  box-shadow:0 4px 12px rgba(0,0,0,0.15) !important;
}

/* Submit-Button (breit, gelb) */
.fc-button.fc-button--submit{
  width:100%;
  height:48px;
  border-radius:12px;
  background:#ffbf00 !important;
  color:#0b1220 !important;
  font-weight:800;
  box-shadow:0 6px 16px rgba(255,191,0,.3);
}
.fc-button.fc-button--submit:hover{ background:#ffb300 !important; transform:translateY(-1px); }

/* Google/Browser-Pay auf volle Breite */
.fc-checkout__section--payment .fc-input-group-container,
.fc-actions--payment p{ width:100%; }

/* =============== */
/* Checkout — Items */
/* =============== */
/* Im Checkout nur die Zusammenfassung anzeigen, nicht die einzelnen Produkte */
.fc-checkout__main__form .fc-cart__items,
.fc-checkout__main__form [data-fc-id="block-cart-items"],
.fc-checkout__main__form [data-fc-id="block-cart-items-divs"],
.fc-checkout__main__form .fc-cart__item{ display:none !important; }

/* Zusätzlich: Sidebar-Cart, wenn im Checkout eingebettet */
#fc-cart[data-context="checkout"] .fc-cart__items,
#fc-cart[data-context="checkout"] [data-fc-id="block-cart-items"],
#fc-cart[data-context="checkout"] [data-fc-id="block-cart-items-divs"],
#fc-cart[data-context="checkout"] .fc-cart__item,
#fc-cart[data-context="checkout"] .fc-cart__items__header,
#fc-cart[data-context="checkout"] nav.fc-sidecart-only-fixed{ display:none !important; }

/* Sidebar-Box im Checkout an Markenstil angleichen */
[data-fc-id="checkout-summary"],
.fc-sidebar--cart.ukc-summary{
  border:1px solid var(--border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
}

/* ===================== */
/* Checkout — Radio & Checkbox Layout */
/* ===================== */

/* Radio-Buttons und Checkboxen linksbündig positionieren */
.fc-input-group-container--radio {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 16px 0 !important;
}

.fc-input-group-container--checkbox {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 16px 0 !important;
}

/* Labels als Flex-Container für Input + Text */
.fc-input-group-container--radio .fc-input-group-container__title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

.fc-input-group-container--checkbox .fc-input-group-container__title {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  flex: 1 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* Input-Elemente (Radio/Checkbox) links innerhalb der Labels positionieren */
.fc-input-group-container--radio .fc-form-control[type="radio"],
.fc-input-group-container--checkbox .fc-form-control[type="checkbox"] {
  order: -1 !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  width: 18px !important;
  height: 18px !important;
}

/* Label-Text rechts vom Input positionieren */
.fc-input-group-container--radio .fc-input-group-container__title > *:not(input),
.fc-input-group-container--checkbox .fc-input-group-container__title > *:not(input) {
  order: 1 !important;
  flex: 1 !important;
  margin: 0 !important;
}

/* Zusätzliche Inhalte (wie Beschreibungstexte) vertikal unter dem gesamten Label-Container */
.fc-input-group-container--radio .fc-form-group,
.fc-input-group-container--checkbox .fc-form-group {
  margin: 8px 0 0 0 !important;
  width: 100% !important;
  padding-left: 30px !important; /* 18px Input + 12px Gap */
}

/* Spezielle Behandlung für Payment-Method Container */
.fc-container__grid--payment-method {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Error-Messages unter den Input-Containern */
.fc-input-group-container--radio + .fc-alert,
.fc-input-group-container--checkbox + .fc-alert {
  order: 3 !important;
  margin-top: 8px !important;
}

/* ===================== */
/* Checkout — Logo & Icons ausblenden */
/* ===================== */

/* Logo ausblenden */
#fc-logo {
  display: none !important;
}

/* Lock-Icon ausblenden */
.fc-svg-icon--lock,
.fc-cc-icon {
  display: none !important;
}

/* ===================== */
/* Checkout — Multiple Inline Form Groups */
/* ===================== */

/* Multiple Inline Form Groups als Grid-Layout */
.fc-form-group-multiple-inline {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important; /* 3 Spalten für Monat, Jahr, CVV */
  gap: 12px !important;
  margin: 16px 0 !important;
}

/* Spezifischer Container für Kartennummer als Block-Layout */
.fc-form-group-multiple-inline[data-fc-error-for="cc_number"] {
  display: block !important;
  grid-template-columns: none !important;
}

/* Labels in der ersten Reihe (nur für Grid-Layout) */
.fc-form-group-multiple-inline:not([data-fc-error-for="cc_number"]) .fc-form-label {
  grid-row: 1 !important;
  margin: 0 0 8px 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0b1220 !important;
}

/* Spezielle Behandlung für fc-form-control--static Labels */
.fc-form-group-multiple-inline .fc-form-label.fc-form-control--static {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  height: auto !important;
  width: auto !important;
  display: block !important;
  cursor: default !important;
}

/* Labels für Block-Layout (Kartennummer) */
.fc-form-group-multiple-inline[data-fc-error-for="cc_number"] .fc-form-label {
  margin: 0 0 8px 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0b1220 !important;
  display: block !important;
}

/* Input-Container in der zweiten Reihe (nur für Grid-Layout) */
.fc-form-group-multiple-inline:not([data-fc-error-for="cc_number"]) .fc-container__grid--plastic-new-exp-month,
.fc-form-group-multiple-inline:not([data-fc-error-for="cc_number"]) .fc-container__grid--plastic-new-exp-year,
.fc-form-group-multiple-inline:not([data-fc-error-for="cc_number"]) .fc-container__grid--plastic-new-csc {
  grid-row: 2 !important;
  margin: 0 !important;
}

/* Input-Container für Block-Layout (Kartennummer) */
.fc-form-group-multiple-inline[data-fc-error-for="cc_number"] .fc-container__grid--input--plastic-new-card-number {
  margin: 0 !important;
}

/* Input-Elemente in den Containern */
.fc-form-group-multiple-inline .fc-form-control {
  width: 100% !important;
  margin: 0 !important;
}

/* ===================== */
/* Checkout — Kreditkarten-Fehlermeldungen */
/* ===================== */

/* Fehlermeldungen für Kreditkartenfelder nur anzeigen, wenn Zahlungsmethode ausgewählt ist */
.fc-alert[data-fc-error-for="cc_cvv2"],
.fc-alert[data-fc-error-for="cc_number"] {
  display: none !important;
}

/* ===================== */
/* Checkout — Payment Method Logos */
/* ===================== */

/* Payment Method Logos auf 28px Höhe anpassen */
.fc-checkout__section--payment__method__logo img {
  height:35px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  padding-right: 10px;
}

/* ===================== */
/* Checkout — Coupons immer sichtbar machen (sanft, nur Anzeige) */
/* ===================== */
/* Im Checkout: Rabattbereich und Eingabe anzeigen, Toggle ausblenden */
#fc-cart[data-context="checkout"] .fc-transaction__discounts{ display:block !important }
#fc-cart[data-context="checkout"] [data-fc-id="block-coupon-entry"]{ display:block !important }
#fc-cart[data-context="checkout"] .fc-coupon-entry--input{ display:flex !important; align-items:stretch; gap:8px }
#fc-cart[data-context="checkout"] .fc-transaction__ui__toggle{ display:none !important }

/* Coupon-Discount Zeile ausblenden (falsch platziert, wird durch JS korrekt positioniert) */
#fc-cart[data-context="checkout"] tr.fc-subtotal--row[data-fc-coupon-container-id]{
  display: none !important;
}

/* Coupon-Discount in ukc-summary-table stylen */
.ukc-summary-discount .ukc-summary-label{
  color: #10b981 !important; /* grün für Rabatt */
}
.ukc-summary-discount .ukc-summary-value{
  color: #10b981 !important; /* grün für Rabatt */
  font-weight: 600 !important;
}
/* Sicherstellen, dass der innere UI-Container (der sonst zugeklappt sein kann) sichtbar ist */
#fc-cart[data-context="checkout"] [data-fc-id="block-coupon-entry"] .fc-transaction__ui{
  display:block !important;
  visibility:visible !important;
}
#fc-cart[data-context="checkout"] [data-fc-id="block-coupon-entry"] .fc-transaction__ui[hidden]{
  display:block !important;
}

/* PayPal Pay Later Form-Block ausblenden */
#fc-payment-method-paypal_platform_paylater,
.fc-payment-method--paypal_platform_paylater,
.fc-form-group:has(#fc-payment-method-paypal_platform_paylater) {
  display: none !important;
}

/* PayPal Pay Later Button (JS-SDK) ausblenden */
[data-funding-source="paylater"],
.paypal-button[data-funding-source="paylater"],
.paypal-button.paypal-button-number-0[data-funding-source="paylater"],
/* zusätzliche Kontexte/Container, die PayPal nutzt */
.paypal-buttons [data-funding-source="paylater"],
.paypal-button-tag [data-funding-source="paylater"],
.fc-express-checkout [data-funding-source="paylater"],
/* aria-label Fallback (DE: Später Bezahlen) */
[aria-label="Später Bezahlen"],
[aria-label*="Später Bezahlen"],
.paypal-button[aria-label*="Später Bezahlen"]{
  display: none !important;
}

/* Spezifischer Foxy-Block: PayPal Pay Later Express Button ausblenden */
#paypal_platform_paylater_button,
.fc-express-option#paypal_platform_paylater_button,
[id="paypal_platform_paylater_button"]{
  display: none !important;
}

/* PayPal SEPA Text korrigieren */
.fc-input-group-container__title:has(input[value="paypal_platform_sepa"]) {
  font-size: 0 !important; /* Original-Text ausblenden */
}

.fc-input-group-container__title:has(input[value="paypal_platform_sepa"])::after {
  content: "Bezahlen mit SEPA" !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0b1220 !important;
}

/* ===================== */
/* Purchase Order - Automatische Bestellnummer */
/* ===================== */

/* Purchase Order Input-Feld als readonly stylen */
#purchase_order[readonly] {
  background-color: #f8f9fa !important;
  color: #6c757d !important;
  cursor: not-allowed !important;
  border-color: #dee2e6 !important;
}

/* Ensure billing address is visible for guests */
[data-fc-id="block-billing-address"] {
  display: block !important;
}

.fc-transaction__billing {
  display: block !important;
}

/* Force billing address fields to be visible */
.fc-container__grid--billing,
.fc-container__grid--billing-address,
.fc-transaction__billing-address {
  display: block !important;
}

/* Ensure billing company field is visible */
input[name="billing_company"],
input[data-fc-name="billing_company"],
#billing_company {
  display: block !important;
  visibility: visible !important;
}

/* Purchase Order Label anpassen */
.fc-container__grid--label--po {
  font-weight: 600 !important;
  color: #0b1220 !important;
  margin-bottom: 8px !important;
}

/* Purchase Order Container */
.fc-container__grid--input--po {
  position: relative !important;
}

/* Hinweis-Text für automatische Generierung */
.fc-container__grid--input--po::after {
  content: 'Automatisch generiert' !important;
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 12px !important;
  color: #6c757d !important;
  pointer-events: none !important;
  display: none !important;
}

#purchase_order[readonly] + .fc-container__grid--input--po::after {
  display: block !important;
}

/* ===================== */
/* Cart - Unnötige Elemente ausblenden */
/* ===================== */
.fc-action--payment--or,
.fc-action--payment--paypal-platfor,
.fc-action--payment--paypal-platform {
  display: none !important;
}

/* ===================== */
/* Passwort-Eingabe im Checkout */
/* ===================== */
.fc-alert[data-fc-error-for="customer_password"] {
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-top: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.fc-alert[data-fc-error-for="customer_password"] p {
  font-size: 16px;
  color: #1f2937;
  margin-bottom: 20px;
  font-weight: 500;
}

.fc-input-group--customer-password {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
}

.fc-form-label--customer-password {
  font-weight: 600;
  color: #374151;
  font-size: 14px;
}

.fc-form-control--customer-password {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 16px;
  color: #1f2937;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fc-form-control--customer-password:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
  outline: none;
}

.fc-input-group__button {
  margin-top: 10px;
}

.fc-button--sign-in {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background-color: #3b82f6;
  border: 1px solid #3b82f6;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.fc-button--sign-in:hover {
  background-color: #2563eb;
  border-color: #2563eb;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.2);
}

.fc-password-actions {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
  gap: 10px;
}

.fc-password-action {
  flex-grow: 1;
  text-align: center;
}

.fc-password-action--button-container {
  font-size: 14px;
}

.fc-button-link {
  background: none;
  border: none;
  color: #3b82f6;
  cursor: pointer;
  text-decoration: none;
  padding: 0;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.fc-button-link:hover {
  color: #2563eb;
  text-decoration: underline;
}

/* Responsive Anpassungen */
@media (max-width: 640px) {
  .fc-password-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .fc-password-action {
    margin-bottom: 10px;
  }

  .fc-password-action:last-child {
    margin-bottom: 0;
  }
}

/* ===================== */
/* Receipt - Modern Styling */
/* ===================== */

/* Receipt Sections */
.fc-receipt__section {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 24px;
  margin: 20px 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* Fieldset Styling */
.fc-receipt__section fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

.fc-receipt__section legend {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 20px;
  padding: 0;
  border: none;
}

/* Form Groups */
.fc-form-group--static {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 16px;
  margin-bottom: 16px;
  align-items: center;
}

.fc-form-group--static:last-child {
  margin-bottom: 0;
}

/* Labels */
.fc-container__grid--static-label--store-name,
.fc-container__grid--static-label--order-id,
.fc-container__grid--static-label--date,
.fc-container__grid--static-label--processor-response,
.fc-container__grid--static-label--country,
.fc-container__grid--static-label--email {
  font-weight: 600;
  color: #374151;
  font-size: 14px;
  margin: 0;
}

/* Static Values */
.fc-form-control--static {
  background: #f8f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 12px 16px;
  margin: 0;
  font-size: 14px;
  color: #1f2937;
  font-weight: 500;
}

/* Receipt Messages */
.fc-receipt__section .fc-alert {
  border-radius: 8px;
  padding: 16px;
  margin: 16px 0;
  border: 1px solid;
}

.fc-receipt__section .fc-alert--success {
  background-color: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.fc-receipt__section .fc-alert--info {
  background-color: #eff6ff;
  border-color: #bfdbfe;
  color: #1e40af;
}

/* Receipt Actions */
.fc-list--inline {
  display: flex;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.fc-receipt-action {
  flex: 1;
  min-width: 200px;
}

.fc-receipt-action .fc-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.2s ease;
  border: 2px solid;
}

.fc-receipt-action--continue .fc-button {
  background-color: #3b82f6;
  border-color: #3b82f6;
  color: #fff;
}

.fc-receipt-action--continue .fc-button:hover {
  background-color: #2563eb;
  border-color: #2563eb;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.2);
}

.fc-receipt-action--print .fc-button {
  background-color: #fff;
  border-color: #6b7280;
  color: #6b7280;
}

.fc-receipt-action--print .fc-button:hover {
  background-color: #f9fafb;
  border-color: #374151;
  color: #374151;
}

/* Responsive Design */
@media (max-width: 768px) {
  .fc-form-group--static {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  
  .fc-list--inline {
    flex-direction: column;
  }
  
  .fc-receipt-action {
    min-width: auto;
  }
}

/* --- Sidecart fine-tuning: totals/price spacing and remove-button overlay fixes --- */
[data-fc-sidecart] .fc-cart__item__totals .fc-container__row.ukc-row__actions {
  row-gap: 8px !important;
  column-gap: 12px !important;
  position: relative;
}

/* Reset margins inside total/price to avoid large gaps */
[data-fc-sidecart] .fc-cart__item__total.ukc-row__total,
[data-fc-sidecart] .fc-cart__item__price.ukc-row__price {
  padding: 0 !important;
  margin: 0 !important;
}
[data-fc-sidecart] .fc-cart__item__total.ukc-row__total p,
[data-fc-sidecart] .fc-cart__item__price.ukc-row__price p,
[data-fc-sidecart] .fc-cart__item__price.ukc-row__price small {
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* Ensure stacked layout stays tight */
[data-fc-sidecart] .fc-cart__item__price.ukc-row__price { margin-top: 4px !important; }

/* Remove potential overlay from pseudo elements that may block clicks */
[data-fc-sidecart] .fc-cart__item__totals .fc-container__row.ukc-row__actions::before,
[data-fc-sidecart] .fc-cart__item__totals .fc-container__row.ukc-row__actions::after {
  content: none !important;
  display: none !important;
  pointer-events: none !important;
}

/* Make sure the remove container spans both columns and is on top */
[data-fc-sidecart] .fc-cart__item__totals .fc-container__row.ukc-row__actions .ukc-row__remove {
  grid-column: 3 !important;
  z-index: 2;
}

/* Empty Cart Container an Sidecart-Breite anpassen */
[data-fc-sidecart] .ukc-empty {
  width: 90% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 20px !important;
  box-sizing: border-box;
}

[data-fc-sidecart] .ukc-empty__content {
  text-align: center;
  width: 100%;
}

[data-fc-sidecart] .ukc-empty__title {
  margin-bottom: 16px !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

[data-fc-sidecart] .ukc-empty .ukc-btn {
  display: inline-block !important;
  padding: 12px 24px !important;
  background: var(--brand-blue) !important;
  color: white !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
}

/* Sidecart: Footer-Button gelb und 95% Breite */
[data-fc-sidecart] .ukc-sidecart-footer .ukc-btn{ width:100% !important; }
[data-fc-sidecart] .ukc-sidecart-footer .ukc-btn.ukc-btn--alt{ background:#ffbf00 !important; color:#0b1220 !important; }