/* Weatherby configurator — cart/order breadcrumb display.
   Enqueued on cart + checkout (the configurator CSS is gated to its own page).
   Class names mirror production so this also aligns if production CSS loads. */

.variation dd .item-title-wrap {
  display: block;
  margin: 0 0 4px 0;
  line-height: 1.35;
}
.variation dd .item-title-inner {
  display: inline;
}
.variation dd .item-child-title {
  color: #555;
}
.variation dd .item-child-title + .item-child-title::before {
  content: " \203A ";      /* › */
  color: #b8b8b8;
  padding: 0 2px;
}
.variation dd .item-child-title.item-child-leaf {
  color: #1a1a1a;
  font-weight: 700;
}
.variation dd .item-child-price {
  color: #8a6d1a;
  font-weight: 600;
  margin-left: 6px;
  white-space: nowrap;
}
.variation dt {
  font-weight: 700;
  margin-top: 8px;
}

/* Force label-over-value block stacking (theme lays dt/dd inline). */
.variation { display: block; margin: 0; }
.variation dt {
  display: block;
  font-weight: 700;
  margin: 10px 0 2px 0;
  color: #222;
  float: none;
  clear: both;
  width: auto;
}
.variation dd {
  display: block;
  margin: 0 0 2px 0;
  float: none;
  clear: both;
  width: auto;
}
.variation dd p { margin: 0; }

/* Beat the theme's .variation{display:flex}: scope to the cart form for
   higher specificity and force a block column so dt/dd stack. */
.woocommerce-cart-form .variation,
.woocommerce-checkout .variation,
.cart_item .variation,
.et-product-details .variation {
  display: block !important;
  flex-direction: column !important;
  width: 100%;
}
.woocommerce-cart-form .variation dt,
.woocommerce-checkout .variation dt,
.cart_item .variation dt,
.et-product-details .variation dt {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  font-weight: 700;
  margin: 10px 0 2px 0;
}
.woocommerce-cart-form .variation dd,
.woocommerce-checkout .variation dd,
.cart_item .variation dd,
.et-product-details .variation dd {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  margin: 0 0 2px 0;
}


/* ── Tightened spacing (reduce the loose two-line rhythm) ─────────────── */
.woocommerce-cart-form .variation dt,
.woocommerce-checkout .variation dt,
.cart_item .variation dt,
.et-product-details .variation dt {
  margin: 5px 0 1px 0 !important;   /* was 10px 0 2px */
  line-height: 1.25;
}
.woocommerce-cart-form .variation dd,
.woocommerce-checkout .variation dd,
.cart_item .variation dd,
.et-product-details .variation dd {
  margin: 0 0 1px 0 !important;     /* was 0 0 2px */
  line-height: 1.3;
}

/* ── Internal Part Numbers accordion (collapsed by default) ───────────── */
details.wby-ipn {
  margin: 8px 0 2px 0;
  border-top: 1px solid #e4e4e4;
  padding-top: 6px;
}
details.wby-ipn > summary.wby-ipn-summary {
  cursor: pointer;
  font-weight: 700;
  color: #222;
  list-style: none;            /* hide default marker; we add our own */
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
}
details.wby-ipn > summary.wby-ipn-summary::-webkit-details-marker { display: none; }
details.wby-ipn > summary.wby-ipn-summary::before {
  content: "\25B8";           /* ▸ */
  font-size: 0.8em;
  color: #8a8a8a;
  transition: transform 0.15s ease;
}
details.wby-ipn[open] > summary.wby-ipn-summary::before {
  transform: rotate(90deg);
}
.wby-ipn-count { color: #8a8a8a; font-weight: 600; font-size: 0.9em; }
.wby-ipn-list {
  margin: 6px 0 0 0;
  padding: 6px 0 2px 14px;
}
.wby-ipn-row {
  line-height: 1.35;
  margin: 0 0 1px 0;
}
.wby-ipn-label { color: #555; }
.wby-ipn-value {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  color: #1a1a1a;
  font-weight: 600;
}


/* ── IPN accordion: hide the empty <dt> (stray ':') before the accordion ── */
.variation dt:has(+ dd .wby-ipn) { display: none !important; }
/* Fallback for engines without :has() -- hide a dt that has no text node.
   (Harmless where :has() already hid it.) */
.variation dt:empty { display: none !important; }
