/* ============================================================
   SINTERKLAASDECORATIE.NL — WooCommerce Overrides
   Product detail, winkelwagen, checkout styling.
   ============================================================ */


/* ==========================================================================
   PRODUCT DETAIL — px-wc-product-top
   ========================================================================== */

.px-wc-product-top {
  padding: 0 0 var(--space-d3);
  background: var(--paper);
}

.px-wc-product-top__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-d2);
  align-items: start;
}

@media (min-width: 768px) {
  .px-wc-product-top__layout {
    grid-template-columns: 55fr 45fr;
    gap: var(--space-d3);
  }
}

/* --- Gallery --- */
.px-wc-gallery { position: relative; }

@media (min-width: 768px) {
  .px-wc-gallery {
    position: sticky;
    top: var(--space-d1);
  }
}

.px-wc-gallery__main {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  cursor: zoom-in;
  background: var(--cream);
}

.px-wc-gallery__main img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-smooth);
}

.px-wc-gallery__main:hover img { transform: scale(1.04); }

/* Gallery slides (only active visible) */
.px-wc-gallery__slide { display: none; }
.px-wc-gallery__slide.is-active { display: block; }

/* Zoom hint */
.px-wc-gallery__zoom-hint {
  position: absolute;
  bottom: var(--space-d075);
  right: var(--space-d075);
  background: rgba(253,252,247,0.85);
  backdrop-filter: blur(8px);
  width: 36px; height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  opacity: 0;
  transition: opacity var(--duration-normal);
  z-index: 2;
}
.px-wc-gallery__main:hover .px-wc-gallery__zoom-hint { opacity: 1; }

.px-wc-gallery__badge {
  position: absolute;
  top: var(--space-d075);
  left: var(--space-d075);
  background: var(--ink);
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  padding: var(--space-d025) var(--space-d05);
  z-index: 2;
}

.px-wc-gallery__thumbs {
  display: flex;
  gap: var(--space-d05);
  margin-top: var(--space-d05);
}

.px-wc-gallery__thumb {
  flex: 1;
  aspect-ratio: 1;
  border: 2px solid transparent;
  overflow: hidden;
  cursor: pointer;
  background: none;
  padding: 0;
  transition: border-color var(--duration-fast);
}

.px-wc-gallery__thumb:hover { border-color: var(--gold-soft); }
.px-wc-gallery__thumb.is-active { border-color: var(--gold); }

.px-wc-gallery__thumb img {
  width: 100%; height: 100%; object-fit: cover;
}


/* --- Product Info --- */
.px-wc-info__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-d1);
}

.px-wc-info__category {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wider);
  color: var(--gold);
}

.px-wc-info__title {
  font-family: var(--font-display);
  font-size: var(--text-d15);
  font-weight: var(--weight-semibold);
  line-height: var(--lh-snug);
  color: var(--ink);
  margin: 0;
  letter-spacing: var(--ls-tight);
}

.px-wc-info__reviews {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
}

.px-wc-info__stars {
  color: var(--px-color-star);
  font-size: var(--text-d075);
  letter-spacing: 2px;
}

.px-wc-info__reviews-link {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.px-wc-info__price {
  display: flex;
  align-items: baseline;
  gap: var(--space-d05);
}

.px-wc-info__price-current {
  font-family: var(--font-display);
  font-size: var(--text-d15);
  font-weight: var(--weight-bold);
  color: var(--ink);
}

.px-wc-info__price-old {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  color: var(--text-muted);
  text-decoration: line-through;
}

.px-wc-info__desc {
  font-family: var(--font-body);
  color: var(--text);
  line-height: var(--lh-relaxed);
  margin: 0;
}

/* Varianten */
.px-wc-variants__label {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  display: block;
  margin-bottom: var(--space-d025);
}

.px-wc-variants__options {
  display: flex;
  gap: var(--space-d025);
}

.px-wc-variant {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-medium);
  padding: var(--space-d025) var(--space-d075);
  border: 1.5px solid var(--line);
  background: var(--white);
  color: var(--text);
  cursor: pointer;
  transition: all var(--duration-fast);
}

.px-wc-variant:hover { border-color: var(--gold-soft); }

.px-wc-variant.is-active {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}


/* --- Add to Cart --- */
.px-wc-actions {
  display: flex;
  gap: var(--space-d05);
  align-items: stretch;
}

.px-wc-qty {
  display: flex;
  border: 1.5px solid var(--line);
  overflow: hidden;
  flex-shrink: 0;
}

.px-wc-qty__btn {
  width: 44px; height: 48px;
  border: none;
  background: var(--cream);
  cursor: pointer;
  font-size: var(--text-d1);
  color: var(--ink);
  transition: background var(--duration-fast);
  display: flex;
  align-items: center;
  justify-content: center;
}

.px-wc-qty__btn:hover { background: var(--gold-soft); }

.px-wc-qty__input {
  width: 48px; height: 48px;
  border: none;
  text-align: center;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  background: var(--white);
  -moz-appearance: textfield;
  appearance: textfield;
}

.px-wc-qty__input::-webkit-inner-spin-button,
.px-wc-qty__input::-webkit-outer-spin-button {
  -webkit-appearance: none; margin: 0;
}

.px-wc-add-to-cart {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d05) var(--space-d1);
  cursor: pointer;
  height: 48px;
  transition: var(--transition-btn);
}

.px-wc-add-to-cart:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}


/* --- Wishlist --- */
.px-wc-wishlist {
  display: flex;
  align-items: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color var(--duration-fast);
}
.px-wc-wishlist:hover { color: var(--gold); }
.px-wc-wishlist:hover svg { stroke: var(--gold); }


/* --- WooCommerce add-to-cart form override --- */

/* Stock text */
.px-wc-add-to-cart-section .stock {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--success);
  font-weight: var(--weight-medium);
  margin: 0;
}

/* Product details column: spacing between info, cart, wishlist, USPs */
.px-wc-product-top__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-d15);
}

/* Cart form layout */
.px-wc-add-to-cart-section .cart {
  display: flex;
  gap: var(--space-d05);
  align-items: stretch;
}

/* Qty via webshop-core km-qty: style to match demo */
.px-wc-add-to-cart-section .km-qty {
  border: 1.5px solid var(--line);
  height: 48px;
}

.px-wc-add-to-cart-section .km-qty__btn {
  width: 44px;
  height: 48px;
  font-size: var(--text-d1);
}

.px-wc-add-to-cart-section .km-qty input[type="number"] {
  width: 48px;
  height: 48px;
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
}

.px-wc-add-to-cart-section .single_add_to_cart_button {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d05) var(--space-d1);
  cursor: pointer;
  height: 48px;
  transition: var(--transition-btn);
  text-transform: none;
  letter-spacing: normal;
  border-radius: 0;
  line-height: 1;
}

.px-wc-add-to-cart-section .single_add_to_cart_button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}


/* --- Payment icons --- */
.px-wc-payment {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
  flex-wrap: wrap;
}

.px-wc-payment__label {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.px-wc-payment__icon {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  padding: 4px 10px;
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
}

.px-wc-payment__icon svg {
  width: 38px;
  height: 24px;
  display: block;
}


/* ==========================================================================
   PRODUCT TABS — px-wc-tabs
   ========================================================================== */

.px-wc-tabs-section {
  background: var(--white);
  padding: var(--space-d3) 0;
  border-top: 1px solid var(--line);
}

.px-wc-tabs__content {
  max-width: 800px;
}

.px-wc-tabs__content p {
  color: var(--text);
  line-height: var(--lh-relaxed);
  font-family: var(--font-body);
  margin: 0 0 var(--space-d075);
}

/* Specificaties */
.px-wc-specs { margin-top: var(--space-d15); }

.px-wc-specs h3 {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0 0 var(--space-d075);
}

.px-wc-specs__table { width: 100%; border-collapse: collapse; }
.px-wc-specs__table tr { border-bottom: 1px solid var(--line-soft); }
.px-wc-specs__table td { padding: var(--space-d05) 0; font-size: var(--text-d075); }
.px-wc-specs__table td:first-child {
  font-family: var(--font-display);
  font-weight: var(--weight-medium);
  color: var(--text-muted);
  width: 40%;
}

/* Reviews summary */
.px-wc-reviews-summary {
  display: flex;
  gap: var(--space-d2);
  padding: var(--space-d15);
  background: var(--paper);
  border: 1px solid var(--line);
  margin-bottom: var(--space-d15);
  align-items: center;
  flex-wrap: wrap;
}

.px-wc-reviews-summary__number {
  font-family: var(--font-display);
  font-size: var(--text-d2);
  font-weight: var(--weight-bold);
  color: var(--ink);
  line-height: 1;
}

/* Review items */
.px-wc-review {
  padding: var(--space-d1);
  background: var(--paper);
  border: 1px solid var(--line-soft);
  margin-bottom: var(--space-d1);
}

.px-wc-review__header {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
  margin-bottom: var(--space-d05);
  flex-wrap: wrap;
}

.px-wc-review__avatar {
  width: 40px; height: 40px;
  background: var(--gold-soft);
  color: var(--ink);
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.px-wc-review__verified {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--success);
  font-weight: var(--weight-medium);
  margin-left: auto;
}


/* ==========================================================================
   MOBILE STICKY BAR — px-wc-sticky-bar
   ========================================================================== */

.px-wc-sticky-bar {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--white);
  border-top: 1px solid var(--line);
  padding: var(--space-d05) var(--space-d1);
  z-index: 90;
  transform: translateY(100%);
  transition: transform var(--duration-normal);
  display: none;
}

