.divi-powers-dismissible {
  position: relative;
  transition: opacity 180ms ease, transform 220ms ease;
}

.divi-powers-dismissible[hidden],
.divi-powers-target[hidden] {
  display: none !important;
}

.divi-powers-is-dismissing {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
}

.divi-powers-void-wrapper {
  display: inline-block;
  position: relative;
  max-width: 100%;
}

.divi-powers-dismiss-button {
  appearance: none;
  position: absolute;
  z-index: 20;
  top: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.72);
  color: #fff;
  font: 700 25px/1 Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
  transition: transform 150ms ease, background 150ms ease;
}

.divi-powers-dismiss-button--top-right {
  right: 12px;
}

.divi-powers-dismiss-button--top-left {
  left: 12px;
}

.divi-powers-dismiss-button:hover {
  transform: scale(1.06);
}

.divi-powers-dismiss-button:focus-visible,
.divi-powers-trigger[role='button']:focus-visible,
.divi-powers-content-toggle[role='button']:focus-visible,
.divi-powers-content-group-trigger[role='button']:focus-visible,
.divi-powers-scroll-nav-trigger[role='button']:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

.divi-powers-trigger {
  cursor: pointer;
}

.divi-powers-content-toggle,
.divi-powers-content-group-trigger,
.divi-powers-scroll-nav-trigger {
  cursor: pointer;
}

.divi-powers-content-group-trigger.is-disabled,
.divi-powers-scroll-nav-trigger.is-disabled {
  opacity: 0.55;
  cursor: default;
}

.divi-powers-content-group-progress {
  margin-block: 0 1rem;
  font-size: 0.875em;
  line-height: 1.4;
}

/* Runtime state hooks intentionally avoid overriding native Divi design. */
.divi-powers-content-toggle.is-active {
  --divi-powers-content-toggle-active: 1;
}

.divi-powers-content-group-trigger.is-active {
  --divi-powers-content-group-active: 1;
}

.divi-powers-scroll-nav-trigger.is-active {
  --divi-powers-scroll-nav-active: 1;
}

.divi-powers-scroll-nav-progress {
  display: grid;
  gap: 0.5rem;
  width: 100%;
  margin-block: 0 0.9rem;
  font-size: 0.875em;
  line-height: 1.4;
}

.divi-powers-scroll-nav-progress-track {
  display: block;
  width: 100%;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 18%, transparent);
}

.divi-powers-scroll-nav-progress-fill {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: currentColor;
  transition: width 120ms linear;
}

@media (prefers-reduced-motion: reduce) {
  .divi-powers-scroll-nav-progress-fill {
    transition: none;
  }
}

.divi-powers-target-reveal-fade {
  animation: divi-powers-fade-in 220ms ease both;
}

.divi-powers-target-reveal-fade-slide {
  animation: divi-powers-fade-slide-in 240ms ease both;
}

@keyframes divi-powers-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes divi-powers-fade-slide-in {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .divi-powers-dismissible,
  .divi-powers-dismiss-button,
  .divi-powers-target-reveal-fade,
  .divi-powers-target-reveal-fade-slide {
    transition: none !important;
    animation: none !important;
  }
}

/* Modal & Drawer: v0.3 modal foundation. */
.divi-powers-modal-portal {
  position: relative;
  z-index: 2147483000;
}

.divi-powers-modal-backdrop,
.divi-powers-modal-shell {
  position: fixed;
  inset: 0;
}

.divi-powers-modal-backdrop {
  z-index: 2147483000;
  background: rgba(10, 12, 18, 0.72);
  opacity: 0;
  transition: opacity 240ms ease;
}

.divi-powers-modal-shell {
  z-index: 2147483001;
  display: flex;
  overflow: hidden;
  pointer-events: none;
}

.divi-powers-modal-shell[data-divi-powers-presentation='modal'] {
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 4vw, 48px);
  overflow: auto;
}

.divi-powers-modal-shell[data-divi-powers-presentation='drawer-left'] {
  align-items: stretch;
  justify-content: flex-start;
}

