/* ==========================================================================   CREEP CAST MERCH - SLIDE-OUT CART SIDEBAR & RIGHT-SIDE TRIGGER   ========================================================================== */:root {  --cc-cart-width: 440px;  --cc-cart-bg: #ffffff;  --cc-cart-paper: #f7f4ee;  --cc-cart-ink: #17151c;  --cc-cart-muted: #6f6a78;  --cc-cart-line: #e4dfd6;  --cc-cart-violet: #6d3ff2;  --cc-cart-violet-dark: #5730c9;  --cc-cart-violet-soft: #ece6fd;  --cc-cart-font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;  --cc-cart-font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;}/* --------------------------------------------------------------------------   1. FLOATING CART LAUNCHER BUTTON (RIGHT SIDE)   -------------------------------------------------------------------------- */.creepcast-floating-cart-btn {  position: fixed;  bottom: 28px;  right: 28px;  z-index: 99990;  display: flex;  align-items: center;  justify-content: center;  width: 60px;  height: 60px;  background-color: var(--cc-cart-ink);  color: #ffffff;  border: 1.5px solid rgba(228, 223, 214, 0.4);  border-radius: 50%;  cursor: pointer;  box-shadow: 0 10px 25px -4px rgba(23, 21, 28, 0.28), 0 4px 10px -2px rgba(23, 21, 28, 0.15);  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);  text-decoration: none;  padding: 0;  margin: 0;  outline: none;  -webkit-tap-highlight-color: transparent;}.creepcast-floating-cart-btn:hover {  transform: translateY(-3px) scale(1.05);  background-color: #000000;  box-shadow: 0 16px 32px -4px rgba(109, 63, 242, 0.35), 0 6px 14px -2px rgba(23, 21, 28, 0.2);  border-color: var(--cc-cart-violet);  color: #ffffff;}.creepcast-floating-cart-btn:active {  transform: translateY(-1px) scale(0.98);}.creepcast-floating-cart-btn svg {  width: 24px;  height: 24px;  stroke: currentColor;  stroke-width: 2;  transition: transform 0.2s ease;}.creepcast-floating-cart-btn:hover svg {  transform: scale(1.08);}/* Badge count */.creepcast-cart-badge {  position: absolute;  top: -4px;  right: -4px;  background: var(--cc-cart-violet);  color: #ffffff;  font-family: var(--cc-cart-font-display);  font-size: 0.75rem;  font-weight: 700;  min-width: 22px;  height: 22px;  padding: 0 6px;  border-radius: 9999px;  display: flex;  align-items: center;  justify-content: center;  box-shadow: 0 2px 6px rgba(109, 63, 242, 0.4);  border: 2px solid #ffffff;  box-sizing: border-box;  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);}.creepcast-cart-badge.bump {  animation: creepcast-badge-bounce 0.4s cubic-bezier(0.16, 1, 0.3, 1);}@keyframes creepcast-badge-bounce {  0% { transform: scale(1); }  50% { transform: scale(1.35); }  100% { transform: scale(1); }}/* --------------------------------------------------------------------------   2. HEADER CART TRIGGER (RIGHT SIDE OF MENU)   -------------------------------------------------------------------------- */.creepcast-header-cart-item {  display: inline-flex !important;  align-items: center !important;  margin-left: 10px !important;}.creepcast-header-cart-btn {  display: inline-flex !important;  align-items: center !important;  gap: 8px !important;  background: #ffffff !important;  color: var(--cc-cart-ink) !important;  border: 1px solid var(--cc-cart-line) !important;  padding: 8px 14px !important;  border-radius: 9999px !important;  font-family: var(--cc-cart-font-sans) !important;  font-size: 0.875rem !important;  font-weight: 600 !important;  cursor: pointer !important;  text-decoration: none !important;  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;  transition: all 0.2s ease !important;}.creepcast-header-cart-btn:hover {  border-color: var(--cc-cart-violet) !important;  color: var(--cc-cart-violet) !important;  background: var(--cc-cart-violet-soft) !important;  transform: translateY(-1px);}.creepcast-header-cart-btn svg {  width: 18px;  height: 18px;}.creepcast-header-cart-badge {  background: var(--cc-cart-violet);  color: #ffffff;  font-family: var(--cc-cart-font-display);  font-size: 0.725rem;  font-weight: 700;  min-width: 18px;  height: 18px;  padding: 0 5px;  border-radius: 9999px;  display: inline-flex;  align-items: center;  justify-content: center;}/* --------------------------------------------------------------------------   3. CART OVERLAY BACKDROP   -------------------------------------------------------------------------- */.creepcast-cart-overlay {  position: fixed;  inset: 0;  background: rgba(23, 21, 28, 0.45);  backdrop-filter: blur(4px);  -webkit-backdrop-filter: blur(4px);  z-index: 999998;  opacity: 0;  visibility: hidden;  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.35s;}.creepcast-cart-overlay.is-active {  opacity: 1;  visibility: visible;}/* --------------------------------------------------------------------------   4. CART SIDEBAR DRAWER PANEL   -------------------------------------------------------------------------- */.creepcast-cart-drawer {  position: fixed;  top: 0;  right: 0;  bottom: 0;  width: 100%;  max-width: var(--cc-cart-width);  height: 100vh;  height: 100dvh;  background: var(--cc-cart-bg);  box-shadow: -12px 0 40px rgba(23, 21, 28, 0.18);  z-index: 999999;  display: flex;  flex-direction: column;  transform: translateX(100%);  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);  box-sizing: border-box;  overflow: hidden;}.creepcast-cart-drawer.is-active {  transform: translateX(0);}body.creepcast-cart-open {  overflow: hidden !important;  touch-action: none;}/* --------------------------------------------------------------------------   5. DRAWER HEADER   -------------------------------------------------------------------------- */.creepcast-cart-header {  padding: 1.25rem 1.5rem;  border-bottom: 1px solid var(--cc-cart-line);  background: var(--cc-cart-paper);  flex-shrink: 0;}.creepcast-cart-header-top {  display: flex;  align-items: center;  justify-content: space-between;  margin-bottom: 1rem;}.creepcast-cart-title-wrap {  display: flex;  align-items: center;  gap: 0.65rem;}.creepcast-cart-title {  font-family: var(--cc-cart-font-display);  font-size: 1.25rem;  font-weight: 700;  color: var(--cc-cart-ink);  margin: 0;  line-height: 1;}.creepcast-cart-header-count {  background: var(--cc-cart-ink);  color: #ffffff;  font-family: var(--cc-cart-font-display);  font-size: 0.75rem;  font-weight: 700;  padding: 0.15rem 0.6rem;  border-radius: 9999px;  line-height: 1.3;}.creepcast-cart-close-btn {  width: 36px;  height: 36px;  border-radius: 50%;  border: 1px solid var(--cc-cart-line);  background: #ffffff;  color: var(--cc-cart-ink);  display: flex;  align-items: center;  justify-content: center;  cursor: pointer;  padding: 0;  transition: all 0.2s ease;}.creepcast-cart-close-btn:hover {  background: var(--cc-cart-ink);  color: #ffffff;  border-color: var(--cc-cart-ink);  transform: rotate(90deg);}.creepcast-cart-close-btn svg {  width: 18px;  height: 18px;  stroke: currentColor;  stroke-width: 2.2;}/* Shipping Progress Bar */.creepcast-shipping-bar {  background: #ffffff;  border: 1px solid var(--cc-cart-line);  border-radius: 0.75rem;  padding: 0.75rem 1rem;}.creepcast-shipping-text {  font-family: var(--cc-cart-font-sans);  font-size: 0.8rem;  font-weight: 600;  color: var(--cc-cart-ink);  margin-bottom: 0.45rem;  display: flex;  align-items: center;  justify-content: space-between;}.creepcast-shipping-text span.unlocked {  color: var(--cc-cart-violet);  font-weight: 700;}.creepcast-shipping-progress {  width: 100%;  height: 6px;  background: #eeeae3;  border-radius: 9999px;  overflow: hidden;  position: relative;}.creepcast-shipping-fill {  height: 100%;  background: linear-gradient(90deg, var(--cc-cart-violet) 0%, #8c5ff9 100%);  border-radius: 9999px;  transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);}.creepcast-shipping-fill.unlocked {  background: linear-gradient(90deg, #10b981 0%, #059669 100%);}/* --------------------------------------------------------------------------   6. DRAWER BODY & ITEMS LIST   -------------------------------------------------------------------------- */.creepcast-cart-body {  flex: 1 1 auto;  overflow-y: auto;  padding: 1.25rem 1.5rem;  -webkit-overflow-scrolling: touch;}/* Custom Scrollbar */.creepcast-cart-body::-webkit-scrollbar {  width: 5px;}.creepcast-cart-body::-webkit-scrollbar-track {  background: transparent;}.creepcast-cart-body::-webkit-scrollbar-thumb {  background: var(--cc-cart-line);  border-radius: 9999px;}.creepcast-cart-body::-webkit-scrollbar-thumb:hover {  background: var(--cc-cart-muted);}.creepcast-cart-items-list {  list-style: none;  margin: 0;  padding: 0;  display: flex;  flex-direction: column;  gap: 1rem;}.creepcast-cart-item {  display: flex;  gap: 1rem;  padding: 1rem;  background: #ffffff;  border: 1px solid var(--cc-cart-line);  border-radius: 1rem;  position: relative;  transition: all 0.2s ease;}.creepcast-cart-item:hover {  border-color: rgba(109, 63, 242, 0.3);  box-shadow: 0 4px 16px rgba(23, 21, 28, 0.04);}.creepcast-cart-item.is-updating {  opacity: 0.5;  pointer-events: none;}.creepcast-cart-item-img {  width: 78px;  height: 98px;  flex-shrink: 0;  border-radius: 0.65rem;  overflow: hidden;  background: var(--cc-cart-paper);  border: 1px solid rgba(228, 223, 214, 0.6);  display: flex;  align-items: center;  justify-content: center;}.creepcast-cart-item-img img {  width: 100%;  height: 100%;  object-fit: cover;  display: block;}.creepcast-cart-item-info {  flex: 1 1 auto;  display: flex;  flex-direction: column;  justify-content: space-between;  min-width: 0;}.creepcast-cart-item-top {  display: flex;  justify-content: space-between;  align-items: flex-start;  gap: 0.5rem;}.creepcast-cart-item-name {  font-family: var(--cc-cart-font-sans);  font-size: 0.925rem;  font-weight: 700;  color: var(--cc-cart-ink);  line-height: 1.3;  margin: 0;  text-decoration: none;  display: -webkit-box;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical;  overflow: hidden;  transition: color 0.2s ease;}.creepcast-cart-item-name:hover {  color: var(--cc-cart-violet);}.creepcast-cart-item-remove {  background: transparent;  border: none;  color: var(--cc-cart-muted);  cursor: pointer;  padding: 4px;  display: flex;  align-items: center;  justify-content: center;  border-radius: 6px;  transition: all 0.2s ease;  flex-shrink: 0;}.creepcast-cart-item-remove:hover {  color: #dc2626;  background: #fee2e2;  transform: scale(1.1);}.creepcast-cart-item-remove svg {  width: 16px;  height: 16px;}.creepcast-cart-item-bottom {  display: flex;  align-items: center;  justify-content: space-between;  margin-top: 0.75rem;}/* Quantity Controller */.creepcast-cart-qty-wrap {  display: inline-flex;  align-items: center;  border: 1px solid var(--cc-cart-line);  border-radius: 9999px;  background: var(--cc-cart-paper);  padding: 2px;  height: 32px;}.creepcast-qty-btn {  width: 26px;  height: 26px;  border-radius: 50%;  border: none;  background: transparent;  color: var(--cc-cart-ink);  font-size: 0.95rem;  font-weight: 700;  display: flex;  align-items: center;  justify-content: center;  cursor: pointer;  transition: all 0.15s ease;  padding: 0;  line-height: 1;}.creepcast-qty-btn:hover {  background: #ffffff;  color: var(--cc-cart-violet);  box-shadow: 0 1px 3px rgba(0,0,0,0.1);}.creepcast-qty-num {  min-width: 28px;  text-align: center;  font-family: var(--cc-cart-font-display);  font-size: 0.85rem;  font-weight: 700;  color: var(--cc-cart-ink);}.creepcast-cart-item-price {  font-family: var(--cc-cart-font-display);  font-size: 1rem;  font-weight: 700;  color: var(--cc-cart-ink);}/* --------------------------------------------------------------------------   7. EMPTY CART STATE   -------------------------------------------------------------------------- */.creepcast-cart-empty {  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  text-align: center;  padding: 4rem 1rem;  height: 100%;  box-sizing: border-box;}.creepcast-cart-empty-icon {  width: 76px;  height: 76px;  border-radius: 50%;  background: var(--cc-cart-paper);  border: 1px solid var(--cc-cart-line);  display: flex;  align-items: center;  justify-content: center;  color: var(--cc-cart-muted);  margin-bottom: 1.5rem;}.creepcast-cart-empty-icon svg {  width: 36px;  height: 36px;  stroke: currentColor;}.creepcast-cart-empty-title {  font-family: var(--cc-cart-font-display);  font-size: 1.35rem;  font-weight: 700;  color: var(--cc-cart-ink);  margin: 0 0 0.5rem 0;}.creepcast-cart-empty-desc {  font-family: var(--cc-cart-font-sans);  font-size: 0.95rem;  color: var(--cc-cart-muted);  max-width: 240px;  line-height: 1.5;  margin: 0 0 1.75rem 0;}.creepcast-cart-empty-btn {  display: inline-flex;  align-items: center;  justify-content: center;  gap: 8px;  background: var(--cc-cart-ink);  color: #ffffff;  font-family: var(--cc-cart-font-sans);  font-size: 0.95rem;  font-weight: 700;  padding: 0.85rem 1.75rem;  border-radius: 0.75rem;  text-decoration: none;  box-shadow: 0 4px 12px rgba(23, 21, 28, 0.15);  transition: all 0.25s ease;}.creepcast-cart-empty-btn:hover {  background: var(--cc-cart-violet);  color: #ffffff;  transform: translateY(-2px);  box-shadow: 0 6px 16px rgba(109, 63, 242, 0.3);}/* --------------------------------------------------------------------------   8. DRAWER FOOTER   -------------------------------------------------------------------------- */.creepcast-cart-footer {  padding: 1.5rem;  border-top: 1px solid var(--cc-cart-line);  background: var(--cc-cart-paper);  flex-shrink: 0;}.creepcast-cart-subtotal-row {  display: flex;  align-items: baseline;  justify-content: space-between;  margin-bottom: 0.4rem;}.creepcast-cart-subtotal-label {  font-family: var(--cc-cart-font-display);  font-size: 1.1rem;  font-weight: 700;  color: var(--cc-cart-ink);}.creepcast-cart-subtotal-val {  font-family: var(--cc-cart-font-display);  font-size: 1.35rem;  font-weight: 700;  color: var(--cc-cart-ink);}.creepcast-cart-footer-note {  font-family: var(--cc-cart-font-sans);  font-size: 0.8rem;  color: var(--cc-cart-muted);  margin: 0 0 1.25rem 0;}.creepcast-cart-btn-checkout {  display: flex;  align-items: center;  justify-content: center;  gap: 8px;  width: 100%;  background: var(--cc-cart-ink);  color: #ffffff;  font-family: var(--cc-cart-font-sans);  font-size: 1rem;  font-weight: 700;  padding: 1rem;  border-radius: 0.75rem;  text-decoration: none;  text-align: center;  box-shadow: 0 6px 18px rgba(23, 21, 28, 0.2);  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);  box-sizing: border-box;}.creepcast-cart-btn-checkout:hover {  background: var(--cc-cart-violet);  color: #ffffff;  transform: translateY(-2px);  box-shadow: 0 8px 22px rgba(109, 63, 242, 0.35);}.creepcast-cart-btn-viewcart {  display: block;  width: 100%;  text-align: center;  font-family: var(--cc-cart-font-sans);  font-size: 0.875rem;  font-weight: 600;  color: var(--cc-cart-muted);  text-decoration: underline;  margin-top: 0.75rem;  transition: color 0.2s ease;}.creepcast-cart-btn-viewcart:hover {  color: var(--cc-cart-ink);}/* Trust Pill inside Cart */.creepcast-cart-trust {  display: flex;  align-items: center;  justify-content: center;  gap: 6px;  font-family: var(--cc-cart-font-sans);  font-size: 0.75rem;  color: var(--cc-cart-muted);  margin-top: 1rem;}.creepcast-cart-trust svg {  color: #10b981;}/* --------------------------------------------------------------------------   9. RESPONSIVENESS   -------------------------------------------------------------------------- */@media (max-width: 480px) {  .creepcast-cart-drawer {    max-width: 100%;  }  .creepcast-floating-cart-btn {    bottom: 20px;    right: 20px;    width: 54px;    height: 54px;  }  .creepcast-floating-cart-btn svg {    width: 22px;    height: 22px;  }  .creepcast-cart-header,  .creepcast-cart-body,  .creepcast-cart-footer {    padding-left: 1.15rem;    padding-right: 1.15rem;  }}
/* Ensure header cart buttons are completely removed */
.creepcast-header-cart-item,
.creepcast-header-cart-btn,
#creepcast-header-cart-li {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ==========================================================================
   10. CREEP CAST MERCH - DEDICATED CART PAGE REDESIGN & RESPONSIVENESS
   ========================================================================== */

/* Page Background & Base Typography */
body.woocommerce-cart,
body.page-id-10 {
  background-color: var(--cc-cart-paper, #f7f4ee) !important;
  color: var(--cc-cart-ink, #17151c) !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  -webkit-font-smoothing: antialiased;
}

/* Page Container */
body.woocommerce-cart .site-main,
body.woocommerce-cart .page-content,
body.woocommerce-cart .entry-content,
body.woocommerce-cart article.page,
.page-id-10 .page-content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 2.5rem 1.5rem 5rem !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

/* Page Header & Title */
body.woocommerce-cart .page-header {
  margin-bottom: 2rem !important;
  text-align: left !important;
  border-bottom: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  padding-bottom: 1rem !important;
}

body.woocommerce-cart .page-header .entry-title,
body.woocommerce-cart h1.entry-title {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 2.25rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* Outer Block Wrappers */
.wp-block-woocommerce-cart {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Two-Column Grid for Both Pre-Hydrated and Hydrated Gutenberg Cart */
.wp-block-woocommerce-filled-cart-block,
.wc-block-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.9fr) !important;
  gap: 2rem !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Classic WooCommerce Cart Table & Totals Layout */
body.woocommerce-cart .woocommerce {
  display: block !important;
  width: 100% !important;
}

body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.9fr) !important;
  gap: 2rem !important;
  align-items: start !important;
}

/* --------------------------------------------------------------------------
   LEFT COLUMN: CART ITEMS CARD
   -------------------------------------------------------------------------- */
.wc-block-cart__main,
.wp-block-woocommerce-cart-items-block,
.woocommerce-cart-form {
  background: #ffffff !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 1.15rem !important;
  padding: 1.75rem !important;
  box-shadow: 0 4px 18px rgba(23, 21, 28, 0.03) !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Items Table */
.wc-block-cart-items,
table.wc-block-cart-items,
table.shop_table.cart {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}

/* Table Header (clean & subtle) */
.wc-block-cart-items thead,
.wc-block-cart-items__header,
table.wc-block-cart-items thead,
table.shop_table.cart thead {
  border-bottom: 1.5px solid var(--cc-cart-line, #e4dfd6) !important;
  display: table-header-group !important;
}

.wc-block-cart-items thead tr,
.wc-block-cart-items__header tr,
table.shop_table.cart thead tr {
  border: none !important;
}

.wc-block-cart-items thead th,
.wc-block-cart-items__header th,
table.wc-block-cart-items th,
table.shop_table.cart th {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 0.775rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  padding: 0 0 1rem 0 !important;
  background: transparent !important;
  border: none !important;
  line-height: 1 !important;
}

.wc-block-cart-items thead th:last-child,
.wc-block-cart-items__header th:last-child,
table.shop_table.cart th:last-child {
  text-align: right !important;
}

/* Item Rows */
.wc-block-cart-items tbody tr,
.wc-block-cart-items__row,
table.wc-block-cart-items tr.wc-block-cart-items__row,
table.shop_table.cart tbody tr.cart_item {
  border-bottom: 1px solid #eeeae3 !important;
  transition: background-color 0.2s ease !important;
}

.wc-block-cart-items tbody tr:last-child,
.wc-block-cart-items__row:last-child,
table.shop_table.cart tbody tr.cart_item:last-child {
  border-bottom: none !important;
}

.wc-block-cart-items td,
.wc-block-cart-items__row td,
table.shop_table.cart td {
  padding: 1.35rem 0 !important;
  vertical-align: middle !important;
  border: none !important;
  background: transparent !important;
}

/* Product Thumbnail */
.wc-block-cart-item__image,
.wc-block-components-product-image,
.wc-block-cart-items td.wc-block-cart-item__image,
table.shop_table.cart td.product-thumbnail {
  width: 84px !important;
  min-width: 84px !important;
  padding-right: 1.25rem !important;
}

.wc-block-components-product-image img,
.wc-block-cart-item__image img,
table.shop_table.cart td.product-thumbnail img {
  width: 84px !important;
  height: 100px !important;
  object-fit: cover !important;
  border-radius: 0.75rem !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  background: var(--cc-cart-paper, #f7f4ee) !important;
  display: block !important;
  transition: transform 0.25s ease !important;
}

.wc-block-components-product-image a:hover img,
.wc-block-cart-item__image a:hover img,
table.shop_table.cart td.product-thumbnail a:hover img {
  transform: scale(1.03) !important;
}

/* Product Title & Metadata */
.wc-block-cart-item__product,
.wc-block-cart-items td.wc-block-cart-item__product,
table.shop_table.cart td.product-name {
  padding-right: 1.25rem !important;
}

.wc-block-components-product-name,
.wc-block-cart-item__product a,
table.shop_table.cart td.product-name a {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  display: inline-block !important;
  margin-bottom: 0.25rem !important;
  transition: color 0.2s ease !important;
}

.wc-block-components-product-name:hover,
.wc-block-cart-item__product a:hover,
table.shop_table.cart td.product-name a:hover {
  color: var(--cc-cart-violet, #6d3ff2) !important;
}

.wc-block-components-product-price,
.wc-block-cart-item__prices,
table.shop_table.cart td.product-price {
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  margin-bottom: 0.6rem !important;
}

.wc-block-components-product-metadata,
.wc-block-cart-item__metadata {
  font-size: 0.825rem !important;
  color: #8c8794 !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.35 !important;
}

/* Quantity Selector Controller */
.wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--cc-cart-paper, #f7f4ee) !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 9999px !important;
  padding: 2px !important;
  height: 34px !important;
  box-sizing: border-box !important;
}

.wc-block-components-quantity-selector__button {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: var(--cc-cart-ink, #17151c) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.wc-block-components-quantity-selector__button:hover {
  background: #ffffff !important;
  color: var(--cc-cart-violet, #6d3ff2) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1) !important;
}

.wc-block-components-quantity-selector__input {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  width: 32px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  outline: none !important;
}

/* Remove Item Trash Button */
.wc-block-cart-item__remove-link,
button.wc-block-cart-item__remove-link,
table.shop_table.cart a.remove {
  color: var(--cc-cart-muted, #6f6a78) !important;
  background: transparent !important;
  border: none !important;
  padding: 5px !important;
  margin-left: 0.65rem !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}

.wc-block-cart-item__remove-link:hover,
button.wc-block-cart-item__remove-link:hover,
table.shop_table.cart a.remove:hover {
  color: #dc2626 !important;
  background: #fee2e2 !important;
  transform: scale(1.1) !important;
}

/* Line Total Column */
.wc-block-cart-item__total,
.wc-block-cart-items td.wc-block-cart-item__total,
table.shop_table.cart td.product-subtotal {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   RIGHT COLUMN: CART TOTALS & ORDER SUMMARY CARD (COMPACT & MINIMAL SPACING)
   ========================================================================== */

/* Outer Sidebar Card (THE ONLY WHITE CARD CONTAINER) */
.wc-block-cart__sidebar,
.wp-block-woocommerce-cart-totals-block,
.cart_totals {
  background: #ffffff !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 1.15rem !important;
  padding: 1.35rem 1.45rem !important;
  box-shadow: 0 4px 18px rgba(23, 21, 28, 0.03) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  position: sticky !important;
  top: 90px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* RESET INNER WRAPPERS - REMOVE NESTED BORDER, BOX & PADDING */
.wc-block-cart__order-summary,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-cart-order-summary-totals-block {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Remove empty placeholder blocks */
.wp-block-woocommerce-cart-express-payment-block:empty,
.wp-block-woocommerce-cart-accepted-payment-methods-block:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Order Summary Title: Tight & Elegant */
.wc-block-cart__order-summary-heading,
.wc-block-cart__order-summary-heading h2,
.wc-block-cart__sidebar h2,
.wp-block-woocommerce-cart-order-summary-heading-block,
.wp-block-woocommerce-cart-order-summary-heading-block h2,
.cart_totals h2 {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  margin: 0 0 0.75rem 0 !important;
  padding: 0 0 0.65rem 0 !important;
  border-bottom: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  line-height: 1.25 !important;
}

/* Coupon Section - Completely Remove Background, Extra Containers, and Borders */
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wc-block-components-totals-coupon,
.wc-block-components-panel {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0.4rem 0 !important;
  overflow: visible !important;
}

/* The "Add coupons" trigger button */
.wc-block-components-panel__button,
.wc-block-components-totals-coupon__button,
.wc-block-components-totals-coupon button.wc-block-components-panel__button {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0.35rem 0 !important;
  margin: 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  transition: color 0.2s ease !important;
}

.wc-block-components-panel__button:hover,
.wc-block-components-totals-coupon__button:hover {
  color: var(--cc-cart-violet, #6d3ff2) !important;
}

.wc-block-components-panel__button svg,
.wc-block-components-totals-coupon__button svg {
  transition: transform 0.2s ease !important;
  width: 16px !important;
  height: 16px !important;
}

/* Coupon expanded form */
.wc-block-components-totals-coupon__content,
.wc-block-components-totals-coupon__form {
  background: transparent !important;
  border: none !important;
  padding: 0.5rem 0 0.25rem 0 !important;
  margin: 0 !important;
  display: flex !important;
  gap: 0.5rem !important;
}

.wc-block-components-totals-coupon__input input {
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 0.5rem !important;
  padding: 0.5rem 0.75rem !important;
  background: #ffffff !important;
  font-size: 0.85rem !important;
  color: var(--cc-cart-ink, #17151c) !important;
  flex: 1 1 auto !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.wc-block-components-totals-coupon__input input:focus {
  border-color: var(--cc-cart-violet, #6d3ff2) !important;
  box-shadow: 0 0 0 2px var(--cc-cart-violet-soft, #ece6fd) !important;
}

.wc-block-components-totals-coupon__form button[type="submit"] {
  background: var(--cc-cart-ink, #17151c) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0.5rem !important;
  padding: 0.5rem 1rem !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.wc-block-components-totals-coupon__form button[type="submit"]:hover {
  background: var(--cc-cart-violet, #6d3ff2) !important;
}

/* Totals Item Rows: Compact */
.wc-block-components-totals-item,
.cart_totals table.shop_table tr {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0.45rem 0 !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.875rem !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  border-bottom: 1px solid #f2eee8 !important;
  margin: 0 !important;
}

.wc-block-components-totals-item .wc-block-components-totals-item__label,
.cart_totals table.shop_table th {
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  color: var(--cc-cart-ink, #17151c) !important;
  font-weight: 500 !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  font-size: 0.875rem !important;
}

.wc-block-components-totals-item .wc-block-components-totals-item__value,
.cart_totals table.shop_table td {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  font-size: 0.95rem !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: right !important;
}

/* Shipping Calculator in Totals */
.wc-block-components-shipping-calculator,
.woocommerce-shipping-calculator,
.shipping-calculator-form {
  margin-top: 0.5rem !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
}

.shipping-calculator-button {
  font-size: 0.825rem !important;
  font-weight: 600 !important;
  color: var(--cc-cart-violet, #6d3ff2) !important;
  text-decoration: underline !important;
}

/* Estimated Total / Grand Total Row: Clean & Prominent */
.wc-block-components-totals-item.wc-block-components-totals-footer-item,
.wc-block-cart__totals-item--total,
.cart_totals table.shop_table tr.order-total {
  border-top: 1.5px solid var(--cc-cart-ink, #17151c) !important;
  border-bottom: none !important;
  margin-top: 0.65rem !important;
  padding: 0.75rem 0 0.85rem 0 !important;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.cart_totals table.shop_table tr.order-total th {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.cart_totals table.shop_table tr.order-total td {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-violet, #6d3ff2) !important;
  letter-spacing: -0.02em !important;
}

/* Proceed to Checkout CTA Button: Integrated directly into the card bottom */
.wc-block-cart__submit,
.wc-block-cart__submit-container,
.wp-block-woocommerce-proceed-to-checkout-block,
.wc-proceed-to-checkout {
  margin-top: 0.75rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-proceed-to-checkout-block button,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button__link,
.wc-proceed-to-checkout a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: var(--cc-cart-ink, #17151c) !important;
  color: #ffffff !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  padding: 0.85rem 1.25rem !important;
  border-radius: 0.65rem !important;
  border: none !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(23, 21, 28, 0.18) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  text-align: center !important;
}

.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wp-block-woocommerce-proceed-to-checkout-block button:hover,
.wp-block-woocommerce-proceed-to-checkout-block .wp-block-button__link:hover,
.wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--cc-cart-violet, #6d3ff2) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(109, 63, 242, 0.3) !important;
}

/* Trust Badges: Sleek & Compact */
.creepcast-cart-trust-badges {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.85rem !important;
  margin-top: 0.75rem !important;
  padding-top: 0.65rem !important;
  border-top: 1px solid #f2eee8 !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  font-size: 0.725rem !important;
  font-weight: 600 !important;
}

.creepcast-cart-trust-badges span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

/* --------------------------------------------------------------------------
   EMPTY CART STATE
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart,
.cart-empty {
  background: #ffffff !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 1.15rem !important;
  padding: 3.5rem 2rem !important;
  text-align: center !important;
  max-width: 620px !important;
  margin: 2rem auto !important;
  box-shadow: 0 4px 18px rgba(23, 21, 28, 0.03) !important;
}

.wc-block-cart__empty-cart__title,
.wp-block-woocommerce-empty-cart-block h2,
p.cart-empty {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  margin: 0 0 1rem 0 !important;
}

.creepcast-empty-cart-btn a,
.creepcast-empty-cart-cta,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link,
p.return-to-shop a.button {
  background: var(--cc-cart-ink, #17151c) !important;
  color: #ffffff !important;
  border-radius: 0.65rem !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-weight: 700 !important;
  padding: 0.85rem 1.85rem !important;
  box-shadow: 0 4px 14px rgba(23, 21, 28, 0.15) !important;
  transition: all 0.25s ease !important;
  display: inline-block !important;
  text-decoration: none !important;
}

.creepcast-empty-cart-btn a:hover,
.creepcast-empty-cart-cta:hover,
.wp-block-woocommerce-empty-cart-block a.wp-block-button__link:hover,
p.return-to-shop a.button:hover {
  background: var(--cc-cart-violet, #6d3ff2) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(109, 63, 242, 0.3) !important;
}

/* Cross-Sells Section */
.cross-sells,
.wc-block-cart__cross-sells {
  grid-column: 1 / -1 !important;
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid var(--cc-cart-line, #e4dfd6) !important;
}

.cross-sells h2,
.wc-block-cart__cross-sells h2 {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  margin-bottom: 1.25rem !important;
}

/* Notices & Alerts */
.woocommerce-notices-wrapper,
.wc-block-components-notice-banner {
  margin-bottom: 1.5rem !important;
  border-radius: 0.65rem !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
}

/* --------------------------------------------------------------------------
   RESPONSIVE DESIGN (TABLET & MOBILE SCREENS)
   -------------------------------------------------------------------------- */

/* Tablet Screens (<= 991px) */
@media (max-width: 991px) {
  body.woocommerce-cart .site-main,
  body.woocommerce-cart .page-content,
  body.woocommerce-cart .entry-content,
  .page-id-10 .page-content {
    padding: 1.75rem 1.25rem 3.5rem !important;
  }

  .wp-block-woocommerce-filled-cart-block,
  .wc-block-cart,
  body.woocommerce-cart .woocommerce:has(.woocommerce-cart-form) {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.75rem !important;
  }

  .wc-block-cart__sidebar,
  .wp-block-woocommerce-cart-totals-block,
  .cart_totals {
    position: static !important;
    width: 100% !important;
    margin-top: 0 !important;
  }
}

/* Mobile Screens (<= 640px) */
@media (max-width: 640px) {
  body.woocommerce-cart .site-main,
  body.woocommerce-cart .page-content,
  body.woocommerce-cart .entry-content,
  .page-id-10 .page-content {
    padding: 1.25rem 0.85rem 3rem !important;
  }

  body.woocommerce-cart .page-header {
    margin-bottom: 1rem !important;
    padding-bottom: 0.75rem !important;
  }

  body.woocommerce-cart .page-header .entry-title,
  body.woocommerce-cart h1.entry-title {
    font-size: 1.65rem !important;
  }

  .wc-block-cart__main,
  .wp-block-woocommerce-cart-items-block,
  .wc-block-cart__sidebar,
  .wp-block-woocommerce-cart-totals-block,
  .woocommerce-cart-form,
  .cart_totals {
    padding: 1.15rem 0.95rem !important;
    border-radius: 0.95rem !important;
  }

  /* Clean mobile stacked card layout for items */
  .wc-block-cart-items thead,
  .wc-block-cart-items__header,
  table.wc-block-cart-items thead,
  table.shop_table.cart thead {
    display: none !important;
  }

  .wc-block-cart-items,
  .wc-block-cart-items tbody,
  .wc-block-cart-items tbody tr,
  .wc-block-cart-items__row,
  table.wc-block-cart-items tr.wc-block-cart-items__row,
  table.shop_table.cart,
  table.shop_table.cart tbody,
  table.shop_table.cart tbody tr {
    display: block !important;
    width: 100% !important;
  }

  .wc-block-cart-items tbody tr,
  .wc-block-cart-items__row,
  table.shop_table.cart tbody tr.cart_item {
    padding: 1.15rem 0 !important;
    position: relative !important;
    border-bottom: 1px solid #eeeae3 !important;
  }

  .wc-block-cart-items td,
  .wc-block-cart-items__row td,
  table.shop_table.cart td {
    display: block !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Product Thumbnail */
  .wc-block-cart-item__image,
  .wc-block-components-product-image,
  .wc-block-cart-items td.wc-block-cart-item__image,
  table.shop_table.cart td.product-thumbnail {
    width: 72px !important;
    min-width: 72px !important;
    float: left !important;
    margin-right: 0.85rem !important;
    margin-bottom: 0.65rem !important;
  }

  .wc-block-components-product-image img,
  .wc-block-cart-item__image img,
  table.shop_table.cart td.product-thumbnail img {
    width: 72px !important;
    height: 86px !important;
    border-radius: 0.6rem !important;
  }

  .wc-block-cart-item__product,
  .wc-block-cart-items td.wc-block-cart-item__product,
  table.shop_table.cart td.product-name {
    padding-right: 0 !important;
  }

  .wc-block-components-product-name,
  .wc-block-cart-item__product a,
  table.shop_table.cart td.product-name a {
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
  }

  /* Line total styling on mobile */
  .wc-block-cart-item__total,
  .wc-block-cart-items td.wc-block-cart-item__total,
  table.shop_table.cart td.product-subtotal {
    text-align: left !important;
    font-size: 1.1rem !important;
    margin-top: 0.65rem !important;
    clear: both !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 0.65rem !important;
    border-top: 1px dashed var(--cc-cart-line, #e4dfd6) !important;
  }

  .wc-block-cart-item__total::before,
  table.shop_table.cart td.product-subtotal::before {
    content: "Item Total: ";
    font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif);
    font-size: 0.825rem;
    font-weight: 600;
    color: var(--cc-cart-muted, #6f6a78);
  }

  .wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  .cart_totals table.shop_table tr.order-total td {
    font-size: 1.35rem !important;
  }
}


/* ==========================================================================
   11. CREEP CAST MERCH - DEDICATED CHECKOUT PAGE REDESIGN & RESPONSIVENESS
   ========================================================================== */

/* Page Background & Base Typography */
body.woocommerce-checkout,
body.page-id-11 {
  background-color: var(--cc-cart-paper, #f7f4ee) !important;
  color: var(--cc-cart-ink, #17151c) !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif) !important;
  -webkit-font-smoothing: antialiased;
}

/* Page Container Max Width & Padding */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout article.page,
.page-id-11 .page-content {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 2.25rem 1.5rem 5rem !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

/* Page Title */
body.woocommerce-checkout .page-header,
body.woocommerce-checkout .entry-header {
  margin-bottom: 1.75rem !important;
  text-align: left !important;
  border-bottom: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  padding-bottom: 0.85rem !important;
}

body.woocommerce-checkout .entry-title,
body.woocommerce-checkout h1.entry-title {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 2.15rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

/* --------------------------------------------------------------------------
   OUTER CHECKOUT WRAPPER & TWO-COLUMN GRID
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-checkout,
.wc-block-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(350px, 0.95fr) !important;
  gap: 2.25rem !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* --------------------------------------------------------------------------
   CRITICAL FIX: PREVENT DUPLICATE SECTIONS ON MOBILE
   -------------------------------------------------------------------------- */
.wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper,
.wc-block-checkout__order-summary-mobile {
  display: none !important;
}

.wp-block-woocommerce-checkout-shipping-method-block:empty,
.wc-block-checkout__shipping-method:empty,
.wp-block-woocommerce-checkout-pickup-options-block:empty,
.wp-block-woocommerce-checkout-express-payment-block:empty,
.wc-block-components-express-payment:empty {
  display: none !important;
}

/* --------------------------------------------------------------------------
   LEFT COLUMN: THE ONLY WHITE CARD (REMOVE ALL INNER NESTED CONTAINERS)
   -------------------------------------------------------------------------- */
.wc-block-checkout__main {
  background: #ffffff !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 1.15rem !important;
  padding: 2.25rem 2rem !important;
  box-shadow: 0 4px 20px -2px rgba(23, 21, 28, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  order: 1 !important;
}

/* COMPLETE REMOVAL OF EXTRA / IRRELEVANT CONTAINERS & NESTED BOXES */
.wp-block-woocommerce-checkout-fields-block,
.wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout-additional-information-block,
.wp-block-woocommerce-checkout-order-note-block,
.wp-block-woocommerce-checkout-terms-block,
.wc-block-components-checkout-step,
fieldset.wc-block-components-checkout-step,
fieldset.wc-block-checkout__contact-fields,
fieldset.wc-block-checkout__shipping-fields,
fieldset.wc-block-checkout__billing-fields,
.wc-block-components-panel,
.wc-block-checkout__form,
.wc-block-checkout__order-notes,
.wc-block-checkout__order-notes .wc-block-components-panel {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Subtle clean section dividers between checkout steps */
.wc-block-components-checkout-step + .wc-block-components-checkout-step,
.wc-block-checkout__main > div + div:not(:empty),
.wp-block-woocommerce-checkout-fields-block > div + div:not(:empty) {
  border-top: 1px solid #f0ece4 !important;
  padding-top: 1.35rem !important;
  margin-top: 1.35rem !important;
}

/* --------------------------------------------------------------------------
   PRECISE HEADING SPACING (TIGHT & BALANCED GAP BELOW HEADINGS)
   -------------------------------------------------------------------------- */
.wc-block-components-checkout-step__heading-container,
.wc-block-components-checkout-step__heading {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 0 0.45rem 0 !important; /* Compact, balanced space directly below heading */
  padding: 0 !important;
  gap: 0 !important;
}

.wc-block-components-title,
.wc-block-checkout__section-title,
.wc-block-components-checkout-step__title,
.wc-block-components-panel > h2,
.wc-block-components-panel__button,
.wc-block-checkout__shipping-method-title {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  letter-spacing: -0.025em !important;
  margin: 0 !important; /* Zero margin on the text element itself to avoid double-spacing */
  padding: 0 !important;
  border: none !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Zero out top margins on content immediately below headings */
.wc-block-components-checkout-step__content,
.wc-block-components-checkout-step__container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.wc-block-components-checkout-step__content > *:first-child,
.wc-block-components-checkout-step__container > *:first-child,
.wc-block-checkout__contact-fields .wc-block-components-text-input,
.wc-block-checkout__form .wc-blocks-components-select,
.wc-block-components-address-form .wc-block-components-country-input,
.wc-block-components-text-input:first-of-type,
.wc-block-components-text-input:first-child {
  margin-top: 0 !important;
}

/* Payment section heading spacing */
.wc-block-checkout__payment-methods,
.wc-block-components-payment-methods {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.wc-block-checkout__payment-methods .wc-block-components-notice-banner,
.wc-block-checkout__main .wc-block-components-notice-banner {
  margin-top: 0 !important;
  margin-bottom: 0.85rem !important;
  border-radius: 0.65rem !important;
}

/* --------------------------------------------------------------------------
   REDESIGNED FORM INPUTS & FLOATING LABELS (CLEAN & NON-OVERLAPPING)
   -------------------------------------------------------------------------- */

/* Address Grid Container */
.wc-block-components-address-form {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Input Wrappers */
.wc-block-components-text-input,
.wc-blocks-components-select,
.wc-block-components-combobox-input {
  position: relative !important;
  margin: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* Desktop 50/50 Column Splits */
.wc-block-components-address-form .wc-block-components-address-form__first_name,
.wc-block-components-address-form .wc-block-components-address-form__last_name,
.wc-block-components-address-form .wc-block-components-address-form__city,
.wc-block-components-address-form .wc-block-components-state-input,
.wc-block-components-address-form .wc-block-components-address-form__postcode,
.wc-block-components-address-form .wc-block-components-address-form__phone {
  flex: 1 1 calc(50% - 6px) !important;
  min-width: 140px !important;
}

/* Full-width fields */
.wc-block-components-address-form .wc-block-components-address-form__company,
.wc-block-components-address-form .wc-block-components-address-form__address_1,
.wc-block-components-address-form .wc-block-components-address-form__address_2,
.wc-block-components-address-form .wc-block-components-country-input,
.wc-block-components-address-form .wc-block-components-checkbox,
.wc-block-checkout__contact-fields .wc-block-components-text-input {
  flex: 1 1 100% !important;
  width: 100% !important;
}

/* Unified Modern Input Field Styling */
.wc-block-components-text-input input,
.wc-block-components-text-input.is-active input,
.wc-blocks-components-select__select,
.wc-block-components-combobox-input input,
.wc-block-checkout__form input[type="text"],
.wc-block-checkout__form input[type="email"],
.wc-block-checkout__form input[type="tel"] {
  width: 100% !important;
  height: 52px !important;
  padding: 20px 14px 6px !important;
  border: 1.5px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 0.65rem !important;
  background: #ffffff !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Input Focus States */
.wc-block-components-text-input input:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-combobox-input input:focus,
.wc-block-checkout__form input[type="text"]:focus,
.wc-block-checkout__form input[type="email"]:focus,
.wc-block-checkout__form input[type="tel"]:focus {
  border-color: var(--cc-cart-ink, #17151c) !important;
  box-shadow: 0 0 0 3px rgba(109, 63, 242, 0.12) !important;
  background: #ffffff !important;
}

/* Floating Label Positioning: Clean, Professional, No Overlap */
.wc-block-components-text-input label {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.925rem !important;
  color: #8c8794 !important;
  font-weight: 500 !important;
  pointer-events: none !important;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
  line-height: 1 !important;
  margin: 0 !important;
  background: transparent !important;
  z-index: 2 !important;
}

/* Active / Focused Floating Labels glide to top with generous clearance */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input:focus-within label,
.wc-block-components-text-input input:-webkit-autofill + label {
  top: 8px !important;
  transform: translateY(0) scale(0.76) !important;
  transform-origin: top left !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  font-weight: 600 !important;
}

.wc-block-components-text-input:focus-within label {
  color: var(--cc-cart-violet, #6d3ff2) !important;
}

/* Select Dropdown Container & Label */
.wc-blocks-components-select {
  position: relative !important;
  width: 100% !important;
}

.wc-blocks-components-select__container {
  position: relative !important;
  width: 100% !important;
  background: #ffffff !important;
  border-radius: 0.65rem !important;
}

.wc-blocks-components-select label {
  position: absolute !important;
  left: 14px !important;
  top: 8px !important;
  transform: translateY(0) scale(0.76) !important;
  transform-origin: top left !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  font-weight: 600 !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.wc-blocks-components-select:focus-within label {
  color: var(--cc-cart-violet, #6d3ff2) !important;
}

.wc-blocks-components-select__select {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: none !important;
  cursor: pointer !important;
  padding-right: 38px !important;
}

.wc-blocks-components-select__select::-ms-expand {
  display: none !important;
}

/* Completely suppress WooCommerce default SVG icon inside select container to prevent double chevron */
.wc-blocks-components-select .wc-blocks-components-select__expand,
.wc-blocks-components-select__expand,
svg.wc-blocks-components-select__expand,
.wc-blocks-components-select__container > svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Single, Clean, Sharp Modern Dropdown Chevron */
.wc-blocks-components-select__container::after {
  content: "" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 12px !important;
  height: 7px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1.5 1.5L6 6L10.5 1.5' stroke='%236f6a78' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  pointer-events: none !important;
  z-index: 5 !important;
  transition: transform 0.2s ease !important;
}

.wc-blocks-components-select:focus-within .wc-blocks-components-select__container::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7' fill='none'%3E%3Cpath d='M1.5 1.5L6 6L10.5 1.5' stroke='%236d3ff2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* Apartment / Suite Toggle Link */
.wc-block-components-address-form__apartment-button,
button.wc-block-components-address-form__apartment-button {
  background: transparent !important;
  border: none !important;
  color: var(--cc-cart-violet, #6d3ff2) !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  padding: 4px 0 !important;
  margin: 2px 0 6px 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: color 0.2s ease !important;
}

.wc-block-components-address-form__apartment-button:hover {
  color: var(--cc-cart-ink, #17151c) !important;
  text-decoration: underline !important;
}

/* Order Notes Textarea & Clean Checkbox Panel */
.wc-block-checkout__order-notes {
  margin-top: 0.5rem !important;
}

.wc-block-checkout__order-notes .wc-block-components-panel {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.wc-block-components-textarea textarea,
.wc-block-checkout__order-notes textarea {
  width: 100% !important;
  min-height: 85px !important;
  padding: 12px 14px !important;
  border: 1.5px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 0.65rem !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.925rem !important;
  color: var(--cc-cart-ink, #17151c) !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  margin-top: 0.5rem !important;
}

.wc-block-components-textarea textarea:focus,
.wc-block-checkout__order-notes textarea:focus {
  border-color: var(--cc-cart-ink, #17151c) !important;
  box-shadow: 0 0 0 3px rgba(109, 63, 242, 0.12) !important;
  outline: none !important;
}

/* Checkbox Controls */
.wc-block-components-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0.35rem 0 !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
input[type="checkbox"].wc-block-components-checkbox__input {
  accent-color: var(--cc-cart-ink, #17151c) !important;
  width: 18px !important;
  height: 18px !important;
  cursor: pointer !important;
}

.wc-block-components-checkbox label {
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.875rem !important;
  color: var(--cc-cart-ink, #17151c) !important;
  cursor: pointer !important;
}

/* Payment Accordion & Options */
.wc-block-components-radio-control-accordion-option {
  background: #ffffff !important;
  border: 1.5px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 0.75rem !important;
  overflow: hidden !important;
  transition: all 0.2s ease !important;
}

.wc-block-components-radio-control-accordion-option:hover {
  border-color: #cac4b8 !important;
}

.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-true,
.wc-block-components-radio-control-accordion-option.is-active {
  border-color: var(--cc-cart-ink, #17151c) !important;
  box-shadow: 0 3px 12px rgba(23, 21, 28, 0.06) !important;
}

.wc-block-components-radio-control-accordion-header {
  padding: 0.85rem 1rem !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  color: var(--cc-cart-ink, #17151c) !important;
}

.wc-block-components-radio-control-accordion-content {
  padding: 1rem !important;
  background: var(--cc-cart-paper, #f7f4ee) !important;
  border-top: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.875rem !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
}

/* Terms and Conditions */
.wc-block-checkout__terms,
.wp-block-woocommerce-checkout-terms-block {
  margin: 1rem 0 !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.85rem !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  line-height: 1.45 !important;
}

.wc-block-checkout__terms a {
  color: var(--cc-cart-ink, #17151c) !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}

.wc-block-checkout__terms a:hover {
  color: var(--cc-cart-violet, #6d3ff2) !important;
}

/* Place Order CTA Button */
.wc-block-checkout__actions,
.wp-block-woocommerce-checkout-actions-block {
  margin-top: 1.25rem !important;
  padding: 0 !important;
  width: 100% !important;
}

.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-actions .wc-block-components-checkout-place-order-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  background: var(--cc-cart-ink, #17151c) !important;
  color: #ffffff !important;
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  padding: 1.05rem 2rem !important;
  border-radius: 0.75rem !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 16px rgba(23, 21, 28, 0.2) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}

.wc-block-components-checkout-place-order-button:hover,
button.wc-block-components-checkout-place-order-button:hover {
  background: var(--cc-cart-violet, #6d3ff2) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(109, 63, 242, 0.35) !important;
}

/* --------------------------------------------------------------------------
   RIGHT COLUMN: ORDER SUMMARY SIDEBAR CARD
   -------------------------------------------------------------------------- */
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-totals-block {
  background: #ffffff !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  border-radius: 1.15rem !important;
  padding: 1.65rem !important;
  box-shadow: 0 4px 20px -2px rgba(23, 21, 28, 0.04) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  position: sticky !important;
  top: 90px !important;
  order: 2 !important;
}

/* Reset nested order summary borders */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-totals-block {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Order Summary Header */
.wc-block-components-checkout-order-summary__title,
.wc-block-checkout__sidebar h2,
.wp-block-woocommerce-checkout-order-summary-block h2 {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.85rem 0 !important;
  padding: 0 0 0.65rem 0 !important;
  border-bottom: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  line-height: 1.25 !important;
}

/* Clean Coupon section in Checkout Sidebar */
.wc-block-checkout__sidebar .wc-block-components-totals-coupon,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0.5rem 0 !important;
}

/* Order Summary Items List */
.wc-block-components-order-summary-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  padding: 0.75rem 0 !important;
  border-bottom: 1px solid #f2eee8 !important;
}

.wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
}

.wc-block-components-order-summary-item__image {
  flex-shrink: 0 !important;
  width: 54px !important;
  height: 64px !important;
}

.wc-block-components-order-summary-item__image img {
  width: 54px !important;
  height: 64px !important;
  object-fit: cover !important;
  border-radius: 0.55rem !important;
  border: 1px solid var(--cc-cart-line, #e4dfd6) !important;
  background: var(--cc-cart-paper, #f7f4ee) !important;
  display: block !important;
}

.wc-block-components-order-summary-item__description {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.wc-block-components-order-summary-item__title {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 0.925rem !important;
  font-weight: 600 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  line-height: 1.3 !important;
  margin: 0 0 0.25rem 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.wc-block-components-order-summary-item__quantity {
  font-size: 0.8rem !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
}

.wc-block-components-order-summary-item__price {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Totals item rows */
.wc-block-checkout__sidebar .wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0.45rem 0 !important;
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  font-size: 0.875rem !important;
  color: var(--cc-cart-muted, #6f6a78) !important;
  border-bottom: 1px solid #f2eee8 !important;
  margin: 0 !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-item .wc-block-components-totals-item__label {
  font-family: var(--cc-cart-font-sans, "DM Sans", sans-serif) !important;
  color: var(--cc-cart-ink, #17151c) !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-item .wc-block-components-totals-item__value {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
  font-size: 0.95rem !important;
  text-align: right !important;
}

/* Grand Total row */
.wc-block-checkout__sidebar .wc-block-components-totals-item.wc-block-components-totals-footer-item {
  border-top: 1.5px solid var(--cc-cart-ink, #17151c) !important;
  border-bottom: none !important;
  margin-top: 0.65rem !important;
  padding: 0.75rem 0 0.25rem 0 !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-ink, #17151c) !important;
}

.wc-block-checkout__sidebar .wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--cc-cart-font-display, "Space Grotesk", sans-serif) !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  color: var(--cc-cart-violet, #6d3ff2) !important;
  letter-spacing: -0.02em !important;
}

/* --------------------------------------------------------------------------
   RESPONSIVE DESIGN (TABLET & MOBILE SCREENS)
   -------------------------------------------------------------------------- */

/* Tablet Screens (<= 991px) */
@media (max-width: 991px) {
  body.woocommerce-checkout .site-main,
  body.woocommerce-checkout .page-content,
  body.woocommerce-checkout .entry-content,
  .page-id-11 .page-content {
    padding: 1.75rem 1.25rem 3.5rem !important;
  }

  .wp-block-woocommerce-checkout,
  .wc-block-checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.5rem !important;
    width: 100% !important;
  }

  /* Single Order Summary cleanly at the top of mobile checkout */
  .wc-block-checkout__sidebar,
  .wp-block-woocommerce-checkout-totals-block {
    order: 0 !important;
    position: static !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .wc-block-checkout__main {
    order: 1 !important;
    width: 100% !important;
  }
}

/* Mobile Screens (<= 640px) */
@media (max-width: 640px) {
  body.woocommerce-checkout .site-main,
  body.woocommerce-checkout .page-content,
  body.woocommerce-checkout .entry-content,
  .page-id-11 .page-content {
    padding: 1.15rem 0.85rem 3rem !important;
  }

  body.woocommerce-checkout .entry-title,
  body.woocommerce-checkout h1.entry-title {
    font-size: 1.65rem !important;
  }

  .wc-block-checkout__main,
  .wc-block-checkout__sidebar,
  .wp-block-woocommerce-checkout-totals-block {
    padding: 1.25rem 1rem !important;
    border-radius: 0.95rem !important;
  }

  /* Heading spacing on mobile */
  .wc-block-components-checkout-step__heading-container,
  .wc-block-components-checkout-step__heading {
    margin-bottom: 0.4rem !important;
  }

  /* Full-width stacking on mobile address fields */
  .wc-block-components-address-form {
    gap: 10px !important;
  }

  .wc-block-components-address-form .wc-block-components-address-form__first_name,
  .wc-block-components-address-form .wc-block-components-address-form__last_name,
  .wc-block-components-address-form .wc-block-components-address-form__city,
  .wc-block-components-address-form .wc-block-components-state-input,
  .wc-block-components-address-form .wc-block-components-address-form__postcode,
  .wc-block-components-address-form .wc-block-components-address-form__phone {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  .wc-block-components-text-input input,
  .wc-blocks-components-select__select {
    height: 48px !important;
    padding-top: 18px !important;
    font-size: 0.9rem !important;
  }

  .wc-block-components-text-input label,
  .wc-blocks-components-select label {
    font-size: 0.85rem !important;
  }

  .wc-block-components-checkout-place-order-button,
  button.wc-block-components-checkout-place-order-button {
    font-size: 1rem !important;
    padding: 0.95rem 1.25rem !important;
  }

  .wc-block-checkout__sidebar .wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.35rem !important;
  }
}

/* Cart Item Remove & Controls Resilience */
.creepcast-cart-item-remove {
  position: relative !important;
  z-index: 5 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.creepcast-cart-item-remove svg,
.creepcast-cart-item-remove svg * {
  pointer-events: none !important;
}
.creepcast-qty-btn {
  cursor: pointer !important;
  pointer-events: auto !important;
}