/* ═══ WOOCOMMERCE — Archive ═══ */
/* ═══════════════════════════════════════════════
   WOOCOMMERCE — Shop Archive
   ═══════════════════════════════════════════════ */

/* Shop Hero */
.mfh-shop-hero {
  display: flex; align-items: center; justify-content: space-between;
  background: var(--mf-surface); border: 1px solid var(--mf-line);
  border-radius: var(--mf-radius); padding: 40px 48px;
  box-shadow: var(--mf-shadow); gap: 32px; flex-wrap: wrap;
}
.mfh-shop-hero__back {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 13px; font-weight: 500; color: var(--mf-gold);
  text-decoration: none; margin-bottom: 8px; transition: gap .2s;
}
.mfh-shop-hero__back:hover { gap: 8px; }
.mfh-shop-hero__title {
  font-size: clamp(26px, 3.5vw, 38px); font-weight: 800;
  letter-spacing: -.02em; line-height: 1.1; color: var(--mf-text); margin: 0;
}
.mfh-shop-hero__desc {
  font-size: 15px; line-height: 1.6; color: var(--mf-muted); margin: 8px 0 0; max-width: 400px;
}
.mfh-shop-hero__actions { display: flex; gap: 10px; flex-shrink: 0; }

/* Toolbar */
.mfh-shop-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.mfh-shop-toolbar__count { font-size: 13px; color: var(--mf-muted); }
.mfh-shop-toolbar__count .woocommerce-result-count { margin: 0; font-size: inherit; color: inherit; }

/* Product Grid */
ul.products,
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Shop Card */
.mfh-shop-card {
  background: var(--mf-surface); border: 1px solid var(--mf-line);
  border-radius: var(--mf-radius); overflow: hidden;
  box-shadow: var(--mf-shadow);
  transition: box-shadow .3s, transform .3s, border-color .3s;
  display: flex; flex-direction: column;
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  float: none !important; width: auto !important;
}
.mfh-shop-card:hover { box-shadow: var(--mf-shadow-lg); transform: translateY(-4px); border-color: var(--mf-line-strong); }
.mfh-shop-card__link {
  display: flex; flex-direction: column; flex: 1;
  text-decoration: none; color: inherit;
}
.mfh-shop-card__img {
  position: relative; aspect-ratio: 1; background: #fff;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.mfh-shop-card__img img {
  width: 100%; height: 100%; object-fit: contain; padding: 16px;
  transition: transform .5s ease;
}
.mfh-shop-card:hover .mfh-shop-card__img img { transform: scale(1.06); }

/* Badge row: top-left chip stack */
.mfh-shop-card__badges {
  position: absolute; top: 12px; left: 12px; z-index: 2;
  display: flex; flex-direction: column; gap: 6px;
}
.mfh-shop-card__badge {
  display: inline-block; font-size: 10px; font-weight: 700;
  padding: 4px 10px; border-radius: 30px;
  letter-spacing: .05em; text-transform: uppercase;
  line-height: 1.2;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}
.mfh-shop-card__badge--sale {
  color: #b91c1c !important;
  border-color: rgba(239,68,68,.25) !important;
}
.mfh-shop-card__badge--kba {
  color: #966d14 !important;
  border-color: rgba(179,144,71,.3) !important;
}
.mfh-shop-card__badge--euro {
  color: #15803d !important;
  border-color: rgba(34,197,94,.3) !important;
}