.px-wc-sticky-bar.is-visible { transform: translateY(0); }

@media (max-width: 768px) {
  .px-wc-sticky-bar { display: block; }
}

.px-wc-sticky-bar__inner {
  max-width: var(--row-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-d05);
}

.px-wc-sticky-bar__price {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-bold);
  color: var(--ink);
}

.px-wc-sticky-bar__name {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.px-wc-sticky-bar__btn {
  display: flex;
  align-items: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: none;
  padding: var(--space-d05) var(--space-d1);
  cursor: pointer;
  white-space: nowrap;
  transition: var(--transition-btn);
}

.px-wc-sticky-bar__btn:hover {
  background: var(--gold);
  color: var(--ink);
}


/* ==========================================================================
   PRODUCT FAQ — px-wc-faq
   ========================================================================== */

.px-wc-faq {
  background: var(--paper);
  padding: var(--space-d3) 0;
  border-top: 1px solid var(--line);
}

.px-wc-faq .px-section-header__title {
  text-align: center;
}


/* ==========================================================================
   RELATED PRODUCTS — px-wc-related
   ========================================================================== */

.px-wc-related {
  background: var(--cream);
  padding: var(--space-d3) 0;
  border-top: 1px solid var(--line);
}

.px-wc-related .px-section-header__title {
  text-align: center;
}


/* ==========================================================================
   REVIEWS SUMMARY — bars
   ========================================================================== */

.px-wc-reviews-summary__bars {
  flex: 1;
  min-width: 200px;
  display: flex;
  flex-direction: column;
  gap: var(--space-d025);
}

.px-wc-reviews-summary__bar-row {
  display: flex;
  align-items: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.px-wc-reviews-summary__bar-label { width: 40px; text-align: right; }
.px-wc-reviews-summary__bar-count { width: 20px; }

.px-wc-reviews-summary__bar {
  flex: 1;
  height: 6px;
  background: var(--cream);
  overflow: hidden;
}

.px-wc-reviews-summary__bar-fill {
  height: 100%;
  background: var(--px-color-star);
  transition: width 0.6s ease;
}

.px-wc-reviews-summary__stars {
  color: var(--px-color-star);
  font-size: var(--text-d1);
}

.px-wc-review__date {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.px-wc-review__stars {
  color: var(--px-color-star);
}

.px-wc-review__content {
  color: var(--text);
  line-height: var(--lh-relaxed);
  font-family: var(--font-body);
}


/* ==========================================================================
   BREADCRUMBS
   ========================================================================== */

.px-wc-breadcrumbs {
  padding: var(--space-d075) 0;
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: var(--space-d025);
  flex-wrap: wrap;
}

.px-wc-breadcrumbs a { color: var(--text-muted); }
.px-wc-breadcrumbs a:hover { color: var(--gold); }
.px-wc-breadcrumbs__sep { opacity: 0.4; }
.px-wc-breadcrumbs strong { color: var(--text); font-weight: var(--weight-medium); }


/* ==========================================================================
   WINKELWAGEN (CART)
   ========================================================================== */

.px-wc-cart-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-d2);
  align-items: start;
}

@media (min-width: 768px) {
  .px-wc-cart-layout {
    grid-template-columns: 1fr 380px;
  }
}

/* Cart items */
.px-wc-cart-item {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: var(--space-d1);
  padding: var(--space-d1) 0;
  border-bottom: 1px solid var(--line);
  align-items: start;
}

.px-wc-cart-item:first-child { border-top: 1px solid var(--line); }

.px-wc-cart-item__image {
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--cream);
}

.px-wc-cart-item__image img {
  width: 100%; height: 100%; object-fit: cover;
}

.px-wc-cart-item__title {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0;
  line-height: var(--lh-snug);
}

.px-wc-cart-item__line-total {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-bold);
  color: var(--ink);
  text-align: right;
}

/* Cart summary */
.px-wc-cart-summary {
  position: sticky;
  top: var(--space-d1);
}

.px-wc-cart-summary__inner {
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d15);
}

.px-wc-cart-summary__row {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  padding: var(--space-d025) 0;
}

.px-wc-cart-summary__row--total {
  font-size: var(--text-d1);
  font-weight: var(--weight-bold);
  color: var(--ink);
  padding: var(--space-d05) 0;
}

/* Free shipping progress */
.px-wc-progress-bar {
  height: 4px;
  background: var(--cream);
  overflow: hidden;
  margin-top: var(--space-d025);
}

.px-wc-progress-bar__fill {
  height: 100%;
  background: var(--gold);
  transition: width 0.6s ease;
}


/* --- Cart wrapper (items + sidebar grid) --- */
.px-wc-cart {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-d2);
  align-items: start;
}

@media (min-width: 768px) {
  .px-wc-cart {
    grid-template-columns: 1fr 380px;
  }
}

/* --- Cart item details --- */
.px-wc-cart-item__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-d05);
}

.px-wc-cart-item__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-d025);
}

.px-wc-cart-item__category {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  text-transform: uppercase;
  letter-spacing: var(--ls-wider);
  color: var(--gold);
  font-weight: var(--weight-medium);
}

.px-wc-cart-item__title a { color: var(--ink); }
.px-wc-cart-item__title a:hover { color: var(--gold); }

.px-wc-cart-item__variant {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.px-wc-cart-item__unit-price {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text-muted);
}

.px-wc-cart-item__controls {
  display: flex;
  align-items: center;
  gap: var(--space-d075);
  flex-wrap: wrap;
}

.px-wc-cart-item__remove {
  display: inline-flex;
  align-items: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color var(--duration-fast);
  text-decoration: none;
}

.px-wc-cart-item__remove:hover { color: var(--error); }

@media (max-width: 640px) {
  .px-wc-cart-item {
    grid-template-columns: 80px 1fr;
    gap: var(--space-d075);
  }
  .px-wc-cart-item__line-total {
    grid-column: 2;
    text-align: left;
    font-size: var(--text-d075);
  }
}


/* --- Cart actions --- */
.px-wc-cart__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--space-d1);
}

.px-wc-cart-back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text-muted);
  transition: color var(--duration-fast);
}

.px-wc-cart-back:hover { color: var(--gold); }

.px-wc-cart__update-btn {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--text-muted);
  background: var(--cream);
  border: 1px solid var(--line);
  padding: var(--space-d05) var(--space-d1);
  cursor: pointer;
  transition: all var(--duration-fast);
}

.px-wc-cart__update-btn:hover {
  border-color: var(--ink);
  color: var(--ink);
}

.px-wc-cart__update-btn[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}


/* --- Cart summary extras --- */
.px-wc-cart-summary__title {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0 0 var(--space-d1);
}

.px-wc-cart-summary__divider {
  height: 1px;
  background: var(--line);
  margin: var(--space-d05) 0;
}

.px-wc-cart-summary__tax-note {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  margin: 0 0 var(--space-d1);
}

.px-wc-cart-summary__free {
  color: var(--success);
  font-weight: var(--weight-semibold);
}

.px-wc-cart-summary__progress {
  padding: var(--space-d05) 0;
}

.px-wc-cart-summary__progress-text {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  display: block;
  margin-bottom: var(--space-d025);
}

/* Coupon form */
.px-wc-cart-summary__coupon {
  padding: var(--space-d075) 0;
}

.px-wc-cart-summary__coupon-form {
  display: flex;
  gap: 0;
  border: 1px solid var(--line);
}

