:root {
  --blue: #337ab7;
  --blue-dark: #2a6394;
  --blue-light: #e8f0f8;
  --orange: #f36f21;
  --orange-light: #fff4ed;
  --green: #22c55e;
  --green-light: #e6f7ea;
  --text: #2d2d2d;
  --text-light: #6b7280;
  --text-muted: #6b7280;
  --bg: #f5f6f8;
  --border: #e0e0e0;
  --max-w: 1500px;
}

/* 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;
  border-radius:6px;
}
.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 — entfernt, Versand wird im Checkout berechnet */

/* LAYOUT */
.tp-cart-layout {
  max-width:var(--max-w); margin:14px auto 30px; padding:0 24px;
  display:grid; grid-template-columns:1fr 380px; 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; }
/* Theme-H1 ausblenden — TeraPrint rendert eigenen H1 (.tp-cart-title) */
.woocommerce-cart .entry-header { display: none; }
.tp-cart-count { display:none; }

/* 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 #e0e0e0; padding:12px 14px;
  border-radius: 6px; box-shadow:0 1px 4px rgba(0,0,0,.06);
  transition:box-shadow 0.15s ease, border-color 0.15s ease;
}
.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: 6px;
}
.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; border-radius:6px;
}

/* CONFIG GRID */
.tp-item-config {
  display:grid; grid-template-columns:1fr 1fr; gap:4px 8px;
  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:4px 8px; background:#f8f9fa; border-radius:4px;
}
.tp-config-label { color:var(--text-muted); flex-shrink:0; min-width:60px; font-size:11px; }
.tp-config-value { color:var(--text); font-weight:500; }

/* 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:#ef4444; }

/* UPLOADER */
.tp-item-uploader {
  margin:10px 0 0; padding:8px 10px; border-top:1px solid var(--border);
  background:#fff; border-radius:6px; border:1px solid var(--border);
}
.tp-item-uploader connect-uploader { display:block; }
.tp-item-uploader connect-uploader::part(container) {
  --button-completed-color: var(--green);
  --button-pending-color: var(--blue);
  --font-size: 13px;
}
.tp-item-uploader connect-uploader::part(button) {
  padding:6px 14px; font-size:12px; font-family:'Roboto',sans-serif;
  border-radius:6px;
}
.tp-item-uploader connect-uploader::part(status) {
  font-size:11px; color:var(--text-muted); margin:4px 0 0; font-family:'Roboto',sans-serif;
}
.tp-upload-status {
  font-size:12px; font-weight:500; color:var(--green); margin-bottom:6px;
  display:flex; align-items:center; gap:4px;
}

/* 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:#ef4444; 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; border-radius:6px;
}
.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); border-radius:6px;
}
.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; border-radius:6px;
}
.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 #e0e0e0;
  border-radius: 6px; box-shadow:0 1px 4px rgba(0,0,0,.06);
  overflow:visible; padding:0;
}
.tp-summary-title {
  background:var(--blue); color:#fff;
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  padding:10px 16px; margin:0;
  border-bottom:none;
  border-radius:6px 6px 0 0;
}
.tp-summary-items { padding:10px 16px 4px; }
.tp-si-item { padding:5px 0; border-bottom:1px solid #e0e0e0; }
.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: 6px;
}
.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:13px; padding:4px 16px; }
.tp-summary-row .label { color:var(--text-light); }
.tp-summary-row .value { font-weight:500; color:var(--text); white-space:nowrap; }
.tp-summary-row .value.green { color:var(--green); font-weight:600; }
.tp-summary-row .value.shipping-paid { color:var(--text); }
.tp-summary-divider { border:none; border-top:1px solid #e0e0e0; margin:7px 16px; }
.tp-summary-totals-wrap { padding:0 16px 4px; }
.tp-summary-total { display:flex; justify-content:space-between; align-items:baseline; padding:8px 16px 2px; gap:8px; }
.tp-summary-total .label { font-size: 14px; font-weight:600; color:var(--text); flex-shrink:0; }
.tp-summary-total .value { font-size: 18px; font-weight:700; color:var(--text); white-space:nowrap; text-align:right; }
.tp-summary-tax { font-size:11px; color:var(--text-muted); text-align:right; padding:0 16px 2px; }
.tp-summary-shipping-note { font-size:11px; color:var(--text-muted); text-align:right; padding:0 16px 10px; }
.tp-summary-shipping-note a { color:var(--blue); text-decoration:none; }
.tp-summary-shipping-note a:hover { text-decoration:underline; }

.tp-delivery-estimate {
  background:var(--blue-light); padding:7px 10px; margin:8px 16px;
  border-radius: 6px; 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:auto; 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:0 16px 6px;
  text-decoration:none; box-sizing:border-box; border-radius: 6px;
}
.tp-cta-primary:hover { background:#e05e10; color:#fff; text-decoration:none; }

/* Upload Gate: Checkout blockiert bis alle Druckdateien hochgeladen */
.tp-checkout-blocked { opacity:0.5 !important; cursor:not-allowed !important; pointer-events:auto !important; }
.tp-checkout-blocked:hover { background:var(--orange) !important; }
.tp-upload-gate-banner {
  background:#fef3cd; border:1px solid #ffc107; border-radius:6px;
  padding:10px 14px; margin:0 16px 10px; font-size:13px; line-height:1.5; color:#856404;
}
.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 16px 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; border-radius:6px;
}
.tp-trust-block { border-top:1px solid #e0e0e0; padding:8px 16px 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; border-radius:6px; }
.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; border-radius:6px; }
.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; }
}

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