/* Stock badge: top-right */
.mfh-shop-card__stock-badge {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: 30px;
  letter-spacing: .05em; text-transform: uppercase;
  line-height: 1.2;
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}
.mfh-shop-card__stock-badge--in   { color: #15803d !important; border: 1px solid rgba(34,197,94,.3) !important; }
.mfh-shop-card__stock-badge--low  { color: #c2410c !important; border: 1px solid rgba(249,115,22,.3) !important; }
.mfh-shop-card__stock-badge--out  { color: #b91c1c !important; border: 1px solid rgba(239,68,68,.3) !important; }
.mfh-shop-card__stock-badge--back { color: #4338ca !important; border: 1px solid rgba(99,102,241,.3) !important; }

/* Mobile: smaller badges to prevent overflow */
@media (max-width: 640px) {
  .mfh-shop-card__badges { top: 6px; left: 6px; gap: 3px; }
  .mfh-shop-card__badge {
    font-size: 8px; padding: 2px 6px;
    max-width: calc(100% - 40px);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  .mfh-shop-card__stock-badge {
    top: 6px; right: 6px;
    font-size: 8px; padding: 2px 6px;
  }
}

.mfh-shop-card__body {
  padding: 20px; display: flex; flex-direction: column; gap: 4px; flex: 1;
  border-top: 1px solid var(--mf-line);
}
.mfh-shop-card__cat {
  font-size: 11px; font-weight: 600; color: var(--mf-gold);
  letter-spacing: .04em; text-transform: uppercase;
}
.mfh-shop-card__title {
  font-size: 14px; font-weight: 700; color: var(--mf-text); margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  line-height: 1.4em; height: 4.6em;
}
.mfh-shop-card__price {
  font-size: 16px; font-weight: 700; color: var(--mf-text); margin-top: 4px;
  display: flex; gap: 8px; align-items: baseline;
}
.mfh-shop-card__price del { color: var(--mf-muted); font-weight: 400; font-size: 13px; order: 2; }
.mfh-shop-card__price ins { text-decoration: none; color: var(--mf-text); order: 1; }
.mfh-shop-card__tax-note {
  font-size: 10px; color: var(--mf-muted); margin-top: 2px;
  font-weight: 400; letter-spacing: .01em;
}
.mfh-shop-card__cta {
  padding: 14px 20px; text-align: center; font-size: 13px; font-weight: 600;
  color: var(--mf-gold); border-top: 1px solid var(--mf-line);
  transition: background .2s, color .2s;
}
.mfh-shop-card:hover .mfh-shop-card__cta { background: var(--mf-text); color: var(--mf-bg); }

/* Fact Badge — subtle inline pill with icon */
.mfh-shop-card__fact {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .01em;
  white-space: nowrap;
  margin-top: 8px;
}
.mfh-shop-card__fact .material-symbols-rounded {
  font-size: 15px;
}
.mfh-shop-card__fact--drossel {
  background: rgba(179,144,71,.1);
  color: var(--mf-gold);
}
.mfh-shop-card__fact--mofa {
  background: rgba(74,98,116,.1);
  color: #5e7f94;
}
.mfh-shop-card__fact--tiefer {
  background: rgba(45,106,79,.1);
  color: #40916c;
}
.mfh-shop-card__fact--hoeher {
  background: rgba(56,97,140,.1);
  color: #38618c;
}

/* Pagination */
/* ── Load More Button ── */
.mfh-load-more {
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding: 48px 0 0; text-align: center;
}
.mfh-load-more__btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 40px; border-radius: 12px;
  font-size: 15px; font-weight: 700; cursor: pointer;
  color: var(--mf-text); background: var(--mf-surface);
  border: 1.5px solid var(--mf-line);
  font-family: var(--mf-font);
  transition: all .25s ease;
  letter-spacing: .01em;
}
.mfh-load-more__btn:hover {
  background: var(--mf-text); color: var(--mf-bg);
  border-color: var(--mf-text);
}
.mfh-load-more__btn.is-loading .mfh-load-more__label { opacity: .5; }
.mfh-load-more__btn.is-loading .mfh-load-more__spinner {
  display: inline-block; width: 16px; height: 16px;
  border: 2px solid var(--mf-line); border-top-color: var(--mf-gold);
  border-radius: 50%; animation: mfh-spin .6s linear infinite;
}
.mfh-load-more__spinner { display: none; }
@keyframes mfh-spin { to { transform: rotate(360deg); } }
.mfh-load-more__count {
  font-size: 13px; color: var(--mf-muted); font-weight: 500;
}
.mfh-load-more__bar {
  width: 200px; height: 3px; border-radius: 2px;
  background: var(--mf-line); overflow: hidden;
}
.mfh-load-more__bar-fill {
  height: 100%; background: var(--mf-gold);
  border-radius: 2px; transition: width .4s ease;
}

/* Responsive grid */
@media (max-width: 1024px) {
  .mfh-products-grid,
  .mfh-grid,
  ul.products,
  .woocommerce ul.products,
  .mfh-shop .products,
  .mfh-products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .mfh-shop-hero { padding: 32px; }
}
@media (max-width: 768px) {
  .mfh-products-grid,
  .mfh-grid,
  ul.products,
  .woocommerce ul.products,
  .mfh-shop .products,
  .mfh-products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .mfh-shop-hero { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
  .mfh-shop-hero__actions { width: 100%; }
  .mfh-shop-hero__actions .mfh-btn { flex: 1; text-align: center; }
}
@media (max-width: 480px) {
  .mfh-products-grid,
  .mfh-grid,
  ul.products,
  .woocommerce ul.products,
  .mfh-shop .products,
  .mfh-products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}


/* ═══════════════════════════════════════════════
   WOOCOMMERCE — Single Product
   ═══════════════════════════════════════════════ */

/* Breadcrumb */
.mfh-breadcrumb {
  font-size: 13px; color: var(--mf-muted); margin-bottom: 8px;
}
.mfh-breadcrumb a { color: var(--mf-muted); text-decoration: none; transition: color .2s; }
.mfh-breadcrumb a:hover { color: var(--mf-text); }
.mfh-breadcrumb__sep { margin: 0 6px; opacity: .4; }

/* PDP Grid */
.mfh-pdp-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}

/* Gallery card */
.mfh-pdp-gallery { padding: 24px; align-self: start; position: relative; }
.mfh-pdp-gallery__main {
  position: relative; aspect-ratio: 1; display: flex;
  align-items: center; justify-content: center;
  background: #fff; border-radius: var(--mf-radius);
  cursor: default; overflow: hidden;
}
.mfh-pdp-gallery__main img {
  width: 100%; height: 100%; object-fit: contain;
  transition: transform .3s;
}

/* Gallery badges — positioned on the gallery card, NOT inside __main */
.mfh-pdp-gallery__badges {
  position: absolute; top: 14px; left: 14px;
  z-index: 3; pointer-events: none;
  display: flex; flex-direction: column; align-items: flex-start;
  gap: 5px;
}
.mfh-pdp-sale {
  font-size: 10px; font-weight: 800;
  background: #ef4444; color: #fff;
  padding: 4px 12px; border-radius: 6px; text-transform: uppercase;
  pointer-events: auto;
}
.mfh-pdp-badge {
  font-size: 10px; font-weight: 800;
  padding: 4px 10px; border-radius: 6px; text-transform: uppercase;
  pointer-events: auto;
}
.mfh-pdp-badge--kba {
  background: rgba(179,144,71,.12); color: var(--mf-gold);
  border: 1px solid rgba(179,144,71,.25);
}
.mfh-pdp-badge--euro {
  background: rgba(37,99,235,.08); color: #2563eb;
  border: 1px solid rgba(37,99,235,.2);
}
.mfh-pdp-gallery__thumbs {
  display: flex; gap: 8px; margin-top: 12px;
}
.mfh-pdp-thumb {
  width: 64px; height: 64px; border-radius: 10px;
  border: 2px solid transparent; background: var(--mf-bg);
  padding: 4px; cursor: pointer; transition: border-color .2s;
}
.mfh-pdp-thumb img { width: 100%; height: 100%; object-fit: contain; }
.mfh-pdp-thumb.is-active,
.mfh-pdp-thumb:hover { border-color: var(--mf-gold); }

/* Info card */
.mfh-pdp-info { padding: 36px; display: flex; flex-direction: column; }
.mfh-pdp-info__cat {
  font-size: 11px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--mf-gold); margin-bottom: 6px;
}
.mfh-pdp-info__title {
  font-size: clamp(22px, 3vw, 30px); font-weight: 800;
  color: var(--mf-text); margin: 0 0 6px; letter-spacing: -.02em;
}

/* Spec badge (von X kW auf X kW / Tieferlegung X mm) */
.mfh-pdp-info__spec-badge {
  display: inline-block;
  background: linear-gradient(135deg, rgba(179,144,71,.12) 0%, rgba(179,144,71,.06) 100%);
  color: var(--mf-gold);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 20px;
  border: 1px solid rgba(179,144,71,.25);
  margin-bottom: 10px;
  letter-spacing: .01em;
}

.mfh-pdp-info__desc {
  font-size: 14px; line-height: 1.6; color: var(--mf-muted);
  margin: 0 0 12px; max-width: 400px;
}
.mfh-pdp-info__sku {
  font-size: 11px; color: var(--mf-muted); margin-bottom: 20px;
}
.mfh-pdp-info__price-row {
  display: flex; align-items: center; gap: 10px;
  padding-bottom: 4px;
}
.mfh-pdp-info__tax-note {
  font-size: 12px; color: var(--mf-muted); font-weight: 400;
  padding-bottom: 20px; margin-bottom: 20px;
  border-bottom: 1px solid var(--mf-line);
}
.mfh-pdp-info__price { font-size: 28px; font-weight: 800; color: var(--mf-text); }
.mfh-pdp-info__price del { color: var(--mf-muted); font-weight: 400; font-size: 18px; }
.mfh-pdp-info__price ins { text-decoration: none; }
.mfh-pdp-info__stock {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.mfh-stock-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.mfh-stock-dot--green  { background: #22c55e; }
.mfh-stock-dot--orange { background: #f97316; }
.mfh-stock-dot--gold   { background: var(--mf-gold); }
.mfh-stock-dot--red    { background: #ef4444; }
.mfh-stock-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .03em;
  color: var(--mf-muted);
}

/* ── Biketown-style spec highlights (below price) ── */
.mfh-pdp-specs-quick {
  margin: 16px 0 20px;
  padding: 0;
}
.mfh-pdp-specs-quick__row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid var(--mf-line);
  font-size: 13px;
  line-height: 1.4;
}
.mfh-pdp-specs-quick__row:last-child { border-bottom: none; }
.mfh-pdp-specs-quick__chevron {
  flex-shrink: 0;
  color: var(--mf-gold);
  display: flex;
  align-items: center;
  margin-top: 1px;
}
.mfh-pdp-specs-quick__label {
  font-weight: 700;
  color: var(--mf-text);
  white-space: nowrap;
}
.mfh-pdp-specs-quick__value {
  margin-left: auto;
  text-align: right;
  color: var(--mf-muted);
  font-weight: 400;
  word-break: break-word;
}


/* Cart form */
.mfh-pdp-cart { margin-bottom: 20px; }
.mfh-pdp-cart form.cart { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }
/* VIN field injected via hook sits on its own row */
.mfh-pdp-cart form.cart .mfh-pdp-vin-inline { flex: 0 0 100%; margin: 0 0 4px !important; }
.mfh-pdp-cart .quantity .qty {
  width: 56px; padding: 12px 8px; text-align: center;
  border-radius: 10px; border: 1.5px solid var(--mf-line);
  font-size: 14px; font-weight: 700; font-family: inherit;
  background: var(--mf-surface); color: var(--mf-text);
}
.mfh-pdp-cart .single_add_to_cart_button {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 28px; border-radius: 10px; font-size: 14px; font-weight: 700;
  background: var(--mf-text) !important; color: var(--mf-bg) !important;
  border: none; cursor: pointer; transition: opacity .2s; font-family: inherit;
  text-transform: uppercase; letter-spacing: .04em;
}
.mfh-pdp-cart .single_add_to_cart_button:hover { opacity: .85; }

/* Trust line */
.mfh-pdp-trust-line {
  display: flex; align-items: center; gap: 0; flex-wrap: wrap;
  font-size: 12px; color: var(--mf-muted); padding-top: 4px;
}
.mfh-pdp-trust-line span { display: inline-flex; align-items: center; gap: 4px; }
.mfh-pdp-trust-line svg { color: var(--mf-gold); }
.mfh-pdp-trust-sep { margin: 0 10px; opacity: .3; }

/* Detail tabs */
.mfh-pdp-tabs {
  display: flex; gap: 4px; margin-bottom: 28px;
  border-bottom: 1.5px solid var(--mf-line);
}
.mfh-pdp-tab {
  background: none; border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0; padding: 14px 24px;
  font-size: 14px; font-weight: 600;
  color: var(--mf-muted); cursor: pointer;
  font-family: inherit; margin-bottom: -1.5px;
  transition: color .15s;
}
.mfh-pdp-tab.is-active { border-bottom-color: var(--mf-gold); color: var(--mf-text); font-weight: 700; }
.mfh-pdp-tab:hover { color: var(--mf-text); }

/* Specs table */
.mfh-pdp-specs-table { width: 100%; border-collapse: collapse; }
.mfh-pdp-specs-table tr { border-bottom: 1px solid var(--mf-line); }
.mfh-pdp-specs-table tr:last-child { border-bottom: none; }
.mfh-spec-l { padding: 14px 0; font-size: 14px; font-weight: 600; color: var(--mf-muted); width: 180px; }
.mfh-spec-r { padding: 14px 0; font-size: 14px; font-weight: 600; color: var(--mf-text); }

/* Description */
.mfh-pdp-desc-content { font-size: 15px; line-height: 1.8; color: var(--mf-muted); max-width: 100%; }

/* ── Dynamic Description styling ── */
.mf-dynamic-desc {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 8px 0;
}
.mf-dynamic-desc__section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mf-dynamic-desc__section h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--mf-text);
  margin: 0;
  padding-left: 12px;
  border-left: 3px solid var(--mf-gold);
  line-height: 1.2;
}
.mf-dynamic-desc__p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--mf-muted);
  margin: 0;
}
.mf-dynamic-desc__bullets {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}
.mf-dynamic-desc__bullets li {
  font-size: 14px;
  color: var(--mf-muted);
  position: relative;
  padding-left: 20px;
  line-height: 1.5;
}
.mf-dynamic-desc__bullets li::before {
  content: "✓";
  color: var(--mf-gold);
  position: absolute;
  left: 0;
  font-weight: 700;
}
.mf-dynamic-desc__meta-box {
  background: var(--mf-bg);
  border: 1px solid var(--mf-line);
  border-radius: 8px;
  padding: 16px;
  margin-top: 4px;
}
.mf-dynamic-desc__meta-box strong {
  display: block;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mf-text);
  margin-bottom: 6px;
}
.mf-dynamic-desc__meta-val {
  font-size: 14px;
  color: var(--mf-gold);
  font-weight: 600;
  margin: 0;
}
.mf-dynamic-desc__alert {
  display: flex;
  gap: 16px;
  background: rgba(179, 144, 71, 0.05);
  border: 1px dashed rgba(179, 144, 71, 0.3);
  border-radius: 10px;
  padding: 20px;
}
.mf-dynamic-desc__alert-icon {
  color: var(--mf-gold);
  display: flex;
  align-items: flex-start;
}
.mf-dynamic-desc__alert-icon .material-symbols-rounded {
  font-size: 28px;
}
.mf-dynamic-desc__alert-content {
  font-size: 14px;
  line-height: 1.6;
  color: var(--mf-muted);
  flex: 1;
}
.mf-dynamic-desc__alert-content strong {
  color: var(--mf-text);
}
.mf-dynamic-desc__accordion-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--mf-bg);
  border: 1px solid var(--mf-line);
  border-radius: 8px;
  padding: 14px 20px;
  color: var(--mf-muted);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  width: 100%;
  text-align: left;
  transition: background .2s, color .2s;
  font-family: inherit;
}
.mf-dynamic-desc__accordion-btn:hover {
  background: var(--mf-line);
  color: var(--mf-text);
}
.mf-dynamic-desc__accordion-btn .material-symbols-rounded {
  transition: transform 0.25s ease;
}
.mf-dynamic-desc__accordion-panel {
  border: 1px solid var(--mf-line);
  border-top: none;
  border-radius: 0 0 8px 8px;
  padding: 24px;
  background: rgba(255, 255, 255, 0.02);
  margin-top: -8px;
}
.mf-dynamic-desc__fallback-content {
  font-size: 14px;
  line-height: 1.7;
  color: var(--mf-muted);
}
.mf-dynamic-desc__fallback-content p {
  margin: 0 0 1em;
}
.mf-dynamic-desc__fallback-content p:last-child {
  margin-bottom: 0;
}

