/* Cart & checkout — homepage design-system match (loaded after sl-dark-system).
   Scoped to the cart/checkout surfaces; never edits plugin/theme files. */

/* ============ Checkout: reset the default 8px body margin ============ */
body.has-fluid-checkout {
  margin: 0;
}

/* ============ Checkout: 65px homepage-style header ============ */
.fc-checkout-header {
  position: sticky;
  top: 0;
  z-index: 30;
  height: 65px !important;
  min-height: 65px !important;
  background: rgba(11, 15, 23, 0.85) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.fc-checkout-header__inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
  height: 65px !important;
  min-height: 65px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.fc-checkout__branding .custom-logo-link {
  display: block;
  width: 150px;
  height: 30px;
  background: url("https://stickerlight.com/wp-content/uploads/2026/05/stickerlight-logo.png") no-repeat left center;
  background-size: contain;
}
.fc-checkout-header .fc-checkout__site-name {
  font-size: 0 !important;
  line-height: 0 !important;
}
.fc-checkout__cart-link {
  color: #e6eaf1 !important;
  font-weight: 700;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}
.fc-checkout__cart-link:hover {
  color: #22d3ee !important;
}

/* ============ Checkout: Place Order = one continuous gradient button ============ */
body.has-fluid-checkout .fc-place-order {
  width: 100%;
  padding: 16px 0 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}
body.has-fluid-checkout #place_order.fc-place-order-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px !important;
  height: auto !important;
  margin: 0;
  padding: 0 20px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #22d3ee, #a78bfa) !important;
  color: #08111a !important;
  font-weight: 800;
  font-size: 17px;
  line-height: 1.2 !important;
  box-shadow: none !important;
}
body.has-fluid-checkout #place_order.fc-place-order-button:hover:not(:disabled):not([disabled]) {
  background: linear-gradient(90deg, #22d3ee, #a78bfa) !important;
  color: #08111a !important;
  filter: brightness(1.08);
}
body.has-fluid-checkout #place_order.fc-place-order-button:focus-visible {
  outline: 2px solid #22d3ee;
  outline-offset: 3px;
}
body.has-fluid-checkout #place_order.fc-place-order-button:disabled,
body.has-fluid-checkout #place_order.fc-place-order-button[disabled] {
  background: linear-gradient(90deg, #22d3ee, #a78bfa) !important;
  color: #08111a !important;
  opacity: 0.55;
  cursor: not-allowed;
  filter: none;
}

/* ============ Cart: two-column layout ============ */
.sl-cart-body .woocommerce {
  display: block;
  color: var(--txt);
}
.sl-cart-body .woocommerce-cart-form {
  display: block;
  min-width: 0;
}
.sl-cart-body .rt-cart-form.wp-block-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
}
.sl-cart-body .rt-cart-form .wp-block-column {
  min-width: 0;
}
.sl-cart-body .rt-cart-collaterals {
  position: sticky;
  top: 84px;
  min-width: 0;
}
.sl-cart-body .rt-cart-collaterals .wp-block-group {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 26px;
}
.sl-cart-body table.shop_table {
  width: 100%;
  border-collapse: collapse;
}
.sl-cart-body table.shop_table thead {
  display: none;
}
.sl-cart-body .rt-product-items {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.sl-cart-body .rt-product-item {
  display: contents;
}
.sl-cart-body .rt-product-item__thumbnail,
.sl-cart-body .rt-product-item__thumbnail img {
  width: 140px;
  height: 140px;
  border-radius: 12px;
}
.sl-cart-body .rt-product-item__thumbnail img {
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: block;
  background: #000;
}
.sl-cart-body .rt-product-item__body {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 18px;
  row-gap: 8px;
}
.sl-cart-body .rt-product-item__name {
  flex: 1 1 100%;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}
.sl-cart-body .rt-product-item__name a {
  color: #e6eaf1;
}
.sl-cart-body .rt-product-item__name a:hover {
  color: #22d3ee;
}
.sl-cart-body .rt-product-item__price {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: #22d3ee;
}
.sl-cart-body .rt-product-item__quantity {
  margin: 0;
}
.sl-cart-body .rt-product-item__remove {
  margin: 0;
}
.sl-cart-body .rt-product-item__remove .delete {
  color: #9aa7bd;
  font-size: 13px;
  text-decoration: none;
}
.sl-cart-body .rt-product-item__remove .delete:hover {
  color: #f87171;
}
.sl-cart-body .product-subtotal {
  font-size: 15px;
  font-weight: 800;
  color: #e6eaf1;
  text-align: right;
  white-space: nowrap;
  align-self: center;
}
.sl-cart-body dl.variation {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 10px;
  margin: 8px 0 0;
  font-size: 14px;
  color: #9aa7bd;
}
.sl-cart-body dl.variation dt {
  font-weight: 600;
  color: #cbd5e1;
}
.sl-cart-body dl.variation dd {
  margin: 0;
}
.sl-cart-body dl.variation dd p {
  margin: 0;
  display: inline;
}

/* ============ Cart: quantity control ============ */
.sl-cart-body .rt-quantity {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: #0f141b;
  overflow: hidden;
}
.sl-cart-body .rt-quantity__button {
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  border: 0;
  background: transparent;
  color: #e6eaf1;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sl-cart-body .rt-quantity__button:hover {
  background: rgba(255, 255, 255, 0.06);
}
.sl-cart-body .rt-quantity__button:focus-visible {
  outline: 2px solid #22d3ee;
  outline-offset: -2px;
}
.sl-cart-body .rt-quantity input.qty {
  width: 52px !important;
  min-width: 52px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin-left: 0 !important;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
  color: #e6eaf1;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  -moz-appearance: textfield;
  appearance: textfield;
}
.sl-cart-body .rt-quantity input.qty::-webkit-outer-spin-button,
.sl-cart-body .rt-quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Screen-reader label inside quantity control must not participate in layout */
.sl-cart-body .rt-quantity .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
}