/* ═══════════════════════════════════════════════════
   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 #e0e0e0 !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 #e0e0e0 !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 #e0e0e0 !important;
  border-radius: 6px !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: #2d2d2d !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: #2d2d2d !important;
  background: #ffffff !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 6px !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: #6b7280 !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: #6b7280 !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: 6px !important;
  border-color: #e0e0e0 !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 #e0e0e0 !important;
  border-radius: 6px !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: 6px !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 0.15s ease !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: #e05e10 !important;
}

/* ── EXPRESS-ZAHLUNG: Clean, kein blauer Header ── */
.wp-block-woocommerce-checkout-express-payment-block {
  background: #fff !important;
  border: 1.5px solid #e0e0e0 !important;
  padding: 16px !important;
  margin-bottom: 28px !important;
  border-radius: 6px !important;
}
.wc-block-components-express-payment__title-container {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #6b7280 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 0 0 12px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #e0e0e0 !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 #e0e0e0 !important;
  border-radius: 6px !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: #ef4444 !important;
}

/* ── TERMS & CONDITIONS ── */
.wc-block-checkout__terms {
  font-size: 12px !important;
  color: #6b7280 !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 #e0e0e0 !important;
  border-radius: 6px !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 #e0e0e0 !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #2d2d2d !important;
  font-family: 'Roboto', sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-radius: 6px !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 #e0e0e0 !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 #e0e0e0 !important;
  border-radius: 6px !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: #2d2d2d !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: #6b7280 !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}

/* Einzelpreise */
.wc-block-components-order-summary-item__individual-prices {
  font-size: 12px !important;
  color: #6b7280 !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 #e0e0e0 !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 #e0e0e0 !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: #2d2d2d !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #2d2d2d !important;
}
.wc-block-components-totals-footer-item-tax-value {
  font-size: 12px !important;
  color: #6b7280 !important;
}

/* Gutschein-Button */
.wc-block-components-totals-coupon__button {
  border-radius: 6px !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 #e0e0e0 !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;
  }
}

/* ═══════════════════════════════════════════════════
   EXPRESS-TERMIN Hervorhebung (probo-connect Rush)
   ═══════════════════════════════════════════════════ */
.connect-date-option.is-rush {
    border-color: #f36f21 !important;
    background: #fff4ed !important;
}
.connect-date-option.is-rush:hover {
    border-color: #e05e10 !important;
    background: #fff0e6 !important;
}
.connect-date-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.connect-date-rush-badge {
    display: inline-block;
    background: #f36f21;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.connect-date-rush-badge:empty {
    display: none;
}

/* ═══════════════════════════════════════════════════
   PROBO SHIPPING — Liefertermine & Versandmethoden
   Einheitliche Card-Styles (CI: #337AB7, #e0e0e0)
   ═══════════════════════════════════════════════════ */

/* Shipping section wrapper */
#connect-shipping {
    margin-top: 8px;
}
#connect-shipping h3 {
    font-size: 16px;
    font-weight: 700;
    color: #2d2d2d;
    margin: 0 0 6px;
}
#connect-shipping p.description {
    font-size: 13px;
    color: #6b7280;
    margin: 0 0 12px;
}