/* Responsive PDP */
@media (max-width: 768px) {
  .mfh-pdp-grid { grid-template-columns: 1fr; }
  .mfh-pdp-info { padding: 24px; }
  .mfh-pdp-gallery { padding: 16px; }
  .mfh-pdp-cart form.cart { flex-direction: column; }
}


/* ═══ WOOCOMMERCE — Global Overrides ═══ */
/* ═══ WooCommerce Global Overrides ═══ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--mf-surface) !important;
  border: 1px solid var(--mf-line) !important;
  border-left: 3px solid var(--mf-gold) !important;
  border-radius: var(--mf-radius) !important;
  color: var(--mf-text) !important;
  padding: 16px 20px 16px 52px !important;
  font-size: 14px !important;
  box-shadow: var(--mf-shadow) !important;
  position: relative !important;
  list-style: none !important;
}
.woocommerce-error {
  border-left-color: #ef4444 !important;
}
.woocommerce-info {
  border-left-color: var(--mf-gold) !important;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  font-family: 'Material Symbols Rounded' !important;
  font-weight: normal !important;
  font-style: normal !important;
  font-size: 20px !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  word-wrap: normal !important;
  white-space: nowrap !important;
  direction: ltr !important;
  -webkit-font-smoothing: antialiased !important;
  position: absolute !important;
  left: 18px !important;
  top: 16px !important;
  display: inline-block !important;
}
.woocommerce-message::before {
  content: "check_circle" !important;
  color: #22c55e !important;
}
.woocommerce-info::before {
  content: "info" !important;
  color: var(--mf-gold) !important;
}
.woocommerce-error::before {
  content: "error" !important;
  color: #ef4444 !important;
}



/* ═══════════════════════════════════════════════
   PAGE LAYOUT WRAPPERS
   ═══════════════════════════════════════════════ */

.mfh-page-wrap {
  padding-bottom: 80px;
}

/* Archive sections */
.mfh-shop-archive-hero {
  padding: 40px 0 0;
}
.mfh-shop-toolbar-wrap {
  padding: 24px 0 0;
}
.mfh-shop-grid-wrap {
  padding: 24px 0 0;
}
.mfh-empty-state {
  text-align: center; padding: 80px 0;
}
.mfh-empty-state p { font-size: 18px; font-weight: 600; color: var(--mf-muted); margin-bottom: 20px; }

/* PDP sections */
.mfh-pdp-breadcrumb-bar {
  padding: 28px 0 0;
}
.mfh-pdp-hero-wrap {
  padding: 16px 0 0;
}
.mfh-pdp-details-wrap {
  padding: 24px 0 0;
}

/* Stock dot */
.mfh-pdp-stock-dot {
  width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0;
}



/* ═══ WOOCOMMERCE — Cart & Checkout (Legacy) ═══ */
/* ═══════════════════════════════════════════════
   WOOCOMMERCE — Cart (Legacy Shortcode)
   ═══════════════════════════════════════════════ */

/* Cart page wrapper */
.woocommerce-cart .mfh-page-wrap,
.woocommerce-cart .entry-content { padding: 40px 0 80px; }

/* 2-col layout: cart form left, totals right */
.woocommerce-cart .woocommerce {
  display: flex !important;
  flex-wrap: wrap;
  gap: 32px;
  align-items: flex-start;
}
.woocommerce-cart .woocommerce::before,
.woocommerce-cart .woocommerce::after { display: none !important; }
.woocommerce-cart .woocommerce-notices-wrapper { flex: 0 0 100%; }
.woocommerce-cart .woocommerce-cart-form { flex: 1 1 0; min-width: 0; }
.woocommerce-cart .cart-collaterals { flex: 0 0 380px; min-width: 0; }

/* Cart table */
.woocommerce table.shop_table {
  width: 100%; border-collapse: separate; border-spacing: 0;
  border: 1px solid var(--mf-line); border-radius: var(--mf-radius);
  overflow: hidden; background: var(--mf-surface);
}
.woocommerce table.shop_table thead { background: var(--mf-bg); }
.woocommerce table.shop_table th {
  padding: 14px 16px; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--mf-muted); border: none; text-align: left;
}
.woocommerce table.shop_table td {
  padding: 16px; font-size: 14px; color: var(--mf-text);
  border-top: 1px solid var(--mf-line); vertical-align: middle;
  background: var(--mf-surface);
}
.woocommerce table.shop_table .product-remove { width: 44px; text-align: center; }
.woocommerce table.shop_table .product-thumbnail { width: 80px; }
.woocommerce table.shop_table .product-quantity { width: 110px; }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal { width: 100px; text-align: right; font-weight: 700; }
.woocommerce table.shop_table td.product-name a {
  color: var(--mf-text); font-weight: 600; text-decoration: none;
}
.woocommerce table.shop_table td.product-name a:hover { color: var(--mf-muted); }
.woocommerce table.shop_table img {
  width: 60px; height: 60px; object-fit: contain;
  border-radius: 8px; background: var(--mf-bg);
}
/* Remove button */
.woocommerce a.remove {
  color: var(--mf-muted) !important; font-size: 20px;
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 6px; text-decoration: none;
  transition: background .2s, color .2s;
}
.woocommerce a.remove:hover { background: rgba(239,68,68,.08); color: #ef4444 !important; }

/* Coupon + Update actions */
.woocommerce table.shop_table td.actions { padding: 16px; text-align: right; }
.woocommerce table.shop_table td.actions::before,
.woocommerce table.shop_table td.actions::after { display: none !important; }
.woocommerce table.shop_table .coupon {
  float: left; display: flex; align-items: center; gap: 8px;
}
.woocommerce table.shop_table .coupon label { display: none; }
.woocommerce table.shop_table .coupon input[type="text"] {
  width: 180px !important; padding: 10px 14px !important;
  border-radius: 8px !important; border: 1.5px solid var(--mf-line) !important;
  background: var(--mf-bg) !important; color: var(--mf-text) !important;
  font-size: 13px !important; font-family: inherit !important;
}
.woocommerce table.shop_table .coupon input[type="text"]:focus { border-color: var(--mf-gold) !important; outline: none !important; }

/* Qty input */
.woocommerce .quantity .qty {
  width: 60px; padding: 9px 8px; text-align: center;
  border-radius: 8px; border: 1.5px solid var(--mf-line);
  font-size: 14px; font-weight: 700; background: var(--mf-bg);
  color: var(--mf-text); font-family: inherit;
}

/* Cart totals */
.woocommerce .cart_totals {
  background: var(--mf-surface); border: 1px solid var(--mf-line);
  border-radius: var(--mf-radius); padding: 28px;
  box-shadow: var(--mf-shadow);
}

/* In our custom card layout, don't restyle these with a nested card */
.mf-cart-page .woocommerce .cart_totals,
.mf-checkout-page .woocommerce .woocommerce-checkout-review-order {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.woocommerce .cart_totals h2 {
  font-size: 18px; font-weight: 800; color: var(--mf-text); margin: 0 0 20px;
}
.woocommerce .cart_totals table { border: none; border-collapse: collapse; width: 100%; }
.woocommerce .cart_totals th,
.woocommerce .cart_totals td {
  padding: 12px 0; font-size: 14px;
  border-top: 1px solid var(--mf-line); background: transparent;
}
.woocommerce .cart_totals tr:first-child th,
.woocommerce .cart_totals tr:first-child td { border-top: none; }
.woocommerce .cart_totals th { font-size: 13px; font-weight: 600; color: var(--mf-muted); text-align: left; }
.woocommerce .cart_totals .order-total th { font-size: 15px; color: var(--mf-text); font-weight: 800; }
.woocommerce .cart_totals .order-total td { font-weight: 800; font-size: 22px; color: var(--mf-text); }
.woocommerce .cart_totals .woocommerce-Price-amount { color: var(--mf-text); }

/* Proceed to checkout */
.wc-proceed-to-checkout { padding-top: 16px; }
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout .checkout-button {
  display: block !important; width: 100% !important;
  padding: 16px 28px !important; border-radius: 10px !important;
  background: var(--mf-text) !important; color: var(--mf-bg) !important;
  font-size: 15px !important; font-weight: 700 !important;
  text-align: center; text-decoration: none; text-transform: uppercase;
  letter-spacing: .04em; border: none !important;
  transition: opacity .2s !important; box-sizing: border-box !important;
}
.wc-proceed-to-checkout a.checkout-button:hover { opacity: .85 !important; }

/* Cart responsive */
@media (max-width: 768px) {
  .woocommerce-cart .woocommerce { flex-direction: column; }
  .woocommerce-cart .cart-collaterals { flex: none; width: 100%; }
}


/* ═══════════════════════════════════════════════
   WOOCOMMERCE — Checkout (Legacy Shortcode)
   ═══════════════════════════════════════════════ */

/* Checkout 2-col layout */
.woocommerce-checkout .woocommerce {
  display: flex !important;
  flex-wrap: wrap;
  gap: 32px;
  align-items: flex-start;
}
.woocommerce-checkout .woocommerce::before,
.woocommerce-checkout .woocommerce::after { display: none !important; }
.woocommerce-checkout .woocommerce-notices-wrapper { flex: 0 0 100%; }
#customer_details { flex: 1 1 0; min-width: 0; }
#order_review_heading,
#order_review { flex: 0 0 380px; min-width: 0; }
#order_review_heading {
  font-size: 18px; font-weight: 800; color: var(--mf-text); margin: 0 0 16px;
}

/* Field styling */
.woocommerce-checkout .form-row { margin-bottom: 16px; }
.woocommerce-checkout .form-row label {
  display: block; font-size: 12px; font-weight: 600; color: var(--mf-muted);
  text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px;
}
.woocommerce-checkout .form-row .required { color: #ef4444; }
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  width: 100% !important; padding: 12px 16px !important;
  border-radius: 10px !important; border: 1.5px solid var(--mf-line) !important;
  background: var(--mf-surface) !important; color: var(--mf-text) !important;
  font-size: 14px !important; font-family: inherit !important;
  box-sizing: border-box !important; transition: border-color .2s !important;
  outline: none !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus { border-color: var(--mf-gold) !important; }
/* Checkout field helpers */
.woocommerce-checkout .mfh-billing-name-field {
  clear: both;
}
.woocommerce-checkout .mfh-billing-name-separator,
.woocommerce-checkout .mf-billing-name-separator {
  grid-column: 1 / -1;
  width: 100%;
  height: 1px;
  background: var(--mf-line);
  opacity: .5;
  margin: 10px 0 18px;
}
.woocommerce-checkout .mfh-half {
  width: calc(50% - 8px) !important;
}
.woocommerce-checkout .mfh-company-toggle {
  margin-top: 12px;
  padding-top: 0;
  border-top: 0;
}

.woocommerce-checkout .mfh-company-toggle .mfh-company-toggle-label {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--mf-muted);
  text-decoration: none;
  transition: color .15s;
  cursor: pointer;
}

.woocommerce-checkout .mfh-company-toggle .mfh-company-toggle-label::before {
  content: '+';
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
  color: var(--mf-gold);
  font-weight: 700;
}

.woocommerce-checkout .mfh-company-toggle .mfh-company-toggle-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.woocommerce-checkout .mfh-company-toggle label:hover,
.woocommerce-checkout .mfh-company-toggle.mf-company-open .mfh-company-toggle-label,
.woocommerce-checkout .mfh-company-toggle .mfh-company-toggle-input:checked + label {
  color: var(--mf-text);
}

.woocommerce-checkout .mfh-company-toggle.mf-company-open .mfh-company-toggle-label::before,
.woocommerce-checkout .mfh-company-toggle .mfh-company-toggle-input:checked + label::before {
  content: '-';
}

.woocommerce-checkout .mfh-company-toggle .mfh-company-toggle-input:focus + label {
  outline: 1px dashed var(--mf-gold);
  outline-offset: 4px;
}

.woocommerce-checkout .mfh-company-toggle .input-checkbox {
  display: none !important;
  width: 16px;
  height: 16px;
  margin: 0;
}
.woocommerce-checkout .mfh-company-dependent.mfh-company-hidden,
.woocommerce-checkout .mfh-country-hidden {
  display: none !important;
}
.woocommerce-checkout .col2-set {
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after { display: none !important; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; }

/* Section headings */
.woocommerce-checkout h3 {
  font-size: 18px; font-weight: 800; color: var(--mf-text); margin: 0 0 20px;
  padding-bottom: 12px; border-bottom: 1px solid var(--mf-line);
}

/* Order review table */
#order_review .shop_table {
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: hidden;
  margin-bottom: 24px;
}
#order_review .shop_table th {
  background: transparent;
  color: var(--mf-muted);
}