.px-wc-cart-summary__coupon-input {
  flex: 1;
  padding: var(--space-d05) var(--space-d075);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  border: 0;
  background: transparent;
  color: var(--ink);
}

.px-wc-cart-summary__coupon-input:focus { outline: none; }

.px-wc-cart-summary__coupon-btn {
  background: var(--cream);
  border: 0;
  border-left: 1px solid var(--line);
  padding: 0 var(--space-d075);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  font-weight: var(--weight-semibold);
  color: var(--ink);
  cursor: pointer;
  transition: background var(--duration-fast);
}

.px-wc-cart-summary__coupon-btn:hover { background: var(--gold-soft); }

/* Checkout button in cart summary */
.px-wc-cart-summary__checkout .checkout-button,
.px-wc-cart-summary__checkout .wc-proceed-to-checkout a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-d025);
  width: 100%;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d075) var(--space-d1);
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: var(--transition-btn);
}

.px-wc-cart-summary__checkout .checkout-button:hover,
.px-wc-cart-summary__checkout .wc-proceed-to-checkout a:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}


/* --- Cart trust badges --- */
.px-wc-cart-trust-badges {
  display: flex;
  flex-direction: column;
  gap: var(--space-d05);
  margin-top: var(--space-d1);
  padding-top: var(--space-d1);
  border-top: 1px solid var(--line-soft, var(--line));
}

.px-wc-cart-trust-badges__item {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.px-wc-cart-trust-badges__item svg {
  flex-shrink: 0;
  color: var(--gold);
}


/* --- Quantity input (km-qty, shared JS via webshop-core) --- */
.km-qty {
  display: flex;
  border: 1px solid var(--line);
  overflow: hidden;
}

.km-qty__btn {
  width: 36px;
  height: 36px;
  border: none;
  background: var(--cream);
  cursor: pointer;
  font-size: var(--text-d075);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--duration-fast);
}

.km-qty__btn:hover { background: var(--gold-soft); }

.km-qty .input-text,
.km-qty input[type="number"] {
  width: 40px;
  height: 36px;
  border: none;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  text-align: center;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  background: var(--white);
  -moz-appearance: textfield;
  appearance: textfield;
}

.km-qty input::-webkit-inner-spin-button,
.km-qty input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


/* --- Winkelwagen module wrapper (px-winkelwagen BB module) --- */
.px-winkelwagen__title {
  font-family: var(--font-display);
  font-size: var(--text-d15);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0 0 var(--space-d15);
}

.px-winkelwagen__title span {
  font-size: var(--text-d075);
  font-weight: var(--weight-regular);
  color: var(--text-muted);
}

.px-winkelwagen__empty {
  text-align: center;
  padding: var(--space-d3) 0;
  color: var(--text-muted);
}

.px-winkelwagen__empty svg {
  width: 48px;
  height: 48px;
  margin-bottom: var(--space-d1);
  opacity: 0.4;
}

.px-winkelwagen__empty-text {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  margin-bottom: var(--space-d1);
}


/* ==========================================================================
   CHECKOUT PAGE TEMPLATE — Shopify-stijl (wc-checkout.php)
   ========================================================================== */

/* Hide BB Themer header/footer on checkout page */
.sd-checkout-page .fl-builder-content[data-type="header"],
.sd-checkout-page .fl-builder-content[data-type="footer"] {
  display: none !important;
}

.sd-checkout-page {
  background: var(--paper);
  font-family: var(--font-body);
  font-size: var(--text-d075);
  line-height: var(--lh-relaxed);
  color: var(--text);
}

/* Checkout page main content area */
.px-wc-checkout-page-main .px-container {
  max-width: var(--row-width);
  margin: 0 auto;
  padding: 0 var(--space-d1);
}

/* WC cart wrapper when rendered inside checkout template */
.sd-checkout-page .woocommerce {
  font-family: var(--font-body);
  font-size: var(--text-d1);
  line-height: var(--lh-relaxed);
}

/* Override WC default table styling within checkout template */
.sd-checkout-page .woocommerce table.shop_table {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  border: none;
  border-collapse: collapse;
}

.sd-checkout-page .woocommerce table.shop_table th {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  padding: var(--space-d075);
}

.sd-checkout-page .woocommerce table.shop_table td {
  padding: var(--space-d075);
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.sd-checkout-page .woocommerce .cart_totals h2 {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
}

.sd-checkout-page .woocommerce .wc-empty-cart-message .cart-empty {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  text-align: center;
  padding: var(--space-d3) 0;
}

.sd-checkout-page .woocommerce .return-to-shop {
  text-align: center;
}

.sd-checkout-page .woocommerce .return-to-shop .button {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d05) var(--space-d1);
  text-decoration: none;
  transition: var(--transition-btn);
}

.sd-checkout-page .woocommerce .return-to-shop .button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

/* Proceed to checkout button (WC default) */
.sd-checkout-page .wc-proceed-to-checkout a.checkout-button,
.px-wc-cart-summary__checkout .checkout-button {
  display: block;
  width: 100%;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper) !important;
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d075) var(--space-d1);
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: var(--transition-btn);
}

.sd-checkout-page .wc-proceed-to-checkout a.checkout-button:hover,
.sd-checkout-page .wc-proceed-to-checkout a.checkout-button:focus,
.px-wc-cart-summary__checkout .checkout-button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink) !important;
}

/* WC block cart button fallback */
.sd-checkout-page .wc-block-cart__submit-button,
.sd-checkout-page .wc-block-components-button {
  font-family: var(--font-display) !important;
  font-size: var(--text-d075) !important;
  font-weight: var(--weight-semibold) !important;
  background: var(--ink) !important;
  color: var(--paper) !important;
  border: 1.5px solid var(--ink) !important;
  padding: var(--space-d075) var(--space-d1) !important;
  transition: var(--transition-btn) !important;
}

.sd-checkout-page .wc-block-cart__submit-button:hover,
.sd-checkout-page .wc-block-components-button:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--ink) !important;
}

/* Checkout header */
.px-wc-checkout-header {
  background: var(--white);
  border-bottom: 1px solid var(--line);
  padding: var(--space-d075) var(--space-d1);
}

.px-wc-checkout-header__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-d1);
}

.px-wc-checkout-logo {
  font-family: var(--font-script);
  font-size: var(--text-d15);
  color: var(--ink);
  line-height: 1;
  text-decoration: none;
}

.px-wc-checkout-logo:hover { color: var(--gold); }

/* Checkout steps stepper */
.px-wc-checkout-steps {
  display: flex;
  align-items: center;
  gap: 0;
  font-family: var(--font-display);
  font-size: var(--text-d05);
}

.px-wc-checkout-steps__step {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
  color: var(--text-muted);
  text-decoration: none;
  padding: var(--space-d025) 0;
}

.px-wc-checkout-steps__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 2px solid var(--line);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-bold);
  color: var(--text-muted);
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.px-wc-checkout-steps__label {
  white-space: nowrap;
}

/* Connector line */
.px-wc-checkout-steps__line {
  width: 48px;
  height: 2px;
  background: var(--line);
  margin: 0 var(--space-d075);
  transition: background 0.2s ease;
}

.px-wc-checkout-steps__line--filled {
  background: var(--gold);
}

/* Done step */
.px-wc-checkout-steps__step--done .px-wc-checkout-steps__num {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--white);
}

.px-wc-checkout-steps__step--done {
  color: var(--text);
}

/* Active step */
.px-wc-checkout-steps__step--active .px-wc-checkout-steps__num {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(201, 162, 75, 0.08);
}

.px-wc-checkout-steps__step--active {
  color: var(--ink);
  font-weight: var(--weight-semibold);
}

/* Secure badge */
.px-wc-checkout-header__secure {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  background: var(--cream);
  padding: var(--space-d025) var(--space-d075);
}

.px-wc-checkout-header__secure svg {
  width: 16px;
  height: 16px;
  color: var(--gold);
}

@media (max-width: 768px) {
  .px-wc-checkout-steps__label { display: none; }
  .px-wc-checkout-steps__line { width: 24px; }
}

@media (max-width: 480px) {
  .px-wc-checkout-header__secure span { display: none; }
}


/* Checkout page main */
.px-wc-checkout-page-main {
  min-height: calc(100vh - 200px);
  padding: var(--space-d2) 0 var(--space-d3);
}

/* Checkout form layout (WC blocks) */
.px-wc-checkout-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: var(--space-d2) var(--space-d1);
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: var(--space-d3);
  align-items: start;
}

@media (max-width: 900px) {
  .px-wc-checkout-main {
    grid-template-columns: 1fr;
    gap: var(--space-d2);
  }
}


