/* =========================================================
   SoftExponent Basket - Engagement Review v1.0.4
   Scope: body.woocommerce-cart
   ========================================================= */

:root {
  --softexponent-basket-canvas: #F7F8FA;
  --softexponent-basket-surface: #FFFFFF;
  --softexponent-basket-ink: #101114;
  --softexponent-basket-charcoal: #15171B;
  --softexponent-basket-muted: #4A4F57;
  --softexponent-basket-muted-2: #6B7280;
  --softexponent-basket-border: #E6E9EE;
  --softexponent-basket-gold: #C6A23A;
  --softexponent-basket-red: #9E1B1B;
  --softexponent-basket-red-dark: #7E1414;
  --softexponent-basket-font: Inter, Poppins, Arial, sans-serif;
}

body.woocommerce-cart {
  background:
    radial-gradient(circle at 9% 12%, rgba(158, 27, 27, 0.035), transparent 30%),
    radial-gradient(circle at 88% 10%, rgba(198, 162, 58, 0.075), transparent 28%),
    var(--softexponent-basket-canvas) !important;
  color: var(--softexponent-basket-ink) !important;
  font-family: var(--softexponent-basket-font) !important;
  overflow-x: hidden !important;
}

body.woocommerce-cart *,
body.woocommerce-cart *::before,
body.woocommerce-cart *::after {
  box-sizing: border-box !important;
  font-family: var(--softexponent-basket-font) !important;
}

body.woocommerce-cart .softexponent-basket-intro {
  display: none !important;
}

/* Premium Woo notice reset */
body.woocommerce-cart .woocommerce-notices-wrapper {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 18px 0 0 !important;
}

/* Fixed-header protection: when WooCommerce shows an add/remove notice,
   keep it below the sticky SoftExponent header rather than hidden under it. */
body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-message),
body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-info),
body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-error) {
  padding-top: 98px !important;
}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 1180px !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 16px 22px 16px 56px !important;
  border: 1px solid rgba(158, 27, 27, 0.14) !important;
  border-left: 3px solid var(--softexponent-basket-red) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  color: var(--softexponent-basket-ink) !important;
  box-shadow: 0 18px 48px rgba(16, 17, 20, 0.055) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before {
  color: var(--softexponent-basket-gold) !important;
  left: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

body.woocommerce-cart .woocommerce-message::after,
body.woocommerce-cart .woocommerce-info::after,
body.woocommerce-cart .woocommerce-error::after {
  display: none !important;
  content: none !important;
}

body.woocommerce-cart .woocommerce-message a,
body.woocommerce-cart .woocommerce-info a,
body.woocommerce-cart .woocommerce-error a,
body.woocommerce-cart .woocommerce-message a.restore-item,
body.woocommerce-cart .woocommerce-info a.restore-item,
body.woocommerce-cart .woocommerce-error a.restore-item {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 0 0 10px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(158, 27, 27, 0.07) !important;
  color: var(--softexponent-basket-red) !important;
  border: 1px solid rgba(158, 27, 27, 0.12) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 720 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  text-decoration: none !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}

body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .woocommerce-info .button,
body.woocommerce-cart .woocommerce-error .button {
  flex: 0 0 auto !important;
  float: none !important;
  margin: 0 0 0 auto !important;
  padding: 11px 17px !important;
  border-radius: 999px !important;
  background: var(--softexponent-basket-red) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 720 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

/* Page shell */
body.woocommerce-cart .softexponent-cart-page {
  width: 100% !important;
  padding: clamp(48px, 6.6vw, 88px) 0 clamp(74px, 8.5vw, 112px) !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper + .softexponent-cart-page {
  padding-top: clamp(34px, 4.6vw, 58px) !important;
}

body.woocommerce-cart .softexponent-cart-page__shell {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
}

body.woocommerce-cart .softexponent-cart-page__hero {
  max-width: 700px !important;
  margin: 0 0 clamp(38px, 4.6vw, 54px) !important;
}

body.woocommerce-cart .softexponent-cart-page__eyebrow,
body.woocommerce-cart .softexponent-cart-item__label,
body.woocommerce-cart .softexponent-cart-summary__eyebrow,
body.woocommerce-cart .softexponent-cart-empty__label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  color: var(--softexponent-basket-gold) !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  font-weight: 760 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart .softexponent-cart-page__eyebrow span {
  width: 34px !important;
  height: 1px !important;
  display: inline-block !important;
  background: linear-gradient(90deg, var(--softexponent-basket-gold), var(--softexponent-basket-red)) !important;
}

body.woocommerce-cart .softexponent-cart-page__hero h1,
body.woocommerce-cart .softexponent-cart-empty__card h1 {
  margin: 0 !important;
  max-width: 760px !important;
  color: var(--softexponent-basket-ink) !important;
  font-size: clamp(42px, 5vw, 60px) !important;
  line-height: 1.035 !important;
  font-weight: 610 !important;
  letter-spacing: -0.055em !important;
}

body.woocommerce-cart .softexponent-cart-page__hero p:not(.softexponent-cart-page__eyebrow),
body.woocommerce-cart .softexponent-cart-empty__card p:not(.softexponent-cart-empty__label) {
  max-width: 590px !important;
  margin: 22px 0 0 !important;
  color: var(--softexponent-basket-muted) !important;
  font-size: 17px !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
}

/* Composition */
body.woocommerce-cart .softexponent-cart-page__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 376px !important;
  gap: clamp(38px, 5.2vw, 60px) !important;
  align-items: start !important;
}

body.woocommerce-cart .softexponent-cart-page__main,
body.woocommerce-cart .softexponent-cart-form,
body.woocommerce-cart .softexponent-cart-page__summary {
  width: 100% !important;
  min-width: 0 !important;
}

/* Selected plan */
body.woocommerce-cart .softexponent-cart-items {
  display: grid !important;
  gap: 22px !important;
}

body.woocommerce-cart .softexponent-cart-item {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: start !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: clamp(26px, 3.1vw, 36px) !important;
  border: 1px solid rgba(16, 17, 20, 0.08) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(251, 252, 253, 0.94)) !important;
  box-shadow: 0 1px 2px rgba(16, 17, 20, 0.04), 0 22px 58px rgba(16, 17, 20, 0.07) !important;
  overflow: hidden !important;
  transition: transform 180ms ease, box-shadow 180ms ease !important;
}

body.woocommerce-cart .softexponent-cart-item::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: clamp(26px, 3.1vw, 36px) !important;
  width: 42px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: var(--softexponent-basket-gold) !important;
  transition: width 180ms ease !important;
}