/* Payment section */
#payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  padding: 0;
  margin-top: 16px;
}
#payment .payment_methods { list-style: none; padding: 0; margin: 0 0 20px; }
#payment .payment_methods li { padding: 12px 0; border-bottom: 1px solid var(--mf-line); }
#payment .payment_methods li:last-child { border-bottom: none; }
#payment .payment_methods label { font-size: 14px; font-weight: 600; color: var(--mf-text); cursor: pointer; }
#payment .payment_box { padding: 12px 0 4px; font-size: 13px; color: var(--mf-muted); line-height: 1.5; }

/* Place order button */
#place_order {
  display: block !important; width: 100% !important;
  padding: 16px 28px !important; border-radius: 10px !important;
  background: var(--mf-text) !important; color: var(--mf-bg) !important;
  font-size: 15px !important; font-weight: 700 !important;
  text-align: center; text-transform: uppercase; letter-spacing: .04em;
  border: none !important; cursor: pointer !important;
  transition: opacity .2s !important; font-family: inherit !important;
}
#place_order:hover { opacity: .85 !important; }

/* Checkout responsive */
@media (max-width: 900px) {
  .woocommerce-checkout .woocommerce { flex-direction: column; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
  #order_review_heading, #order_review { flex: none; width: 100%; }
}

/* ── All WC buttons unified ── */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  display: inline-flex !important; align-items: center !important;
  justify-content: center !important; gap: 6px !important;
  padding: 10px 20px !important; border-radius: 8px !important;
  background: var(--mf-text) !important; color: var(--mf-bg) !important;
  font-size: 13px !important; font-weight: 700 !important;
  border: none !important; cursor: pointer !important;
  font-family: inherit !important; text-decoration: none !important;
  transition: opacity .2s !important;
}
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover { opacity: .85 !important; }

/* ── WC notices (cart/checkout specific) ── */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message {
  margin-bottom: 24px;
}

/* ─ WooCommerce Page Layout (via page.php) ─ */
.mfh-woo-page-hero {
  padding: 40px 0 0;
}
.mfh-woo-page-title {
  font-size: clamp(28px, 4vw, 44px); font-weight: 800;
  letter-spacing: -.02em; line-height: 1.1; color: var(--mf-text); margin: 0;
}
.mfh-woo-page-content {
  padding: 32px 0 80px;
}
/* Ensure WC output inherits theme colors */
.mfh-woo-page-content .woocommerce { color: var(--mf-text); }


/* ═══ SINGLE PRODUCT — New Components ═══ */
/* ═══════════════════════════════════════════════
   SINGLE PRODUCT — New components
   ═══════════════════════════════════════════════ */