/* Checkout sections */
.px-wc-checkout-section {
  margin-bottom: var(--space-d2);
}

.px-wc-checkout-section__title {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0 0 var(--space-d1);
  display: flex;
  align-items: center;
  gap: var(--space-d05);
}

.px-wc-checkout-section__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-bold);
  background: var(--ink);
  color: var(--paper);
  flex-shrink: 0;
}

/* Checkout inputs */
.px-wc-checkout-input {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d05) var(--space-d075);
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--ink);
  width: 100%;
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}

.px-wc-checkout-input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.12);
}

.px-wc-checkout-label {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-medium);
  color: var(--ink);
  display: block;
  margin-bottom: var(--space-d025);
}

/* Shipping options */
.px-wc-shipping-option {
  display: flex;
  align-items: flex-start;
  gap: var(--space-d05);
  padding: var(--space-d075);
  border: 1px solid var(--line);
  background: var(--white);
  cursor: pointer;
  margin-bottom: var(--space-d05);
  transition: border-color var(--duration-fast);
}

.px-wc-shipping-option:hover { border-color: var(--gold-soft); }
.px-wc-shipping-option.is-active { border-color: var(--ink); }

/* Payment options */
.px-wc-payment-option {
  display: flex;
  align-items: center;
  gap: var(--space-d025);
  padding: var(--space-d05) var(--space-d075);
  border: 1px solid var(--line);
  background: var(--white);
  cursor: pointer;
  transition: border-color var(--duration-fast);
}

.px-wc-payment-option:hover { border-color: var(--gold-soft); }
.px-wc-payment-option.is-active { border-color: var(--ink); }

/* Checkout submit */
.px-wc-checkout-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-d05);
  width: 100%;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d1);
  cursor: pointer;
  transition: var(--transition-btn);
}

.px-wc-checkout-submit:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

/* Checkout summary */
.px-wc-checkout-summary__inner {
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d15);
}


/* Checkout footer — full width */
.px-wc-checkout-footer {
  border-top: 1px solid var(--line);
}

.px-wc-checkout-footer__trust {
  background: var(--cream);
  padding: var(--space-d15) 0;
}

.px-wc-checkout-footer__trust-inner {
  display: flex;
  justify-content: center;
  gap: var(--space-d3);
}

.px-wc-checkout-footer__badges {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text);
  font-weight: var(--weight-medium);
}

.px-wc-checkout-footer__badges svg {
  width: 20px;
  height: 20px;
  color: var(--gold);
}

.px-wc-checkout-footer__bottom {
  padding: var(--space-d1) 0;
}

.px-wc-checkout-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.px-wc-checkout-footer__links {
  display: flex;
  gap: var(--space-d1);
}

.px-wc-checkout-footer__links a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s ease;
}

.px-wc-checkout-footer__links a:hover { color: var(--gold); }

@media (max-width: 639px) {
  .px-wc-checkout-footer__trust-inner {
    flex-direction: column;
    align-items: center;
    gap: var(--space-d075);
  }
  .px-wc-checkout-footer__bottom-inner {
    flex-direction: column;
    gap: var(--space-d05);
    text-align: center;
  }
}


/* ==========================================================================
   THANK YOU PAGE — sd-thankyou
   ========================================================================== */

.sd-thankyou-hero {
  text-align: center;
  padding: var(--space-d3) 0 var(--space-d2);
}

.sd-thankyou-hero__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto var(--space-d1);
  background: linear-gradient(135deg, var(--gold-soft) 0%, var(--gold) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  animation: sd-pop-in 0.5s ease-out;
}

.sd-thankyou-hero__icon svg {
  width: 32px;
  height: 32px;
  color: var(--ink);
}

@keyframes sd-pop-in {
  from { transform: scale(0.5); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}

.sd-thankyou-hero__title {
  font-family: var(--font-display);
  font-size: var(--text-d2);
  font-weight: var(--weight-bold);
  color: var(--ink);
  margin: 0 0 var(--space-d05);
}

.sd-thankyou-hero__text {
  font-family: var(--font-body);
  font-size: var(--text-d075);
  color: var(--text-muted);
  max-width: 500px;
  margin: 0 auto var(--space-d1);
  line-height: var(--lh-relaxed);
}

.sd-thankyou-hero__order {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  background: var(--cream);
  padding: var(--space-d025) var(--space-d075);
  color: var(--ink);
}


/* --- Timeline --- */
.sd-thankyou-section-title {
  font-family: var(--font-display);
  font-size: var(--text-d15);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  text-align: center;
  margin: 0 0 var(--space-d15);
}

.sd-thankyou-timeline {
  max-width: 600px;
  margin: 0 auto var(--space-d3);
}

.sd-thankyou-timeline__steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-d1);
}

.sd-thankyou-timeline__step {
  display: flex;
  align-items: flex-start;
  gap: var(--space-d1);
}

.sd-thankyou-timeline__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-bold);
  flex-shrink: 0;
}

.sd-thankyou-timeline__step strong {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--ink);
  display: block;
  margin-bottom: var(--space-d025);
}

.sd-thankyou-timeline__step p {
  font-size: var(--text-d075);
  color: var(--text-muted);
  margin: 0;
  line-height: var(--lh-relaxed);
}


/* --- Order details wrapper --- */
.sd-thankyou-details {
  max-width: 780px;
  margin: 0 auto var(--space-d3);
}

/* Force all text in order details to display font */
.sd-thankyou-details,
.sd-thankyou-details address,
.sd-thankyou-details p,
.sd-thankyou-details li,
.sd-thankyou-details td,
.sd-thankyou-details th {
  font-family: var(--font-display);
  font-style: normal;
}

/* Hide default WC "thank you" message (we have custom hero) */
.sd-checkout-page .woocommerce-thankyou-order-received { display: none; }


/* --- Order overview (number, date, total, payment) --- */
.sd-thankyou-details .woocommerce-order-overview {
  list-style: none;
  padding: var(--space-d1) var(--space-d15);
  margin: 0 0 var(--space-d2);
  background: var(--cream);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-d025) var(--space-d15);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text-muted);
}

.sd-thankyou-details .woocommerce-order-overview li {
  display: inline;
}

.sd-thankyou-details .woocommerce-order-overview li:not(:last-child)::after {
  content: '·';
  margin-left: var(--space-d15);
  color: var(--text-muted);
  font-size: var(--text-d1);
  vertical-align: middle;
}

.sd-thankyou-details .woocommerce-order-overview li strong {
  font-weight: var(--weight-semibold);
  color: var(--ink);
}


/* --- Order details section --- */
.sd-thankyou-details .woocommerce-order-details {
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d15);
  margin-bottom: var(--space-d2);
}

.sd-thankyou-details .woocommerce-order-details__title {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0 0 var(--space-d1);
}


/* --- Order details table --- */
.sd-thankyou-details table.woocommerce-table--order-details {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  border: none;
}

.sd-thankyou-details table.woocommerce-table--order-details thead th {
  font-weight: var(--weight-semibold);
  color: var(--ink);
  padding: 0 0 var(--space-d05);
  border-bottom: 2px solid var(--ink);
  text-align: left;
  font-size: var(--text-d05);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
}

.sd-thankyou-details table.woocommerce-table--order-details thead th:last-child {
  text-align: right;
}

.sd-thankyou-details table.woocommerce-table--order-details tbody td {
  padding: var(--space-d075) 0;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
  color: var(--text);
}

.sd-thankyou-details table.woocommerce-table--order-details tbody td.product-name {
  font-weight: var(--weight-medium);
  color: var(--ink);
}

.sd-thankyou-details table.woocommerce-table--order-details tbody td.product-name a {
  color: var(--ink);
}

.sd-thankyou-details table.woocommerce-table--order-details tbody td.product-name a:hover {
  color: var(--gold);
}

.sd-thankyou-details table.woocommerce-table--order-details tbody td.product-name .product-quantity {
  color: var(--text-muted);
  font-weight: var(--weight-regular);
}

.sd-thankyou-details table.woocommerce-table--order-details tbody td.product-total,
.sd-thankyou-details table.woocommerce-table--order-details tbody td:last-child {
  text-align: right;
  font-weight: var(--weight-semibold);
  color: var(--ink);
  white-space: nowrap;
}

/* Tfoot totals */
.sd-thankyou-details table.woocommerce-table--order-details tfoot th,
.sd-thankyou-details table.woocommerce-table--order-details tfoot td {
  padding: var(--space-d05) 0;
  border: none;
  border-bottom: 1px solid var(--line-soft);
  font-size: var(--text-d075);
}

