/* ─────────────────────────────────────────────────────────────
   Techwish — Cart drawer + cart page + checkout styles.
   Drawer is a right-side slide-in; cart page and checkout use the
   same design language (mint primary, dark ink, paper-2 backgrounds).
   ───────────────────────────────────────────────────────────── */

/* ===== CART DRAWER ===== */
.tw-cart-drawer {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif);
}
.tw-cart-drawer.is-open { display: block; }
/* Blanket font so no drawer heading falls back to Salient's serif. */
.tw-cart-drawer,
.tw-cart-drawer h1, .tw-cart-drawer h2, .tw-cart-drawer h3,
.tw-cart-drawer h4, .tw-cart-drawer p, .tw-cart-drawer button, .tw-cart-drawer a {
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif);
}
/* Keep the panel clear of the WP admin bar so the header isn't clipped. */
.admin-bar .tw-cart-drawer__panel { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar .tw-cart-drawer__panel { top: 46px; }
}
.tw-cart-drawer__backdrop {
  position: absolute; inset: 0;
  background: rgba(11, 15, 13, 0.55);
  opacity: 0;
  transition: opacity .25s ease;
}
.tw-cart-drawer.is-open .tw-cart-drawer__backdrop { opacity: 1; }
.tw-cart-drawer__panel {
  position: absolute;
  right: 0; top: 0; bottom: 0;
  width: 100%;
  max-width: 440px;
  background: #ffffff;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.2, .8, .2, 1);
  box-shadow: -16px 0 48px rgba(11, 15, 13, 0.18);
}
.tw-cart-drawer__panel.is-sam {
  max-width: min(540px, 100vw);
}
.tw-cart-drawer.is-open .tw-cart-drawer__panel { transform: translateX(0); }
.tw-cart-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-bottom: 1px solid var(--tw-line-soft, #ECEFED);
  flex-shrink: 0;
}
.tw-cart-drawer__title,
.tw-cart-drawer__empty-title {
  /* Force the display face — Salient styles bare h2/h3 with a serif at high
     specificity, which otherwise leaks into the drawer headings. */
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif) !important;
}
.tw-cart-drawer__title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  letter-spacing: -0.01em;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-drawer__close {
  appearance: none;
  border: 0;
  background: var(--tw-paper-2, #F4F7F5);
  width: 36px; height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--tw-ink, #0B0F0D);
  transition: background .15s ease;
}
.tw-cart-drawer__close:hover {
  background: var(--tw-mint-050, #F1FAF5);
  color: var(--tw-mint-600, #1FB37C);
}
.tw-cart-drawer__body {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.tw-cart-drawer.is-loading .tw-cart-drawer__body { opacity: 0.6; pointer-events: none; }

/* Empty state */
.tw-cart-drawer__empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 40px 28px;
  gap: 12px;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-cart-drawer__empty svg { color: var(--tw-mute-2, #98A09B); }
.tw-cart-drawer__empty-title {
  font-size: 18px;
  font-weight: 600;
  margin: 8px 0 0;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-drawer__empty p { margin: 0 0 16px; font-size: 13.5px; line-height: 1.5; color: var(--tw-mute, #6B7470); }

/* Free shipping progress */
.tw-cart-drawer__shipping {
  padding: 16px 22px;
  background: var(--tw-mint-050, #F1FAF5);
  border-bottom: 1px solid var(--tw-line-soft, #ECEFED);
}
.tw-cart-drawer__shipping.is-unlocked { background: rgba(45, 206, 146, 0.12); }
.tw-cart-drawer__shipping-text {
  margin: 0 0 10px;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-cart-drawer__shipping-text strong { color: var(--tw-mint-600, #1FB37C); }
.tw-cart-drawer__shipping-bar {
  height: 5px;
  border-radius: 999px;
  background: rgba(11, 15, 13, 0.08);
  overflow: hidden;
}
.tw-cart-drawer__shipping-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--tw-mint, #2DCE92), var(--tw-mint-600, #1FB37C));
  border-radius: 999px;
  transition: width .3s ease;
}

/* Items */
.tw-cart-drawer__items {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  flex: 1 1 auto;
}
.tw-cart-drawer__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 22px;
  border-bottom: 1px solid var(--tw-line-soft, #ECEFED);
  position: relative;
}
.tw-cart-drawer__item:last-child { border-bottom: 0; }
.tw-cart-drawer__item-thumb {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--tw-paper-2, #F4F7F5);
  display: grid;
  place-items: center;
}
.tw-cart-drawer__item-thumb img {
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
}
.tw-cart-drawer__item-info { min-width: 0; }
.tw-cart-drawer__item-name {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--tw-ink, #0B0F0D);
  text-decoration: none;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tw-cart-drawer__item-name:hover { color: var(--tw-mint-600, #1FB37C); }
.tw-cart-drawer__item-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.tw-cart-drawer__qty {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}
.tw-cart-drawer__qty-btn {
  appearance: none;
  background: transparent;
  border: 0;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  color: var(--tw-ink-2, #2A2F2C);
  transition: background .12s ease, color .12s ease;
}
.tw-cart-drawer__qty-btn:hover {
  background: var(--tw-mint-050, #F1FAF5);
  color: var(--tw-mint-600, #1FB37C);
}
.tw-cart-drawer__qty-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.tw-cart-drawer__qty-value {
  font-family: var(--tw-mono, monospace);
  font-size: 12.5px;
  font-weight: 700;
  min-width: 28px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-drawer__item-price {
  font-family: var(--tw-mono, monospace);
  font-size: 14px;
  font-weight: 700;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-drawer__remove {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  cursor: pointer;
  color: var(--tw-mute-2, #98A09B);
  align-self: start;
  flex-shrink: 0;
  transition: color .15s ease, background .15s ease;
}
.tw-cart-drawer__remove svg {
  display: block;
  flex-shrink: 0;
}
.tw-cart-drawer__remove:hover {
  color: var(--tw-mint-600, #1FB37C);
  background: var(--tw-mint-050, #F1FAF5);
  border-radius: 999px;
}

/* Totals + CTA */
.tw-cart-drawer__totals {
  padding: 14px 22px;
  border-top: 1px solid var(--tw-line-soft, #ECEFED);
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.tw-cart-drawer__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 13px;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-cart-drawer__row strong {
  font-family: var(--tw-mono, monospace);
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-drawer__row--discount { color: var(--tw-mint-600, #1FB37C); }
.tw-cart-drawer__row--discount strong { color: var(--tw-mint-600, #1FB37C); }
.tw-cart-drawer__row--total {
  padding-top: 6px;
  border-top: 1px dashed var(--tw-line, #DDE3E0);
  font-size: 16px;
  font-weight: 700;
  color: var(--tw-ink, #0B0F0D);
  margin-top: 4px;
}
.tw-cart-drawer__row--total strong { font-size: 18px; }

.tw-cart-drawer__cta {
  padding: 14px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-top: 1px solid var(--tw-line-soft, #ECEFED);
  flex-shrink: 0;
}
.tw-cart-drawer__checkout {
  width: 100%;
  justify-content: center;
}
.tw-cart-drawer__view-cart {
  text-align: center;
  font-size: 12.5px;
  color: var(--tw-mute, #6B7470);
  text-decoration: underline;
  text-underline-offset: 3px;
  padding: 4px 0;
}
.tw-cart-drawer__view-cart:hover { color: var(--tw-mint-600, #1FB37C); }

/* Body scroll lock when drawer is open */
body.tw-cart-open { overflow: hidden; }

/* On mobile drawer takes full width (already via max-width: 440px on
   desktop). Add safe-area for iPhone notch + raise above bottom-nav. */
@media (max-width: 540px) {
  .tw-cart-drawer__panel { max-width: 100%; }
  .tw-cart-drawer__cta {
    padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  }
}

/* ===== CART COUNT BADGE (on header/desktop cart icons) ===== */
.tw-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--tw-mint, #2DCE92);
  color: #062319;
  font-family: var(--tw-mono, monospace);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.tw-cart-count.is-empty { display: none; }

/* ─────────────────────────────────────────────────────────────
   CART PAGE — mockup-aligned layout
   ───────────────────────────────────────────────────────────── */
body.tw-cart-page-shell {
  background: var(--tw-paper-2, #F4F7F5);
}
body.tw-checkout-page-shell {
  background: var(--tw-paper-2, #F4F7F5);
}

.tw-cart-page {
  padding: 0 0 60px;
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif);
}
.tw-cart-page__intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 0 14px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--tw-line-soft, #ECEFED);
}
.tw-cart-page__intro-main .tw-h1 {
  margin: 10px 0 0;
  line-height: 1;
}
.tw-cart-page__meta {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--tw-mute, #6B7470);
  letter-spacing: 0.04em;
}
.tw-cart-page__intro-aside {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.tw-cart-page__free-ship {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--tw-mint-600, #1FB37C);
}
@media (max-width: 720px) {
  .tw-cart-page__intro { flex-direction: column; align-items: flex-start; }
  .tw-cart-page__intro-aside { width: 100%; }
}

.tw-cart-page__body { padding-bottom: 20px; }
.tw-cart-page__form { margin: 0; }
.tw-cart-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 28px;
  align-items: start;
  padding-top: 28px;
}
@media (max-width: 1000px) {
  .tw-cart-page__grid { grid-template-columns: 1fr; }
}

.tw-cart-page__items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Line item card */
.tw-cart-page__item {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: flex-start;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 18px;
}
.tw-cart-page__item-thumb {
  position: relative;
  width: 160px;
  height: 160px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  background: var(--tw-paper-2, #F4F7F5);
  display: block;
}
.tw-cart-page__item-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tw-cart-page__item-brand {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tw-mint-600, #1FB37C);
  margin-bottom: 4px;
}
.tw-cart-page__item-name {
  display: block;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--tw-ink, #0B0F0D);
  text-decoration: none;
  margin-bottom: 6px;
}
.tw-cart-page__item-name:hover { color: var(--tw-mint-600, #1FB37C); }
.tw-cart-page__item-body .variation,
.tw-cart-page__item-body dl {
  font-size: 13px;
  color: var(--tw-mute, #6B7470);
  margin: 4px 0 0;
}

.tw-cart-page__item-side {
  text-align: right;
  min-width: 180px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
}
.tw-cart-page__remove {
  appearance: none;
  box-sizing: border-box;
  width: 30px;
  height: 30px;
  padding: 0;
  margin: 0 0 0 auto;
  border-radius: 999px;
  border: 1px solid var(--tw-line, #DDE3E0);
  background: #fff;
  color: var(--tw-mute, #6B7470);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.tw-cart-page__remove svg {
  display: block;
  flex-shrink: 0;
}
.tw-cart-page__remove:hover {
  color: var(--tw-mint-600, #1FB37C);
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint-050, #F1FAF5);
}
.tw-cart-page__item-side .tw-cart-drawer__qty { margin-top: 16px; }
.tw-cart-page__item-prices {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  margin-top: 14px;
}
.tw-cart-page__item-line {
  font-family: var(--tw-mono, monospace);
  font-size: 22px;
  font-weight: 700;
  color: var(--tw-ink, #0B0F0D);
  line-height: 1.1;
}
.tw-cart-page__item-unit {
  font-family: var(--tw-mono, monospace);
  font-size: 11.5px;
  color: var(--tw-mute, #6B7470);
}
.tw-cart-page__item-unit.is-struck { text-decoration: line-through; }

/* Coupon card */
.tw-cart-page__coupon {
  padding: 0;
  overflow: hidden;
}
.tw-cart-page__coupon-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
  font-size: 14px;
  font-weight: 500;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-page__coupon-toggle::-webkit-details-marker { display: none; }
.tw-cart-page__coupon-toggle::marker { content: ""; }
.tw-cart-page__coupon-toggle-icon {
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--tw-paper-2, #F4F7F5);
  color: var(--tw-ink-2, #2A2F2C);
  display: grid;
  place-items: center;
}
.tw-cart-page__coupon-toggle-label { flex: 1; }
.tw-cart-page__coupon-chevron {
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--tw-paper-2, #F4F7F5);
  display: grid;
  place-items: center;
  color: var(--tw-mute, #6B7470);
  transition: transform .2s ease;
}
.tw-cart-page__coupon[open] .tw-cart-page__coupon-chevron { transform: rotate(180deg); }
.tw-cart-page__coupon-body { padding: 0 18px 18px; }
.tw-cart-page__coupon-applied {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--tw-mint-050, #F1FAF5);
  border: 1px dashed var(--tw-mint, #2DCE92);
}
.tw-cart-page__coupon-applied-code {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.tw-cart-page__coupon-remove {
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 11px;
  color: var(--tw-mute, #6B7470);
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}
.tw-cart-page__coupon-remove:hover { color: var(--tw-ink, #0B0F0D); }
.tw-cart-page__coupon-input {
  display: flex;
  gap: 8px;
}
.tw-cart-page__coupon-input input {
  flex: 1;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 10px;
  background: #fff;
  font-family: var(--tw-mono, monospace);
  font-size: 13px;
  outline: none;
}
.tw-cart-page__coupon-input input:focus { border-color: var(--tw-mint, #2DCE92); }
.tw-cart-page__coupon-input .tw-btn { height: 42px; }

/* Upsell block on full cart page */
.tw-cart-page .tw-sam-recs {
  margin: 0 0 14px;
  padding: 18px 20px;
  border-radius: 16px;
}
.tw-cart-page__upsell-zone {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.tw-cart-page__config:not([hidden]) {
  display: block;
}
.tw-cart-page-configure {
  background: #fff;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 18px;
  padding: 18px 20px 0;
  margin: 0;
}
.tw-cart-page-configure .tw-sam-added {
  margin-bottom: 16px;
}
.tw-cart-page-configure .tw-sam-footer {
  position: static;
  margin: 0 -20px;
  border-radius: 0 0 18px 18px;
}
.tw-cart-page__form.is-loading {
  opacity: 0.65;
  pointer-events: none;
}
.tw-cart-page__coupon--sidebar {
  margin-bottom: 12px;
}
.tw-cart-page__coupon--sidebar .tw-cart-page__coupon-toggle {
  padding: 12px 14px;
  font-size: 13px;
}
.tw-cart-page__coupon--sidebar .tw-cart-page__coupon-body {
  padding: 0 14px 14px;
}
/* Hide legacy eRaty image button when styled trigger is present */
.tw-cart-page .tw-cart-summary-card__eraty ~ .eraty-image-button,
.tw-cart-page .cart_totals .eraty-image-button:not(.tw-pdp-buybox__eraty) {
  display: none !important;
}

/* Summary sidebar */
.tw-cart-page__summary {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Shared summary card (cart + checkout) */
.tw-cart-summary-card,
.tw-checkout-summary-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 18px;
  padding: 22px 20px;
  overflow: visible;
}
.tw-cart-summary-card::before,
.tw-checkout-summary-card::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 22px;
  bottom: 22px;
  width: 3px;
  background: var(--tw-mint, #2DCE92);
  border-radius: 3px;
}
.tw-cart-summary-card__head,
.tw-checkout-summary-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
}
.tw-cart-summary-card__title,
.tw-checkout__sidebar-title {
  font-size: 17px;
  font-weight: 600;
  margin: 0;
  flex: 1;
  letter-spacing: -0.005em;
}
.tw-cart-summary-card__currency {
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout-summary-card__edit {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-decoration: underline;
  text-underline-offset: 2px;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout-summary-card__edit:hover { color: var(--tw-ink, #0B0F0D); }

.tw-cart-summary-card__rows {
  font-family: var(--tw-mono, monospace);
  font-size: 13px;
}
.tw-cart-summary-card__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px dashed var(--tw-line-soft, #ECEFED);
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-cart-summary-card__row strong {
  font-weight: 600;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-summary-card__row.is-discount,
.tw-cart-summary-card__row.is-discount strong {
  color: var(--tw-mint-600, #1FB37C);
}
.tw-cart-summary-card__row.is-free,
.tw-cart-summary-card__row.is-free strong {
  color: var(--tw-mint-600, #1FB37C);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tw-cart-summary-card__total {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--tw-line, #DDE3E0);
}
.tw-cart-summary-card__total-label {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tw-mute, #6B7470);
}
.tw-cart-summary-card__amount {
  display: block;
  font-family: var(--tw-mono, monospace);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  margin-top: 4px;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-summary-card__vat {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: var(--tw-mute, #6B7470);
}

.tw-cart-summary-card__cta,
.tw-cart-page__totals .checkout-button,
.tw-cart-page__totals .wc-proceed-to-checkout .button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 16px !important;
  background: var(--tw-mint, #2DCE92) !important;
  color: #062319 !important;
  padding: 14px 22px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  border: 0 !important;
  transition: background .15s ease, transform .15s ease !important;
}
.tw-cart-summary-card__cta:hover,
.tw-cart-page__totals .checkout-button:hover {
  background: var(--tw-mint-600, #1FB37C) !important;
  transform: translateY(-1px);
}

/* eRaty trigger in cart summary — same component as PDP buybox */
.tw-cart-summary-card__eraty {
  width: 100%;
  margin-top: 14px;
}
.tw-cart-summary-card .tw-pdp-buybox__eraty {
  width: 100%;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 14px;
  background: var(--tw-paper, #fff);
  cursor: pointer;
  padding: 12px 14px;
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif);
  color: var(--tw-ink, #0B0F0D);
  text-align: left;
  transition: border-color .15s ease, background .15s ease;
}
.tw-cart-summary-card .tw-pdp-buybox__eraty:hover {
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint-050, #F1FAF5);
}
.tw-cart-summary-card .tw-pdp-buybox__eraty-icon {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--tw-mint-050, #F1FAF5);
  color: var(--tw-mint-600, #1FB37C);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tw-cart-summary-card .tw-pdp-buybox__eraty-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
  min-width: 0;
}
.tw-cart-summary-card .tw-pdp-buybox__eraty-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-summary-card .tw-pdp-buybox__eraty-title .amount,
.tw-cart-summary-card .tw-pdp-buybox__eraty-title .woocommerce-Price-amount,
.tw-cart-summary-card .tw-pdp-buybox__eraty-title .woocommerce-Price-amount * {
  color: var(--tw-ink, #0B0F0D) !important;
  font-weight: 700;
}
.tw-cart-summary-card .tw-pdp-buybox__eraty-sub {
  font-size: 11.5px;
  font-weight: 400;
  color: var(--tw-mute, #6B7470);
}
.tw-cart-summary-card .tw-pdp-buybox__eraty-arrow {
  flex: none;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--tw-mint, #2DCE92);
  color: #062319;
  font-size: 14px;
}

.tw-cart-summary-card__pay-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  margin-top: 12px;
}
.tw-cart-summary-card__pay-icons span {
  font-size: 10.5px;
  color: var(--tw-mute, #6B7470);
  padding: 5px 10px;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 6px;
  letter-spacing: 0.04em;
}

/* Trust card under cart summary */
.tw-cart-page__trust {
  padding: 16px;
  background: var(--tw-paper, #fff);
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 16px;
}
.tw-cart-page__trust-row {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px dashed var(--tw-line-soft, #ECEFED);
}
a.tw-cart-page__trust-row {
  text-decoration: none;
  color: inherit;
}
a.tw-cart-page__trust-row:hover strong {
  color: var(--tw-mint-600, #1fa86f);
}
.tw-cart-page__trust-row:last-child { border-bottom: 0; }
.tw-cart-page__trust-row strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--tw-ink, #0B0F0D);
}
.tw-cart-page__trust-row span {
  display: block;
  margin-top: 2px;
  font-size: 10.5px;
  color: var(--tw-mute, #6B7470);
}

body.tw-cart-page-shell .cart-collaterals { display: none !important; }

.tw-cart-page__empty {
  margin: 60px auto;
  max-width: 460px;
  text-align: center;
  padding: 48px 32px;
  border: 1px dashed var(--tw-line, #DDE3E0);
  border-radius: 18px;
  background: #fff;
}
.tw-cart-page__empty .tw-h3 { margin: 0 0 8px; }
.tw-cart-page__empty p { margin: 0 0 20px; color: var(--tw-ink-2, #2A2F2C); }

@media (max-width: 720px) {
  .tw-cart-page__item {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
  }
  .tw-cart-page__item-thumb { width: 96px; height: 96px; }
  .tw-cart-page__item-side {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    min-width: 0;
    width: 100%;
  }
  .tw-cart-page__item-side .tw-cart-drawer__qty { margin-top: 0; }
  .tw-cart-page__item-prices { margin-top: 0; align-items: flex-end; }
  .tw-cart-summary-card__amount { font-size: 26px; }
}

/* ─────────────────────────────────────────────────────────────
   CHECKOUT — stepper + form cards + summary sidebar
   ───────────────────────────────────────────────────────────── */

.tw-checkout-stepper-wrap {
  background: #fff;
  border-bottom: 1px solid var(--tw-line-soft, #ECEFED);
}
.tw-checkout-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 0;
}
.tw-checkout-stepper__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.tw-checkout-stepper__item { display: flex; align-items: center; }
.tw-checkout-stepper__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
}
.tw-checkout-stepper__num {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--tw-line, #DDE3E0);
  background: #fff;
  color: var(--tw-mute, #6B7470);
  display: grid;
  place-items: center;
  font-family: var(--tw-mono, monospace);
  font-size: 11px;
  font-weight: 700;
}
.tw-checkout-stepper__item.is-active .tw-checkout-stepper__num {
  background: var(--tw-ink, #0B0F0D);
  border-color: var(--tw-ink, #0B0F0D);
  color: #fff;
}
.tw-checkout-stepper__item.is-done .tw-checkout-stepper__num {
  background: var(--tw-mint, #2DCE92);
  border-color: var(--tw-mint, #2DCE92);
  color: #062319;
}
.tw-checkout-stepper__label {
  font-family: var(--tw-mono, monospace);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout-stepper__item.is-active .tw-checkout-stepper__label {
  color: var(--tw-ink, #0B0F0D);
  font-weight: 700;
}
.tw-checkout-stepper__item.is-done .tw-checkout-stepper__label { color: var(--tw-ink-2, #2A2F2C); }
.tw-checkout-stepper__sep {
  flex: 1;
  max-width: 80px;
  height: 1px;
  margin: 0 16px;
  background: var(--tw-line, #DDE3E0);
  list-style: none;
}
.tw-checkout-stepper__sep.is-done { background: var(--tw-mint, #2DCE92); }
.tw-checkout-stepper__ssl {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--tw-mute, #6B7470);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}
@media (max-width: 900px) {
  .tw-checkout-stepper { flex-wrap: wrap; }
  .tw-checkout-stepper__ssl { width: 100%; justify-content: flex-end; }
  .tw-checkout-stepper__label { display: none; }
  .tw-checkout-stepper__sep { max-width: 32px; margin: 0 8px; }
}

.tw-checkout { padding: 0 0 60px; }
.tw-checkout__head { padding-top: 16px; margin-bottom: 18px; }
.tw-checkout__head .tw-h1 { margin-top: 10px; line-height: 1; }
.tw-checkout__lede {
  font-size: 15.5px;
  line-height: 1.55;
  color: var(--tw-ink-2, #2A2F2C);
  max-width: 60ch;
  margin: 8px 0 0;
}

.tw-checkout__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  gap: 28px;
  align-items: start;
}
@media (max-width: 1000px) {
  .tw-checkout__grid { grid-template-columns: 1fr; }
}

.tw-checkout__main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.tw-checkout__section {
  background: #fff;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 18px;
  overflow: hidden;
}
.tw-checkout__section[open] {
  box-shadow: 0 4px 18px rgba(11, 15, 13, 0.04);
}
.tw-checkout__section summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto 24px;
  align-items: center;
  gap: 14px;
  padding: 20px;
}
.tw-checkout__section summary::-webkit-details-marker { display: none; }
.tw-checkout__section-num {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--tw-paper-2, #F4F7F5);
  border: 1px solid var(--tw-line-soft, #ECEFED);
  display: grid;
  place-items: center;
  font-family: var(--tw-mono, monospace);
  font-size: 12px;
  font-weight: 700;
  color: var(--tw-ink, #0B0F0D);
}
.tw-checkout__section[open] .tw-checkout__section-num {
  background: var(--tw-mint, #2DCE92);
  border-color: var(--tw-mint, #2DCE92);
  color: #062319;
}
.tw-checkout__section-title {
  font-family: var(--tw-display, "Space Grotesk", sans-serif);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -0.005em;
  color: var(--tw-ink, #0B0F0D);
}
.tw-checkout__section-meta {
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tw-mute, #6B7470);
  font-weight: 600;
}
.tw-checkout__section-icon {
  font-size: 18px;
  color: var(--tw-mute, #6B7470);
  transition: transform .2s ease;
}
.tw-checkout__section[open] .tw-checkout__section-icon { transform: rotate(180deg); }

.tw-checkout__section-body {
  padding: 16px 20px 20px 64px;
  border-top: 1px dashed var(--tw-line-soft, #ECEFED);
}
@media (max-width: 720px) {
  .tw-checkout__section-body { padding: 14px 18px 18px; }
  .tw-checkout__section summary { grid-template-columns: 30px minmax(0, 1fr) 20px; gap: 12px; padding: 16px 18px; }
  .tw-checkout__section-meta { display: none; }
}

.tw-checkout__hint {
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout__guest-note {
  padding: 14px 18px;
  background: var(--tw-paper-2, #F4F7F5);
  border-radius: 12px;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-checkout__guest-note p { margin: 0; }
.tw-checkout__guest-note a {
  color: var(--tw-mint-600, #1FB37C);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* WC native form fields inside accordion */
#tw-checkout-billing .col2-set {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
#tw-checkout-billing .woocommerce-billing-fields__field-wrapper,
#tw-checkout-billing .woocommerce-shipping-fields__field-wrapper,
#tw-checkout-billing .woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
}
#tw-checkout-billing .form-row-wide,
#tw-checkout-billing #billing_company_field,
#tw-checkout-billing #billing_nip_field,
#tw-checkout-billing #billing_country_field,
#tw-checkout-billing #billing_address_1_field,
#tw-checkout-billing #billing_address_2_field,
#tw-checkout-billing #billing_city_field,
#tw-checkout-billing #billing_postcode_field,
#tw-checkout-billing #billing_state_field,
#tw-checkout-billing #billing_phone_field,
#tw-checkout-billing #billing_email_field,
#tw-checkout-billing #order_comments_field,
#tw-checkout-billing #shipping_company_field,
#tw-checkout-billing #shipping_country_field,
#tw-checkout-billing #shipping_address_1_field,
#tw-checkout-billing #shipping_address_2_field,
#tw-checkout-billing #shipping_city_field,
#tw-checkout-billing #shipping_postcode_field,
#tw-checkout-billing #shipping_state_field,
#tw-checkout-billing #ship-to-different-address,
#tw-checkout-billing .shipping_address,
#tw-checkout-billing .create-account {
  grid-column: 1 / -1;
}
#tw-checkout-billing #billing_first_name_field,
#tw-checkout-billing #billing_last_name_field,
#tw-checkout-billing #shipping_first_name_field,
#tw-checkout-billing #shipping_last_name_field {
  grid-column: span 1;
}
body.tw-checkout-page-shell #tw-checkout-billing .form-row-first,
body.tw-checkout-page-shell #tw-checkout-billing .form-row-last {
  float: none !important;
  width: auto !important;
  clear: none !important;
  margin: 0 0 12px !important;
}
body.tw-checkout-page-shell #tw-checkout-billing .form-row .input-text,
body.tw-checkout-page-shell #tw-checkout-billing .form-row select,
body.tw-checkout-page-shell #tw-checkout-billing .form-row textarea {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
body.tw-checkout-page-shell #tw-checkout-billing .woocommerce-input-wrapper {
  width: 100%;
}
body.tw-checkout-page-shell #tw-checkout-billing .col-1,
body.tw-checkout-page-shell #tw-checkout-billing .col-2 {
  width: 100% !important;
  float: none !important;
  max-width: none !important;
}
body.tw-checkout-page-shell #tw-checkout-billing p.form-row {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.tw-checkout-page-shell #tw-checkout-billing .select2-container {
  width: 100% !important;
  max-width: none !important;
}
#tw-checkout-billing .woocommerce-billing-fields strong {
  display: block;
  padding: 11px 14px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 10px;
  background: var(--tw-paper-2, #F4F7F5);
  font-weight: 500;
  font-size: 14px;
  color: var(--tw-ink, #0B0F0D);
}
@media (max-width: 720px) {
  #tw-checkout-billing .woocommerce-billing-fields__field-wrapper,
  #tw-checkout-billing .woocommerce-shipping-fields__field-wrapper,
  #tw-checkout-billing .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
  #tw-checkout-billing #billing_first_name_field,
  #tw-checkout-billing #billing_last_name_field,
  #tw-checkout-billing #shipping_first_name_field,
  #tw-checkout-billing #shipping_last_name_field {
    grid-column: 1 / -1;
  }
}
.tw-checkout__section-body .col2-set {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (max-width: 720px) {
  .tw-checkout__section-body .col2-set { grid-template-columns: 1fr; gap: 16px; }
}
.tw-checkout .form-row {
  margin: 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.tw-checkout .form-row label {
  font-size: 12px;
  font-weight: 600;
  color: var(--tw-ink-2, #2A2F2C);
  letter-spacing: 0.01em;
}
.tw-checkout .form-row .required {
  color: #D54040;
  text-decoration: none;
}
.tw-checkout .form-row input.input-text,
.tw-checkout .form-row select,
.tw-checkout .form-row textarea {
  padding: 11px 14px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 10px;
  background: var(--tw-paper-2, #F4F7F5);
  font-family: var(--tw-display, "Space Grotesk", sans-serif);
  font-size: 14px;
  color: var(--tw-ink, #0B0F0D);
  outline: none;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  min-height: 44px;
  transition: border-color .15s ease, background .15s ease;
}
.tw-checkout .form-row input.input-text:focus,
.tw-checkout .form-row select:focus,
.tw-checkout .form-row textarea:focus {
  border-color: var(--tw-mint, #2DCE92);
  background: #fff;
}
#order_comments_field textarea,
.tw-checkout #order_comments {
  width: 100%;
  max-width: none;
  min-height: 108px;
  padding: 11px 14px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 10px;
  background: var(--tw-paper-2, #F4F7F5);
  font-family: var(--tw-display, "Space Grotesk", sans-serif);
  font-size: 14px;
  line-height: 1.5;
  color: var(--tw-ink, #0B0F0D);
  box-sizing: border-box;
  resize: vertical;
  transition: border-color .15s ease, background .15s ease;
}
#order_comments_field textarea:focus,
.tw-checkout #order_comments:focus {
  border-color: var(--tw-mint, #2DCE92);
  background: #fff;
  outline: none;
}
.tw-checkout .woocommerce-additional-fields {
  margin-top: 8px;
}
.tw-checkout h3 {
  font-size: 15px;
  font-weight: 600;
  margin: 12px 0 12px;
  color: var(--tw-ink, #0B0F0D);
}

/* Sidebar / order review */
.tw-checkout__summary-col {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.tw-checkout__sidebar {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.tw-checkout__reassurance {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 4px;
}
.tw-checkout__reassurance-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}
.tw-checkout__reassurance-badges span {
  font-size: 10px;
  color: var(--tw-mute, #6B7470);
  padding: 5px 9px;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 999px;
  letter-spacing: 0.04em;
  background: var(--tw-paper, #fff);
}
.tw-checkout__reassurance-trust {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--tw-paper-2, #F4F7F5);
  border: 1px solid var(--tw-line-soft, #ECEFED);
}
.tw-checkout__reassurance-icon {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--tw-paper, #fff);
  border: 1px solid var(--tw-line-soft, #ECEFED);
  display: grid;
  place-items: center;
  color: var(--tw-mint-600, #1FB37C);
  flex-shrink: 0;
}
.tw-checkout__reassurance-copy strong {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--tw-ink, #0B0F0D);
}
.tw-checkout__reassurance-copy p {
  margin: 4px 0 0;
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--tw-mute, #6B7470);
}

/* Legacy trust block — kept for cart page references */
.tw-checkout__trust-dark {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0B0F0D 0%, #142019 100%);
  color: #d8e3dd;
}
.tw-checkout__trust-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: grid;
  place-items: center;
  color: var(--tw-mint, #2DCE92);
  flex-shrink: 0;
}
.tw-checkout__trust-dark strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}
.tw-checkout__trust-dark p {
  margin: 4px 0 0;
  font-size: 10.5px;
  line-height: 1.55;
  color: #9aa6a0;
}
.tw-checkout__sidebar.tw-checkout-summary-card {
  --tw-sidebar-row-y: 10px;
  --tw-sidebar-col-gap: 12px;
}

/* WC order review table tweaks */
.tw-checkout__sidebar #order_review,
.tw-checkout__sidebar .tw-checkout-submit-panel {
  margin: 0;
  padding: 0;
  width: 100%;
}
.tw-checkout__sidebar .shop_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 0;
}
.tw-checkout__sidebar .shop_table col.tw-checkout-col-label {
  width: 62%;
}
.tw-checkout__sidebar .shop_table col.tw-checkout-col-value {
  width: 38%;
}
.tw-checkout__sidebar .shop_table thead {
  visibility: collapse;
  height: 0;
  line-height: 0;
  overflow: hidden;
}
.tw-checkout__sidebar .shop_table th,
.tw-checkout__sidebar .shop_table td {
  padding: var(--tw-sidebar-row-y, 10px) 0;
  border: 0;
  font-size: 13px;
  color: var(--tw-ink-2, #2A2F2C);
  background: none;
  vertical-align: top;
}
.tw-checkout__sidebar .shop_table td.product-name,
.tw-checkout__sidebar .shop_table th.product-name,
.tw-checkout__sidebar .shop_table tfoot th {
  padding-right: var(--tw-sidebar-col-gap, 12px);
  text-align: left;
  font-weight: 500;
}
.tw-checkout__sidebar .shop_table td.product-total,
.tw-checkout__sidebar .shop_table th.product-total,
.tw-checkout__sidebar .shop_table tfoot td {
  padding-left: var(--tw-sidebar-col-gap, 12px);
  text-align: right;
  font-weight: 600;
  white-space: nowrap;
}
.tw-checkout__sidebar .shop_table .cart-subtotal,
.tw-checkout__sidebar .shop_table .tw-checkout-shipping-summary,
.tw-checkout__sidebar .shop_table .tax-rate,
.tw-checkout__sidebar .shop_table .cart-discount,
.tw-checkout__sidebar .shop_table .fee,
.tw-checkout__sidebar .shop_table .tax-total {
  /* Keep native table-row layout — flex on <tr> hides totals in some browsers. */
}
.tw-checkout__sidebar .shop_table tfoot tr {
  display: table-row !important;
}
.tw-checkout__sidebar .shop_table tfoot th,
.tw-checkout__sidebar .shop_table tfoot td {
  display: table-cell !important;
  vertical-align: baseline;
}
.tw-checkout__sidebar .shop_table .tw-checkout-shipping-summary td {
  font-weight: 600;
  color: var(--tw-mint-600, #1FB37C);
}
.tw-checkout__sidebar .shop_table .order-total {
  padding-top: 14px;
  padding-bottom: 6px;
  border-top: 1px solid var(--tw-line, #DDE3E0);
}
.tw-checkout__sidebar .shop_table .order-total td.tw-checkout-order-total-cell {
  display: table-cell !important;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  overflow: visible;
  text-align: left;
  white-space: normal;
}
.tw-checkout-order-total-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 12px;
  width: 100%;
}
.tw-checkout-order-total-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--tw-ink, #0B0F0D);
  flex: 1 1 auto;
  min-width: 0;
}
.tw-checkout__sidebar .shop_table .order-total .tw-checkout-order-total-amount,
.tw-checkout-order-total-amount {
  display: block;
  flex: 0 1 auto;
  margin-left: auto;
  text-align: right;
  overflow: visible;
  white-space: nowrap;
  font-size: clamp(22px, 5vw, 28px);
  font-weight: 700;
  line-height: 1.1;
  color: var(--tw-ink, #0B0F0D);
}
.tw-checkout__sidebar .shop_table .order-total .amount,
.tw-checkout__sidebar .shop_table .order-total .woocommerce-Price-amount {
  font-family: var(--tw-mono, monospace);
  font-size: inherit;
  font-weight: inherit;
  white-space: nowrap;
}
.tw-checkout-order-total-amount .includes_tax,
.tw-checkout-order-total-amount small.includes_tax {
  display: none !important;
}
.tw-checkout-order-total-amount .woocommerce-Price-amount {
  font-family: var(--tw-mono, monospace);
  font-size: inherit;
  font-weight: inherit;
}
.tw-checkout-order-total-amount .woocommerce-Price-currencySymbol {
  display: inline;
  white-space: nowrap;
}
.tw-checkout__sidebar .shop_table tbody tr.cart_item {
  display: table-row;
}
.tw-checkout__sidebar .shop_table tbody .cart_item td {
  display: table-cell;
  border-bottom: 1px solid var(--tw-line-soft, #ECEFED);
}
.tw-checkout__sidebar .shop_table tbody .cart_item td.product-name {
  font-weight: 500;
  line-height: 1.45;
}
.tw-checkout__sidebar .shop_table tbody .cart_item td.product-total {
  font-family: var(--tw-mono, monospace);
  font-size: 14px;
  color: var(--tw-ink, #0B0F0D);
}
.tw-checkout__sidebar .product-quantity {
  font-family: var(--tw-mono, monospace);
  color: var(--tw-mute, #6B7470);
  font-size: 12px;
  font-weight: 400;
}
.tw-checkout__sidebar dl.variation {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.45;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout__sidebar dl.variation dt {
  display: inline;
  font-weight: 500;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-checkout__sidebar dl.variation dd {
  display: inline;
  margin: 0;
}
.tw-checkout__sidebar dl.variation dd p {
  margin: 0;
  display: inline;
}
.tw-checkout__sidebar #shipping_method,
.tw-checkout__sidebar .woocommerce-shipping-totals,
.tw-checkout__sidebar tr.easypack-parcel-machine {
  display: none !important;
}

/* Custom checkout radios — shipping + payment */
.tw-checkout #shipping_method input[type="radio"],
.tw-checkout-payment-panel .wc_payment_method input[type="radio"].input-radio {
  -webkit-appearance: none;
  appearance: none;
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 2px solid var(--tw-line, #DDE3E0);
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.tw-checkout #shipping_method input[type="radio"]:checked,
.tw-checkout-payment-panel .wc_payment_method input[type="radio"].input-radio:checked {
  border-color: var(--tw-mint, #2DCE92);
  background: #fff;
  box-shadow: inset 0 0 0 5px var(--tw-mint, #2DCE92);
}
.tw-checkout #shipping_method input[type="radio"]:focus-visible,
.tw-checkout-payment-panel .wc_payment_method input[type="radio"].input-radio:focus-visible {
  outline: 2px solid var(--tw-mint-200, #A8E8CC);
  outline-offset: 2px;
}

/* Shipping methods */
#shipping_method li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 10px;
  margin-bottom: 6px;
  font-size: 13px;
}
#shipping_method li:has(input:checked) {
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint-050, #F1FAF5);
}
#shipping_method label { display: flex; justify-content: space-between; width: 100%; cursor: pointer; }

/* Shipping + InPost — section 02 panel */
.tw-checkout-shipping-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.tw-checkout-shipping-panel__methods #shipping_method {
  margin: 0;
  padding: 0;
  list-style: none;
}
.tw-checkout-shipping-panel__methods #shipping_method li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0;
  padding: 0;
  overflow: hidden;
}
.tw-checkout-shipping-panel__methods #shipping_method li input[type="radio"] {
  grid-column: 1;
  grid-row: 1;
  justify-self: center;
  align-self: center;
}
.tw-checkout-shipping-panel__methods #shipping_method li > label {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 16px 16px 16px 0;
  cursor: pointer;
}
/* InPost plugin meta/logo — hidden here (was an empty 2nd grid row on every Paczkomat option). */
.tw-checkout-shipping-panel__methods #shipping_method li > .inpost_pl-shipping-method-meta-wrap {
  display: none !important;
}
.tw-checkout-shipping-panel__methods #shipping_method li:not(:has(input[type="radio"]:checked)) {
  grid-template-rows: auto;
}
.tw-checkout-shipping-panel__methods #shipping_method li:not(:has(input[type="radio"]:checked)) > .tw-inpost-picker-inline,
.tw-checkout-shipping-panel__methods #shipping_method li:not(:has(input[type="radio"]:checked)) > .tw-inpost-picker-mount {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.tw-checkout-shipping-panel__methods #shipping_method li > .tw-inpost-picker-mount,
.tw-checkout-shipping-panel__methods #shipping_method li > .tw-inpost-picker-inline {
  grid-column: 1 / -1;
  grid-row: 2;
  padding: 4px 16px 14px 44px;
}
.tw-checkout-shipping-panel__methods #shipping_method li > :not(input[type="radio"]):not(label):not([data-tw-shipping-inpost]):not(.tw-checkout-shipping-panel__inpost):not(.tw-inpost-picker-inline):not(.tw-inpost-picker-mount):not(.inpost_pl-shipping-method-meta-wrap) {
  grid-column: 1 / -1;
  padding: 0 16px 14px 44px;
}
.tw-inpost-picker-portal {
  width: 100%;
}
.tw-inpost-picker-portal[hidden]:not(.is-active) {
  display: none !important;
}
.tw-inpost-picker-mount .tw-inpost-picker-portal {
  padding: 0;
}
#shipping_method li + .easypack_selected_point_data {
  display: none !important;
}
.tw-checkout-shipping-panel__methods #shipping_method li + .easypack_show_geowidget,
.tw-checkout-shipping-panel__methods #shipping_method li + #easypack_js_type_geowidget {
  display: none !important;
}
.tw-checkout-shipping-panel__methods .tw-inpost-picker-inline .easypack_show_geowidget,
.tw-checkout-shipping-panel__methods .tw-inpost-picker-inline #easypack_js_type_geowidget {
  display: inline-flex !important;
}
.tw-checkout-shipping-panel__methods #shipping_method li > .tw-inpost-picker-inline .tw-inpost-pick-btn,
.tw-checkout-shipping-panel__methods .tw-inpost-picker-inline .easypack_show_geowidget,
.tw-checkout-shipping-panel__methods .tw-inpost-picker-inline #easypack_js_type_geowidget,
.tw-checkout-shipping-panel .tw-inpost-pick-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100% !important;
  max-width: none !important;
  margin-top: 4px;
  padding: 13px 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--tw-mint, #2DCE92) !important;
  background-color: var(--tw-mint, #2DCE92) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #062319 !important;
  font-family: var(--tw-display, "Space Grotesk", sans-serif) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: center;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
  appearance: none;
  -webkit-appearance: none;
}
.tw-inpost-geowidget-anchor,
.tw-checkout-shipping-panel .tw-inpost-jbox-stub {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none;
}
.tw-checkout-shipping-panel .tw-inpost-pick-btn:hover,
.tw-checkout-shipping-panel .easypack_show_geowidget:hover,
.tw-checkout-shipping-panel #easypack_show_geowidget:hover,
.tw-checkout-shipping-panel #easypack_js_type_geowidget:hover {
  background: var(--tw-mint-600, #1FB37C) !important;
  background-color: var(--tw-mint-600, #1FB37C) !important;
  transform: translateY(-1px);
}
.tw-checkout-shipping-panel #selected-parcel-machine,
.tw-checkout-shipping-panel .hidden-paczkomat-data,
.tw-checkout-shipping-panel .hidden-inpost-pl-typ-data {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  background: var(--tw-mint-050, #F1FAF5);
  border: 1px solid var(--tw-mint-100, #D4F5E6);
  font-size: 13px;
  line-height: 1.5;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-checkout-shipping-panel #selected-parcel-machine.hidden-paczkomat-data:empty,
.tw-checkout-shipping-panel .hidden-paczkomat-data:empty,
.tw-checkout-shipping-panel .hidden-inpost-pl-typ-data:empty {
  display: none !important;
}
.tw-checkout-shipping-panel .easypack-visible-point-header,
.tw-checkout-shipping-panel .font-height-600 {
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--tw-mute, #6B7470);
  font-weight: 700;
}
.tw-checkout-shipping-panel .easypack-visible-point-description,
.tw-checkout-shipping-panel #selected-parcel-machine-id,
.tw-checkout-shipping-panel #selected-parcel-machine-desc {
  font-weight: 600;
  color: var(--tw-ink, #0B0F0D);
}
.tw-checkout-shipping-panel__inpost {
  flex: 1 1 100%;
  width: 100%;
  margin-top: 0;
}
.tw-checkout-shipping-panel__inpost:not(.is-active) {
  display: none !important;
}
.tw-checkout-shipping-panel__inpost.is-active {
  display: block !important;
}
.tw-checkout-shipping-panel__inpost .tw-inpost-pick-btn {
  width: 100%;
}
.tw-checkout__sidebar tr.shipping.tw-shipping-moved,
.tw-checkout__sidebar tr.easypack-parcel-machine.tw-shipping-moved,
.tw-checkout__sidebar tr.tw-checkout-shipping-source {
  display: none !important;
}
.tw-checkout__sidebar #payment:empty {
  display: none;
}
.tw-checkout-payment-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tw-checkout-payment-panel #payment,
.tw-checkout-payment-panel .woocommerce-checkout-payment {
  display: block !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.tw-checkout-payment-panel .wc_payment_methods {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tw-checkout-payment-panel .wc_payment_method {
  margin: 0;
  width: 100%;
  max-width: 100%;
  float: none !important;
  clear: both !important;
  padding: 12px 14px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  transition: border-color .15s ease, background .15s ease;
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: stretch;
  flex: 0 0 auto;
  min-height: 0;
  height: auto;
  box-sizing: border-box;
}
.tw-checkout-payment-panel .wc_payment_method:has(input:checked) {
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint-050, #F1FAF5);
  box-shadow: none;
}
.tw-checkout-payment-panel .wc_payment_method .tw-payment-method__head,
.tw-checkout-payment-panel .wc_payment_method label,
.tw-checkout-payment-panel .wc_payment_method .tw-payment-method__icon {
  float: none !important;
}
.tw-checkout-payment-panel .wc_payment_method:not(:has(input:checked)) {
  cursor: pointer;
}
.tw-checkout-payment-panel .tw-payment-method__head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.tw-checkout-payment-panel .tw-payment-method__head input[type="radio"].input-radio {
  flex: none;
  margin: 0;
}
.tw-checkout-payment-panel .tw-payment-method__head label {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.3;
  min-width: 0;
}
.tw-checkout-payment-panel .tw-payment-method__label-copy {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.tw-checkout-payment-panel .wc_payment_method:not(:has(input:checked)) .tw-payment-method__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tw-checkout-payment-panel .tw-payment-method__title {
  flex: 0 1 auto;
  min-width: 0;
}
.tw-checkout-payment-panel .tw-payment-method__note {
  display: block;
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout-payment-panel .tw-payment-method__note p {
  margin: 0;
}
.tw-checkout-payment-panel .tw-payment-method__icon {
  flex: none;
  display: inline-flex;
  align-items: center;
  margin-left: auto;
}
.tw-checkout-payment-panel .tw-payment-method__icon img {
  max-height: 20px;
  width: auto;
  display: block;
}
.tw-checkout-payment-panel .wc_payment_method .payment_box {
  width: 100%;
  max-width: 100%;
  margin: 8px 0 0;
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 13px;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-checkout-payment-panel .wc_payment_method .payment_box:empty {
  display: none !important;
  margin: 0 !important;
}
.tw-checkout-payment-panel .payment_method_cod .payment_box {
  margin-top: 0;
}
.tw-checkout-payment-panel .payment_method_cod:not(.has-payment-details) .tw-payment-method__head {
  min-height: 0;
}
.tw-checkout-payment-panel .wc_payment_method:not(.has-payment-details) .tw-payment-method__head {
  min-height: 0;
}
.tw-checkout-payment-panel .wc_payment_method:not(:has(input:checked)) .payment_box {
  display: none !important;
}
.tw-checkout-payment-panel .wc_payment_method .payment_box > p:first-child {
  margin-top: 0;
}
.tw-checkout-payment-panel .wc_payment_method .payment_box > p:last-child {
  margin-bottom: 0;
}
.tw-checkout-payment-panel .wc_payment_method .payment_box > p {
  margin: 0 0 8px;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--tw-mute, #6B7470);
  font-weight: 400;
}
.tw-checkout-payment-panel .wc_payment_method .payment_box::before,
.tw-checkout-payment-panel .wc_payment_method .payment_box::after {
  display: none !important;
  content: none !important;
}
.tw-checkout-payment-panel .tw-checkout-eraty-fields {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}
.tw-checkout-payment-panel .tw-checkout-eraty-trigger {
  margin: 0;
  border-color: var(--tw-line-soft, #ECEFED);
  background: #fff;
}
.tw-checkout-payment-panel .eraty-confirmation-credit-rule {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-checkout-payment-panel .eraty-confirmation-credit-rule input[type="checkbox"] {
  flex: none;
  margin: 2px 0 0;
}
.tw-checkout-payment-panel .eraty-confirmation-credit-rule label {
  flex: 1;
  font-weight: 400;
  cursor: pointer;
}
.tw-checkout-payment-panel input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 2px solid var(--tw-line, #DDE3E0);
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.tw-checkout-payment-panel input[type="checkbox"]:checked {
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint, #2DCE92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6l2.5 2.5 4.5-5' stroke='%23062319' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.tw-checkout-payment-panel input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--tw-mint-200, #A8E8CC);
  outline-offset: 2px;
}
.tw-checkout-submit-panel {
  margin: 0;
}
.tw-checkout-submit-panel .place-order {
  margin: 0;
  padding: 0;
}
.tw-checkout-legal {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 14px;
}
.tw-checkout-legal__row {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 12px;
  background: var(--tw-paper-2, #F4F7F5);
}
.tw-checkout .form-row.place-order .tw-checkout-legal__label,
.tw-checkout-legal__label {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 400;
  color: var(--tw-ink-2, #2A2F2C);
}
.tw-checkout-legal__input {
  appearance: none;
  -webkit-appearance: none;
  display: block;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0;
  border: 2px solid var(--tw-line, #DDE3E0);
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  position: relative;
  flex: 0 0 18px;
  box-sizing: border-box;
  transition: border-color .15s ease, background .15s ease;
}
.tw-checkout-legal__input:hover {
  border-color: var(--tw-mint, #2DCE92);
}
.tw-checkout-legal__input:checked {
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint, #2DCE92);
}
.tw-checkout-legal__input:checked::after {
  content: "";
  position: absolute;
  inset: 2px;
  background: no-repeat center / contain
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23062319' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8l3 3 7-7'/></svg>");
}
.tw-checkout-legal__input:focus-visible {
  outline: 2px solid var(--tw-mint-200, #A8E8CC);
  outline-offset: 2px;
}
.tw-checkout-legal__text {
  min-width: 0;
}
.tw-checkout-legal__text--long {
  font-size: 12px;
  line-height: 1.4;
}
.tw-checkout-legal__text a {
  color: var(--tw-mint-600, #1FB37C);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.tw-checkout-legal__text abbr.required {
  color: var(--tw-danger, #D64545);
  text-decoration: none;
  border: 0;
}
.tw-checkout__sidebar .woocommerce-terms-and-conditions-wrapper {
  margin: 10px 0;
  padding: 0;
}
.tw-checkout-shipping-panel .easypack-shipping-method-logo,
.tw-checkout-shipping-panel .easypack-weekend-shipping-method-logo,
.tw-checkout-shipping-panel .easypack-custom-shipping-method-logo,
.tw-checkout-shipping-panel .inpost_pl_shipping_meta {
  display: none !important;
}
.tw-checkout-shipping-panel #shipping_method li:has(.easypack-shipping-method-logo),
.tw-checkout-shipping-panel #shipping_method li:has(.easypack-weekend-shipping-method-logo),
.tw-checkout-shipping-panel #shipping_method li:has(.easypack-custom-shipping-method-logo) {
  background: inherit;
}
.tw-checkout-shipping-panel #selected-parcel-machine,
.tw-checkout-shipping-panel #easypack_selected_point_data {
  border: 1px solid var(--tw-mint, #2DCE92) !important;
  border-radius: 12px !important;
  background: var(--tw-mint-050, #F1FAF5) !important;
  padding: 14px 16px !important;
  margin: 8px 0 0 !important;
  min-width: 0 !important;
}
.tw-checkout-shipping-panel .easypack-visible-point-header {
  background: transparent !important;
  margin-bottom: 6px !important;
}
.tw-checkout-shipping-panel .ep-chosen-parcel-machine {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
}
.tw-checkout-order-vat {
  display: block;
  margin-top: 3px;
  font-size: 9px;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: var(--tw-mute, #6B7470);
  font-weight: 400;
}
.tw-checkout__sidebar .shop_table .order-total .includes_tax,
.tw-checkout__sidebar .shop_table .order-total small.includes_tax {
  display: none !important;
}
.tw-checkout-payment-panel .tw-pdp-buybox__eraty,
.tw-checkout-eraty-trigger {
  width: 100%;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 12px;
  background: var(--tw-paper, #fff);
  cursor: pointer;
  padding: 10px 12px;
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif);
  color: var(--tw-ink, #0B0F0D);
  text-align: left;
  transition: border-color .15s ease, background .15s ease;
}
.tw-checkout-payment-panel .tw-pdp-buybox__eraty:hover,
.tw-checkout-eraty-trigger:hover {
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint-050, #F1FAF5);
}
.tw-checkout-payment-panel .tw-pdp-buybox__eraty-icon {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: var(--tw-paper-2, #F4F7F5);
  display: grid;
  place-items: center;
  color: var(--tw-mint-600, #1FB37C);
}
.tw-checkout-payment-panel .tw-pdp-buybox__eraty-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.tw-checkout-payment-panel .tw-pdp-buybox__eraty-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}
.tw-checkout-payment-panel .tw-pdp-buybox__eraty-sub {
  font-size: 11.5px;
  font-weight: 400;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout-payment-panel .tw-pdp-buybox__eraty-arrow {
  flex: none;
  color: var(--tw-mute, #6B7470);
}
.tw-checkout-eraty-fields__terms {
  margin: 0;
}
.tw-checkout-payment-panel .payment_method_eraty .eraty-image-button img {
  display: none;
}
.tw-checkout__sidebar .woocommerce-checkout-payment,
.tw-checkout__sidebar #payment,
.tw-checkout__sidebar .wc_payment_methods,
.tw-checkout-submit-panel .wc_payment_methods,
.tw-checkout-submit-panel .woocommerce-checkout-payment {
  display: none !important;
}
.tw-checkout__sidebar #payment .tw-cart-summary-card__eraty {
  margin: 14px 0 4px;
}
.tw-checkout__sidebar #payment .tw-cart-summary-card__pay-icons {
  margin-top: 12px;
}

/* Checkout coupon — collapsible in sidebar */
.tw-checkout-coupon {
  margin: 0;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 12px;
  background: var(--tw-paper-2, #F4F7F5);
  overflow: hidden;
}
.tw-checkout-coupon__toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  cursor: pointer;
  list-style: none;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--tw-ink, #0B0F0D);
}
.tw-checkout-coupon__toggle::-webkit-details-marker { display: none; }
.tw-checkout-coupon__toggle::marker { content: ""; }
.tw-checkout-coupon__icon {
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: #fff;
  color: var(--tw-ink-2, #2A2F2C);
  display: grid;
  place-items: center;
}
.tw-checkout-coupon__label { flex: 1; }
.tw-checkout-coupon__chevron {
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #fff;
  display: grid;
  place-items: center;
  color: var(--tw-mute, #6B7470);
  transition: transform .2s ease;
}
.tw-checkout-coupon[open] .tw-checkout-coupon__chevron { transform: rotate(180deg); }
.tw-checkout-coupon[open] .tw-checkout-coupon__form {
  display: block !important;
  padding: 0 16px 16px;
}
.tw-checkout-coupon:not([open]) .tw-checkout-coupon__form {
  display: none !important;
}
.tw-checkout-coupon__input {
  display: flex;
  gap: 8px;
}
.tw-checkout-coupon__input input {
  flex: 1;
  height: 42px;
  padding: 0 14px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 10px;
  background: #fff;
  font-family: var(--tw-mono, monospace);
  font-size: 13px;
}
.tw-checkout-coupon__input .tw-btn { height: 42px; flex-shrink: 0; }

/* Hide legacy WC coupon notice bar if a plugin re-injects it */
body.tw-checkout-page-shell .woocommerce-form-coupon-toggle {
  display: none !important;
}
body.tw-checkout-page-shell form.checkout_coupon:not(.tw-checkout-coupon__form) {
  display: none !important;
}
body.tw-cart-page-shell .woocommerce-notices-wrapper:not(:empty),
body.tw-checkout-page-shell .woocommerce-notices-wrapper:not(:empty) {
  margin-bottom: 12px;
}

/* InPost geowidget modal (jBox) */
.jBox-overlay { background: rgba(11, 15, 13, 0.55) !important; z-index: 999990 !important; }
.jBox-wrapper.jBox-Modal { z-index: 999991 !important; }
.jBox-container {
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(11, 15, 13, 0.18) !important;
}
.jBox-title {
  background: var(--tw-paper-2, #F4F7F5) !important;
  border-bottom: 1px solid var(--tw-line-soft, #ECEFED) !important;
  font-family: var(--tw-display, "Space Grotesk", sans-serif) !important;
  font-weight: 600 !important;
  color: var(--tw-ink, #0B0F0D) !important;
  padding: 14px 18px !important;
}
.jBox-Modal .jBox-content {
  padding: 0 !important;
  overflow: hidden !important;
  height: calc(90vh - 56px) !important;
  min-height: 520px !important;
  max-height: calc(90vh - 56px) !important;
}
.jBox-Modal inpost-geowidget {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
}

/* Payment methods — fallback outside checkout payment panel */
.wc_payment_methods {
  list-style: none;
  margin: 12px 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wc_payment_method {
  padding: 12px;
  border: 1px solid var(--tw-line, #DDE3E0);
  border-radius: 10px;
  background: #fff;
}
.wc_payment_method:has(input:checked) {
  border-color: var(--tw-mint, #2DCE92);
  background: var(--tw-mint-050, #F1FAF5);
}
.wc_payment_method label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-weight: 600;
  font-size: 13.5px;
}
.payment_box {
  margin-top: 10px;
  padding: 10px 12px;
  background: var(--tw-paper-2, #F4F7F5);
  border-radius: 8px;
  font-size: 12.5px;
  color: var(--tw-ink-2, #2A2F2C);
}

/* Place order button */
#place_order {
  background: var(--tw-mint, #2DCE92) !important;
  color: #062319 !important;
  padding: 14px 24px !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  letter-spacing: 0.01em !important;
  border: 0 !important;
  width: 100% !important;
  margin-top: 12px !important;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease !important;
}
#place_order:hover {
  background: var(--tw-mint-600, #1FB37C) !important;
  transform: translateY(-1px);
}
#place_order:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.woocommerce-terms-and-conditions-wrapper {
  margin: 10px 0;
  font-size: 12px;
  color: var(--tw-ink-2, #2A2F2C);
}

/* Checkout coupon toggle — legacy WC bar (hidden; custom collapsible in sidebar) */
body.tw-checkout-page-shell .checkout_coupon .form-row {
  margin-bottom: 0;
}

/* Hide duplicate WC order-review heading if a plugin injects one */
body.tw-checkout-page-shell #order_review > h3#order_review_heading {
  display: none;
}

/* ─────────────────────────────────────────────────────────────
   THANK-YOU page (order received)
   ───────────────────────────────────────────────────────────── */
.tw-thankyou { padding: 40px 0 80px; }
.tw-thankyou__head { margin-bottom: 32px; }
.tw-thankyou__lede {
  font-size: 16px;
  line-height: 1.55;
  color: var(--tw-ink-2, #2A2F2C);
  margin: 8px 0 0;
  max-width: 60ch;
}
.tw-thankyou__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) 380px;
  gap: 32px;
  align-items: start;
}
@media (max-width: 1000px) {
  .tw-thankyou__grid { grid-template-columns: 1fr; }
}
.tw-thankyou__main {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.tw-thankyou__meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  background: #fff;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 16px;
  padding: 18px 22px;
}
@media (max-width: 720px) { .tw-thankyou__meta { grid-template-columns: 1fr 1fr; } }
.tw-thankyou__meta > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tw-thankyou__meta dt {
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--tw-mute, #6B7470);
  margin: 0;
}
.tw-thankyou__meta dd {
  font-size: 15px;
  font-weight: 600;
  color: var(--tw-ink, #0B0F0D);
  margin: 0;
}

.tw-thankyou__next {
  background: #fff;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 16px;
  padding: 22px 24px;
}
.tw-thankyou__next .tw-h3 { margin: 0 0 16px; }
.tw-thankyou__steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.tw-thankyou__steps li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.tw-thankyou__steps li > span {
  width: 42px; height: 42px;
  border-radius: 999px;
  background: var(--tw-mint-050, #F1FAF5);
  color: var(--tw-mint-600, #1FB37C);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 700;
}
.tw-thankyou__steps strong {
  display: block;
  font-size: 14.5px;
  margin-bottom: 4px;
  color: var(--tw-ink, #0B0F0D);
}
.tw-thankyou__steps p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--tw-ink-2, #2A2F2C);
}

.tw-thankyou__register {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding: 24px;
  background: linear-gradient(135deg, #0B0F0D 0%, #142019 100%);
  background-image:
    radial-gradient(circle at 0% 50%, rgba(45, 206, 146, 0.18), transparent 55%),
    repeating-linear-gradient(100deg, transparent 0 22px, rgba(255, 255, 255, 0.04) 22px 23px);
  color: #fff;
  border-radius: 18px;
}
@media (max-width: 720px) { .tw-thankyou__register { grid-template-columns: 1fr; } }
.tw-thankyou__register-copy .tw-h3 { color: #fff; margin: 8px 0 8px; }
.tw-thankyou__register-copy p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}
.tw-thankyou__register-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tw-thankyou__register-form input[type=password] {
  padding: 13px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-family: var(--tw-display, "Space Grotesk", sans-serif);
  font-size: 14px;
  outline: none;
  transition: border-color .15s ease, background .15s ease;
}
.tw-thankyou__register-form input[type=password]::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
.tw-thankyou__register-form input[type=password]:focus {
  border-color: var(--tw-mint, #2DCE92);
  background: rgba(255, 255, 255, 0.12);
}
.tw-thankyou__register-form .tw-btn { width: 100%; justify-content: center; }

.tw-thankyou__sidebar {
  background: #fff;
  border: 1px solid var(--tw-line-soft, #ECEFED);
  border-radius: 18px;
  padding: 22px 24px;
  position: sticky;
  top: 96px;
}
.tw-thankyou__sidebar .tw-h3 { margin: 0 0 14px; }

/* ===== EMPTY CART (cart page — woocommerce/cart/cart-empty.php) ===== */
.tw-cart-empty {
  max-width: 520px;
  margin: 48px auto 72px;
  text-align: center;
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif);
}
.tw-cart-empty__icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 84px; height: 84px; border-radius: 50%;
  background: var(--tw-mint-050, #F1FAF5);
  color: var(--tw-mint-600, #1FB37C);
  margin-bottom: 22px;
}
.tw-cart-empty__title {
  font-family: var(--tw-display, "Space Grotesk", system-ui, sans-serif) !important;
  font-size: 28px; font-weight: 600; letter-spacing: -0.015em;
  margin: 0 0 10px; color: var(--tw-ink, #0B0F0D);
}
.tw-cart-empty__lede {
  font-size: 15px; line-height: 1.6; color: var(--tw-mute, #6B7470);
  max-width: 42ch; margin: 0 auto 26px;
}
.tw-cart-empty__actions {
  display: flex; gap: 10px; justify-content: center; flex-wrap: wrap;
  margin-bottom: 32px;
}
.tw-cart-empty__actions .tw-btn { text-decoration: none; }
.tw-cart-empty__links-label {
  display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--tw-mute-2, #98A09B); margin-bottom: 12px;
}
.tw-cart-empty__links ul {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
}
.tw-cart-empty__links a {
  display: inline-flex; padding: 8px 16px; border-radius: 999px;
  border: 1px solid var(--tw-line, #DDE3E0); background: #fff;
  color: var(--tw-ink, #0B0F0D); text-decoration: none; font-size: 13px;
  transition: border-color .15s ease, color .15s ease;
}
.tw-cart-empty__links a:hover { border-color: var(--tw-mint, #2DCE92); color: var(--tw-mint-600, #1FB37C); }
@media (max-width: 540px) {
  .tw-cart-empty__actions { flex-direction: column; }
  .tw-cart-empty__actions .tw-btn { width: 100%; justify-content: center; }
}
