/* ==========================================================
   Dripped Vault WooCommerce follow-up fixes
   Visual-only corrections for cart + checkout alignment/details.
   ========================================================== */

/* Keep WooCommerce page titles aligned with the site shell instead of hard-left. */
body.dvt-site.woocommerce-cart .dvt-woo-main > h1,
body.dvt-site.woocommerce-checkout .dvt-woo-main > h1,
body.dvt-site.woocommerce-cart .page-title,
body.dvt-site.woocommerce-checkout .page-title,
body.dvt-site.woocommerce-cart h1.entry-title,
body.dvt-site.woocommerce-checkout h1.entry-title {
  width: min(100%, 1180px);
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Cart notices should sit in the same centered content column, not top-left. */
body.dvt-site.woocommerce-cart .woocommerce-notices-wrapper {
  width: min(100%, 980px);
  margin-right: auto !important;
  margin-left: auto !important;
}

body.dvt-site.woocommerce-cart .woocommerce-message,
body.dvt-site.woocommerce-cart .woocommerce-info,
body.dvt-site.woocommerce-cart .woocommerce-error {
  width: 100% !important;
  margin: 0 auto 24px !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(202, 167, 255, 0.22) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: #1b1724 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

body.dvt-site.woocommerce-cart .woocommerce-message::before,
body.dvt-site.woocommerce-cart .woocommerce-info::before,
body.dvt-site.woocommerce-cart .woocommerce-error::before {
  position: static !important;
  margin-right: 8px;
}

body.dvt-site.woocommerce-cart .woocommerce-message .button,
body.dvt-site.woocommerce-cart .woocommerce-info .button {
  order: 2;
  flex: 0 0 auto;
}

/* Tighten cart table placement inside the same site shell. */
body.dvt-site.woocommerce-cart .woocommerce-cart-form {
  width: min(100%, 980px) !important;
}

body.dvt-site.woocommerce-cart .cart-collaterals {
  width: min(100%, 980px) !important;
}

/* Checkout step nav: stop active/current labels from becoming black/invisible. */
body.dvt-site.woocommerce-checkout .fc-progress-bar,
body.dvt-site.woocommerce-checkout .fc-progress-bar__inner,
body.dvt-site.woocommerce-checkout .fc-stepper,
body.dvt-site.woocommerce-checkout .fc-stepper__step,
body.dvt-site.woocommerce-checkout .fc-stepper__step-label,
body.dvt-site.woocommerce-checkout .fc-step__substep-title,
body.dvt-site.woocommerce-checkout .fc-checkout-step__title,
body.dvt-site.woocommerce-checkout .fc-step__title,
body.dvt-site.woocommerce-checkout .is-current,
body.dvt-site.woocommerce-checkout .is-current span,
body.dvt-site.woocommerce-checkout .is-active,
body.dvt-site.woocommerce-checkout .is-active span {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.dvt-site.woocommerce-checkout .fc-progress-bar__bar,
body.dvt-site.woocommerce-checkout .fc-progress-bar__inner {
  background-color: rgba(139, 61, 255, 0.82) !important;
}

/* Select/dropdown icon alignment on product details step. */
body.dvt-site.woocommerce-checkout select,
body.dvt-site.woocommerce-checkout .select2-container--default .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  padding-right: 48px !important;
  line-height: 52px !important;
}

body.dvt-site.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  display: flex !important;
  align-items: center !important;
  height: 52px !important;
  line-height: 52px !important;
  padding-right: 42px !important;
  color: var(--dvt-text) !important;
}

body.dvt-site.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__clear {
  position: absolute !important;
  top: 50% !important;
  right: 34px !important;
  margin: 0 !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

body.dvt-site.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 50% !important;
  right: 12px !important;
  height: 20px !important;
  transform: translateY(-50%) !important;
}

/* Native select fallback alignment. */
body.dvt-site.woocommerce-checkout select {
  background-position: right 16px center !important;
}

/* Gift card payment box on the final step: remove cutoff triangle/graphic artifacts. */
body.dvt-site.woocommerce-checkout #payment .payment_box,
body.dvt-site.woocommerce-checkout .payment_box,
body.dvt-site.woocommerce-checkout .wc_payment_method .payment_box {
  position: relative;
  overflow: visible !important;
  margin: 14px 0 0 !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(202, 167, 255, 0.18) !important;
  border-radius: 14px !important;
  background: rgba(139, 61, 255, 0.16) !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dvt-site.woocommerce-checkout #payment .payment_box::before,
body.dvt-site.woocommerce-checkout .payment_box::before,
body.dvt-site.woocommerce-checkout .wc_payment_method .payment_box::before {
  display: none !important;
}

/* Place order area should read as one clean centered panel. */
body.dvt-site.woocommerce-checkout #payment .place-order {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  width: 100% !important;
  max-width: 100% !important;
  padding: 20px !important;
}

body.dvt-site.woocommerce-checkout #place_order {
  min-width: 150px;
}

@media (max-width: 782px) {
  body.dvt-site.woocommerce-cart .woocommerce-message,
  body.dvt-site.woocommerce-cart .woocommerce-info,
  body.dvt-site.woocommerce-cart .woocommerce-error {
    display: grid;
    text-align: center;
  }

  body.dvt-site.woocommerce-cart .woocommerce-message .button,
  body.dvt-site.woocommerce-cart .woocommerce-info .button {
    width: 100% !important;
  }

  body.dvt-site.woocommerce-checkout #payment .place-order {
    grid-template-columns: 1fr;
  }
}