.sd-thankyou-details table.woocommerce-table--order-details tfoot th {
  font-weight: var(--weight-medium);
  color: var(--text);
  text-align: left;
}

.sd-thankyou-details table.woocommerce-table--order-details tfoot td {
  text-align: right;
  color: var(--ink);
}

/* Total row */
.sd-thankyou-details table.woocommerce-table--order-details tfoot tr:last-child th,
.sd-thankyou-details table.woocommerce-table--order-details tfoot tr:last-child td {
  font-size: var(--text-d1);
  font-weight: var(--weight-bold);
  color: var(--ink);
  border-bottom: none;
  border-top: 2px solid var(--ink);
  padding-top: var(--space-d075);
}


/* --- Action buttons (Betalen / Annuleren) --- */
.sd-thankyou-details .order-actions-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  padding: var(--space-d05) var(--space-d1);
  cursor: pointer;
  transition: var(--transition-btn);
  border-radius: 0;
  text-decoration: none;
  margin-right: var(--space-d05);
  margin-top: var(--space-d05);
}

.sd-thankyou-details .order-actions-button.pay {
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
}

.sd-thankyou-details .order-actions-button.pay:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

.sd-thankyou-details .order-actions-button.cancel {
  color: var(--text-muted);
  background: transparent;
  border: 1.5px solid var(--line);
}

.sd-thankyou-details .order-actions-button.cancel:hover {
  border-color: var(--error);
  color: var(--error);
}

/* Actions heading row */
.sd-thankyou-details .order-actions--heading {
  font-weight: var(--weight-medium) !important;
  padding-top: var(--space-d075) !important;
}


/* --- Customer details (billing + shipping addresses) --- */
.sd-thankyou-details .woocommerce-customer-details {
  margin-top: var(--space-d2);
}

.sd-thankyou-details .woocommerce-customer-details .col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-d15);
}

.sd-thankyou-details .woocommerce-customer-details .col2-set::before,
.sd-thankyou-details .woocommerce-customer-details .col2-set::after {
  display: none;
}

.sd-thankyou-details .woocommerce-customer-details .col-1,
.sd-thankyou-details .woocommerce-customer-details .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d15) !important;
}

@media (max-width: 600px) {
  .sd-thankyou-details .woocommerce-customer-details .col2-set {
    grid-template-columns: 1fr;
  }
}

.sd-thankyou-details .woocommerce-column__title {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0 0 var(--space-d075);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  font-size: var(--text-d05);
}

.sd-thankyou-details address {
  font-family: var(--font-display);
  font-style: normal;
  font-size: var(--text-d075);
  color: var(--text);
  line-height: var(--lh-relaxed);
}

.sd-thankyou-details .woocommerce-customer-details--phone,
.sd-thankyou-details .woocommerce-customer-details--email {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text-muted);
  margin: var(--space-d05) 0 0;
}


/* --- Login form (when not logged in on order-received) --- */
.sd-thankyou-details .woocommerce-info {
  background: var(--cream);
  border: none;
  border-left: 3px solid var(--gold);
  padding: var(--space-d075) var(--space-d1);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  margin-bottom: var(--space-d15);
}

.sd-thankyou-details .woocommerce-info::before {
  display: none;
}

.sd-thankyou-details .woocommerce-form-login {
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d15);
}

.sd-thankyou-details .woocommerce-form-login .form-row label {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-medium);
  color: var(--ink);
  display: block;
  margin-bottom: var(--space-d025);
}

.sd-thankyou-details .woocommerce-form-login .form-row input.input-text {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d05) var(--space-d075);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  width: 100%;
}

.sd-thankyou-details .woocommerce-form-login .form-row input.input-text:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.12);
}

.sd-thankyou-details .woocommerce-form-login .button {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d05) var(--space-d15);
  cursor: pointer;
  border-radius: 0;
  transition: var(--transition-btn);
}

.sd-thankyou-details .woocommerce-form-login .button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

.sd-thankyou-details .lost_password a {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.sd-thankyou-details .lost_password a:hover {
  color: var(--gold);
}


/* --- Notices on order-received page --- */
.sd-thankyou-details .woocommerce-notice--error {
  background: rgba(196, 86, 74, 0.06);
  border: none;
  border-left: 3px solid var(--error);
  padding: var(--space-d075) var(--space-d1);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  margin-bottom: var(--space-d15);
}

/* Failed order action buttons */
.sd-thankyou-details .woocommerce-thankyou-order-failed-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper);
  background: var(--ink);
  border: 1.5px solid var(--ink);
  padding: var(--space-d05) var(--space-d15);
  cursor: pointer;
  border-radius: 0;
  transition: var(--transition-btn);
  text-decoration: none;
  margin-right: var(--space-d05);
}

.sd-thankyou-details .woocommerce-thankyou-order-failed-actions .button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}


/* ==========================================================================
   CHECKOUT FORM — Classic WooCommerce [woocommerce_checkout]
   Two-column layout: billing/shipping left, order review right.
   ========================================================================== */

/* --- Two-column grid --- */
.sd-checkout-page form.woocommerce-checkout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 0 var(--space-d3);
  align-items: start;
}

@media (max-width: 900px) {
  .sd-checkout-page form.woocommerce-checkout {
    grid-template-columns: 1fr;
  }
}

/* Notices span full width */
.sd-checkout-page form.woocommerce-checkout > .woocommerce-info,
.sd-checkout-page form.woocommerce-checkout > .woocommerce-error,
.sd-checkout-page form.woocommerce-checkout > .woocommerce-message,
.sd-checkout-page form.woocommerce-checkout > .woocommerce-NoticeGroup {
  grid-column: 1 / -1;
}


/* --- Customer details: stack billing + shipping vertically --- */
.sd-checkout-page #customer_details {
  grid-column: 1;
}

.sd-checkout-page #customer_details.col2-set {
  display: flex;
  flex-direction: column;
  gap: var(--space-d2);
  width: 100%;
}

.sd-checkout-page #customer_details.col2-set::before,
.sd-checkout-page #customer_details.col2-set::after {
  display: none;
}

.sd-checkout-page #customer_details .col-1,
.sd-checkout-page #customer_details .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* --- Order review: right sidebar --- */
.sd-checkout-page h3#order_review_heading {
  display: none;
}

.sd-checkout-page .woocommerce-checkout-review-order {
  grid-column: 2;
  grid-row: 1 / span 10;
  position: sticky;
  top: var(--space-d1);
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d15);
}

.sd-checkout-page .woocommerce-checkout-review-order::before {
  content: 'Je bestelling';
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin-bottom: var(--space-d1);
}

@media (max-width: 900px) {
  .sd-checkout-page .woocommerce-checkout-review-order {
    grid-column: 1;
    grid-row: auto;
    position: static;
    order: -1;
    margin-bottom: var(--space-d2);
  }
}


/* --- Section headings (numbered) --- */
.sd-checkout-page #customer_details {
  counter-reset: checkout-section;
}

.sd-checkout-page .woocommerce-billing-fields > h3,
.sd-checkout-page .woocommerce-shipping-fields > h3,
.sd-checkout-page #ship-to-different-address,
.sd-checkout-page .woocommerce-additional-fields > h3 {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin: 0 0 var(--space-d1);
  padding: 0;
  display: flex;
  align-items: center;
  gap: var(--space-d05);
}

.sd-checkout-page .woocommerce-billing-fields > h3::before,
.sd-checkout-page #ship-to-different-address::before,
.sd-checkout-page .woocommerce-additional-fields > h3::before {
  counter-increment: checkout-section;
  content: counter(checkout-section);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-bold);
  background: var(--ink);
  color: var(--paper);
  flex-shrink: 0;
}


/* --- Form fields --- */
.sd-checkout-page .woocommerce form .form-row {
  padding: 0;
  margin: 0 0 var(--space-d075);
}

.sd-checkout-page .woocommerce form .form-row label {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-medium);
  color: var(--ink);
  margin-bottom: var(--space-d025);
  line-height: var(--lh-snug);
}

.sd-checkout-page .woocommerce form .form-row .optional {
  font-weight: var(--weight-regular);
  color: var(--text-muted);
}

.sd-checkout-page .woocommerce form .form-row .required {
  color: var(--error);
  text-decoration: none;
}

.sd-checkout-page .woocommerce form .form-row input.input-text,
.sd-checkout-page .woocommerce form .form-row textarea,
.sd-checkout-page .woocommerce form .form-row select {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d05) var(--space-d075);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  width: 100%;
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}

