:root {
  --blue: #337ab7;
  --blue-dark: #2a6394;
  --blue-light: #e8f0f8;
  --orange: #f36f21;
  --orange-light: #fff4ed;
  --green: #28a745;
  --green-light: #e6f7ea;
  --text: #2d2d2d;
  --text-light: #666;
  --text-muted: #999;
  --bg: #f5f6f8;
  --border: #e5e7eb;
  --max-w: 1400px;
}

/* PROGRESS BAR */
.tp-progress-bar-wrap { max-width:var(--max-w); margin:0 auto; background:#fff; border-bottom:1px solid var(--border); padding:14px 24px; }
.tp-progress-inner { display:flex; align-items:center; justify-content:center; }
.tp-progress-step { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--text-muted); }
.tp-progress-step.active { color:var(--blue); }
.tp-progress-step.done { color:var(--green); }
.tp-step-num {
  width:28px; height:28px; display:flex; align-items:center; justify-content:center;
  font-size: 12px; font-weight:700; border:2px solid var(--border); color:var(--text-muted); flex-shrink:0;
}
.tp-progress-step.active .tp-step-num { background:var(--blue); border-color:var(--blue); color:#fff; }
.tp-progress-step.done .tp-step-num { background:var(--green); border-color:var(--green); color:#fff; }
.tp-progress-line { width:60px; height:2px; background:var(--border); margin:0 14px; flex-shrink:0; }
.tp-progress-line.done { background:var(--green); }

/* SHIPPING BAR */
.tp-shipping-bar-wrap { max-width:var(--max-w); margin:14px auto 0; padding:0 24px; }
.tp-shipping-bar { background:#fff; border:1px solid var(--border); padding:10px 18px; display:flex; align-items:center; gap:12px; }
.tp-shipping-bar.reached { border-color:var(--green); background:var(--green-light); }
.tp-shipping-icon { font-size:18px; flex-shrink:0; }
.tp-shipping-info { flex:1; }
.tp-shipping-text { font-size: 14px; font-weight:500; margin-bottom:4px; }
.tp-shipping-text strong { color:var(--orange); font-weight:700; }
.tp-shipping-bar.reached .tp-shipping-text strong { color:var(--green); }
.tp-bar-track { height:4px; background:#e5e7eb; width:100%; overflow:hidden; }
.tp-bar-fill { height:100%; background:linear-gradient(90deg,var(--orange),#f5993d); transition:width .5s ease; }
.tp-shipping-bar.reached .tp-bar-fill { background:var(--green); }

/* LAYOUT */
.tp-cart-layout {
  max-width:var(--max-w); margin:14px auto 30px; padding:0 24px;
  display:grid; grid-template-columns:1fr 560px; gap:20px; align-items:start;
}
.tp-cart-items { min-width:0; }
.tp-cart-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.tp-cart-title { font-size: 24px; font-weight:700; }
.tp-cart-count { font-size: 14px; color:var(--text-light); }

/* Items: single column, normal size */
#cart-items-container { display:flex; flex-direction:column; gap:10px; }

/* ITEM CARD */
.tp-cart-item {
  background:#fff; border:1px solid #dde3ea; padding:12px 14px;
  border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.06);
  transition:box-shadow .2s, border-color .2s;
}
.tp-cart-item:hover { border-color:var(--blue); box-shadow:0 2px 8px rgba(0,0,0,.1); }

.tp-item-top { display:flex; align-items:flex-start; gap:12px; }
.tp-pos-num {
  width:20px; height:20px; display:flex; align-items:center; justify-content:center;
  background:var(--blue); color:#fff; font-size:10px; font-weight:600;
  flex-shrink:0; margin-top:2px; border-radius:2px;
}
.tp-item-thumb {
  width:54px; height:54px; background:var(--bg); display:flex;
  align-items:center; justify-content:center; overflow:hidden; flex-shrink:0;
}
.tp-item-thumb img { width:100%; height:100%; object-fit:cover; }
.tp-item-thumb-placeholder { font-size: 24px; }
.tp-item-details { flex:1; min-width:0; }
.tp-item-name { font-size: 14px; font-weight:500; color:var(--text); line-height:1.3; }
.tp-item-name a { color:var(--text); text-decoration:none; }
.tp-item-name a:hover { color:var(--blue); }
.tp-item-price-col { text-align:right; min-width:74px; flex-shrink:0; }
.tp-item-price { font-size:14px; font-weight:600; color:var(--text); }
.tp-item-unit-price { font-size: 12px; color:var(--text-muted); margin-top:1px; }
.tp-express-badge {
  display:inline-block; font-size:10px; font-weight:600; color:var(--orange);
  background:var(--orange-light); padding:2px 6px; margin-top:3px;
}

/* CONFIG GRID */
.tp-item-config {
  display:grid; grid-template-columns:1fr 1fr; gap:2px 20px;
  margin:10px 0 0; padding:10px 0 0; border-top:1px solid var(--border);
}
.tp-config-row { display:flex; align-items:baseline; gap:6px; font-size:12px; padding:2px 0; }
.tp-config-label { color:var(--text-muted); flex-shrink:0; min-width:60px; }
.tp-config-value { color:var(--text); font-weight:400; }

/* FILES */
.tp-item-files { margin-top:8px; padding-top:8px; border-top:1px solid var(--border); }
.tp-files-title {
  font-size:10px; font-weight:500; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:.4px; margin-bottom:4px;
}
.tp-f-row { display:flex; align-items:center; gap:8px; padding:4px 7px; background:var(--bg); margin-bottom:2px; }
.tp-f-thumb {
  width:32px; height:32px; background:#fff; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0;
}
.tp-f-thumb img { width:100%; height:100%; object-fit:contain; }
.tp-f-ext { font-size: 10px; font-weight:600; color:var(--blue); text-transform:uppercase; }
.tp-f-info { flex:1; min-width:0; }
.tp-f-name-row { display:flex; align-items:center; gap:5px; min-width:0; }
.tp-f-qty { flex-shrink:0; font-size:10px; font-weight:600; color:var(--blue); background:var(--blue-light); padding:1px 4px; }
.tp-f-name { font-size:12px; font-weight:400; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tp-f-meta { font-size: 12px; color:var(--text-muted); display:flex; gap:8px; margin-top:1px; }
.tp-f-rm {
  width:22px; height:22px; display:flex; align-items:center; justify-content:center;
  border:none; background:transparent; cursor:pointer; color:var(--text-muted);
  font-size:14px; flex-shrink:0; transition:color .15s;
}
.tp-f-rm:hover { color:#dc2626; }

/* BOTTOM */
.tp-item-bottom { display:flex; align-items:center; margin-top:10px; padding-top:8px; border-top:1px solid var(--border); }
.tp-item-rm { font-size:12px; color:var(--text-muted); cursor:pointer; padding:2px 0; transition:color .15s; text-decoration:none; }
.tp-item-rm:hover { color:#dc2626; text-decoration:none; }

/* COUPON */
.tp-coupon-row {
  background:#fff; border:1px solid var(--border); padding:10px 14px;
  margin-top:10px; display:flex; align-items:center; gap:8px;
}
.tp-coupon-label { font-size: 14px; font-weight:500; flex-shrink:0; color:var(--text); }
.tp-coupon-input {
  flex:1; height:34px; border:1px solid var(--border); padding:0 10px;
  font-size: 14px; font-family:inherit; color:var(--text);
}
.tp-coupon-input:focus { outline:none; border-color:var(--blue); }
.tp-coupon-input::placeholder { color:var(--text-muted); }
.tp-coupon-btn {
  height:34px; padding:0 16px; background:var(--blue); color:#fff; border:none;
  font-size: 14px; font-weight:500; cursor:pointer; flex-shrink:0; font-family:inherit;
}
.tp-coupon-btn:hover { background:var(--blue-dark); }

/* SUMMARY SIDEBAR */
.tp-order-summary-wrap { position:sticky; top:16px; }
.tp-order-summary {
  background:#fff; border:1px solid #dde3ea;
  border-radius:6px; box-shadow:0 1px 4px rgba(0,0,0,.06);
  overflow:hidden; padding:0;
}
.tp-summary-title {
  background:var(--blue); color:#fff;
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  padding:10px 14px; margin:0;
  border-bottom:none;
}
.tp-summary-items { padding:10px 14px 4px; }
.tp-si-item { padding:5px 0; border-bottom:1px solid #eef0f3; }
.tp-si-item:last-child { border-bottom:none; }

/* tp-summary-items/items are now in the block above */
.tp-si-row { display:flex; align-items:baseline; gap:6px; font-size:12px; color:var(--text); }
.tp-si-num {
  width:16px; height:16px; display:inline-flex; align-items:center; justify-content:center;
  background:var(--blue); color:#fff; font-size: 10px; font-weight:600; flex-shrink:0; border-radius:2px;
}
.tp-si-name { flex:1; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tp-si-price { flex-shrink:0; font-weight:600; color:var(--text); min-width:70px; text-align:right; }
.tp-si-details { display:flex; flex-wrap:wrap; gap:3px 6px; margin:3px 0 0 22px; }
.tp-si-tag {
  font-size:10px; color:var(--text-muted); background:var(--bg); padding:1px 5px;
  white-space:nowrap;
}
.tp-si-tag strong { color:var(--text-light); font-weight:500; }

.tp-summary-row { display:flex; justify-content:space-between; align-items:center; font-size:12px; padding:3px 0; }
.tp-summary-row .label { color:var(--text-light); }
.tp-summary-row .value { font-weight:500; color:var(--text); }
.tp-summary-row .value.green { color:var(--green); }
.tp-summary-divider { border:none; border-top:1px solid #eef0f3; margin:7px 0; }
.tp-summary-totals-wrap { padding:0 14px; }
.tp-summary-total { display:flex; justify-content:space-between; align-items:baseline; padding:7px 0 2px; }
.tp-summary-total .label { font-size: 14px; font-weight:600; color:var(--text); }
.tp-summary-total .value { font-size: 24px; font-weight:700; color:var(--text); }
.tp-summary-tax { font-size:10px; color:var(--text-muted); text-align:right; margin-bottom:10px; }

.tp-delivery-estimate {
  background:var(--blue-light); padding:7px 10px; margin:8px 0;
  border-radius:4px; display:flex; align-items:center; gap:8px; font-size:12px;
}
.tp-delivery-icon { font-size:14px; flex-shrink:0; }
.tp-delivery-text { line-height:1.3; }
.tp-delivery-text strong { font-weight:500; color:var(--text); }

.tp-cta-wrap { padding:0 14px 14px; }
.tp-cta-primary {
  display:block; width:100%; padding:12px; background:var(--orange); color:#fff;
  font-size:14px; font-weight:700; border:none; cursor:pointer; text-align:center;
  font-family:inherit; transition:background .2s; margin-bottom:6px;
  text-decoration:none; box-sizing:border-box; border-radius:0;
}
.tp-cta-primary:hover { background:#e05e10; color:#fff; text-decoration:none; }
.tp-continue-shopping { display:block; text-align:center; font-size:12px; color:var(--blue); margin-top:2px; font-weight:500; }

.tp-payment-row { display:flex; align-items:center; justify-content:center; gap:5px; margin:0 14px 10px; flex-wrap:wrap; }
.tp-pay-icon {
  height:22px; padding:2px 7px; border:1px solid var(--border);
  font-size: 10px; font-weight:600; color:var(--text-light); display:flex; align-items:center;
}
.tp-trust-block { border-top:1px solid #eef0f3; padding:8px 14px 12px; margin:0; }
.tp-trust-row { display:flex; align-items:center; gap:8px; padding:3px 0; font-size: 12px; color:var(--text-light); }
.tp-trust-icon { font-size:14px; flex-shrink:0; }
.tp-trust-row strong { color:var(--text); font-weight:500; }

/* HELP BAR */
.tp-help-bar {
  max-width:var(--max-w); margin:0 auto 28px; padding:0 24px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px;
}
.tp-help-item { background:#fff; border:1px solid var(--border); padding:12px; display:flex; align-items:flex-start; gap:10px; }
.tp-help-icon { font-size: 18px; flex-shrink:0; }
.tp-help-title { font-size:12px; font-weight:600; margin-bottom:2px; }
.tp-help-desc { font-size: 12px; color:var(--text-light); line-height:1.3; }

/* EMPTY */
.tp-empty-cart { max-width:var(--max-w); margin:30px auto; padding:0 24px; text-align:center; }
.tp-empty-cart-inner { background:#fff; border:1px solid var(--border); padding:40px 30px; }
.tp-empty-cart-icon { font-size:48px; margin-bottom:14px; }
.tp-empty-cart-title { font-size: 24px; font-weight:700; margin-bottom:6px; }
.tp-empty-cart-text { font-size: 14px; color:var(--text-light); margin-bottom:16px; }

/* RESPONSIVE */
@media (max-width:960px) {
  .tp-cart-layout { grid-template-columns:1fr; }
  .tp-order-summary-wrap { position:static; }
  .tp-help-bar { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .tp-item-top { flex-wrap:wrap; }
  .tp-item-thumb { width:48px; height:48px; }
  .tp-item-config { grid-template-columns:1fr; }
  .tp-item-price-col { width:100%; text-align:left; display:flex; align-items:center; gap:8px; }
  .tp-help-bar { grid-template-columns:1fr; }
  .tp-progress-line { width:24px; margin:0 8px; }
  .tp-f-row { flex-wrap:wrap; }
}

/* ═══════════════════════════════════════════════════
   CHECKOUT SEITE: Kadence Boxed-Layout aufheben
   page-id-9 = WooCommerce Checkout Page
   Kadence "content-style-boxed" beschränkt sonst die Breite
   ═══════════════════════════════════════════════════ */
.page-id-9 .content-container.site-container {
  max-width: 100% !important;
  padding: 0 !important;
}
.page-id-9 .entry-content-wrap {
  padding: 0 20px !important;
  max-width: 100% !important;
}
.page-id-9 .entry-content {
  max-width: 100% !important;
  padding: 0 !important;
}
.page-id-9 article.entry.single-entry {
  box-shadow: none !important;
  max-width: 100% !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.page-id-9 .site-main,
.page-id-9 #main {
  padding: 0 !important;
}
/* Checkout: etwas vertikales Padding für Luft */
.page-id-9 .entry-content-wrap {
  padding-top: 32px !important;
  padding-bottom: 48px !important;
}

/* ═══════════════════════════════════════════════════
   WooCommerce BLOCKS CHECKOUT
   Premium Design nach Shopify / Stripe / Apple Standard
   ═══════════════════════════════════════════════════ */

/* Basisschrift */
.wc-block-checkout {
  font-family: 'Roboto', sans-serif !important;
  color: var(--text) !important;
  -webkit-font-smoothing: antialiased;
}

/* ── ALLE HEADINGS IM CHECKOUT: Kadence-Blau überschreiben ──
   Kadence setzt h2 oft auf --global-palette1 (blau).
   body h2 im PHP-Override greift nicht für React-Block-Inhalte.
   Daher hier mit maximaler Spezifität direkt targeten.
   ── */
.wp-block-woocommerce-checkout h1,
.wp-block-woocommerce-checkout h2,
.wp-block-woocommerce-checkout h3,
.wp-block-woocommerce-checkout h4,
.wp-block-woocommerce-checkout h5,
.wp-block-woocommerce-checkout h6,
.wc-block-checkout h1,
.wc-block-checkout h2,
.wc-block-checkout h3,
.wc-block-checkout h4,
.wc-block-checkout h5,
.wc-block-checkout h6,
.wc-block-checkout__main h1,
.wc-block-checkout__main h2,
.wc-block-checkout__main h3,
.wc-block-checkout__sidebar h2,
.wc-block-checkout__sidebar h3 {
  color: #2d2d2d !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 600 !important;
}

/* ── LAYOUT: Links Weiß / Rechts Grau ──
   wp-block-woocommerce-checkout = echter Root-Klassen-Name (aus DB bestätigt)
   WC nutzt Flexbox intern — wir arbeiten damit, nicht dagegen
   ── */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding-top: 0 !important;
  gap: 0 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 1px 8px rgba(0,0,0,.06) !important;
}

/* Linke Spalte: Formular (weiß) */
.wp-block-woocommerce-checkout-fields-block {
  background: #fff !important;
  padding: 28px 32px 40px !important;
  flex: 1 1 0% !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  border-right: 1px solid #e5e7eb !important;
}

/* Rechte Spalte: Bestellübersicht (grau wie Shopify) */
.wp-block-woocommerce-checkout-totals-block {
  background: #f5f5f5 !important;
  padding: 28px 24px !important;
  flex: 0 0 360px !important;
  width: 360px !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Sticky: nur das innere Element klebt, nicht der ganze Block */
.wp-block-woocommerce-checkout-order-summary-block {
  position: sticky !important;
  top: 24px !important;
}

/* ── CHECKOUT-SEKTIONEN: Sauber wie Shopify/Stripe ── */
/* Keine bunten Header-Balken — professionelle Abschnittstitel */
.wc-block-components-checkout-step {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 28px !important;
  margin: 0 0 28px !important;
  overflow: visible !important;
}
.wc-block-components-checkout-step:last-child {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}

/* Abschnitts-Titel: 18px, semibold, dunkel */
.wc-block-components-checkout-step__heading {
  background: transparent !important;
  border-bottom: none !important;
  padding: 0 0 18px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.wc-block-components-checkout-step__heading::before {
  display: none !important;
}
.wc-block-components-checkout-step__heading-content,
.wc-block-components-checkout-step__title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  font-family: 'Roboto', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

/* Schritt-Nummer: kleine blaue Kreis-Badge */
.wc-block-components-checkout-step__heading .wc-block-components-checkout-step__step-number {
  display: inline-flex !important;
  width: 26px !important;
  height: 26px !important;
  background: var(--blue) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

/* Abschnitts-Inhalt */
.wc-block-components-checkout-step__container {
  padding: 0 !important;
}

/* ── EINGABEFELDER: Shopify/Stripe Standard ── */
/* WICHTIG: font-size 16px verhindert iOS Safari Auto-Zoom */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-combobox input,
.wc-block-components-textarea textarea {
  font-family: 'Roboto', sans-serif !important;
  height: 44px !important;
  padding: 0 14px !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  border: 1.5px solid #d1d5db !important;
  border-radius: 0 !important;
  transition: border-color .15s, box-shadow .15s !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
}
.wc-block-components-textarea textarea {
  height: auto !important;
  min-height: 80px !important;
  padding: 12px 14px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-textarea textarea:focus {
  border-color: var(--blue) !important;
  box-shadow: 0 0 0 3px rgba(51,122,183,.15) !important;
  outline: none !important;
}
.wc-block-components-text-input input::placeholder,
.wc-block-components-combobox input::placeholder {
  color: #9ca3af !important;
}

/* Labels: dezent, nicht uppercase (Shopify/Stripe Standard) */
.wc-block-components-text-input label,
.wc-block-components-label,
.wc-block-components-form-token-field label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #4b5563 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* ── CHECKBOX ── */
.wc-block-components-checkbox {
  padding: 4px 0 !important;
}
.wc-block-components-checkbox input[type="checkbox"],
.wc-block-components-checkbox .wc-block-components-checkbox__input {
  accent-color: var(--blue) !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 3px !important;
  border-color: #d1d5db !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  font-size: 14px !important;
  color: var(--text) !important;
  font-family: 'Roboto', sans-serif !important;
}

/* ── VERSANDOPTIONEN: Radio als Kacheln ── */
.wc-block-components-radio-control__option {
  border: 1.5px solid #d1d5db !important;
  border-radius: 0 !important;
  padding: 12px 14px 12px 40px !important;
  margin-bottom: 8px !important;
  background: #fff;
  transition: border-color .15s, background .15s;
  position: relative !important;
  overflow: visible !important;
}
.wc-block-components-radio-control__option:hover {
  border-color: var(--blue) !important;
  background: var(--blue-light) !important;
}
.wc-block-components-radio-control__option--checked {
  border-color: var(--blue) !important;
  background: var(--blue-light) !important;
}
.wc-block-components-radio-control__label {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  font-family: 'Roboto', sans-serif !important;
}
.wc-block-components-radio-control__description {
  font-size: 12px !important;
  color: var(--text-muted) !important;
}
input[type="radio"] { accent-color: var(--blue); }

/* ── ZAHLUNGSOPTIONEN ── */
.wc-block-components-payment-methods {
  border: none !important;
  padding: 0 !important;
}
.wc-block-components-payment-method-label {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  font-family: 'Roboto', sans-serif !important;
}

/* ── CTA BUTTON: Orange, 52px, 16px Font ── */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button[type="submit"] {
  background: var(--orange) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: 'Roboto', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  border: none !important;
  height: 52px !important;
  padding: 0 24px !important;
  width: 100% !important;
  transition: background .12s !important;
  text-transform: none !important;
  cursor: pointer !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block button[type="submit"]:hover {
  background: #d4621d !important;
}

/* ── EXPRESS-ZAHLUNG: Clean, kein blauer Header ── */
.wp-block-woocommerce-checkout-express-payment-block {
  background: #fff !important;
  border: 1.5px solid #e5e7eb !important;
  padding: 16px !important;
  margin-bottom: 28px !important;
  border-radius: 0 !important;
}
.wc-block-components-express-payment__title-container {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #9ca3af !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 0 0 12px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  background: transparent !important;
}
.wc-block-components-express-payment__event-buttons {
  padding: 0 !important;
  gap: 8px !important;
}
.wc-block-components-express-payment-continue-rule {
  font-size: 12px !important;
  color: var(--text-muted) !important;
  text-align: center !important;
  padding: 12px 0 0 !important;
  margin: 0 !important;
}

/* ── ADRESSKARTE ── */
.wc-block-components-address-card {
  border: 1.5px solid #e5e7eb !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  background: #fafafa !important;
  font-size: 14px !important;
  color: var(--text) !important;
  line-height: 1.6 !important;
}
.wc-block-components-address-card__edit {
  color: var(--blue) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
.wc-block-components-address-card__edit:hover {
  text-decoration: underline !important;
}

/* ── FEHLER-MELDUNGEN ── */
.wc-block-components-validation-error p {
  font-family: 'Roboto', sans-serif !important;
  font-size: 12px !important;
  color: #dc2626 !important;
}

/* ── TERMS & CONDITIONS ── */
.wc-block-checkout__terms {
  font-size: 12px !important;
  color: #9ca3af !important;
}
.wc-block-checkout__terms a {
  color: var(--blue) !important;
}

/* ── ZURÜCK ZUM WARENKORB ── */
.wc-block-checkout__actions .wc-block-components-checkout-return-to-cart-button {
  font-size: 14px !important;
  color: #6b7280 !important;
}

/* ════════════════════════════════════════════════
   RECHTE SPALTE: BESTELLÜBERSICHT (Grauer Hintergrund)
   ════════════════════════════════════════════════ */

/* Bestellübersicht-Card: weiße Karte auf grauem Hintergrund */
.wp-block-woocommerce-checkout-order-summary-block {
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
}

/* Panel-Header: Clean, kein blauer Balken */
.wp-block-woocommerce-checkout-order-summary-block > .wc-block-components-panel > .wc-block-components-panel__button,
.wc-block-components-order-summary > .wc-block-components-panel > .wc-block-components-panel__button {
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  font-family: 'Roboto', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-radius: 0 !important;
}
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button-icon {
  color: #6b7280 !important;
  fill: #6b7280 !important;
}

/* Panel-Inhalt */
.wc-block-components-panel__content {
  padding: 0 !important;
}

/* Artikel-Zeile */
.wc-block-components-order-summary__item {
  padding: 14px 16px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.wc-block-components-order-summary__item:last-child {
  border-bottom: none !important;
}

/* Produktbild: 64x64, scharfe Ecken */
.wc-block-components-order-summary-item__image img {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  background: #fff !important;
}

/* Mengen-Badge: rund, grau (Shopify-Standard) */
.wc-block-components-order-summary-item__quantity {
  background: #6b7280 !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border: 2px solid #f5f5f5 !important;
  min-width: 20px !important;
  height: 20px !important;
}

/* Produktname */
.wc-block-components-order-summary-item__full-name {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  font-family: 'Roboto', sans-serif !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: none !important;
  line-height: 1.3 !important;
}

/* Produktbeschreibung ausblenden (zu viel Text) */
.wc-block-components-order-summary-item__description {
  display: none !important;
}

/* Konfigurationsmeta: kompakt */
.wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-components-order-summary-item__metadata {
  font-size: 12px !important;
  color: #9ca3af !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}

/* Einzelpreise */
.wc-block-components-order-summary-item__individual-prices {
  font-size: 12px !important;
  color: #9ca3af !important;
  line-height: 1.3 !important;
}

/* Gesamtpreis der Position */
.wc-block-components-order-summary-item__total-price {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--text) !important;
  font-family: 'Roboto', sans-serif !important;
}

/* ── SUMMEN ── */
.wc-block-components-totals-wrapper {
  padding: 12px 16px !important;
  border-top: 1px solid #f0f0f0 !important;
}
.wc-block-components-totals-item {
  padding: 5px 0 !important;
  font-family: 'Roboto', sans-serif !important;
}
.wc-block-components-totals-item__label {
  font-size: 14px !important;
  color: #6b7280 !important;
}
.wc-block-components-totals-item__value {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--text) !important;
}

/* GESAMT-Zeile: stark hervorgehoben */
.wc-block-components-totals-footer-item {
  border-top: 1.5px solid #d1d5db !important;
  padding-top: 12px !important;
  margin-top: 8px !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
}
.wc-block-components-totals-footer-item-tax-value {
  font-size: 12px !important;
  color: #9ca3af !important;
}

/* Gutschein-Button */
.wc-block-components-totals-coupon__button {
  border-radius: 0 !important;
  background: var(--blue) !important;
  color: #fff !important;
  font-family: 'Roboto', sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
}
.wc-block-components-totals-coupon__button:hover {
  background: var(--blue-dark) !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .wp-block-woocommerce-checkout,
  .wc-block-checkout {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  .wp-block-woocommerce-checkout-fields-block {
    flex: 1 1 100% !important;
    width: 100% !important;
    padding: 24px 20px 36px !important;
    border-right: none !important;
    border-bottom: 1px solid #e5e7eb !important;
  }
  .wp-block-woocommerce-checkout-totals-block {
    flex: 1 1 100% !important;
    width: 100% !important;
    padding: 24px 20px !important;
  }
  .wp-block-woocommerce-checkout-order-summary-block {
    position: static !important;
  }
}