.divi-powers-modal-shell[data-divi-powers-presentation='drawer-right'] {
  align-items: stretch;
  justify-content: flex-end;
}

.divi-powers-modal-shell[data-divi-powers-presentation='bottom-sheet'] {
  align-items: flex-end;
  justify-content: center;
}

.divi-powers-modal-backdrop[data-divi-powers-modal-animation='none'],
.divi-powers-modal-shell[data-divi-powers-modal-animation='none'] .divi-powers-modal {
  transition: none !important;
}

.divi-powers-modal-backdrop.is-open {
  opacity: 1;
}

.divi-powers-modal-backdrop.is-closing {
  opacity: 0;
}

.divi-powers-modal-backdrop[hidden],
.divi-powers-modal-shell[hidden] {
  display: none !important;
}

.divi-powers-modal {
  position: relative !important;
  margin: 0 !important;
  overflow: auto;
  pointer-events: auto;
  box-sizing: border-box;
  overscroll-behavior: contain;
  opacity: 0;
  transition: opacity 240ms ease, transform 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.divi-powers-modal[data-divi-powers-presentation='modal'] {
  width: min(90vw, 1080px) !important;
  max-width: 1080px !important;
  max-height: min(90vh, 900px);
  transform: scale(0.96);
}

.divi-powers-modal[data-divi-powers-presentation='drawer-left'],
.divi-powers-modal[data-divi-powers-presentation='drawer-right'] {
  width: min(90vw, 480px) !important;
  max-width: 480px !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100vh;
  max-height: 100dvh;
}

.divi-powers-modal[data-divi-powers-presentation='drawer-left'] {
  transform: translateX(-100%);
}

.divi-powers-modal[data-divi-powers-presentation='drawer-right'] {
  transform: translateX(100%);
}

.divi-powers-modal[data-divi-powers-presentation='bottom-sheet'] {
  width: 100vw !important;
  max-width: 100vw !important;
  max-height: min(85vh, 900px);
  max-height: min(85dvh, 900px);
  transform: translateY(100%);
}

.divi-powers-modal-shell[data-divi-powers-modal-animation='fade'] .divi-powers-modal {
  transform: none;
}

.divi-powers-modal-shell[data-divi-powers-modal-animation='none'] .divi-powers-modal {
  opacity: 1;
  transform: none;
}

.divi-powers-modal-shell.is-open .divi-powers-modal {
  opacity: 1;
  transform: none;
}

.divi-powers-modal-shell.is-closing .divi-powers-modal {
  opacity: 0;
}

.divi-powers-modal-shell.is-closing[data-divi-powers-modal-animation='fade'] .divi-powers-modal,
.divi-powers-modal-shell.is-closing[data-divi-powers-modal-animation='none'] .divi-powers-modal {
  transform: none;
}

.divi-powers-modal:focus {
  outline: none;
}

.divi-powers-modal:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: -3px;
}

.divi-powers-modal-content-wrapper {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

.divi-powers-modal-close {
  appearance: none;
  position: absolute;
  z-index: 100;
  top: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.76);
  color: #fff;
  font: 700 27px/1 Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
  transition: transform 150ms ease, background 150ms ease;
}

.divi-powers-modal-close--top-right {
  right: 14px;
}

.divi-powers-modal-close--top-left {
  left: 14px;
}

.divi-powers-modal-close:hover {
  transform: scale(1.06);
}

.divi-powers-modal-close:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

body.divi-powers-modal-open {
  overscroll-behavior: none;
}