.sd-checkout-page .woocommerce form .form-row input.input-text:focus,
.sd-checkout-page .woocommerce form .form-row textarea:focus,
.sd-checkout-page .woocommerce form .form-row select:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.12);
}

.sd-checkout-page .woocommerce form .form-row input.input-text::placeholder,
.sd-checkout-page .woocommerce form .form-row textarea::placeholder {
  color: var(--text-muted);
  opacity: 0.6;
}

/* Select dropdown arrow */
.sd-checkout-page .woocommerce form .form-row select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233A3A3A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-d075) center;
  padding-right: var(--space-d2);
}

/* Form row halves */
.sd-checkout-page .woocommerce form .form-row-first,
.sd-checkout-page .woocommerce form .form-row-last {
  width: calc(50% - var(--space-d025));
  float: left;
}

.sd-checkout-page .woocommerce form .form-row-last {
  float: right;
}

.sd-checkout-page .woocommerce form .form-row-wide {
  width: 100%;
  clear: both;
}

@media (max-width: 480px) {
  .sd-checkout-page .woocommerce form .form-row-first,
  .sd-checkout-page .woocommerce form .form-row-last {
    width: 100%;
    float: none;
  }
}

/* Textarea (order notes) */
.sd-checkout-page .woocommerce form .form-row textarea {
  resize: vertical;
  min-height: 80px;
  font-family: var(--font-body);
}

/* Checkboxes */
.sd-checkout-page .woocommerce form input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--ink);
  cursor: pointer;
}

/* Select2 overrides (WC country/state dropdowns) */
.sd-checkout-page .select2-container .select2-selection--single {
  height: auto;
  padding: var(--space-d05) var(--space-d075);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--white);
}

.sd-checkout-page .select2-container .select2-selection--single .select2-selection__rendered {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--ink);
  padding: 0;
  line-height: normal;
}

.sd-checkout-page .select2-container .select2-selection--single .select2-selection__arrow {
  display: none;
}

.sd-checkout-page .select2-container--open .select2-selection--single {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.12);
}


/* --- Order review table --- */
.sd-checkout-page .woocommerce-checkout-review-order-table {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  border: none !important;
  border-collapse: collapse;
  width: 100%;
  margin: 0;
}

.sd-checkout-page .woocommerce-checkout-review-order-table thead {
  display: none;
}

.sd-checkout-page .woocommerce-checkout-review-order-table tbody tr {
  border-bottom: 1px solid var(--line);
}

.sd-checkout-page .woocommerce-checkout-review-order-table tbody td {
  padding: var(--space-d075) 0;
  border: none;
  vertical-align: middle;
}

.sd-checkout-page .woocommerce-checkout-review-order-table .product-name {
  font-weight: var(--weight-medium);
  color: var(--ink);
  line-height: var(--lh-snug);
}

.sd-checkout-page .woocommerce-checkout-review-order-table .product-name .product-quantity {
  font-weight: var(--weight-regular);
  color: var(--text-muted);
}

.sd-checkout-page .woocommerce-checkout-review-order-table .product-total {
  text-align: right;
  font-weight: var(--weight-semibold);
  color: var(--ink);
  white-space: nowrap;
}

/* Tfoot: subtotal, shipping, total rows */
.sd-checkout-page .woocommerce-checkout-review-order-table tfoot th,
.sd-checkout-page .woocommerce-checkout-review-order-table tfoot td {
  padding: var(--space-d025) 0;
  border: none;
  font-family: var(--font-display);
  font-size: var(--text-d075);
}

.sd-checkout-page .woocommerce-checkout-review-order-table tfoot th {
  font-weight: var(--weight-regular);
  color: var(--text);
  text-align: left;
}

.sd-checkout-page .woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  color: var(--ink);
}

.sd-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total th,
.sd-checkout-page .woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: var(--text-d1);
  font-weight: var(--weight-bold);
  color: var(--ink);
  padding-top: var(--space-d05);
  border-top: 1px solid var(--line);
  margin-top: var(--space-d025);
}

/* Free shipping text */
.sd-checkout-page .woocommerce-checkout-review-order-table .shipping td {
  font-weight: var(--weight-medium);
}


/* --- Payment methods --- */
.sd-checkout-page #payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-top: var(--space-d15);
}

.sd-checkout-page #payment::before {
  content: 'Betaalmethode';
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin-bottom: var(--space-d075);
}

.sd-checkout-page #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 var(--space-d1) !important;
  border: none !important;
  display: flex;
  flex-direction: column;
  gap: var(--space-d05);
}

.sd-checkout-page #payment ul.payment_methods li {
  padding: var(--space-d075) !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: var(--white) !important;
  margin: 0 !important;
  list-style: none !important;
  transition: border-color var(--duration-fast);
}

.sd-checkout-page #payment ul.payment_methods li:hover {
  border-color: var(--gold-soft) !important;
}

.sd-checkout-page #payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--ink);
  margin-right: var(--space-d05);
  cursor: pointer;
}

.sd-checkout-page #payment ul.payment_methods li label {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-medium);
  color: var(--ink);
  cursor: pointer;
}

.sd-checkout-page #payment ul.payment_methods li label img {
  max-height: 24px;
  vertical-align: middle;
  margin-left: var(--space-d025);
}

.sd-checkout-page #payment .payment_box {
  padding: var(--space-d075) 0 0 !important;
  margin: 0 !important;
  background: transparent !important;
  color: var(--text-muted);
  font-family: var(--font-display);
  font-size: var(--text-d05);
}

.sd-checkout-page #payment .payment_box::before {
  display: none !important;
}

/* Payment box fields (e.g. iDEAL bank selector) */
.sd-checkout-page #payment .payment_box select,
.sd-checkout-page #payment .payment_box input {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d05) var(--space-d075);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
  width: 100%;
}

.sd-checkout-page #payment .payment_box select:focus,
.sd-checkout-page #payment .payment_box input:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(201, 162, 75, 0.12);
}

.sd-checkout-page #payment .payment_box select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233A3A3A' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-d075) center;
  padding-right: var(--space-d2);
}


/* --- Place order button --- */
.sd-checkout-page #payment .place-order {
  padding: var(--space-d1) 0 0 !important;
  margin: 0 !important;
}

.sd-checkout-page #place_order {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-d05);
  width: 100%;
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-weight: var(--weight-semibold);
  color: var(--paper) !important;
  background: var(--ink) !important;
  border: 1.5px solid var(--ink) !important;
  padding: var(--space-d1) !important;
  cursor: pointer;
  transition: var(--transition-btn);
  border-radius: 0 !important;
  line-height: 1.2;
}

.sd-checkout-page #place_order:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--ink) !important;
}

/* Terms checkbox */
.sd-checkout-page .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: var(--space-d075);
}

.sd-checkout-page .woocommerce-terms-and-conditions-wrapper label {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text);
  display: flex;
  align-items: center;
  gap: var(--space-d05);
}

/* Legal / privacy text */
.sd-checkout-page .woocommerce-privacy-policy-text {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
}

.sd-checkout-page .woocommerce-privacy-policy-text a {
  color: var(--text-muted);
  text-decoration: underline;
}

.sd-checkout-page .woocommerce-privacy-policy-text a:hover {
  color: var(--gold);
}


/* --- Coupon form (above checkout form) --- */
.sd-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info {
  background: var(--cream);
  border: none;
  border-left: 3px solid var(--gold);
  padding: var(--space-d075) var(--space-d1);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  margin-bottom: var(--space-d15);
}

.sd-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before {
  display: none;
}

.sd-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
  color: var(--gold);
  font-weight: var(--weight-semibold);
}

.sd-checkout-page form.checkout_coupon {
  border: 1px solid var(--line) !important;
  padding: var(--space-d1) !important;
  margin-bottom: var(--space-d15) !important;
  background: var(--white) !important;
  border-radius: 0 !important;
}

.sd-checkout-page form.checkout_coupon p:first-child {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text-muted);
  margin-bottom: var(--space-d075);
}

.sd-checkout-page form.checkout_coupon .form-row {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.sd-checkout-page form.checkout_coupon .form-row input.input-text {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d05) var(--space-d075);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--white);
  color: var(--ink);
}

.sd-checkout-page form.checkout_coupon .form-row .button {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--ink);
  padding: var(--space-d05) var(--space-d1);
  cursor: pointer;
  border-radius: 0;
  transition: background var(--duration-fast);
}

.sd-checkout-page form.checkout_coupon .form-row .button:hover {
  background: var(--gold-soft);
}