/* Express checkout */
.mfh-pdp-express { margin-bottom: 16px; }
.mfh-pdp-express__label {
  display: block; font-size: 11px; font-weight: 700; color: var(--mf-muted);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px;
}
.mfh-pdp-express__btns { display: flex; gap: 8px; }
.mfh-pdp-express__btn {
  flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 11px 16px; border-radius: 8px; border: 1.5px solid var(--mf-line);
  background: var(--mf-surface); color: var(--mf-text); font-size: 13px; font-weight: 700;
  cursor: pointer; font-family: inherit; transition: border-color .2s, background .2s;
}
.mfh-pdp-express__btn:hover { border-color: var(--mf-text); background: var(--mf-bg); }
.mfh-pdp-express__btn--paypal { color: #003087; }
.mfh-pdp-express__btn--gpay { color: var(--mf-text); }
.mfh-pdp-express__divider {
  display: flex; align-items: center; gap: 12px; margin-top: 12px;
  font-size: 11px; color: var(--mf-muted);
}
.mfh-pdp-express__divider::before,
.mfh-pdp-express__divider::after { content: ''; flex: 1; height: 1px; background: var(--mf-line); }

/* VIN input */
/* Old VIN block styles (kept for possible re-use) */
.mfh-pdp-vin { display: none; }

/* Compact inline VIN field */
.mfh-pdp-vin-inline {
  margin: 16px 0 14px;
  position: relative;
}
.mfh-pdp-vin-inline__input {
  width: 100%; box-sizing: border-box;
  padding: 11px 44px 11px 14px; border-radius: 10px;
  border: 1.5px solid var(--mf-line); background: var(--mf-surface);
  color: var(--mf-text); font-size: 13px; font-family: monospace;
  letter-spacing: .08em; text-transform: uppercase;
  transition: border-color .2s;
}
.mfh-pdp-vin-inline__input:focus { border-color: var(--mf-gold); outline: none; }
.mfh-pdp-vin-inline__input::placeholder { color: var(--mf-muted); font-family: inherit; font-size: 12px; text-transform: none; letter-spacing: 0; }

/* Tooltip trigger — sits absolute inside the input wrapper */
.mfh-pdp-vin-tip {
  position: absolute; right: 12px; top: 50%;
  transform: translateY(-50%);
  width: 20px; height: 20px;
  cursor: pointer; outline: none;
}

/* Info dot */
.mfh-pdp-vin-tip__dot {
  display: block; width: 10px; height: 10px;
  border-radius: 50%; background: var(--mf-gold);
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
}


/* Tooltip bubble */
.mfh-pdp-vin-tip__bubble {
  display: none;
  position: absolute; bottom: calc(100% + 10px); right: 0;
  width: 280px; background: #111; color: rgba(255,255,255,.9);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px; padding: 14px 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,.4);
  font-size: 12px; line-height: 1.6; z-index: 9999;
  pointer-events: none;
}
.mfh-pdp-vin-tip__bubble strong { display: block; color: #fff; font-size: 13px; margin-bottom: 8px; }
.mfh-pdp-vin-tip__bubble p { margin: 0 0 6px; }
.mfh-pdp-vin-tip__bubble p:last-child { margin: 0; }

/* Arrow */
.mfh-pdp-vin-tip__bubble::after {
  content: ''; position: absolute; top: 100%; right: 6px;
  border: 6px solid transparent; border-top-color: #111;
}

/* Show on hover / focus */
.mfh-pdp-vin-tip:hover .mfh-pdp-vin-tip__bubble,
.mfh-pdp-vin-tip:focus .mfh-pdp-vin-tip__bubble { display: block; }


/* Icon Trust Badges */
.mfh-pdp-badges {
  display: flex; gap: 0; margin-top: 16px;
  border: 1px solid var(--mf-line); border-radius: 8px; overflow: hidden;
}
.mfh-pdp-badge {
  flex: 1; display: flex; align-items: center; gap: 7px;
  padding: 8px 10px;
  border-right: 1px solid var(--mf-line);
}
.mfh-pdp-badge:last-child { border-right: none; }
.mfh-pdp-badge svg {
  width: 16px; height: 16px; flex-shrink: 0;
  stroke: var(--mf-gold); color: var(--mf-gold);
}
.mfh-pdp-badge span { font-size: 10px; font-weight: 600; color: var(--mf-text); line-height: 1.3; }
.mfh-pdp-badge small { font-size: 9px; font-weight: 400; color: var(--mf-muted); display: block; }

/* 70 kW EU Warning Notice */
.mfh-pdp-70kw-notice {
  margin-top: 12px;
  border: 1px solid rgba(204,153,0,.35);
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(135deg, #fffbf0 0%, #fff8e6 100%);
}
.mfh-pdp-70kw-notice__badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #8a6d2b;
}
.mfh-pdp-70kw-notice__badge svg {
  flex-shrink: 0;
  stroke: #cc9900;
}
.mfh-pdp-70kw-notice__badge span {
  flex: 1;
}
.mfh-pdp-70kw-notice__toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a6d2b;
  transition: background .15s;
}
.mfh-pdp-70kw-notice__toggle:hover {
  background: rgba(204,153,0,.1);
}
.mfh-pdp-70kw-notice__toggle.is-open {
  background: rgba(204,153,0,.15);
}
.mfh-pdp-70kw-notice__details {
  padding: 0 14px 12px;
  font-size: 12px;
  line-height: 1.55;
  color: #5a4a1e;
  border-top: 1px solid rgba(204,153,0,.15);
}
.mfh-pdp-70kw-notice__details p {
  margin: 6px 0;
}
.mfh-pdp-70kw-notice__details strong {
  color: #6d5519;
}
@media (max-width: 480px) {
  .mfh-pdp-badges { flex-direction: column; }
  .mfh-pdp-badge { border-right: none; border-bottom: 1px solid var(--mf-line); }
  .mfh-pdp-badge:last-child { border-bottom: none; }
}

/* Tab count pill */
.mfh-pdp-tab__count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 5px;
  background: var(--mf-gold); color: #000; font-size: 10px; font-weight: 800;
  border-radius: 999px; margin-left: 4px;
}

/* Fitment table */
.mfh-fitment-table-wrap {
  overflow-x: auto; border-radius: 8px;
  border: 1px solid var(--mf-line);
}
.mfh-fitment-table {
  width: 100%; border-collapse: collapse; font-size: 13px; min-width: 700px;
}
.mfh-fitment-table thead { background: var(--mf-bg); }
.mfh-fitment-table th {
  padding: 12px 14px; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
  color: var(--mf-muted); text-align: left;
  border-bottom: 1px solid var(--mf-line); white-space: nowrap;
}
.mfh-fitment-table td {
  padding: 11px 14px; color: var(--mf-text); font-weight: 500;
  border-bottom: 1px solid var(--mf-line); vertical-align: middle;
}
.mfh-fitment-table tbody tr:last-child td { border-bottom: none; }
.mfh-fitment-table tbody tr:nth-child(even) { background: var(--mf-bg); }
.mfh-fitment-table tbody tr:hover { background: rgba(179,144,71,.05); }



/* ═══ PDP — Detail Refinements ═══ */
/* ═══════════════════════════════════════════════
   PDP — Detail refinements
═══════════════════════════════════════════════ */

/* 2-line short description clamp */
.mfh-pdp-info__desc--clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* VIN required state */
.mfh-pdp-vin--required {
  border-color: rgba(179,144,71,.4);
  background: rgba(179,144,71,.04);
}
.mfh-pdp-vin--required .mfh-pdp-vin__label { color: var(--mf-text); }
.mfh-pdp-vin__req {
  color: #ef4444; font-weight: 800; margin-left: 2px;
}
.mfh-pdp-vin--required .mfh-pdp-vin__input:invalid {
  border-color: rgba(239,68,68,.5);
}

/* WooCommerce Qty stepper — override default */
.woocommerce .quantity { display: flex !important; align-items: center; gap: 0; }
.woocommerce .quantity .qty {
  width: 52px !important; text-align: center !important;
  border-radius: 0 !important; border-left: none !important; border-right: none !important;
  -moz-appearance: textfield;
  padding: 10px 0 !important;
  font-weight: 700 !important; font-size: 15px !important;
  background: var(--mf-surface) !important; color: var(--mf-text) !important;
  border-top: 1.5px solid var(--mf-line) !important;
  border-bottom: 1.5px solid var(--mf-line) !important;
}
.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; }
.mfh-qty-wrap {
  display: flex !important; align-items: stretch; border: 1.5px solid var(--mf-line);
  border-radius: 9px; overflow: hidden;
}
.mfh-qty-wrap .qty {
  border: none !important; border-radius: 0 !important;
}
.mfh-qty-minus,
.mfh-qty-plus {
  width: 38px; display: flex; align-items: center; justify-content: center;
  font-size: 18px; font-weight: 300; cursor: pointer;
  background: var(--mf-bg); color: var(--mf-text);
  border: none; transition: background .15s;
  flex-shrink: 0; user-select: none;
}
.mfh-qty-minus:hover, .mfh-qty-plus:hover { background: var(--mf-surface); }

/* Override WC quantity wrapper to use our stepper layout */
.mfh-pdp-cart .woocommerce form.cart .quantity {
  border: 1.5px solid var(--mf-line); border-radius: 9px; overflow: hidden;
  background: var(--mf-bg);
}
.mfh-pdp-cart .woocommerce form.cart .quantity input.qty {
  background: transparent !important; border: none !important;
  width: 48px !important; padding: 10px 4px !important;
  font-size: 15px !important; font-weight: 700 !important;
}

/* Express buttons below cart — compact divider label */
.mfh-pdp-express { margin-top: 12px; }
.mfh-pdp-express .mfh-pdp-express__divider {
  margin-bottom: 8px; margin-top: 0;
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .06em;
}
.mfh-pdp-express__btns { gap: 6px; }


/* ═══ CART PAGE ═══ */
/* ═══════════════════════════════════════════
   CART PAGE
═══════════════════════════════════════════ */
.mf-cart-page {
  padding: 48px 0 80px;
  min-height: 60vh;
}

.mf-cart-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 28px;
  align-items: start;
}

@media (max-width: 900px) {
  .mf-cart-grid { grid-template-columns: 1fr; }
}

/* Card component */
.mf-card {
  background: var(--mf-surface);
  border: 1px solid var(--mf-line);
  border-radius: 16px;
  overflow: hidden;
}

.mf-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--mf-line);
  background: var(--mf-surface-2);
}

.mf-card__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--mf-text);
  margin: 0;
}

.mf-card__subtitle {
  font-size: 12px;
  font-weight: 400;
  color: var(--mf-muted);
  margin-left: 4px;
}

.mf-card__body {
  padding: 20px 22px;
}

/* Cart items list */
.mf-cart-items {
  display: flex;
  flex-direction: column;
}

.mf-cart-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--mf-line);
}
.mf-cart-item:last-child { border-bottom: none; }

.mf-cart-item__img {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--mf-bg);
  border: 1px solid var(--mf-line);
}
.mf-cart-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mf-cart-item__img a {
  display: block;
  width: 100%;
  height: 100%;
}

.mf-cart-item__info {
  flex: 1;
  min-width: 0;
}

.mf-cart-item__name {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--mf-text);
  text-decoration: none;
  margin: 0 0 6px;
  line-height: 1.3;
}
.mf-cart-item__name:hover { color: var(--mf-gold); }

/* Qty stepper */
.mf-qty-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--mf-line);
  border-radius: 8px;
  overflow: hidden;
  margin-top: 8px;
  background: var(--mf-bg);
}

.mf-qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: transparent;
  color: var(--mf-text);
  font-size: 16px;
  cursor: pointer;
  border: none;
  transition: background .15s;
}
.mf-qty-btn:hover { background: rgba(255,255,255,.07); }

.mf-qty-input {
  width: 40px;
  height: 32px;
  border: none;
  border-left: 1px solid var(--mf-line);
  border-right: 1px solid var(--mf-line);
  background: transparent;
  color: var(--mf-text) !important;
  -webkit-text-fill-color: var(--mf-text) !important;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  padding: 0;
  outline: none;
  -moz-appearance: textfield;
}
.mf-qty-input::-webkit-inner-spin-button,
.mf-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Price + remove */
.mf-cart-item__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}