/* ============ Cart: actions, coupon ============ */
.sl-cart-body .actions .is-layout-flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 0 6px;
}
.sl-cart-body .coupon {
  display: flex;
  gap: 10px;
}
.sl-cart-body #coupon_code {
  background: #0f141b;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  color: #e6eaf1;
  padding: 10px 14px;
  min-width: 180px;
  font-size: 14px;
}

/* ============ Cart: totals card ============ */
.sl-cart-body .cart_totals h2 {
  font-size: 18px;
  text-align: left;
  margin: 0 0 14px;
  color: #e6eaf1;
}
.sl-cart-body .cart_totals table {
  width: 100%;
}
.sl-cart-body .cart_totals th,
.sl-cart-body .cart_totals td {
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 14.5px;
  color: #9aa7bd;
  background: transparent;
}
.sl-cart-body .cart_totals td {
  text-align: right;
  color: #e6eaf1;
  font-weight: 700;
}
.sl-cart-body .cart_totals .order-total th,
.sl-cart-body .cart_totals .order-total td {
  font-size: 17px;
  color: #e6eaf1;
  border-bottom: 0;
}
.sl-cart-body .wc-proceed-to-checkout {
  margin: 18px 0 0;
}
.sl-cart-body .wc-proceed-to-checkout .checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 15px 20px;
}