body.woocommerce-cart .softexponent-cart-item:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 1px 2px rgba(16, 17, 20, 0.05), 0 28px 70px rgba(16, 17, 20, 0.09) !important;
}

body.woocommerce-cart .softexponent-cart-item:hover::before {
  width: 58px !important;
}

body.woocommerce-cart .softexponent-cart-item__label {
  margin-bottom: 12px !important;
}

body.woocommerce-cart .softexponent-cart-item__title,
body.woocommerce-cart .softexponent-cart-item__title a {
  margin: 0 !important;
  color: var(--softexponent-basket-ink) !important;
  font-size: clamp(28px, 2.85vw, 40px) !important;
  line-height: 1.08 !important;
  font-weight: 610 !important;
  letter-spacing: -0.052em !important;
  text-decoration: none !important;
}

body.woocommerce-cart .softexponent-cart-item__title a:hover {
  color: var(--softexponent-basket-red) !important;
}

body.woocommerce-cart .softexponent-cart-item__meta,
body.woocommerce-cart .softexponent-cart-item__description {
  max-width: 48ch !important;
  color: var(--softexponent-basket-muted) !important;
  font-size: 15px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
}

body.woocommerce-cart .softexponent-cart-item__description {
  margin: 13px 0 0 !important;
}

body.woocommerce-cart .softexponent-cart-item__meta:empty {
  display: none !important;
}

body.woocommerce-cart .softexponent-cart-item__price {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--softexponent-basket-border) !important;
  color: var(--softexponent-basket-ink) !important;
  font-size: 27px !important;
  line-height: 1.12 !important;
  font-weight: 640 !important;
  letter-spacing: -0.035em !important;
}

body.woocommerce-cart .softexponent-cart-item__price .subscription-details,
body.woocommerce-cart .softexponent-cart-item__price small {
  color: var(--softexponent-basket-muted-2) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 520 !important;
  letter-spacing: -0.01em !important;
}

body.woocommerce-cart .softexponent-cart-item__actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: flex-start !important;
  min-width: 140px !important;
}

body.woocommerce-cart .softexponent-cart-item__remove,
body.woocommerce-cart .softexponent-cart-item__remove.remove {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 9px 12px !important;
  border-radius: 999px !important;
  background: #F5F6F8 !important;
  color: var(--softexponent-basket-muted-2) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  border: 1px solid rgba(16, 17, 20, 0.06) !important;
}