/* Liefertermin-Optionen */
.connect-shipping-dates {
    margin-bottom: 16px;
}
.connect-date-option {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    font-size: 14px;
    background: #fff;
}
.connect-date-option:hover {
    border-color: #337ab7;
    background: #f8fbff;
}
.connect-date-option.selected,
.connect-date-option:has(input:checked) {
    border-color: #337ab7;
    background: #e8f0f8;
}

/* Versandmethoden-Optionen */
.connect-shipping-methods-group-title {
    font-size: 14px;
    font-weight: 700;
    color: #2d2d2d;
    margin: 0 0 8px;
}
.connect-method-option {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 10px 14px;
    margin-bottom: 6px;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
    font-size: 14px;
    background: #fff;
}
.connect-method-option:hover {
    border-color: #337ab7;
    background: #f8fbff;
}
.connect-method-option.selected,
.connect-method-option:has(input:checked) {
    border-color: #337ab7;
    background: #e8f0f8;
}
.connect-method-content {
    flex: 1;
}
.connect-method-header {
    display: flex;
    align-items: center;
    gap: 10px;
}
.connect-method-icon {
    width: 32px;
    height: auto;
    flex-shrink: 0;
}
.connect-method-name {
    flex: 1;
    font-weight: 500;
    color: #2d2d2d;
}
.connect-method-price {
    font-weight: 700;
    color: #337ab7;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════
   PROBO SHIPPING — Versanddatum + Zuschläge + Verpackung
   ═══════════════════════════════════════════════════ */

/* Versanddatum Heading */
.connect-shipping-dates-title {
    font-size: 14px;
    font-weight: 700;
    color: #2d2d2d;
    margin: 0 0 8px;
}

/* Rush-Zuschlag inline */
.connect-date-surcharge {
    font-weight: 700;
    color: #f36f21;
    white-space: nowrap;
    margin-left: auto;
}

/* Keine Eilzuschläge */
.connect-date-no-surcharge {
    font-size: 12px;
    color: #6b7280;
    margin-left: auto;
    white-space: nowrap;
}

/* Verpackungskosten-Info unter Versandmethode */
.connect-method-packaging {
    display: block;
    font-size: 11px;
    color: #6b7280;
    margin-top: 2px;
}

/* Versandpreis rechtsbuendig in Bestelluebersicht */
.woocommerce-shipping-totals .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
tr.woocommerce-shipping-totals td .woocommerce-shipping-methods label {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 8px !important;
    width: 100% !important;
}
.woocommerce-shipping-totals .tp-shipping-price {
    white-space: nowrap !important;
    margin-left: auto !important;
}

/* Preise in der Bestelluebersicht: einheitliche Farbe + rechtsbuendig */
.woocommerce-checkout-review-order-table .woocommerce-Price-amount,
body.checkout-wc .shop_table .woocommerce-Price-amount {
    color: #2d2d2d !important;
    font-weight: 500 !important;
}
/* Gesamtsumme hervorgehoben */
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount,
body.checkout-wc .order-total .woocommerce-Price-amount {
    color: #337ab7 !important;
    font-weight: 700 !important;
}
/* Rechtsbuendig (nur Summen, nicht Produktnamen) */
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout-review-order-table .shipping td,
.woocommerce-checkout-review-order-table .tax-rate td,
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .fee td,
.woocommerce-checkout-review-order-table .product-total,
body.checkout-wc .shop_table tfoot td {
    text-align: right !important;
}
.woocommerce-checkout-review-order-table th,
body.checkout-wc .shop_table th {
    text-align: left !important;
}
.woocommerce-checkout-review-order-table .cart_item .product-name {
    text-align: left !important;
}

/* Produktdetails in Checkout-Bestelluebersicht ausblenden (kompakter) */
.woocommerce-checkout-review-order-table .cart_item .product-name dl.variation,
.woocommerce-checkout-review-order-table .cart_item .product-name .wc-item-meta,
body.checkout-wc .cart-item-summary dl.variation,
body.checkout-wc .cart-item-summary .wc-item-meta {
    display: none !important;
}

/* Bestelluebersicht rechts: kein internes Scrollen, alles sichtbar */
body.checkout-wc #cfw-cart-summary,
#order_review,
.woocommerce-checkout-review-order {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
}
body.checkout-wc #cfw-cart-summary {
    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
}
body.checkout-wc #cfw-cart-summary-content,
body.checkout-wc #cfw-cart-summary .cfw-cart-summary-inner,
body.checkout-wc #cfw-cart-summary .cart-summary-content-wrap {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
}
@media (max-width: 960px) {
    body.checkout-wc #cfw-cart-summary {
        position: static !important;
    }
}