/* --- Notices --- */
.sd-checkout-page .woocommerce-NoticeGroup .woocommerce-error {
  background: rgba(196, 86, 74, 0.06);
  border: none;
  border-left: 3px solid var(--error);
  padding: var(--space-d075) var(--space-d1);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  border-radius: 0;
  list-style: none;
  margin: 0 0 var(--space-d15);
}

.sd-checkout-page .woocommerce-NoticeGroup .woocommerce-error::before {
  display: none;
}

.sd-checkout-page .woocommerce-NoticeGroup .woocommerce-error li {
  margin: 0;
  padding: var(--space-d025) 0;
}


/* --- Loading overlay --- */
.sd-checkout-page .blockUI.blockOverlay {
  background: var(--paper) !important;
  opacity: 0.6 !important;
}

.sd-checkout-page .blockUI.blockMsg {
  display: none !important;
}


/* --- Shipping methods in order review --- */
.sd-checkout-page #shipping_method {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sd-checkout-page #shipping_method li {
  padding: var(--space-d025) 0;
  font-family: var(--font-display);
  font-size: var(--text-d075);
}

.sd-checkout-page #shipping_method li input[type="radio"] {
  accent-color: var(--ink);
  margin-right: var(--space-d025);
}

.sd-checkout-page #shipping_method li label {
  font-weight: var(--weight-medium);
  color: var(--ink);
  cursor: pointer;
}

.sd-checkout-page .woocommerce-shipping-totals .shipping-calculator-button {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--gold);
}


/* ==========================================================================
   MIJN ACCOUNT — Inlogpagina & Dashboard
   ========================================================================== */


/* --- Pagina layout (gedeeld) --- */

.woocommerce-account .page-content {
  padding: var(--space-d3) 0;
  overflow: hidden;
}

.woocommerce-account .page-content__title {
  font-family: var(--font-body);
  font-size: var(--text-d15);
  font-weight: 400;
  font-style: italic;
  color: var(--ink);
  text-align: center;
  margin: 0 0 var(--space-d025);
}

.woocommerce-account .page-content__title::before {
  content: 'Welkom';
  display: block;
  font-family: var(--font-script);
  font-size: 2rem;
  font-style: normal;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 0.25rem;
}

.woocommerce-account .page-content__title::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: var(--gold);
  margin: var(--space-d075) auto 0;
}


/* ==========================================================================
   MIJN ACCOUNT — Uitgelogd (Login formulier)
   ========================================================================== */

.woocommerce-account:not(.logged-in) .page-content__title::before {
  content: 'Inloggen';
}

.woocommerce-account:not(.logged-in) .page-content__body {
  max-width: 460px;
  margin: var(--space-d2) auto 0;
}

.woocommerce-account:not(.logged-in) .woocommerce > h2 {
  display: none;
}

/* --- Login form card --- */
.woocommerce-account:not(.logged-in) .woocommerce-form-login {
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d2);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row {
  margin-bottom: var(--space-d1);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login label {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--ink);
  display: block;
  margin-bottom: var(--space-d025);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login label .required {
  color: var(--gold);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login input.input-text {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d075) var(--space-d1);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  width: 100%;
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login input.input-text:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(var(--px-color-custom-rgb), 0.12);
}

/* --- Password field wrapper --- */
.woocommerce-account:not(.logged-in) .woocommerce-form-login .password-input {
  position: relative;
  display: block;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login .show-password-input {
  position: absolute;
  right: var(--space-d075);
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-muted);
  padding: 0;
  width: 20px;
  height: 20px;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login .show-password-input:hover {
  color: var(--gold);
}

/* --- Remember me & submit row --- */
.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-d075);
  margin-top: var(--space-d15);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: var(--space-d025);
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  cursor: pointer;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme input[type="checkbox"] {
  accent-color: var(--gold);
  width: 16px;
  height: 16px;
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.875rem 1.75rem;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  cursor: pointer;
  transition: var(--transition-btn);
}

.woocommerce-account:not(.logged-in) .woocommerce-form-login__submit:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}

/* --- Lost password --- */
.woocommerce-account:not(.logged-in) .lost_password {
  text-align: center;
  margin-top: var(--space-d1);
}

.woocommerce-account:not(.logged-in) .lost_password a {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  color: var(--text-muted);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color var(--duration-fast);
}

.woocommerce-account:not(.logged-in) .lost_password a:hover {
  color: var(--gold);
}


/* ==========================================================================
   MIJN ACCOUNT — Ingelogd (Dashboard + navigatie)
   ========================================================================== */

.woocommerce-account.logged-in .page-content__body {
  margin-top: var(--space-d2);
}

.woocommerce-account.logged-in .page-content__body > .woocommerce {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--space-d3);
  align-items: start;
}

@media (max-width: 768px) {
  .woocommerce-account.logged-in .page-content__body > .woocommerce {
    grid-template-columns: 1fr;
    gap: var(--space-d15);
    min-width: 0;
  }
}


/* --- Sidebar navigatie --- */

.woocommerce-MyAccount-navigation {
  background: var(--white);
  border: 1px solid var(--line);
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-MyAccount-navigation-link a {
  display: flex;
  align-items: center;
  gap: var(--space-d05);
  padding: var(--space-d075) var(--space-d1);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: var(--weight-medium);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text);
  text-decoration: none;
  border-left: 3px solid transparent;
  transition: all var(--duration-fast);
}

.woocommerce-MyAccount-navigation-link a:hover {
  color: var(--ink);
  background: var(--cream);
  border-left-color: var(--gold-light);
}

.woocommerce-MyAccount-navigation-link.is-active a {
  color: var(--ink);
  font-weight: var(--weight-semibold);
  background: var(--cream);
  border-left-color: var(--gold);
}

.woocommerce-MyAccount-navigation-link + .woocommerce-MyAccount-navigation-link {
  border-top: 1px solid var(--line-soft);
}

/* --- Nav icons via ::before pseudo-elements --- */
.woocommerce-MyAccount-navigation-link a::before {
  content: '';
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  opacity: 0.65;
}

.woocommerce-MyAccount-navigation-link.is-active a::before {
  opacity: 1;
  color: var(--gold);
}

.woocommerce-MyAccount-navigation-link--dashboard a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m2.25 12 8.954-8.955a1.126 1.126 0 0 1 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--orders a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993 1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--downloads { display: none; }

.woocommerce-MyAccount-navigation-link--downloads a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--edit-address a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 10.5a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1 1 15 0Z'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--edit-account a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15.75 6a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0ZM4.501 20.118a7.5 7.5 0 0 1 14.998 0A17.933 17.933 0 0 1 12 21.75c-2.676 0-5.216-.584-7.499-1.632Z'/%3E%3C/svg%3E");
}

.woocommerce-MyAccount-navigation-link--customer-logout a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15m-3 0-3-3m0 0 3-3m-3 3H15'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15m-3 0-3-3m0 0 3-3m-3 3H15'/%3E%3C/svg%3E");
}

/* --- Uitloggen link apart gestyled --- */
.woocommerce-MyAccount-navigation-link--customer-logout {
  border-top: 1px solid var(--line) !important;
  margin-top: var(--space-d025);
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--text-muted);
  font-size: 11px;
}

.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
  color: var(--error);
  border-left-color: var(--error);
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation {
    border: none;
    background: transparent;
    min-width: 0;
    overflow: hidden;
  }

  .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    background: var(--white);
    border: 1px solid var(--line);
    max-width: 100%;
  }

  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }

  .woocommerce-MyAccount-navigation-link + .woocommerce-MyAccount-navigation-link {
    border-top: none;
  }

  .woocommerce-MyAccount-navigation-link--customer-logout {
    border-top: none !important;
    margin-top: 0;
  }

  .woocommerce-MyAccount-navigation-link a {
    border-left: none;
    border-bottom: 2px solid transparent;
    padding: var(--space-d05) var(--space-d05);
    white-space: nowrap;
    font-size: 10px;
    letter-spacing: 0.05em;
  }

  .woocommerce-MyAccount-navigation-link a::before {
    display: none;
  }

  .woocommerce-MyAccount-navigation-link a:hover {
    border-left-color: transparent;
    border-bottom-color: var(--gold-light);
    background: transparent;
  }

  .woocommerce-MyAccount-navigation-link.is-active a {
    border-left-color: transparent;
    border-bottom-color: var(--gold);
    background: transparent;
  }

  .woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    border-left-color: transparent;
  }
}


/* --- Dashboard content area --- */

.woocommerce-MyAccount-content {
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d2);
  min-height: 300px;
}

