/* BudBuddies cart presentation. Scoped to the native cart wrapper. */
.bud-cart-experience {
  --bb-ink: #3d254f;
  --bb-purple: #54266f;
  --bb-purple-deep: #341a4c;
  --bb-lilac: #e8d9ef;
  --bb-cream: #f8f4e8;
  --bb-yellow: #ffd84f;
  --bb-line: #d5c4d9;
  color: var(--bb-ink);
  font-family: "Montserrat", "Space Grotesk", sans-serif;
  isolation: isolate;
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 64px) clamp(18px, 4.4vw, 68px) 70px;
  background: var(--bb-cream);
  overflow: hidden;
}
.bud-cart-experience *, .bud-cart-experience *::before, .bud-cart-experience *::after { box-sizing: border-box; }
.bud-cart-experience::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 52% 28% at 83% 4%, #efe3f2 0%, transparent 100%), radial-gradient(ellipse 46% 42% at 4% 64%, #fff3c9 0%, transparent 100%);
}
.bud-cart-experience a { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.bud-cart-experience :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #b24880 !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px var(--bb-cream) !important; }
.bud-cart-experience .bud-cart-topline {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  border-bottom: 1px solid #cdbad2; padding-bottom: 17px;
  color: var(--bb-purple); font: 700 11px/1.4 "Space Grotesk", "Montserrat", sans-serif;
  text-transform: uppercase; letter-spacing: .18em;
}
.bud-cart-topline__index { display: flex; align-items: center; gap: 10px; }
.bud-cart-topline__index::before { content: ""; width: 18px; height: 18px; border: 2px solid var(--bb-purple); border-radius: 50%; background: var(--bb-yellow); box-shadow: inset 0 0 0 3px var(--bb-cream); }
.bud-cart-experience .bud-cart-intro { padding-top: clamp(30px, 4vw, 60px); max-width: 780px; position: relative; z-index: 2; }
.bud-cart-experience .bud-cart-eyebrow { margin: 0 0 10px; color: #7c4e91; font: 800 11px/1.4 "Space Grotesk", "Montserrat", sans-serif; letter-spacing: .19em; text-transform: uppercase; }
.bud-cart-experience .bud-cart-heading {
  font: 800 clamp(3.3rem, 7.5vw, 7.9rem)/.9 "Space Grotesk", "Montserrat", sans-serif;
  letter-spacing: -.075em; margin: 0; color: var(--bb-purple-deep);
}
.bud-cart-heading .bud-cart-heading__dot { color: #e4b518; }
.bud-cart-experience .bud-cart-intro__note {
  margin: 19px 0 0; font-size: clamp(14px, 1.2vw, 17px); line-height: 1.55;
  color: #684c6d; max-width: 35ch;
}
.bud-cart-experience .bud-cart-layout { display: flow-root; position: relative; min-height: 380px; margin-top: 34px; }
.bud-cart-experience .bud-cart-scene {
  position: absolute; z-index: 0; right: -20px; top: -250px; width: min(34vw, 430px); height: 350px;
  pointer-events: none;
}
.bud-cart-scene__planet {
  position: absolute; width: 73%; aspect-ratio: 1; border-radius: 50%; right: 2%; top: 8%;
  background: #e9d9ee; border: 2px solid #9c79ab;
  box-shadow: inset 18px -20px 0 #dbc1e2, 0 0 0 21px #e9d9ee70;
}
.bud-cart-scene__planet::after { content: ""; position: absolute; left: 21%; top: 19%; width: 17%; aspect-ratio: 1; border: 2px solid #b596c0; border-radius: 50%; }
.bud-cart-scene__orbit {
  position: absolute; width: 106%; height: 68%; left: -10%; top: 5%; border: 1.5px dashed #ae8ab9;
  border-radius: 50%; transform: rotate(-22deg);
}
.bud-cart-scene__figure {
  position: absolute; width: min(100%, 355px); height: auto; right: 7%; bottom: -54px;
  transform-origin: 54% 93%; filter: drop-shadow(0 13px 0 #48225119);
}
.bud-cart-scene__ground { position: absolute; bottom: -57px; right: -8px; width: 88%; height: 24px; border-radius: 50%; background: #552d6d30; }
.bud-cart-scene__spark { position: absolute; width: 15px; height: 15px; background: var(--bb-yellow); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); }
.bud-cart-scene__spark--one { top: 12%; left: -2%; width: 24px; height: 24px; }
.bud-cart-scene__spark--two { top: 58%; right: -11%; }
.bud-cart-scene__spark--three { bottom: 14%; left: 6%; width: 9px; height: 9px; }
.bud-cart-experience .bud-cart-native { display: flow-root; position: relative; z-index: 1; min-width: 0; }
.bud-cart-experience .bud-cart-native > .block_section.block_section_basic-section { float: none; width: 100%; }
.bud-cart-experience .bud-cart-native .acf-innerblocks-container > h2.wp-block-heading:has(+ .wp-block-woocommerce-cart) { display: none; }
.bud-cart-experience .bud-cart-native .wp-block-woocommerce-cart { max-width: none; margin: 0; }
.bud-cart-experience .bud-cart-native .wc-block-cart { color: var(--bb-ink); }
.bud-cart-experience .bud-cart-native .wc-block-cart__main { min-width: 0; }
.bud-cart-experience .bud-cart-native .wc-block-cart-items {
  width: 100%; max-width: 100%; border: 1.5px solid var(--bb-line); border-radius: 22px;
  background: #fffdf5; overflow: hidden; border-collapse: separate; border-spacing: 0;
  box-shadow: 7px 7px 0 #e5d7e5;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-items th {
  padding: 18px 20px 14px; border-bottom: 1px solid #e4d7e4; background: #fffaf0;
  color: #765680; font: 800 11px/1.3 "Space Grotesk", sans-serif; letter-spacing: .12em; text-transform: uppercase;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-items th:last-child { text-align: right; }
.bud-cart-experience .bud-cart-native .wc-block-cart-items__row {
  border-color: #e4d7e4; background: #fffdf5;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-items__row + .wc-block-cart-items__row { border-top: 1px solid #e4d7e4; }
.bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td {
  padding: 22px 12px; vertical-align: top; min-width: 0; background: transparent; border-color: #e4d7e4;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td:first-child { padding-left: 20px; width: clamp(92px, 11vw, 142px); }
.bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td:last-child { padding-right: 20px; }
.bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-cart-item__image a {
  display: flex; align-items: center; justify-content: center; width: min(100%, 112px); height: auto;
  aspect-ratio: 1; padding: 8px; border: 1px solid #ede2e9; border-radius: 16px; background: #fff;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-cart-item__image img {
  display: block; width: 100%; height: auto; aspect-ratio: 1; max-width: 100%; object-fit: contain;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-item__product { min-width: 0; overflow-wrap: anywhere; }
.bud-cart-experience .bud-cart-native .wc-block-components-product-name {
  display: inline-block; max-width: 100%; color: var(--bb-purple-deep);
  font: 800 clamp(15px, 1.3vw, 18px)/1.4 "Space Grotesk", "Montserrat", sans-serif;
  text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-item__prices { margin-top: 7px; color: var(--bb-purple-deep); font-weight: 700; line-height: 1.4; }
.bud-cart-experience .bud-cart-native .wc-block-components-product-metadata { color: #6b556d; }
.bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-cart-item__quantity {
  display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; width: 100%; gap: 10px 16px;
  margin-top: 12px;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-cart-item__remove-link {
  display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
  margin: 0 !important; color: #673777 !important; text-decoration: underline; text-underline-offset: 3px;
}
.bud-cart-experience .bud-cart-native .wc-block-components-quantity-selector {
  width: max-content; max-width: 100%; border: 1.5px solid #bda5c5; border-radius: 12px;
  background: #fff; min-height: 44px;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-components-quantity-selector__button {
  min-width: 44px; width: 44px; min-height: 44px; height: 44px; background: transparent; box-shadow: none;
}
.bud-cart-experience .bud-cart-native .wc-block-components-quantity-selector input { color: var(--bb-ink); }
.bud-cart-experience .bud-cart-native .wc-block-components-quantity-selector button:hover { background: #f1e5f3; }
.bud-cart-experience .bud-cart-native .wc-block-cart-item__total {
  min-width: 0; text-align: right; overflow-wrap: anywhere;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-item__total .wc-block-components-product-price__value {
  color: var(--bb-purple-deep); font: 800 clamp(17px, 1.7vw, 23px)/1.35 "Space Grotesk", "Montserrat", sans-serif;
}
.bud-cart-experience .bud-cart-native .wc-block-cart-item__total .wc-block-components-product-badge {
  display: inline-block; margin-top: 6px; max-width: 100%; white-space: normal;
}
/* Classic cart fallback: paint the existing table without changing its form controls. */
.bud-cart-experience .bud-cart-native .woocommerce-cart-form table.shop_table {
  width: 100%; max-width: 100%; border: 1.5px solid var(--bb-line); border-radius: 22px;
  border-collapse: separate; border-spacing: 0; background: #fffdf5;
}
.bud-cart-experience .bud-cart-native .woocommerce-cart-form table.shop_table th { background: #fffaf0; color: #765680; }
.bud-cart-experience .bud-cart-native .woocommerce-cart-form table.shop_table td { border-color: #e4d7e4; overflow-wrap: anywhere; }
.bud-cart-experience .bud-cart-native .woocommerce-cart-form .product-thumbnail img {
  width: 88px; height: 88px; object-fit: contain; padding: 6px; border: 1px solid #ede2e9;
  border-radius: 14px; background: #fff;
}
.bud-cart-experience .bud-cart-native .wc-block-cart__sidebar { background: #ede2ef; padding: clamp(18px, 2vw, 30px); border: 1.5px solid #c7aecc; border-radius: 22px; box-shadow: 7px 7px 0 #dac7df; }
.bud-cart-experience .bud-cart-native .wc-block-cart__totals-title { color: var(--bb-purple-deep); font: 800 22px/1.2 "Space Grotesk", sans-serif; letter-spacing: -.035em; }
.bud-cart-experience .bud-cart-native :is(.wc-block-components-totals-wrapper, .wc-block-components-panel) { border-color: #c8adcf; }
.bud-cart-experience .bud-cart-native :is(input, select) { accent-color: var(--bb-purple); }
.bud-cart-experience .bud-cart-native :is(.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button) {
  background: var(--bb-yellow); color: var(--bb-purple-deep); border: 2px solid var(--bb-purple-deep);
  border-radius: 14px; font: 800 15px/1.3 "Space Grotesk", "Montserrat", sans-serif;
  box-shadow: 4px 4px 0 var(--bb-purple-deep);
}
.bud-cart-experience .bud-cart-native :is(.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button):hover { background: #ffe57b; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--bb-purple-deep); }
.bud-cart-experience .bud-cart-native :is(.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button):active { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--bb-purple-deep); }
.bud-cart-experience .bud-cart-native .wc-block-components-notice-banner { border-radius: 12px; }
.bud-cart-experience .bud-cart-native .wc-block-components-spinner { color: var(--bb-purple); }
/* Empty state: the native title, return action and existing cross sells stay in their original DOM. */
.bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-layout { min-height: 510px; margin-top: 22px; }
.bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene { width: min(43vw, 510px); height: 480px; top: 24px; left: 1%; right: auto; }
.bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene__figure { width: min(100%, 480px); bottom: 0; right: 0; }
.bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene__ground { bottom: -3px; }
.bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-native { width: min(52%, 610px); margin-left: auto; padding-top: 105px; }
.bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block { text-align: left; }
.bud-cart-experience .bud-cart-native .wc-block-cart__empty-cart__title {
  color: var(--bb-purple-deep); font: 800 clamp(28px, 3.5vw, 49px)/1.05 "Space Grotesk", "Montserrat", sans-serif;
  letter-spacing: -.055em; margin: 0 0 20px; width: auto; text-align: left;
}
.bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block > h2.wc-block-cart__empty-cart__title.with-empty-cart-icon {
  margin: 0 0 20px !important;
  width: auto !important;
  text-align: left !important;
}
.bud-cart-experience .bud-cart-native h2.wc-block-cart__empty-cart__title.with-empty-cart-icon::before,
.bud-cart-experience .bud-cart-native h2.wc-block-cart__empty-cart__title.with-empty-cart-icon::after {
  display: none !important;
  content: none !important;
}
.bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block > :is(p, .wp-block-buttons) { text-align: left; }
.bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link, a.button) {
  display: inline-flex; justify-content: center; align-items: center; min-height: 52px;
  padding: 12px 26px; background: var(--bb-yellow) !important; color: var(--bb-purple-deep) !important; border: 2px solid var(--bb-purple-deep) !important;
  border-radius: 14px; box-shadow: 5px 5px 0 var(--bb-purple-deep);
  font: 800 14px/1.3 "Space Grotesk", "Montserrat", sans-serif; text-decoration: none;
}
.bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link, a.button):hover { background: #ffe57b !important; transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--bb-purple-deep); }
.bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block :is(.wp-block-button__link, a.button):active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--bb-purple-deep); }
.bud-cart-experience .bud-cart-bottom { display: flex; clear: both; width: 100%; align-items: center; gap: 12px; margin-top: 38px; padding-top: 18px; border-top: 1px solid var(--bb-line); color: #795e80; font: 700 11px/1.4 "Space Grotesk", sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.bud-cart-bottom__mark { width: 20px; height: 20px; border: 2px solid var(--bb-purple); transform: rotate(45deg); border-radius: 5px; background: var(--bb-yellow); }
/* Effects are enqueued only when the admin switch is on; JS suspends them offscreen/in hidden tabs. */
.bud-cart-experience[data-bb-running="true"] .bud-cart-scene__figure { animation: bb-cart-breathe 4.6s ease-in-out infinite; }
.bud-cart-experience[data-bb-running="true"] .bud-cart-scene__spark--one { animation: bb-cart-twinkle 3.7s ease-in-out infinite; }
.bud-cart-experience[data-bb-running="true"] .bud-cart-scene__spark--two { animation: bb-cart-twinkle 3.2s ease-in-out 1s infinite; }
.bud-cart-experience[data-bb-running="true"] .bud-cart-scene__spark--three { animation: bb-cart-twinkle 4.1s ease-in-out .7s infinite; }
@keyframes bb-cart-breathe { 0%, 100% { transform: rotate(-.7deg) scale(1); } 50% { transform: rotate(.7deg) scale(1.013); } }
@keyframes bb-cart-twinkle { 0%, 100% { transform: scale(.75) rotate(0); opacity: .45; } 50% { transform: scale(1.35) rotate(35deg); opacity: 1; } }
@media (max-width: 1100px) {
  .bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td { padding: 18px 9px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td:first-child { padding-left: 14px; width: 100px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td:last-child { padding-right: 14px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-cart-item__image a { width: min(100%, 82px); }
}
@media (max-width: 990px) {
  /* Woo's responsive table is already a grid; override the theme's fixed 120/132 and 90/132 tracks. */
  .bud-cart-experience .bud-cart-native :is(.is-medium, .is-mobile, .is-small) table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: minmax(0, 100px) minmax(0, 1fr) !important;
    column-gap: 12px; width: 100%; min-width: 0;
  }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td:first-child { width: auto; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-cart-item__image a { width: min(100%, 88px); }
  .bud-cart-experience .bud-cart-native .wc-block-cart-item__product { grid-column: 2 / 3; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-item__total { grid-column: 2 / 3; text-align: left; }
}
@media (max-width: 900px) {
  .bud-cart-experience .bud-cart-scene { width: 250px; height: 240px; top: -220px; right: -12px; }
  .bud-cart-experience .bud-cart-scene__figure { width: 215px; bottom: -8px; }
  .bud-cart-experience .bud-cart-scene__ground { bottom: -12px; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-layout { min-height: 380px; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene { width: 43%; height: 360px; top: 24px; left: 0; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene__figure { width: 100%; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-native { width: 53%; padding-top: 72px; }
}
@media (max-width: 767px) {
  .bud-cart-experience { padding: 20px 16px 44px; }
  .bud-cart-experience .bud-cart-topline { font-size: 10px; }
  .bud-cart-topline__right { display: none; }
  .bud-cart-experience .bud-cart-intro { padding-top: 28px; padding-right: 100px; }
  .bud-cart-experience .bud-cart-heading { font-size: clamp(3.15rem, 14vw, 5rem); }
  .bud-cart-experience .bud-cart-intro__note { margin-top: 12px; font-size: 13px; }
  .bud-cart-experience .bud-cart-layout { margin-top: 30px; min-height: 0; }
  .bud-cart-experience .bud-cart-scene { width: 130px; height: 120px; top: -180px; right: -7px; }
  .bud-cart-experience .bud-cart-scene__figure { width: 118px; bottom: 0; }
  .bud-cart-experience .bud-cart-scene__ground { bottom: -4px; }
  .bud-cart-experience .bud-cart-scene__orbit { display: none; }
  .bud-cart-experience .bud-cart-native .wc-block-cart__sidebar { margin-top: 25px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items { box-shadow: 5px 5px 0 #e5d7e5; }
  .bud-cart-experience .bud-cart-native :is(.is-medium, .is-mobile, .is-small) table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: minmax(0, 76px) minmax(0, 1fr) !important; column-gap: 10px;
  }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td { padding: 13px 8px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td:first-child { padding-left: 12px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items__row > td:last-child { padding-right: 12px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items .wc-block-cart-item__image a { width: min(100%, 72px); padding: 5px; border-radius: 12px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-items th { padding: 14px 12px; }
  .bud-cart-experience .bud-cart-native .wc-block-cart-item__total .wc-block-components-product-price__value { font-size: 18px; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-layout { min-height: 0; margin-top: 10px; display: flex; flex-direction: column; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene { order: 0; position: relative; top: auto; left: auto; width: min(74%, 265px); height: 240px; margin: 0 auto 8px; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene__figure { width: 240px; max-width: 100%; bottom: 0; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-native { order: 1; width: 100%; padding-top: 0; margin: 0; text-align: center; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-native .wp-block-woocommerce-empty-cart-block { text-align: center; }
  .bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block > :is(p, .wp-block-buttons) { text-align: center; justify-content: center; }
  .bud-cart-experience .bud-cart-native .wp-block-woocommerce-empty-cart-block > h2.wc-block-cart__empty-cart__title.with-empty-cart-icon { text-align: center !important; }
}
@media (max-width: 360px) {
  .bud-cart-experience .bud-cart-intro { padding-right: 80px; }
  .bud-cart-experience .bud-cart-heading { font-size: 45px; }
  .bud-cart-experience .bud-cart-scene { width: 110px; top: -156px; }
  .bud-cart-experience .bud-cart-scene__figure { width: 100px; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene { top: auto; width: 210px; height: 213px; }
  .bud-cart-experience:has(.wp-block-woocommerce-empty-cart-block) .bud-cart-scene__figure { width: 205px; }
}
@media print {
  .bud-cart-experience { background: #fffdf5; color: #271b2e; padding: 0; overflow: visible; }
  .bud-cart-experience::before, .bud-cart-experience .bud-cart-scene { display: none !important; }
  .bud-cart-experience *, .bud-cart-experience *::before, .bud-cart-experience *::after { animation: none !important; transition: none !important; box-shadow: none !important; }
}

/*
 * Populated Cart only. The desktop scene's lower figure/drop-shadow footprint
 * reaches about 167px below the layout origin. Give its normal-flow native
 * content a 192px starting row (25px buffer) without moving the illustration
 * or the provider's shipping bar. The ACF Basic Section otherwise adds a
 * separate 64px top pad, so remove only that duplicate top pad in this owner.
 */
@media screen and (min-width: 768px) {
  body.woocommerce-cart .bud-cart-experience:not(:has(.wp-block-woocommerce-empty-cart-block))
    .bud-cart-layout:has(.wc-block-cart, .woocommerce-cart-form) > .bud-cart-native {
    padding-top: 192px;
  }
  body.woocommerce-cart .bud-cart-experience:not(:has(.wp-block-woocommerce-empty-cart-block))
    .bud-cart-layout:has(.wc-block-cart, .woocommerce-cart-form)
    > .bud-cart-native > .block_section.block_section_basic-section {
    padding-top: 0;
  }
}

/*
 * At 768-900px the original scene footprint ends about 41px below the
 * layout origin. 65px maintains a 24px buffer; this replaces, rather than
 * stacking on, the observed 64px Basic Section top pad.
 *
 * Below 768px the artwork already ends above the layout origin. Leave native
 * padding and the Basic Section's observed 25px mobile top pad unchanged.
 */
@media screen and (min-width: 768px) and (max-width: 900px) {
  body.woocommerce-cart .bud-cart-experience:not(:has(.wp-block-woocommerce-empty-cart-block))
    .bud-cart-layout:has(.wc-block-cart, .woocommerce-cart-form) > .bud-cart-native {
    padding-top: 65px;
  }
}

/*
 * BudBuddies populated native Cart: price labels and totals alignment.
 * Load after the frozen 10.2024.64 cart-experience.css.
 * Live ownership: the theme's dist/css/main.min.css paints the nested white
 * .wp-block-woocommerce-cart-order-summary-block; Woo paints the empty
 * provider-slot padding. Neither requires changing native Cart markup.
 */

/* The Woo product badge is the savings label, not the crossed-out old price. */
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wc-block-cart-item__total .wc-block-components-product-badge.wc-block-components-sale-badge {
  width: fit-content;
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid rgba(49, 113, 83, .22);
  border-radius: 999px;
  background: #e7f2e8;
  color: #24583f;
  font: 700 .7rem/1.25 "Space Grotesk", "Montserrat", sans-serif;
  letter-spacing: .02em;
  text-align: center;
  overflow-wrap: anywhere;
}

/* Only the old price receives the approved rose pill; preserve its strike. */
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wc-block-cart-item__prices del.wc-block-components-product-price__regular {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding: 1px 6px;
  border-radius: 999px;
  background: #f8dddd;
  color: #a83c4a;
  opacity: 1;
  text-decoration: line-through;
  text-decoration-color: currentColor;
  text-decoration-thickness: 2px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wc-block-cart-item__prices del.wc-block-components-product-price__regular :is(.amount, bdi, span) {
  color: inherit;
}

/*
 * The lilac sidebar is the one summary surface. Undo only the legacy theme's
 * 40px/32px white inset and its !important 46px radius, leaving the outer
 * sidebar, its border and its illustrated surroundings intact.
 */
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-block {
  padding: 0;
  border-radius: 0 !important;
  background-color: transparent;
  border-bottom: 0;
  margin-bottom: 14px;
}
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wc-block-cart__sidebar .wc-block-cart__totals-title {
  display: block;
  padding: 0 0 14px;
  text-align: center;
}

/* Keep Woo's semantic totals rows and coupon disclosure; reduce only their
 * proven paddings and let labels and amounts occupy opposite edges. */
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wp-block-woocommerce-cart-order-summary-block
  > .wp-block-woocommerce-cart-order-summary-coupon-form-block {
  padding-block: 13px;
}
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wp-block-woocommerce-cart-order-summary-totals-block
  > :is(.wp-block-woocommerce-cart-order-summary-subtotal-block, .wp-block-woocommerce-cart-order-summary-shipping-block) {
  padding-top: 13px;
}
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wp-block-woocommerce-cart-order-summary-block
  > .wc-block-components-totals-wrapper:not(.slot-wrapper) {
  padding-block: 15px 12px;
}
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__value {
  margin-left: auto;
  text-align: right;
}

/*
 * A provider renders an anonymous 32px padded wrapper around an EMPTY
 * .cuw-offers before shipping and after total. Remove only that wrapper's
 * unused padding; if the offer gains content or siblings, Woo padding remains.
 */
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wp-block-woocommerce-cart-order-summary-block
  .wc-block-components-totals-wrapper.slot-wrapper
  > :is(.wc-block-components-discounts-meta, .wc-block-components-order-meta)
  > div:has(> .cuw-offers:empty):not(:has(> :not(.cuw-offers))) {
  padding-block: 0;
}

/* The legacy theme forces a 212px-wide checkout and #8a6aad !important.
 * The deeper brand purple against warm cream keeps the action legible. */
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wc-block-cart__sidebar .wc-block-cart__submit-container > .wc-block-cart__submit-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  background-color: var(--bb-purple) !important;
  color: var(--bb-cream) !important;
  border-color: var(--bb-purple-deep);
  text-align: center;
}
.bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
  .wc-block-cart__sidebar .wc-block-cart__submit-container > .wc-block-cart__submit-button:hover {
  background-color: var(--bb-purple-deep) !important;
}

/* At the narrowest Cart width, the native coupon field and apply action can
 * reflow instead of shrinking below useful tap and editing dimensions. */
@media (max-width: 390px) {
  .bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
    .wc-block-cart__sidebar .wc-block-components-totals-coupon__form {
    flex-wrap: wrap;
  }
  .bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
    .wc-block-cart__sidebar .wc-block-components-totals-coupon__form input {
    flex: 1 1 145px;
    min-width: 0;
  }
  .bud-cart-experience .bud-cart-native:has(.wc-block-cart-items__row)
    .wc-block-cart__sidebar .wc-block-components-totals-coupon__button {
    min-height: 44px;
  }
}