.mf-cart-item__price {
  font-size: 15px;
  font-weight: 800;
  color: var(--mf-gold);
  white-space: nowrap;
}

.mf-cart-item__remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--mf-line);
  color: var(--mf-muted);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.mf-cart-item__remove:hover {
  background: rgba(220,50,50,.12);
  border-color: rgba(220,50,50,.3);
  color: #f87171;
}

/* Cart actions bar */
.mf-cart-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 22px;
  border-top: 1px solid var(--mf-line);
  background: var(--mf-surface-2);
  flex-wrap: wrap;
}

.mf-coupon {
  display: flex;
  gap: 8px;
  flex: 1;
  min-width: 200px;
}

.mf-coupon input[type="text"] {
  flex: 1;
  height: 34px;
  padding: 0 12px;
  border: 1px solid var(--mf-line);
  border-radius: 7px;
  background: var(--mf-bg);
  color: var(--mf-text);
  font-size: 13px;
  outline: none;
  transition: border-color .15s;
}
.mf-coupon input[type="text"]:focus { border-color: var(--mf-gold); }
.mf-coupon input[type="text"]::placeholder { color: var(--mf-muted); }

/* Cart empty state */
.mf-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 80px 24px;
  text-align: center;
  color: var(--mf-muted);
}
.mf-cart-empty h2 {
  font-size: 22px;
  font-weight: 700;
  color: var(--mf-text);
  margin: 0;
}
.mf-cart-empty p {
  font-size: 14px;
  color: var(--mf-muted);
  margin: 0;
}

/* Trust pills */
.mf-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.mf-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 99px;
  border: 1px solid var(--mf-line);
  background: rgba(255,255,255,.03);
  font-size: 12px;
  font-weight: 600;
  color: var(--mf-muted);
}
.mf-trust-pill svg { flex-shrink: 0; opacity: .7; }

/* WooCommerce totals override */
.mf-cart-page .cart_totals h2,
.mf-cart-page .cart_totals table th {
  color: var(--mf-text);
  font-family: inherit;
}
.mf-cart-page .cart_totals {
  float: none;
  width: 100%;
}
.mf-cart-page .cart_totals table {
  width: 100%;
  border: none;
  border-collapse: collapse;
  font-size: 14px;
  color: var(--mf-muted);
}
.mf-cart-page .cart_totals table tr { border-bottom: 1px solid var(--mf-line); }
.mf-cart-page .cart_totals table tr:last-child { border-bottom: none; }
.mf-cart-page .cart_totals table th,
.mf-cart-page .cart_totals table td {
  padding: 12px 0;
  background: transparent;
  border: none;
  vertical-align: middle;
}
.mf-cart-page .cart_totals table .order-total th,
.mf-cart-page .cart_totals table .order-total td {
  color: var(--mf-text);
  font-weight: 700;
  font-size: 16px;
}
.mf-cart-page .cart_totals table .order-total .amount {
  color: var(--mf-gold);
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  margin-top: 16px;
  background: var(--mf-gold);
  color: #fff;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  transition: opacity .18s;
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  opacity: .88;
}


/* ═══ WOO PAGE CONTAINER ═══ */
/* ═══════════════════════════════════════════════════════════════
   WOO PAGE — mf-woo-content is our self-managed container inside
   WC templates. The WC .woocommerce wrapper is reset to full width.
═══════════════════════════════════════════════════════════════ */
.mf-woo-content {
  padding: 44px 0 100px;
  background: var(--mf-black);
  min-height: 60vh;
}

/* WC injects <div class="woocommerce"> — force full width */
.mf-woo-content .woocommerce,
.woocommerce-page .mf-woo-content {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* ── Slim WC hero (Warenkorb / Kasse) ── */
.mfh-woo-hero {
  background: var(--mf-black);
  border-bottom: 1px solid var(--mf-line);
  padding: 44px 0 32px;
}

.mfh-woo-hero__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.mfh-woo-hero__title {
  font-size: clamp(26px, 4vw, 42px);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--mf-text);
  margin: 0 0 4px;
  line-height: 1.1;
}

.mfh-woo-hero__sub {
  font-size: 14px;
  color: var(--mf-muted);
  margin: 0;
}

/* ── Step indicator ── */
.mfh-woo-steps {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
}

.mfh-woo-step {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--mf-muted);
  opacity: .45;
}

.mfh-woo-step.is-active { color: var(--mf-text); opacity: 1; }
.mfh-woo-step.is-done   { color: var(--mf-gold);  opacity: .8; }

.mfh-woo-step__dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--mf-line);
  color: var(--mf-muted);
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.mfh-woo-step.is-active .mfh-woo-step__dot {
  background: var(--mf-gold);
  color: #fff;
}

.mfh-woo-step.is-done .mfh-woo-step__dot {
  background: var(--mf-gold);
  color: #fff;
}

.mfh-woo-step__sep {
  color: var(--mf-line);
  font-size: 16px;
  font-weight: 300;
}

@media (max-width: 640px) {
  .mfh-woo-steps { display: none; }
}


/* ═══ CHECKOUT PAGE ═══ */
/* ═══════════════════════════════════════════════════
   CHECKOUT PAGE
═══════════════════════════════════════════════════ */
.mf-checkout-page {
  padding: 40px 0 80px;
}

/* ── Bento cards (FF Wheels pattern adapted for dark theme) ── */
.mf-card {
  background: var(--mf-surface);
  border: 1px solid var(--mf-line);
  border-radius: 14px;
  overflow: hidden;
}
.mf-card__header {
  padding: 20px 22px;
  border-bottom: 1px solid var(--mf-line);
  display: flex;
  align-items: center;
  gap: 14px;
}
.mf-card__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--mf-text);
  margin: 0;
}

/* Trust badges */
.mf-trust-row {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.mf-trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--mf-muted);
}
.mf-trust-pill svg { width: 13px; height: 13px; flex-shrink: 0; }

/* Force WC checkout sections to not fight our grid */
.mf-checkout-page #customer_details,
.mf-checkout-page #order_review,
.mf-checkout-page #order_review_heading {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Coupon toggle banner (rendered by WC before the form) ── */
.mf-checkout-page .woocommerce-form-coupon-toggle,
.mf-checkout-page .blockui-coupon-toggle {
  margin-bottom: 24px;
}

.mf-checkout-page .woocommerce-info {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 12px;
  border: 1px solid var(--mf-line);
  background: var(--mf-surface);
  color: var(--mf-muted);
  font-size: 13px;
  border-left: none;
  margin: 0 0 24px;
  list-style: none;
}
.mf-checkout-page .woocommerce-info::before { display: none; }
.mf-checkout-page .woocommerce-info a {
  color: var(--mf-gold);
  text-decoration: none;
  font-weight: 600;
}
.mf-checkout-page .woocommerce-info a:hover { text-decoration: underline; }

/* ── Coupon form (expanded) ── */
.mf-checkout-page .checkout_coupon {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid var(--mf-line);
  border-radius: 12px;
  background: var(--mf-surface);
  margin: 0 0 24px;
}
.mf-checkout-page .checkout_coupon input[type="text"] {
  flex: 1;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--mf-line);
  border-radius: 8px;
  background: var(--mf-bg);
  color: var(--mf-text);
  font-size: 14px;
  font-family: inherit;
  outline: none;
}
.mf-checkout-page .checkout_coupon input[type="text"]:focus {
  border-color: var(--mf-gold);
}
.mf-checkout-page .checkout_coupon button {
  height: 40px;
  padding: 0 18px;
  background: var(--mf-gold);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: opacity .15s;
  white-space: nowrap;
}
.mf-checkout-page .checkout_coupon button:hover { opacity: .85; }

/* ── The form itself — block layout, our grid div handles columns ── */
.mf-checkout-page form.checkout.woocommerce-checkout {
  display: block !important;
}

/* ── Card body padding ── */
.mf-card__body {
  padding: 20px 22px;
}

/* ── WC outputs a h3 "Billing details" inside billing action — hide it ── */
.mf-checkout-page .woocommerce-billing-fields > h3,
.mf-checkout-page .woocommerce-shipping-fields > h3 {
  display: none;
}
/* WC standard additional-fields (order notes) — hidden because we render
   them manually in our own Anmerkungen card. Prevents duplicate. */
.mf-checkout-page .woocommerce-additional-fields {
  display: none !important;
}

/* ── Express Checkout (PayPal / Apple Pay / Google Pay) ── */
.mf-express-checkout {
  margin-bottom: 24px;
  background: var(--mf-surface);
  border: 1px solid var(--mf-line);
  border-radius: var(--mf-radius);
  padding: 20px 24px;
}
.mf-express-checkout__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mf-muted);
  margin-bottom: 14px;
}
.mf-express-checkout__buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.mf-express-btn-slot {
  flex: 1 1 0;
  min-width: 140px;
  min-height: 44px;
}
/* Hide slot if PayPal JS didn't render anything inside */
.mf-express-btn-slot:empty {
  display: none;
}
.mf-express-checkout__divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  font-size: 11px;
  font-weight: 600;
  color: var(--mf-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.mf-express-checkout__divider::before,
.mf-express-checkout__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--mf-line);
}

/* Hide the entire express section if nothing rendered */
.mf-express-checkout:has(.mf-express-checkout__buttons:not(:has(*:not(:empty)))) {
  display: none;
}

/* Hide ALL PayPal-rendered button divs in the checkout order review.
   PPCP renders its own submit for Card payments (ppcp-card-button-gateway)
   plus Apple Pay / Google Pay containers. We only want our single WC place_order button. */