/* ============ CTA buttons → homepage gradient ============ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.checkout-button,
.woocommerce a.checkout-button,
.woocommerce .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.add_to_cart_button,
.woocommerce a.product_type_variable,
.woocommerce .checkout-button,
.fc-step__next-step,
.fc-step__save,
.fc-checkout-steps button,
.wc-block-components-button,
.wp-block-post-comments-form input[type="submit"],
input#submit,
#submit {
  background: linear-gradient(90deg, #22d3ee, #a78bfa) !important;
  color: #08111a !important;
  font-weight: 800;
  border-radius: 10px;
  border: 0;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.checkout-button:hover,
.woocommerce .single_add_to_cart_button:hover,
.fc-step__next-step:hover,
.fc-step__save:hover,
.wp-block-post-comments-form input[type="submit"]:hover,
input#submit:hover {
  background: linear-gradient(90deg, #22d3ee, #a78bfa) !important;
  color: #08111a !important;
  filter: brightness(1.1);
}
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #9aa7bd !important;
  cursor: not-allowed;
  filter: none;
}

/* ============ Mobile ============ */
@media (max-width: 860px) {
  .sl-cart-body .rt-cart-form.wp-block-columns {
    grid-template-columns: 1fr;
  }
  .sl-cart-body .rt-cart-collaterals {
    position: static;
  }
  .sl-cart-body .rt-product-items {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
  }
  .sl-cart-body .rt-product-item__thumbnail,
  .sl-cart-body .rt-product-item__thumbnail img {
    width: 96px;
    height: 96px;
    border-radius: 10px;
  }
  .sl-cart-body .product-subtotal {
    grid-column: 2;
    justify-self: end;
    text-align: right;
    padding-top: 8px;
  }
  .sl-cart-body .actions .is-layout-flex {
    flex-direction: column;
  }
  .sl-cart-body .coupon {
    width: 100%;
  }
  .sl-cart-body #coupon_code {
    flex: 1;
    min-width: 0;
  }
  .sl-cart-body table.shop_table,
  .sl-cart-body td.product-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed;
  }
  .sl-cart-body .rt-product-items {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .sl-cart-body .rt-product-item__body,
  .sl-cart-body .rt-product-item__name,
  .sl-cart-body .rt-product-item__name dl.variation,
  .sl-cart-body .rt-product-item__quantity {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .sl-cart-body dl.variation {
    grid-template-columns: 1fr !important;
    gap: 4px 0;
  }

}
/* ============ v4 polish: single price anchor per cart row ============ */
.sl-cart-body .rt-product-item__price {
  display: none !important;
}
.sl-cart-body .product-subtotal {
  font-size: 16px;
  font-weight: 800;
  color: #22d3ee;
  text-align: right;
}

/* ============ v4 polish: coupon row breathes ============ */
.sl-cart-body .actions .is-layout-flex {
  align-items: center;
}
.sl-cart-body .coupon {
  flex-wrap: wrap;
  row-gap: 10px;
}
.sl-cart-body #coupon_code {
  min-width: 240px;
  padding: 12px 14px;
}

/* ============ v4 polish: final CTA band spacing ============ */
.sl-cart-body {
  padding-bottom: 0;
}
.sl-cart-body + .final {
  padding: 56px 0 60px;
}

/* ============ v4 polish: checkout place-order button glow ============ */
body.has-fluid-checkout #place_order.fc-place-order-button {
  box-shadow: 0 10px 30px rgba(34, 211, 238, 0.22);
}
body.has-fluid-checkout #place_order.fc-place-order-button:disabled,
body.has-fluid-checkout #place_order.fc-place-order-button[disabled] {
  box-shadow: none;
}

/* ============ Add-to-cart notice: centered text, wider View cart ============ */
.woocommerce .woocommerce-message {
  align-items: center;
}
.woocommerce-message .button.wc-forward {
  padding: 0 26px !important;
  margin-top: 0 !important;
  min-width: 150px;
  white-space: nowrap;
  justify-content: center;
}
.woocommerce .woocommerce-message::before {
  top: 50% !important;
  transform: translateY(-50%);
}

/* ============ Cart: no coupon entry (deposit coupon is applied by the N8N link) ============ */
.woocommerce-cart-form .coupon,
form.woocommerce-coupon-form {
  display: none !important;
}

/* ============ Checkout: remove "Add coupon code" section ============ */
.fc-expansible-form-section.fc-coupon_code__collapsible {
  display: none !important;
}

/* ============ Deposit split: the 50% coupon is internal, never shown ============ */
/* The cart page renders a bare <body> (no body_class), so these are unscoped:
   the coupon code is internal and only ever appears on deposit sessions. */
.cart-discount.coupon-half_now_half_before_ship,
.fc-coupon-codes__coupon {
  display: none !important;
}
/* Checkout: no "add coupon code" section at all */
.fc-step__substep[data-substep-id="coupon_codes"],
.fc-expansible-form-section.fc-coupon_code__collapsible {
  display: none !important;
}
/* Balance row reads as part of the totals, not as a discount */
.sl-balance-due th {
  color: #9aa7bd;
  font-weight: 500;
}
.sl-balance-due td {
  color: #9aa7bd;
  font-weight: 600;
  text-align: right;
}

/* ============ Checkout: single fixed shipping method, no change option ============ */
/* The store only ever offers one rate (flat rate or priority), picked from the
   Typebot answers, so the method picker and its Change button are pointless. */
.fc-step__substep[data-substep-id="shipping_method"] {
  display: none !important;
}

/* ============ Checkout: no order notes ============ */
.fc-step__substep[data-substep-id="order_notes"],
.fc-expansible-form-section[data-section-key="order_comments"] {
  display: none !important;
}

/* ============ Checkout: no "change email" affordance ============ */
.fc-step__substep-edit[aria-label="Change: Contact"] {
  display: none !important;
}