.woocommerce-MyAccount-content > p {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  line-height: var(--lh-relaxed);
  margin: 0 0 var(--space-d1);
}

.woocommerce-MyAccount-content > p:first-of-type {
  font-size: var(--text-d075);
  color: var(--text-muted);
  padding-bottom: var(--space-d1);
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: var(--space-d15);
}

.woocommerce-MyAccount-content > p strong {
  color: var(--ink);
  font-weight: var(--weight-semibold);
}

.woocommerce-MyAccount-content > p a {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 3px;
  transition: color var(--duration-fast);
}

.woocommerce-MyAccount-content > p a:hover {
  color: var(--gold);
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-content {
    padding: var(--space-d1);
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word;
  }
}


/* --- Bestellingen tabel --- */

.woocommerce-MyAccount-content .woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-display);
  font-size: var(--text-d075);
}

.woocommerce-MyAccount-content .woocommerce-orders-table thead {
  border-bottom: 2px solid var(--ink);
}

.woocommerce-MyAccount-content .woocommerce-orders-table th {
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--ink);
  padding: var(--space-d05) var(--space-d075);
  text-align: left;
}

.woocommerce-MyAccount-content .woocommerce-orders-table td {
  padding: var(--space-d075);
  border-bottom: 1px solid var(--line-soft);
  color: var(--text);
  vertical-align: middle;
}

.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:hover {
  background: var(--cream);
}

.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-d025);
}

.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: var(--space-d025) var(--space-d075);
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  text-decoration: none;
  transition: var(--transition-btn);
}

.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
  background: var(--ink);
  color: var(--paper);
}

/* Responsive orders table */
@media (max-width: 640px) {
  .woocommerce-MyAccount-content .woocommerce-orders-table,
  .woocommerce-MyAccount-content .woocommerce-orders-table thead,
  .woocommerce-MyAccount-content .woocommerce-orders-table tbody,
  .woocommerce-MyAccount-content .woocommerce-orders-table tr,
  .woocommerce-MyAccount-content .woocommerce-orders-table th,
  .woocommerce-MyAccount-content .woocommerce-orders-table td {
    display: block;
  }

  .woocommerce-MyAccount-content .woocommerce-orders-table thead {
    display: none;
  }

  .woocommerce-MyAccount-content .woocommerce-orders-table tr {
    border: 1px solid var(--line);
    margin-bottom: var(--space-d075);
    padding: var(--space-d075);
    background: var(--paper);
  }

  .woocommerce-MyAccount-content .woocommerce-orders-table td {
    border-bottom: none;
    padding: var(--space-d025) 0;
  }

  .woocommerce-MyAccount-content .woocommerce-orders-table td::before {
    content: attr(data-title) ': ';
    font-weight: var(--weight-semibold);
    font-size: var(--text-d05);
    text-transform: uppercase;
    letter-spacing: var(--ls-wide);
    color: var(--ink);
  }
}


/* --- Adressen kaarten --- */

.woocommerce-MyAccount-content .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-d15);
}

@media (max-width: 640px) {
  .woocommerce-MyAccount-content .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

.woocommerce-MyAccount-content .woocommerce-Address {
  border: 1px solid var(--line);
  background: var(--paper);
}

.woocommerce-MyAccount-content .woocommerce-Address-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-d075) var(--space-d1);
  border-bottom: 1px solid var(--line-soft);
}

.woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--ink);
  margin: 0;
}

.woocommerce-MyAccount-content .woocommerce-Address-title a {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  transition: color var(--duration-fast);
}

.woocommerce-MyAccount-content .woocommerce-Address-title a:hover {
  color: var(--ink);
}

.woocommerce-MyAccount-content .woocommerce-Address address {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  font-style: normal;
  color: var(--text);
  line-height: var(--lh-relaxed);
  padding: var(--space-d1);
}


/* --- Account formulieren (edit-account, edit-address) --- */

.woocommerce-MyAccount-content .woocommerce-EditAccountForm,
.woocommerce-MyAccount-content .woocommerce-address-fields {
  max-width: 560px;
}

.woocommerce-MyAccount-content .form-row {
  margin-bottom: var(--space-d1);
}

.woocommerce-MyAccount-content .form-row label {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--ink);
  display: block;
  margin-bottom: var(--space-d025);
}

.woocommerce-MyAccount-content .form-row label .required {
  color: var(--gold);
}

.woocommerce-MyAccount-content .form-row input.input-text,
.woocommerce-MyAccount-content .form-row select {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d075) var(--space-d1);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  width: 100%;
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
  -webkit-appearance: none;
  appearance: none;
}

.woocommerce-MyAccount-content .form-row input.input-text:focus,
.woocommerce-MyAccount-content .form-row select:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(var(--px-color-custom-rgb), 0.12);
}

.woocommerce-MyAccount-content .form-row .password-input {
  position: relative;
  display: block;
}

.woocommerce-MyAccount-content .form-row .show-password-input {
  position: absolute;
  right: var(--space-d075);
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--text-muted);
  padding: 0;
}

.woocommerce-MyAccount-content .form-row .show-password-input:hover {
  color: var(--gold);
}

/* Inline field pairs */
.woocommerce-MyAccount-content .form-row-first,
.woocommerce-MyAccount-content .form-row-last {
  display: inline-block;
  width: calc(50% - 0.5rem);
  vertical-align: top;
}

.woocommerce-MyAccount-content .form-row-first {
  margin-right: 0.5rem;
}

@media (max-width: 480px) {
  .woocommerce-MyAccount-content .form-row-first,
  .woocommerce-MyAccount-content .form-row-last {
    width: 100%;
    margin-right: 0;
  }
}

/* Fieldset (password change) */
.woocommerce-MyAccount-content fieldset {
  border: none;
  padding: 0;
  margin: var(--space-d2) 0 0;
}

.woocommerce-MyAccount-content fieldset legend {
  font-family: var(--font-display);
  font-size: var(--text-d1);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  margin-bottom: var(--space-d1);
  padding-bottom: var(--space-d05);
  border-bottom: 1px solid var(--line);
  width: 100%;
}

/* Submit button */
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.875rem 1.75rem;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  cursor: pointer;
  text-decoration: none;
  transition: var(--transition-btn);
  margin-top: var(--space-d075);
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-MyAccount-content .button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}


/* --- WooCommerce notices binnen account pagina's --- */

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info {
  background: var(--cream);
  border: none;
  border-left: 3px solid var(--gold);
  padding: var(--space-d075) var(--space-d1);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  margin-bottom: var(--space-d15);
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info::before {
  display: none;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error {
  background: rgba(196, 86, 74, 0.06);
  border: none;
  border-left: 3px solid var(--error);
  padding: var(--space-d075) var(--space-d1);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  margin-bottom: var(--space-d15);
  list-style: none;
}

.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error::before {
  display: none;
}


/* --- Geen bestellingen / lege states --- */

.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-Message--info {
  background: var(--cream);
  border: none;
  border-left: 3px solid var(--gold);
  padding: var(--space-d1);
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
}

.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-Message--info::before {
  display: none;
}

.woocommerce-MyAccount-content .woocommerce-info .button,
.woocommerce-MyAccount-content .woocommerce-Message--info .button {
  margin-top: var(--space-d075);
  margin-left: var(--space-d1);
}


/* --- Lost password pagina (wachtwoord resetten) --- */

.woocommerce-account .woocommerce-ResetPassword {
  max-width: 460px;
  margin: 0 auto;
  background: var(--white);
  border: 1px solid var(--line);
  padding: var(--space-d2);
}

.woocommerce-account .woocommerce-ResetPassword p {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  color: var(--text);
  line-height: var(--lh-relaxed);
  margin-bottom: var(--space-d1);
}

.woocommerce-account .woocommerce-ResetPassword .form-row label {
  font-family: var(--font-display);
  font-size: var(--text-d05);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--ls-wide);
  color: var(--ink);
  display: block;
  margin-bottom: var(--space-d025);
}

.woocommerce-account .woocommerce-ResetPassword .form-row input.input-text {
  font-family: var(--font-display);
  font-size: var(--text-d075);
  padding: var(--space-d075) var(--space-d1);
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  width: 100%;
}

.woocommerce-account .woocommerce-ResetPassword .form-row input.input-text:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(var(--px-color-custom-rgb), 0.12);
}

.woocommerce-account .woocommerce-ResetPassword .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.875rem 1.75rem;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  cursor: pointer;
  transition: var(--transition-btn);
}

.woocommerce-account .woocommerce-ResetPassword .button:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}