@media (max-width: 767px) {
  .divi-powers-modal-shell[data-divi-powers-presentation='modal'] {
    padding: 16px;
  }

  .divi-powers-modal[data-divi-powers-presentation='modal'] {
    width: calc(100vw - 32px) !important;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
  }

  .divi-powers-modal[data-divi-powers-presentation='drawer-left'],
  .divi-powers-modal[data-divi-powers-presentation='drawer-right'] {
    width: min(92vw, 440px) !important;
  }

  .divi-powers-modal[data-divi-powers-presentation='bottom-sheet'] {
    max-height: 90vh;
    max-height: 90dvh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .divi-powers-modal-backdrop,
  .divi-powers-modal-shell .divi-powers-modal,
  .divi-powers-modal-close {
    transition: none !important;
    animation: none !important;
  }
}

/* Anchored Tooltips & Popovers. */
.divi-powers-floating-portal {
  position: fixed;
  inset: 0;
  z-index: 2147482500;
  pointer-events: none;
}

.divi-powers-floating {
  position: fixed !important;
  z-index: 2147482501 !important;
  width: max-content !important;
  max-width: min(var(--divi-powers-floating-max-width, 420px), calc(100vw - 24px)) !important;
  margin: 0 !important;
  box-sizing: border-box;
  pointer-events: auto;
  opacity: 0;
  scale: 0.98;
  transform-origin: center;
  transition: opacity 150ms ease, scale 180ms ease;
  isolation: isolate;
}

.divi-powers-floating[hidden] {
  display: none !important;
}

.divi-powers-floating--tooltip[data-divi-powers-floating-hover-content='0'] {
  pointer-events: none;
}

.divi-powers-floating.is-open {
  opacity: 1;
  scale: 1;
}

.divi-powers-floating.is-closing {
  opacity: 0;
  scale: 0.98;
}

.divi-powers-floating:focus {
  outline: none;
}

.divi-powers-floating:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

.divi-powers-floating-content-wrapper {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

.divi-powers-floating-arrow {
  position: absolute;
  z-index: -1;
  width: 14px;
  height: 14px;
  background: inherit;
  border: inherit;
  rotate: 45deg;
  pointer-events: none;
}

.divi-powers-floating[data-divi-powers-floating-resolved-placement='top'] .divi-powers-floating-arrow {
  left: var(--divi-powers-floating-arrow-left, 50%);
  bottom: -7px;
  translate: -50% 0;
  border-left-color: transparent;
  border-top-color: transparent;
}

.divi-powers-floating[data-divi-powers-floating-resolved-placement='bottom'] .divi-powers-floating-arrow {
  left: var(--divi-powers-floating-arrow-left, 50%);
  top: -7px;
  translate: -50% 0;
  border-right-color: transparent;
  border-bottom-color: transparent;
}

.divi-powers-floating[data-divi-powers-floating-resolved-placement='left'] .divi-powers-floating-arrow {
  right: -7px;
  top: var(--divi-powers-floating-arrow-top, 50%);
  translate: 0 -50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
}

.divi-powers-floating[data-divi-powers-floating-resolved-placement='right'] .divi-powers-floating-arrow {
  left: -7px;
  top: var(--divi-powers-floating-arrow-top, 50%);
  translate: 0 -50%;
  border-right-color: transparent;
  border-top-color: transparent;
}

.divi-powers-floating-close {
  appearance: none;
  position: absolute;
  z-index: 30;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.76);
  color: #fff;
  font: 700 22px/1 Arial, sans-serif;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
  transition: transform 150ms ease, background 150ms ease;
}

.divi-powers-floating-close:hover {
  transform: scale(1.06);
}

.divi-powers-floating-close:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .divi-powers-floating,
  .divi-powers-floating-close {
    transition: none !important;
    animation: none !important;
  }
}

/* Content Switcher active-state design controls.
 * Values are configured per control and applied as CSS custom properties by
 * the frontend runtime. !important is intentional: active state styling must
 * be able to override a normal Divi preset without changing its inactive look.
 */
.divi-powers-active-style-control {
  transition:
    background var(--divi-powers-active-transition, 180ms) ease,
    color var(--divi-powers-active-transition, 180ms) ease,
    border-color var(--divi-powers-active-transition, 180ms) ease,
    border-width var(--divi-powers-active-transition, 180ms) ease,
    border-radius var(--divi-powers-active-transition, 180ms) ease,
    box-shadow var(--divi-powers-active-transition, 180ms) ease,
    transform var(--divi-powers-active-transition, 180ms) ease !important;
}