body.woocommerce-cart .softexponent-cart-item__remove:hover,
body.woocommerce-cart .softexponent-cart-item__remove.remove:hover {
  background: rgba(158, 27, 27, 0.06) !important;
  color: var(--softexponent-basket-ink) !important;
}

body.woocommerce-cart .softexponent-cart-page__return {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 22px 0 0 !important;
  color: var(--softexponent-basket-muted) !important;
  font-size: 14px !important;
  font-weight: 620 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .softexponent-cart-page__return:hover {
  color: var(--softexponent-basket-ink) !important;
}

/* Summary */
body.woocommerce-cart .cart-collaterals {
  width: 100% !important;
  margin: 0 !important;
}

body.woocommerce-cart .cart-collaterals .cross-sells {
  display: none !important;
}

body.woocommerce-cart .softexponent-cart-summary,
body.woocommerce-cart .cart_totals.softexponent-cart-summary {
  position: sticky !important;
  top: 108px !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 27px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(198, 162, 58, 0.26) !important;
  background: radial-gradient(circle at 0% 0%, rgba(198, 162, 58, 0.14), transparent 36%), linear-gradient(145deg, rgba(21, 23, 27, 0.98), #101114 72%) !important;
  color: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 30px 70px -34px rgba(16, 17, 20, 0.55) !important;
  overflow: hidden !important;
}

body.woocommerce-cart .softexponent-cart-summary__eyebrow {
  display: block !important;
  margin: 0 0 16px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

body.woocommerce-cart .softexponent-cart-summary h2 {
  margin: 0 0 22px !important;
  color: #FFFFFF !important;
  font-size: 30px !important;
  line-height: 1.08 !important;
  font-weight: 610 !important;
  letter-spacing: -0.045em !important;
}

body.woocommerce-cart .softexponent-cart-summary table.shop_table,
body.woocommerce-cart .softexponent-cart-summary__table {
  width: 100% !important;
  margin: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: rgba(255, 255, 255, 0.045) !important;
}

body.woocommerce-cart .softexponent-cart-summary table.shop_table tr {
  display: table-row !important;
}

body.woocommerce-cart .softexponent-cart-summary table.shop_table th,
body.woocommerce-cart .softexponent-cart-summary table.shop_table td {
  padding: 15px 15px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.085) !important;
  background: transparent !important;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 560 !important;
  text-align: left !important;
  vertical-align: top !important;
}

body.woocommerce-cart .softexponent-cart-summary table.shop_table td {
  color: #FFFFFF !important;
  text-align: right !important;
  font-weight: 620 !important;
}

body.woocommerce-cart .softexponent-cart-summary table.shop_table tr:last-child th,
body.woocommerce-cart .softexponent-cart-summary table.shop_table tr:last-child td {
  border-bottom: 0 !important;
}

body.woocommerce-cart .softexponent-cart-summary .order-total th,
body.woocommerce-cart .softexponent-cart-summary .order-total td {
  color: #FFFFFF !important;
  font-size: 18px !important;
  font-weight: 720 !important;
  background: rgba(255, 255, 255, 0.035) !important;
}

body.woocommerce-cart .softexponent-cart-summary .recurring-totals th,
body.woocommerce-cart .softexponent-cart-summary .recurring-totals td,
body.woocommerce-cart .softexponent-cart-summary tr.recurring-total th,
body.woocommerce-cart .softexponent-cart-summary tr.recurring-total td {
  border-top: 1px solid rgba(198, 162, 58, 0.30) !important;
}

body.woocommerce-cart .softexponent-cart-summary .subscription-details,
body.woocommerce-cart .softexponent-cart-summary small {
  display: block !important;
  margin-top: 5px !important;
  color: rgba(255, 255, 255, 0.56) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 440 !important;
}

body.woocommerce-cart .softexponent-cart-summary__checkout,
body.woocommerce-cart .wc-proceed-to-checkout {
  width: 100% !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .softexponent-cart-summary__button,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-cart a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  border-radius: 12px !important;
  background: var(--softexponent-basket-red) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 720 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 180ms ease, box-shadow 180ms ease !important;
}

body.woocommerce-cart .softexponent-cart-summary__button:hover,
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
body.woocommerce-cart a.checkout-button:hover {
  background: var(--softexponent-basket-red-dark) !important;
  color: #FFFFFF !important;
  box-shadow: inset 0 0 0 1px rgba(198, 162, 58, 0.34) !important;
}

body.woocommerce-cart .softexponent-cart-summary__support {
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.09) !important;
}

body.woocommerce-cart .softexponent-cart-summary__support-label {
  margin: 0 0 10px !important;
  color: var(--softexponent-basket-gold) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  font-weight: 760 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body.woocommerce-cart .softexponent-cart-summary__support p,
body.woocommerce-cart .softexponent-cart-summary__support-contact,
body.woocommerce-cart .softexponent-cart-summary__support-contact a {
  margin: 0 0 12px !important;
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 13px !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  text-decoration: none !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.woocommerce-cart .softexponent-cart-summary__support-contact a:hover {
  color: var(--softexponent-basket-gold) !important;
}

/* Empty state */
body.woocommerce-cart .softexponent-cart-page--empty {
  min-height: 600px !important;
  display: flex !important;
  align-items: center !important;
  padding-top: clamp(42px, 5.2vw, 74px) !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper + .softexponent-cart-page--empty {
  padding-top: clamp(28px, 4vw, 50px) !important;
}

body.woocommerce-cart .softexponent-cart-empty {
  text-align: center !important;
}

body.woocommerce-cart .softexponent-cart-empty > .softexponent-cart-page__eyebrow {
  justify-content: center !important;
  margin-bottom: 24px !important;
}

body.woocommerce-cart .softexponent-cart-empty__card {
  position: relative !important;
  width: min(680px, 100%) !important;
  margin: 0 auto !important;
  padding: clamp(38px, 6vw, 64px) !important;
  border: 1px solid rgba(16, 17, 20, 0.08) !important;
  border-radius: 26px !important;
  background: radial-gradient(circle at 100% 0%, rgba(198, 162, 58, 0.11), transparent 34%), #FFFFFF !important;
  box-shadow: 0 28px 76px rgba(16, 17, 20, 0.08) !important;
  overflow: hidden !important;
}

body.woocommerce-cart .softexponent-cart-empty__card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: 58px !important;
  height: 2px !important;
  transform: translateX(-50%) !important;
  border-radius: 999px !important;
  background: var(--softexponent-basket-gold) !important;
}

body.woocommerce-cart .softexponent-cart-empty__label {
  margin-bottom: 16px !important;
}

body.woocommerce-cart .softexponent-cart-empty__card h1 {
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(38px, 5vw, 56px) !important;
}

body.woocommerce-cart .softexponent-cart-empty__card p:not(.softexponent-cart-empty__label) {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.woocommerce-cart .softexponent-cart-empty__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  margin-top: 30px !important;
}

body.woocommerce-cart .softexponent-cart-empty__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 16px 26px !important;
  border-radius: 14px !important;
  background: var(--softexponent-basket-red) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 720 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .softexponent-cart-empty__button:hover {
  background: var(--softexponent-basket-red-dark) !important;
  color: #FFFFFF !important;
}

body.woocommerce-cart .softexponent-cart-empty__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--softexponent-basket-muted) !important;
  font-size: 14px !important;
  font-weight: 620 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .softexponent-cart-empty__link:hover {
  color: var(--softexponent-basket-ink) !important;
}

/* Hide express wallet buttons from Basket only */
body.woocommerce-cart .wcpay-express-checkout-wrapper,
body.woocommerce-cart #wcpay-express-checkout-wrapper,
body.woocommerce-cart .wc-stripe-payment-request-wrapper,
body.woocommerce-cart #wc-stripe-payment-request-wrapper,
body.woocommerce-cart .wc-block-components-express-payment,
body.woocommerce-cart .wc-block-components-express-payment__event-buttons,
body.woocommerce-cart .wc-stripe-payment-request-button-separator,
body.woocommerce-cart #wc-stripe-payment-request-button-separator,
body.woocommerce-cart .payment-request-button-separator,
body.woocommerce-cart .express-payment-methods,
body.woocommerce-cart .express-checkout,
body.woocommerce-cart .payment-request-button,
body.woocommerce-cart .stripe-payment-request-button {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 980px) {
  body.woocommerce-cart .woocommerce-notices-wrapper,
  body.woocommerce-cart .softexponent-cart-page__shell {
    width: min(100% - 34px, 1180px) !important;
  }

  body.woocommerce-cart .softexponent-cart-page {
    padding-top: 80px !important;
    padding-bottom: 84px !important;
  }

  body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-message),
  body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-info),
  body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-error) {
    padding-top: 88px !important;
  }

  body.woocommerce-cart .woocommerce-notices-wrapper + .softexponent-cart-page {
    padding-top: 40px !important;
  }

  body.woocommerce-cart .softexponent-cart-page__grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body.woocommerce-cart .softexponent-cart-page__hero {
    margin-bottom: 38px !important;
  }

  body.woocommerce-cart .softexponent-cart-page__hero h1 {
    font-size: clamp(42px, 10vw, 58px) !important;
  }

  body.woocommerce-cart .softexponent-cart-summary,
  body.woocommerce-cart .cart_totals.softexponent-cart-summary {
    position: relative !important;
    top: auto !important;
    padding: 26px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-cart .softexponent-cart-summary h2 {
    font-size: 30px !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-cart .woocommerce-message,
  body.woocommerce-cart .woocommerce-info,
  body.woocommerce-cart .woocommerce-error {
    display: block !important;
    padding: 18px 18px 18px 48px !important;
    font-size: 14px !important;
  }

  body.woocommerce-cart .woocommerce-message::before,
  body.woocommerce-cart .woocommerce-info::before,
  body.woocommerce-cart .woocommerce-error::before {
    top: 20px !important;
    transform: none !important;
    left: 20px !important;
  }

  body.woocommerce-cart .woocommerce-message .button,
  body.woocommerce-cart .woocommerce-info .button,
  body.woocommerce-cart .woocommerce-error .button {
    display: flex !important;
    float: none !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    text-align: center !important;
  }

  body.woocommerce-cart .woocommerce-message a.restore-item,
  body.woocommerce-cart .woocommerce-info a.restore-item,
  body.woocommerce-cart .woocommerce-error a.restore-item {
    margin: 12px 0 0 !important;
  }

  body.woocommerce-cart .softexponent-cart-page {
    padding-top: 70px !important;
  }

  body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-message),
  body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-info),
  body.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-error) {
    padding-top: 82px !important;
  }

  body.woocommerce-cart .woocommerce-notices-wrapper + .softexponent-cart-page {
    padding-top: 34px !important;
  }

  body.woocommerce-cart .softexponent-cart-page__shell {
    width: min(100% - 28px, 1180px) !important;
  }

  body.woocommerce-cart .softexponent-cart-page__eyebrow {
    margin-bottom: 18px !important;
  }

  body.woocommerce-cart .softexponent-cart-page__hero h1 {
    font-size: 42px !important;
    line-height: 1.04 !important;
    letter-spacing: -0.055em !important;
  }

  body.woocommerce-cart .softexponent-cart-page__hero p:not(.softexponent-cart-page__eyebrow) {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  body.woocommerce-cart .softexponent-cart-item {
    display: block !important;
    padding: 28px 24px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-cart .softexponent-cart-item::before {
    left: 24px !important;
  }

  body.woocommerce-cart .softexponent-cart-item__title,
  body.woocommerce-cart .softexponent-cart-item__title a {
    font-size: 32px !important;
    line-height: 1.08 !important;
  }

  body.woocommerce-cart .softexponent-cart-item__price {
    font-size: 26px !important;
  }

  body.woocommerce-cart .softexponent-cart-item__actions {
    justify-content: flex-start !important;
    margin-top: 22px !important;
  }

  body.woocommerce-cart .softexponent-cart-summary table.shop_table,
  body.woocommerce-cart .softexponent-cart-summary table.shop_table tbody,
  body.woocommerce-cart .softexponent-cart-summary table.shop_table tr {
    display: block !important;
    width: 100% !important;
  }

  body.woocommerce-cart .softexponent-cart-summary table.shop_table th,
  body.woocommerce-cart .softexponent-cart-summary table.shop_table td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    padding: 14px 16px !important;
  }

  body.woocommerce-cart .softexponent-cart-summary table.shop_table td::before {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-cart .softexponent-cart-summary table.shop_table td {
    padding-top: 0 !important;
  }

  body.woocommerce-cart .softexponent-cart-summary .subscription-details,
  body.woocommerce-cart .softexponent-cart-summary small {
    text-align: left !important;
  }

  body.woocommerce-cart .softexponent-cart-empty__actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-cart .softexponent-cart-empty__button,
  body.woocommerce-cart .softexponent-cart-empty__link {
    width: 100% !important;
    justify-content: center !important;
  }
}