#ppc-button-ppcp-applepay,
#ppc-button-ppcp-googlepay,
#ppc-button-ppcp-card-button-gateway,
#order_review > [id^="ppc-button-"],
#order_review [id^="ppc-button-"],
.mf-checkout-page [id^="ppc-button-"],
.mf-checkout-page .ppcp-vaulted-paypal-details + button,
.mf-checkout-page #payment .ppc-button-wrapper,
.mf-checkout-page #payment [id*="ppcp"][id*="submit"],
.mf-checkout-page #payment .ppcp-card-button-container {
  display: none !important;
}
/* PayPal DCC (Direct Card Capture) renders a SECOND #place_order button
   with class .ppcp-dcc-order-button — hide it, our own WC button is enough */
.mf-checkout-page .ppcp-dcc-order-button,
.mf-checkout-page #ppcp-hosted-fields > button,
.mf-checkout-page #ppcp-hosted-fields .ppcp-dcc-order-button,
#payment .ppcp-dcc-order-button {
  display: none !important;
}

/* Override PayPal button styling within our express section */
.mf-express-checkout .paypal-buttons {
  min-height: 44px !important;
}
.mf-express-checkout iframe {
  border-radius: 10px !important;
}

@media (max-width: 600px) {
  .mf-express-checkout__buttons {
    flex-direction: column;
  }
  .mf-express-btn-slot {
    min-width: 100%;
  }
}

.mf-checkout-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 28px;
  align-items: start;
  overflow: visible;
}

.mf-checkout-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0; /* prevent grid blowout */
}

.mf-checkout-right {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

/* WC review order table — reset internal floats */
.mf-checkout-right .woocommerce-checkout-review-order-table,
.mf-checkout-right table.shop_table {
  width: 100% !important;
  float: none !important;
  border-collapse: collapse;
}
.mf-checkout-right table.shop_table thead th { display: none; }
.mf-checkout-right table.shop_table .cart_item td {
  display: block;
  border: none;
  padding: 4px 0;
}
.mf-checkout-right table.shop_table .cart_item .product-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--mf-text);
}
.mf-checkout-right table.shop_table .cart_item .product-name .quantity {
  color: var(--mf-muted);
  font-weight: 400;
}
.mf-checkout-right table.shop_table .cart_item .product-total {
  font-size: 14px;
  font-weight: 700;
  color: var(--mf-text);
  text-align: left;
}
/* Order totals table */
.mf-checkout-right .woocommerce-checkout-payment { margin-top: 16px; }
.mf-checkout-right table.shop_table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
.mf-checkout-right table.shop_table.woocommerce-checkout-review-order-table tr.order-total td,
.mf-checkout-right table.shop_table.woocommerce-checkout-review-order-table tr.tax-rate td {
  display: table-cell !important;
}

@media (max-width: 900px) {
  .mf-checkout-grid { grid-template-columns: 1fr; }
  .mf-checkout-right { position: static; }
}

/* Card number badge */
.mf-card__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--mf-gold);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  flex-shrink: 0;
}

.mf-card__desc {
  font-size: 12px;
  color: var(--mf-muted);
  margin: 2px 0 0;
}

/* Ship toggle link */
.mf-ship-toggle-wrap {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--mf-line);
}

.mf-ship-toggle-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--mf-muted);
  text-decoration: none;
  transition: color .15s;
}
.mf-ship-toggle-link:hover { color: var(--mf-text); }
.mf-ship-toggle-link svg { flex-shrink: 0; }


/* ═══ WC FORM FIELDS ═══ */
/* ═══════════════════════════════════════════════════
   WC FORM FIELDS — Cart, Checkout, My Account
═══════════════════════════════════════════════════ */

/* Labels */
.mf-checkout-page .woocommerce-billing-fields .form-row label,
.mf-checkout-page .woocommerce-shipping-fields .form-row label,
.mf-checkout-page .woocommerce-additional-fields .form-row label,
.mfh-woo-page-content .woocommerce form .form-row label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--mf-muted);
  text-transform: uppercase;
  letter-spacing: .6px;
  margin: 0 0 6px;
}

/* Inputs + Textarea + Select */
.mf-checkout-page .input-text,
.mf-checkout-page select,
.mf-checkout-page textarea,
.mfh-woo-page-content .woocommerce .input-text,
.mfh-woo-page-content .woocommerce select,
.mfh-woo-page-content .woocommerce textarea {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--mf-line);
  border-radius: 9px;
  background: var(--mf-bg);
  color: var(--mf-text) !important;
  font-family: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color .18s, box-shadow .18s;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
}
.mf-checkout-page textarea,
.mfh-woo-page-content .woocommerce textarea {
  height: auto;
  min-height: 100px;
  padding: 12px 14px;
  resize: vertical;
}
.mf-checkout-page .input-text:focus,
.mf-checkout-page select:focus,
.mf-checkout-page textarea:focus,
.mfh-woo-page-content .woocommerce .input-text:focus,
.mfh-woo-page-content .woocommerce select:focus,
.mfh-woo-page-content .woocommerce textarea:focus {
  border-color: var(--mf-gold);
  box-shadow: 0 0 0 3px rgba(179,144,71,.15);
}
.mf-checkout-page .input-text::placeholder,
.mf-checkout-page textarea::placeholder {
  color: var(--mf-muted);
  opacity: .7;
}

/* Form row layout — float-based (FF Wheels pattern) */
.mf-checkout-page .form-row { margin-bottom: 14px; }
.mf-checkout-page .form-row-first,
.mf-checkout-page .form-row-last { width: 48% !important; }
.mf-checkout-page .form-row-first { float: left !important; clear: left !important; }
.mf-checkout-page .form-row-last  { float: right !important; clear: right !important; }
.mf-checkout-page .form-row-wide  { width: 100% !important; clear: both !important; }
.mf-checkout-page #billing_postcode_field.form-row-wide,
.mf-checkout-page #billing_postcode_field {
  width: 48% !important;
  float: left !important;
  clear: none !important;
}
.mf-checkout-page #billing_city_field.form-row-wide,
.mf-checkout-page #billing_city_field {
  width: 48% !important;
  float: right !important;
  clear: none !important;
}
.mf-checkout-page .mf-name-divider-row {
  border-bottom: 1px solid var(--mf-line);
  padding-bottom: 14px;
  margin-bottom: 18px;
}
.mf-checkout-page .form-row::after { content: ''; display: table; clear: both; }
.mf-checkout-page .woocommerce-input-wrapper { width: 100%; }

.mf-checkout-page .mf-checkout-hidden-field {
  display: none !important;
}

.mf-checkout-page .mf-business-field { display: none !important; }
.mf-checkout-page.mf-business-customer .mf-business-field { display: block !important; }

@media (max-width: 600px) {
  .mf-checkout-page .form-row-first,
  .mf-checkout-page .form-row-last {
    width: 100% !important;
    float: none !important;
    clear: both !important;
  }
}

/* Validation */
.mf-checkout-page .woocommerce-input-wrapper { width: 100%; }
.mf-checkout-page .form-row.woocommerce-invalid .input-text,
.mf-checkout-page .form-row.woocommerce-invalid select {
  border-color: #f87171;
}
.mf-checkout-page .form-row .woocommerce-error {
  font-size: 12px;
  color: #f87171;
  margin: 4px 0 0;
  display: block;
}

/* ── Checkout order review ── */
.mf-checkout-page .woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.mf-checkout-page .woocommerce-checkout-review-order-table th,
.mf-checkout-page .woocommerce-checkout-review-order-table td {
  padding: 10px 0;
  border-bottom: 1px solid var(--mf-line);
  color: var(--mf-muted);
  background: transparent;
}
.mf-checkout-page .woocommerce-checkout-review-order-table th {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
}
.mf-checkout-page .woocommerce-checkout-review-order-table .product-name {
  color: var(--mf-text);
  font-weight: 600;
}
.mf-checkout-page .woocommerce-checkout-review-order-table .order-total td,
.mf-checkout-page .woocommerce-checkout-review-order-table .order-total th {
  border-bottom: none;
  color: var(--mf-text);
  font-weight: 700;
  font-size: 16px;
  padding-top: 14px;
}
.mf-checkout-page .woocommerce-checkout-review-order-table .order-total .amount {
  color: var(--mf-gold);
}

/* ── Payment box ── */
.mf-checkout-page #payment {
  background: transparent;
  border-radius: 0;
  padding: 0;
  margin-top: 16px;
}
.mf-checkout-page #payment .wc_payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Payment method card: COLUMN layout (label oben, description unten) */
.mf-checkout-page #payment .wc_payment_methods li {
  padding: 14px 16px;
  border: 1.5px solid var(--mf-line);
  border-radius: 12px;
  background: var(--mf-surface);
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
  transition: border-color .2s;
  position: relative;
}

/* Native radio input komplett verstecken */
.mf-checkout-page #payment .wc_payment_methods li input[type="radio"],
.mf-checkout-page #payment input.input-radio {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}

/* Label-Zeile: Custom-Radiobutton (::before) + Methodenname nebeneinander */
.mf-checkout-page #payment .wc_payment_methods label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--mf-text);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  padding: 0;
  line-height: 1.3;
}
/* Custom radio circle */
.mf-checkout-page #payment .wc_payment_methods li label::before {
  content: '';
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,0.2);
  background: #fff;
  transition: border-color .2s, background .2s;
  box-sizing: border-box;
  display: block;
}
/* Ausgewaehlt: Gold border + goldener Punkt */
.mf-checkout-page #payment .wc_payment_methods li:has(input:checked) {
  border-color: var(--mf-gold);
}
.mf-checkout-page #payment .wc_payment_methods li:has(input:checked) label::before {
  border-color: var(--mf-gold);
  background: radial-gradient(circle at center, var(--mf-gold) 4.5px, transparent 4.5px);
}
/* Payment method logo (PayPal etc.) */
.mf-checkout-page #payment .wc_payment_methods label img {
  height: 22px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}