body .divi-powers-active-style-control.is-active,
body .divi-powers-active-style-control[aria-current='location'],
body .divi-powers-active-style-control[aria-pressed='true'],
body #page-container .divi-powers-active-style-control.is-active,
body #page-container .divi-powers-active-style-control[aria-current='location'],
body #page-container .divi-powers-active-style-control[aria-pressed='true'],
body #et-boc .et-l .divi-powers-active-style-control.is-active,
body #et-boc .et-l .divi-powers-active-style-control[aria-current='location'],
body #et-boc .et-l .divi-powers-active-style-control[aria-pressed='true'] {
  background: var(--divi-powers-active-background, #8d5cff) !important;
  color: var(--divi-powers-active-color, #ffffff) !important;
  border-color: var(--divi-powers-active-border-color, #8d5cff) !important;
  border-style: solid !important;
  border-width: var(--divi-powers-active-border-width, 1px) !important;
  border-radius: var(--divi-powers-active-radius, 12px) !important;
  box-shadow: var(--divi-powers-active-shadow, 0 8px 22px rgba(141, 92, 255, 0.32)) !important;
  font-weight: var(--divi-powers-active-font-weight, 700) !important;
  transform: var(--divi-powers-active-transform, none) !important;
}

/* Divi often assigns text color to nested spans/icons rather than the control. */
body .divi-powers-active-style-control.is-active :where(span, strong, em, small, i),
body .divi-powers-active-style-control[aria-current='location'] :where(span, strong, em, small, i),
body .divi-powers-active-style-control[aria-pressed='true'] :where(span, strong, em, small, i),
body #page-container .divi-powers-active-style-control.is-active :where(span, strong, em, small, i),
body #page-container .divi-powers-active-style-control[aria-current='location'] :where(span, strong, em, small, i),
body #page-container .divi-powers-active-style-control[aria-pressed='true'] :where(span, strong, em, small, i) {
  color: inherit !important;
}

@media (prefers-reduced-motion: reduce) {
  .divi-powers-active-style-control {
    transition: none !important;
  }
}


/* Woo Journey checkout layouts rendered by [divi_powers_checkout]. */
.divi-powers-checkout-layout {
  container: divi-powers-checkout / inline-size;
  --dp-checkout-ink: #242424;
  --dp-checkout-muted: #697184;
  --dp-checkout-line: #e2e4ec;
  --dp-checkout-soft: #f8f8fc;
  --dp-checkout-accent: #8d5cff;
  --dp-checkout-radius: 18px;
}
.divi-powers-checkout-layout form.checkout { min-width:0; }
.divi-powers-checkout-layout #customer_details,
.divi-powers-checkout-layout #order_review,
.divi-powers-checkout-layout #order_review_heading { min-width:0; }
.divi-powers-checkout-layout #customer_details::before,
.divi-powers-checkout-layout #customer_details::after { content:""; display:table; clear:both; }
.divi-powers-checkout-layout #customer_details > .col-1,
.divi-powers-checkout-layout #customer_details > .col-2 { float:none; width:100%; margin:0; }
.divi-powers-checkout-layout #customer_details > .col-2 { margin-top:28px; }
.divi-powers-checkout-layout #order_review {
  padding:clamp(18px,3cqw,30px);
  background:var(--dp-checkout-soft);
  border:1px solid var(--dp-checkout-line);
  border-radius:var(--dp-checkout-radius);
}
.divi-powers-checkout-layout #order_review_heading { margin:0 0 16px; }
.divi-powers-checkout-layout table.shop_table { border-collapse:collapse; }
.divi-powers-checkout-layout table.shop_table th,
.divi-powers-checkout-layout table.shop_table td { border-color:var(--dp-checkout-line); }
.divi-powers-checkout-layout #payment { background:transparent; }
.divi-powers-checkout-layout #payment ul.payment_methods { padding-left:0; padding-right:0; }
.divi-powers-checkout-layout #payment div.payment_box { border-radius:12px; }
.divi-powers-checkout-layout #place_order { width:100%; min-height:54px; }