/* Beschreibungstext (Banküberweisung-Info): eingerückt unter den Methodennamen */
.mf-checkout-page #payment .payment_box {
  background: transparent;
  border: none;
  padding: 0 0 0 27px; /* 17px (circle) + 10px (gap) = unter dem Text */
  font-size: 13px;
  color: var(--mf-muted);
  line-height: 1.55;
  margin: 0;
}

/* ── Place order button ── */
.mf-checkout-page #place_order,
.mf-checkout-page #payment #place_order {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  margin-top: 20px;
  background: var(--mf-gold) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity .18s;
  font-family: inherit;
}
.mf-checkout-page #place_order:hover,
.mf-checkout-page #payment #place_order:hover { opacity: .88; }

/* ── WC Notices on checkout ── */
.mf-checkout-page .woocommerce-error,
.mf-checkout-page .woocommerce-message,
.mfh-woo-page-content .woocommerce-notices-wrapper .woocommerce-error,
.mfh-woo-page-content .woocommerce-notices-wrapper .woocommerce-message {
  padding: 14px 18px 14px 50px !important;
  border-radius: 10px;
  font-size: 13px;
  list-style: none;
  margin: 0 0 20px;
  position: relative !important;
}
.mf-checkout-page .woocommerce-error,
.mfh-woo-page-content .woocommerce-notices-wrapper .woocommerce-error {
  background: rgba(248,113,113,.1);
  border: 1px solid rgba(248,113,113,.3);
  color: #fca5a5;
  border-left: 3px solid #ef4444 !important;
}
.mf-checkout-page .woocommerce-message,
.mfh-woo-page-content .woocommerce-notices-wrapper .woocommerce-message {
  background: rgba(34,197,94,.08);
  border: 1px solid rgba(34,197,94,.25);
  color: #86efac;
  border-left: 3px solid #22c55e !important;
}
.mf-checkout-page .woocommerce-message::before,
.mf-checkout-page .woocommerce-error::before,
.mfh-woo-page-content .woocommerce-notices-wrapper .woocommerce-message::before,
.mfh-woo-page-content .woocommerce-notices-wrapper .woocommerce-error::before {
  left: 16px !important;
  top: 13px !important;
}




/* ═══ GERMANIZED (WC GZD) ═══ */
/* ═══════════════════════════════════════════════════
   GERMANIZED (WC GZD) — Checkout Overrides
   Targets all injected Germanized elements in checkout
   to prevent layout/color conflicts with our dark theme.
═══════════════════════════════════════════════════ */

/* 1. Kill GZD's blue/tinted order-payment heading */
.mf-checkout-page #order_payment_heading,
.mf-checkout-page h3#order_payment_heading {
  display: none !important; /* WC already renders the card title "Deine Bestellung" */
}

/* 2. GZD injects a wc-gzd-checkout-payment-select-table wrapper — reset it */
.mf-checkout-page .wc-gzd-checkout-payment-select-table,
.mf-checkout-page #payment-method {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* 3. GZD checkbox placeholders in order review & payment — dark-theme consistent */
.wc-gzd-checkbox-placeholder {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
}
.wc-gzd-checkbox-placeholder .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--mf-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
  cursor: pointer;
}
.wc-gzd-checkbox-placeholder .woocommerce-form__label-for-checkbox a {
  color: var(--mf-gold) !important;
  text-decoration: underline;
}
.wc-gzd-checkbox-placeholder input[type="checkbox"] {
  flex-shrink: 0;
  margin: 2px 0 0 !important;
  width: 14px !important;
  height: 14px !important;
  accent-color: var(--mf-gold);
}
/* GZD asterisk / required indicator */
.wc-gzd-checkbox-placeholder .required { color: #ef4444 !important; }

/* 4. GZD injects a data-service / data-download checkbox wrapper — ensure full-width */
.mf-checkout-page .woocommerce-billing-fields__field-wrapper > .wc-gzd-checkbox-placeholder,
.mf-checkout-page .woocommerce-shipping-fields__field-wrapper > .wc-gzd-checkbox-placeholder {
  clear: both !important;
  width: 100% !important;
  float: none !important;
}

/* 5. GZD revocation/terms block in #order_review — reset bg */
#order_review .woocommerce-checkout-payment {
  background: transparent !important;
}


/* ═══ AGB-CHECKBOX FIX ═══ */
/* ═══════════════════════════════════════════════
   AGB-CHECKBOX FIX: #order_review als flex-Column
   DOM-Reihenfolge von GZD (innerhalb #order_review):
     1) h3#order_payment_heading  (hidden)
     2) #payment  (Zahlungsmethoden)
     3) .wc-gzd-checkbox-placeholder[terms]  ← AGB ist hier, FALSCH
     4) weitere GZD-Placeholders
     5) table.shop_table  (Bestelltabelle)
     6) .wc-gzd-order-submit > button  (Kaufen)
   Ziel: Button = letzter vor AGB, AGB ganz unten
   ═══════════════════════════════════════════════ */
#order_review {
  display: flex !important;
  flex-direction: column !important;
}
/* Zahlungsmethoden: ganz oben */
#order_review > #payment              { order: 10; }
/* Bestelltabelle: nach Payment */
#order_review > table.shop_table      { order: 20; }
/* Kaufen-Button-Wrapper: nach Tabelle */
#order_review > .wc-gzd-order-submit  { order: 30; }
/* AGB-Checkbox: GANZ UNTEN */
#order_review > .wc-gzd-checkbox-placeholder[data-checkbox="terms"]  { order: 40; }
/* Alle anderen GZD-Placeholders: ausblenden oder nach AGB */
#order_review > .wc-gzd-checkbox-placeholder:not([data-checkbox="terms"]) { order: 50; display: none !important; }
/* GZD hidden terms input */
#order_review > input[name="terms"]   { order: 45; }
/* Heading: ausgeblendet */
#order_review > h3#order_payment_heading { order: 0; display: none !important; }

/* AGB-Checkbox Styling */
#order_review > .wc-gzd-checkbox-placeholder[data-checkbox="terms"] {
  margin-top: 12px !important;
  padding: 12px 14px !important;
  background: var(--mf-surface) !important;
  border: 1px solid var(--mf-line) !important;
  border-radius: 10px !important;
}
#order_review > .wc-gzd-checkbox-placeholder[data-checkbox="terms"] .legal {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}
#order_review > .wc-gzd-checkbox-placeholder[data-checkbox="terms"] input[type="checkbox"] {
  flex-shrink: 0;
  margin: 2px 0 0 !important;
  width: 15px !important;
  height: 15px !important;
  accent-color: var(--mf-gold);
  cursor: pointer;
  display: block !important;
}
#order_review > .wc-gzd-checkbox-placeholder[data-checkbox="terms"] label.woocommerce-form__label,
#order_review > .wc-gzd-checkbox-placeholder[data-checkbox="terms"] .woocommerce-gzd-legal-checkbox-text {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--mf-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
#order_review > .wc-gzd-checkbox-placeholder[data-checkbox="terms"] .woocommerce-gzd-legal-checkbox-text a {
  color: var(--mf-gold) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Kaufen-Button Styling direkt in #order_review */
.wc-gzd-order-submit { width: 100%; }

.mf-cart-page .cart_totals {
  float: none;
  width: 100%;
}
.mf-cart-page .cart_totals table {
  width: 100%;
  border: none;
  border-collapse: collapse;
  font-size: 14px;
  color: var(--mf-muted);
}
.mf-cart-page .cart_totals table tr { border-bottom: 1px solid var(--mf-line); }
.mf-cart-page .cart_totals table tr:last-child { border-bottom: none; }
.mf-cart-page .cart_totals table th,
.mf-cart-page .cart_totals table td {
  padding: 12px 0;
  background: transparent;
  border: none;
  vertical-align: middle;
}
.mf-cart-page .cart_totals table .order-total th,
.mf-cart-page .cart_totals table .order-total td {
  color: var(--mf-text);
  font-weight: 700;
  font-size: 16px;
}
.mf-cart-page .cart_totals table .order-total .amount {
  color: var(--mf-gold);
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  margin-top: 16px;
  background: var(--mf-gold);
  color: #fff;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  transition: opacity .18s;
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  opacity: .88;
}

/* ── "oder" Divider zwischen Checkout-Button und Express-Buttons ── */
.mf-cart-page .cart_totals .wc-proceed-to-checkout {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* "oder" Trennlinie nach dem Checkout-Button */
.mf-cart-page .cart_totals .wc-proceed-to-checkout a.checkout-button {
  order: 1;
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout a.checkout-button + * {
  order: 3;
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout::after {
  content: 'oder';
  order: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 14px 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--mf-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout::before {
  display: none; /* remove any existing ::before */
}
.mf-cart-page .cart_totals .wc-proceed-to-checkout::after {
  /* Horizontal lines around text */
  background-image: linear-gradient(var(--mf-line), var(--mf-line));
  background-size: calc(50% - 22px) 1px;
  background-position: left center, right center;
  background-repeat: no-repeat;
  justify-content: center;
}
/* PayPal express buttons — full width and ordered after divider */
.mf-cart-page .cart_totals .wc-proceed-to-checkout > div,
.mf-cart-page .cart_totals .wc-proceed-to-checkout > [id^="ppc-button"] {
  order: 3;
  width: 100%;
  margin-bottom: 6px;
}