/* Details left, order/payment right. */
.divi-powers-checkout-layout--two_column form.checkout {
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  grid-template-rows:auto auto 1fr;
  column-gap:clamp(24px,4cqw,48px);
  align-items:start;
}
.divi-powers-checkout-layout--two_column #customer_details { grid-column:1; grid-row:1 / span 3; }
.divi-powers-checkout-layout--two_column #order_review_heading { grid-column:2; grid-row:1; }
.divi-powers-checkout-layout--two_column #order_review { grid-column:2; grid-row:2 / span 2; position:sticky; top:32px; }

/* Calm vertical flow. */
.divi-powers-checkout-layout--stacked form.checkout { display:block; max-width:880px; margin-inline:auto; }
.divi-powers-checkout-layout--stacked #customer_details,
.divi-powers-checkout-layout--stacked #order_review_heading,
.divi-powers-checkout-layout--stacked #order_review { width:100%; }
.divi-powers-checkout-layout--stacked #order_review_heading { margin-top:46px; }

/* Compact no-shipping experience. */
.divi-powers-checkout-layout--compact form.checkout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
  grid-template-rows:auto auto 1fr;
  gap:0 clamp(22px,3.5cqw,40px);
  align-items:start;
  max-width:1040px;
  margin-inline:auto;
}
.divi-powers-checkout-layout--compact #customer_details { grid-column:1; grid-row:1 / span 3; padding:clamp(20px,3cqw,34px); border:1px solid var(--dp-checkout-line); border-radius:var(--dp-checkout-radius); background:#fff; }
.divi-powers-checkout-layout--compact #order_review_heading { grid-column:2; grid-row:1; }
.divi-powers-checkout-layout--compact #order_review { grid-column:2; grid-row:2 / span 2; position:sticky; top:32px; }
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .form-row-first,
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .form-row-last,
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .dp-checkout-width-half,
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .dp-checkout-width-third,
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .dp-woo-standard-field--half,
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .dp-woo-standard-field--third,
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .dp-woo-custom-field--half,
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details .dp-woo-custom-field--third {
  float:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.divi-powers-checkout-layout--compact.is-virtual-cart #customer_details > .col-2:empty { display:none; }

/* Guided Details → Review → Payment flow. */
.divi-powers-checkout-layout--steps form.checkout { display:block; max-width:860px; margin-inline:auto; }
.divi-powers-checkout-layout--steps .dp-checkout-pagination { margin-bottom:28px; }
.divi-powers-checkout-layout--steps .dp-checkout-pagination__track { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.divi-powers-checkout-layout--steps .dp-checkout-pagination__step {
  min-height:46px;
  padding:10px 12px;
  border:1px solid var(--dp-checkout-line);
  border-radius:999px;
  background:#fff;
  color:var(--dp-checkout-muted);
  font:700 12px/1.2 inherit;
  cursor:pointer;
}
.divi-powers-checkout-layout--steps .dp-checkout-pagination__step.is-active { background:var(--dp-checkout-ink); border-color:var(--dp-checkout-ink); color:#fff; }
.divi-powers-checkout-layout--steps .dp-checkout-pagination__step.is-complete { color:#16775a; border-color:#b8dfd0; background:#f1fbf7; }
.divi-powers-checkout-layout--steps form.checkout > #customer_details,
.divi-powers-checkout-layout--steps form.checkout > #order_review_heading,
.divi-powers-checkout-layout--steps form.checkout > #order_review { display:none; }
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="details"] > #customer_details { display:block; }
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="review"] > #order_review_heading,
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="review"] > #order_review { display:block; }
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="review"] #payment { display:none; }
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="payment"] > #order_review { display:block; }
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="payment"] #order_review > .shop_table,
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="payment"] #order_review > .dp-order-bumps--before_payment { display:none; }
.divi-powers-checkout-layout--steps .dp-checkout-pagination__actions { display:flex; justify-content:space-between; gap:16px; margin-top:24px; }
.divi-powers-checkout-layout--steps .dp-checkout-pagination__actions button { min-height:48px; padding:12px 20px; border-radius:10px; cursor:pointer; font-weight:700; }
.divi-powers-checkout-layout--steps .dp-checkout-pagination__back { border:1px solid var(--dp-checkout-line); background:#fff; color:var(--dp-checkout-ink); }
.divi-powers-checkout-layout--steps .dp-checkout-pagination__next { margin-left:auto; border:1px solid var(--dp-checkout-accent); background:var(--dp-checkout-accent); color:#fff; }
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="details"] .dp-checkout-pagination__back,
.divi-powers-checkout-layout--steps form.checkout[data-dp-checkout-step="payment"] .dp-checkout-pagination__next { visibility:hidden; pointer-events:none; }

@container divi-powers-checkout (max-width: 780px) {
  .divi-powers-checkout-layout--two_column form.checkout,
  .divi-powers-checkout-layout--compact form.checkout { display:block; }
  .divi-powers-checkout-layout--two_column #order_review_heading,
  .divi-powers-checkout-layout--compact #order_review_heading { margin-top:42px; }
  .divi-powers-checkout-layout--two_column #order_review,
  .divi-powers-checkout-layout--compact #order_review { position:static; }
  .divi-powers-checkout-layout--compact #customer_details { padding:20px; }
}
@container divi-powers-checkout (max-width: 520px) {
  .divi-powers-checkout-layout--steps .dp-checkout-pagination__track { grid-template-columns:1fr; }
}
@media (max-width: 782px) {
  .divi-powers-checkout-layout--two_column form.checkout,
  .divi-powers-checkout-layout--compact form.checkout { display:block; }
  .divi-powers-checkout-layout--two_column #order_review,
  .divi-powers-checkout-layout--compact #order_review { position:static; }
}
@media (prefers-reduced-motion: reduce) {
  .divi-powers-checkout-layout * { scroll-behavior:auto !important; }
}

/* Responsive one-form Custom Checkout Grid. */
.divi-powers-checkout-layout--custom form.checkout { display:block; max-width:none; }
.divi-powers-checkout-layout--custom form.checkout > #customer_details,
.divi-powers-checkout-layout--custom form.checkout > #order_review,
.divi-powers-checkout-layout--custom form.checkout > #order_review_heading { display:none !important; }
.dp-checkout-custom-grid {
  display:grid;
  grid-template-columns:minmax(0,var(--dp-checkout-grid-left)) minmax(0,var(--dp-checkout-grid-right));
  gap:var(--dp-checkout-grid-gap);
  max-width:var(--dp-checkout-grid-max);
  margin-inline:auto;
  align-items:start;
}
.dp-checkout-custom-grid__mobile { display:none; }
.dp-checkout-custom-grid__column { min-width:0; }
.dp-checkout-custom-grid__column.is-sticky { position:sticky; top:32px; }
.dp-checkout-custom-grid__block { min-width:0; margin-bottom:clamp(18px,2.4cqw,30px); }
.dp-checkout-custom-grid__block:last-child { margin-bottom:0; }
.dp-checkout-custom-grid__block[hidden] { display:none !important; }
.dp-checkout-custom-grid__block--billing,
.dp-checkout-custom-grid__block--shipping,
.dp-checkout-custom-grid__block--additional,
.dp-checkout-custom-grid__block--payment,
.dp-checkout-custom-grid__block--order_review,
.dp-checkout-grid-content:not(.dp-checkout-grid-content--divider) {
  padding:clamp(20px,3cqw,34px);
  background:#fff;
  border:1px solid var(--dp-checkout-line);
  border-radius:var(--dp-checkout-radius);
}
.dp-checkout-custom-grid__block :where(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) > h3,
.dp-checkout-grid-content > h3 { margin-top:0; }
.dp-checkout-custom-grid__block .col-1,
.dp-checkout-custom-grid__block .col-2,
.dp-checkout-custom-grid__block .woocommerce-billing-fields,
.dp-checkout-custom-grid__block .woocommerce-shipping-fields,
.dp-checkout-custom-grid__block .woocommerce-additional-fields { float:none !important; width:100% !important; margin:0 !important; }
.dp-checkout-custom-grid__block--order_review #order_review_heading { display:block !important; margin:0 0 16px; }
.dp-checkout-custom-grid__block--order_review .woocommerce-checkout-review-order-table { width:100%; margin:0; }
.dp-checkout-custom-grid__block--payment #payment { margin:0; }
.dp-checkout-custom-grid__block--payment .dp-order-bumps:first-child { margin-top:0; }
.dp-checkout-grid-content--divider { padding:4px 0; }
.dp-checkout-grid-content--divider hr { margin:0; border:0; border-top:1px solid var(--dp-checkout-line); }
.dp-checkout-grid-content img { display:block; max-width:100%; height:auto; border-radius:calc(var(--dp-checkout-radius) - 4px); }
.dp-checkout-product-spotlight { display:grid; gap:20px; }
.dp-checkout-product-spotlight__image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.dp-checkout-product-spotlight__body h3 { margin:0 0 10px; font-size:clamp(22px,3cqw,34px); }
.dp-checkout-product-spotlight__price { margin:0 0 12px; color:var(--dp-checkout-accent); font-size:20px; font-weight:800; }
.dp-checkout-product-spotlight__description > :last-child { margin-bottom:0; }
.dp-checkout-grid-trust { padding:0; margin:0; list-style:none; }
.dp-checkout-grid-trust li { position:relative; padding-left:26px; margin-bottom:12px; }
.dp-checkout-grid-trust li:last-child { margin-bottom:0; }
.dp-checkout-grid-trust li::before { content:"✓"; position:absolute; left:0; color:#16825d; font-weight:900; }
.dp-checkout-grid-stars { margin-bottom:12px; color:#e7a62d; letter-spacing:.12em; }
.dp-checkout-grid-content--testimonial blockquote { padding:0; margin:0 0 15px; border:0; font-size:1.08em; font-style:italic; }
.dp-checkout-grid-content--testimonial > p:last-child { margin-bottom:0; }
.dp-checkout-grid-warning { padding:12px; color:#8a4313; background:#fff7e8; border-radius:9px; }
.dp-checkout-grid-coupon label { display:block; margin-bottom:8px; font-weight:700; }
.dp-checkout-grid-coupon > div:first-of-type { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.dp-checkout-grid-coupon input { min-height:48px; padding:10px 13px; border:1px solid var(--dp-checkout-line); border-radius:10px; }
.dp-checkout-grid-coupon button { min-height:48px; padding:10px 18px; color:#fff; background:var(--dp-checkout-accent); border:0; border-radius:10px; font-weight:700; cursor:pointer; }
.dp-checkout-grid-coupon button:disabled { opacity:.6; cursor:wait; }
.dp-checkout-grid-coupon__message { margin-top:9px; color:var(--dp-checkout-muted); font-size:12px; }
.dp-checkout-custom-grid.is-mobile { display:block; }
.dp-checkout-custom-grid.is-mobile > .dp-checkout-custom-grid__column { display:none; }
.dp-checkout-custom-grid.is-mobile > .dp-checkout-custom-grid__mobile { display:block; }
.dp-checkout-custom-grid.is-mobile .dp-checkout-custom-grid__block { width:100%; }
@media (max-width:782px) {
  .dp-checkout-custom-grid__column.is-sticky { position:static; }
  .dp-checkout-grid-coupon > div:first-of-type { grid-template-columns:1fr; }
  .dp-checkout-grid-coupon button { width:100%; }
}
