/* The Cassette Club — cart, checkout and order-received pages in the brand theme.
   Covers WooCommerce's block cart/checkout and the classic [woocommerce_cart] / [woocommerce_checkout] pages. */
body.tcc-shop {
  --s-bg: #13221B; --s-card: #1A2D24; --s-card-2: #22382E; --s-line: rgba(255, 255, 255, .12); --s-line-2: rgba(255, 255, 255, .24);
  --s-ink: #FFFFFF; --s-muted: #B4C0B9; --s-lime: #DBDE52; --s-lime-2: #E9EB8A; --s-blue: #0027FF; --s-sky: #A9B6FF; --s-on-lime: #13221B;
  --s-display: "Fahkwang", Georgia, serif; --s-body: "Jost", system-ui, sans-serif;
  background: var(--s-bg) !important; color: var(--s-ink);
}
body.tcc-shop .wp-site-blocks, body.tcc-shop main, body.tcc-shop .site-main, body.tcc-shop .entry-content { background: transparent; }
body.tcc-shop .woocommerce, body.tcc-shop .wc-block-cart, body.tcc-shop .wc-block-checkout, body.tcc-shop .wp-block-woocommerce-cart, body.tcc-shop .wp-block-woocommerce-checkout { font-family: var(--s-body); color: var(--s-ink); }
body.tcc-shop h1.wp-block-post-title, body.tcc-shop h1.entry-title, body.tcc-shop .page-title, body.tcc-shop .elementor-page-title h1 { font-family: var(--s-display); font-weight: 500; color: var(--s-ink); letter-spacing: -.01em; }
body.tcc-shop a { color: var(--s-sky); }
body.tcc-shop a:hover { color: var(--s-ink); }
body.tcc-shop :focus-visible { outline: 2px solid var(--s-lime) !important; outline-offset: 2px; }

/* ---------- Step strip (Cart · Details · Paid) ---------- */
.tcc-shop-steps { list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font: 600 13px var(--s-body); letter-spacing: .08em; text-transform: uppercase; }
.tcc-shop-steps li { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px 7px 8px; border-radius: 999px; background: var(--s-card); color: var(--s-muted); border: 1px solid var(--s-line); }
.tcc-shop-steps li span { display: inline-flex; width: 22px; height: 22px; border-radius: 50%; align-items: center; justify-content: center; background: var(--s-card-2); color: var(--s-ink); font-size: 12px; letter-spacing: 0; }
.tcc-shop-steps li.is-on { background: var(--s-lime); color: var(--s-on-lime); border-color: var(--s-lime); }
.tcc-shop-steps li.is-on span { background: var(--s-on-lime); color: var(--s-lime); }
.tcc-shop-steps li.is-done span { background: var(--s-blue); }
.tcc-shop-assure { margin: 14px 0 0; display: grid; gap: 6px; font: 400 13px/1.45 var(--s-body); color: var(--s-muted); }
.tcc-shop-assure strong { color: var(--s-ink); font-weight: 600; }

/* ---------- Cards ---------- */
body.tcc-shop .wc-block-cart .wc-block-cart-items,
body.tcc-shop .wc-block-components-sidebar .wc-block-components-totals-wrapper:first-child,
body.tcc-shop .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-block,
body.tcc-shop .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body.tcc-shop .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content,
body.tcc-shop .woocommerce-cart-form, body.tcc-shop .cart_totals, body.tcc-shop #order_review, body.tcc-shop .woocommerce-checkout #customer_details > div,
body.tcc-shop .woocommerce-order { background: var(--s-card); border: 1px solid var(--s-line) !important; border-radius: 20px; }
body.tcc-shop .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-block,
body.tcc-shop .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 6px 20px 16px; }
body.tcc-shop .wc-block-components-sidebar .wc-block-components-totals-wrapper:first-child { background: transparent; border: 0 !important; }
body.tcc-shop .wc-block-cart .wc-block-cart-items { border-collapse: separate; border-spacing: 0; overflow: hidden; }
body.tcc-shop .wc-block-cart-items th, body.tcc-shop .wc-block-cart-items__header { padding: 16px 20px !important; color: var(--s-muted) !important; font: 600 12px var(--s-body) !important; letter-spacing: .14em; text-transform: uppercase; border: 0 !important; }
body.tcc-shop .wc-block-cart-items__row:first-child td { border-top: 1px solid var(--s-line) !important; }
body.tcc-shop .wc-block-cart-items td { padding: 20px !important; border-top: 0 !important; border-bottom: 1px solid var(--s-line) !important; vertical-align: top; }
body.tcc-shop .wc-block-cart-items tr:last-child td { border-bottom: 0 !important; }
body.tcc-shop .wc-block-cart-item__image img, body.tcc-shop .wc-block-components-order-summary-item__image img { border-radius: 12px; background: var(--s-card-2); }
body.tcc-shop .wc-block-components-product-name, body.tcc-shop .wc-block-components-product-name:hover { font: 500 19px/1.25 var(--s-display) !important; color: var(--s-ink) !important; text-decoration: none !important; }
body.tcc-shop .wc-block-components-product-price, body.tcc-shop .wc-block-components-product-price__value, body.tcc-shop .wc-block-components-formatted-money-amount { color: var(--s-ink); }
body.tcc-shop .wc-block-components-product-price del, body.tcc-shop .wc-block-components-product-price__regular { color: var(--s-muted) !important; opacity: .8; }
body.tcc-shop .wc-block-components-product-badge, body.tcc-shop .wc-block-components-sale-badge { background: var(--s-lime) !important; color: var(--s-on-lime) !important; border: 0 !important; border-radius: 999px !important; padding: 3px 10px !important; font: 700 11px var(--s-body) !important; letter-spacing: .08em; }
/* The product's long description repeats on every cart line; the cassette details below say it better. */
body.tcc-shop .wc-block-components-product-metadata__description { display: none !important; }
body.tcc-shop .wc-block-components-product-details { margin: 10px 0 0 !important; padding: 12px 14px !important; list-style: none !important; border-radius: 12px; background: var(--s-bg); border: 1px solid var(--s-line); display: grid; gap: 4px; font: 400 13.5px/1.45 var(--s-body); color: var(--s-ink); }
body.tcc-shop .wc-block-components-product-details li { margin: 0 !important; display: block !important; }
body.tcc-shop .wc-block-components-product-details__name { color: var(--s-muted); font-weight: 600; }
/* The block cart can't show links inside item details, so shop.js adds a real "Edit this cassette" link below them. */
body.tcc-shop .wc-block-components-product-details li[class*="product-details__edit"] { display: none !important; }
body.tcc-shop a.tcc-shop-edit { display: inline-flex; align-items: center; gap: 6px; color: var(--s-lime) !important; font: 600 14px var(--s-body) !important; text-decoration: underline; text-underline-offset: 3px; }
body.tcc-shop a.tcc-shop-edit::before { content: "✎"; text-decoration: none; }
body.tcc-shop .wc-block-checkout .wc-block-components-product-details li[class*="product-details__edit"] { display: none !important; }
body.tcc-shop .wc-block-cart-item__remove-link, body.tcc-shop .wc-block-cart-item__remove-link:hover { color: var(--s-muted) !important; font: 400 13px var(--s-body) !important; text-decoration: underline !important; background: none !important; border: 0 !important; padding: 0 !important; }
body.tcc-shop .wc-block-components-quantity-selector { border-color: var(--s-line-2) !important; border-radius: 10px; }
body.tcc-shop .wc-block-components-quantity-selector input, body.tcc-shop .wc-block-components-quantity-selector button { color: var(--s-ink) !important; background: transparent !important; }

/* ---------- Totals ---------- */
body.tcc-shop .wc-block-cart__totals-title, body.tcc-shop .wc-block-components-checkout-order-summary__title-text, body.tcc-shop .wc-block-components-title { color: var(--s-ink) !important; font: 500 20px var(--s-display) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.tcc-shop .wc-block-cart__totals-title { padding: 14px 0 8px !important; border-bottom: 1px solid var(--s-line); }
body.tcc-shop .wc-block-components-totals-wrapper { border-top-color: var(--s-line) !important; }
body.tcc-shop .wc-block-components-totals-item__label, body.tcc-shop .wc-block-components-totals-item__value { color: var(--s-ink); }
body.tcc-shop .wc-block-components-totals-item__description, body.tcc-shop .wc-block-components-totals-shipping__via { color: var(--s-muted); }
body.tcc-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font: 600 17px var(--s-body); }
body.tcc-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 500 26px var(--s-display); color: var(--s-ink); }
body.tcc-shop .wc-block-components-panel__button, body.tcc-shop .wc-block-components-panel__button:hover { color: var(--s-ink) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font: 500 15px var(--s-body) !important; text-transform: none !important; }
body.tcc-shop .wc-block-components-panel__button-icon { fill: var(--s-lime); }

/* ---------- Buttons ---------- */
body.tcc-shop .wc-block-components-button:not(.is-link), body.tcc-shop .wc-block-cart__submit-button, body.tcc-shop .wc-block-components-checkout-place-order-button,
body.tcc-shop .woocommerce a.checkout-button, body.tcc-shop .woocommerce #place_order, body.tcc-shop .woocommerce button.button.alt, body.tcc-shop .woocommerce a.button.alt {
  background: var(--s-lime) !important; color: var(--s-on-lime) !important; border: 0 !important; border-radius: 999px !important; min-height: 54px; padding: 0 28px !important; font: 600 16px var(--s-body) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; text-decoration: none !important; }
body.tcc-shop .wc-block-components-button:not(.is-link):hover, body.tcc-shop .wc-block-cart__submit-button:hover, body.tcc-shop .wc-block-components-checkout-place-order-button:hover,
body.tcc-shop .woocommerce a.checkout-button:hover, body.tcc-shop .woocommerce #place_order:hover, body.tcc-shop .woocommerce button.button.alt:hover { background: var(--s-lime-2) !important; color: var(--s-on-lime) !important; }
body.tcc-shop .wc-block-components-button:not(.is-link) .wc-block-components-button__text { color: inherit !important; }
body.tcc-shop .wc-block-components-totals-coupon__button, body.tcc-shop .woocommerce button.button:not(.alt) { background: transparent !important; color: var(--s-ink) !important; border: 1px solid var(--s-line-2) !important; border-radius: 999px !important; min-height: 44px; font: 600 14px var(--s-body) !important; text-transform: none !important; }
body.tcc-shop .wc-block-components-checkout-return-to-cart-button, body.tcc-shop .wc-block-components-checkout-return-to-cart-button:hover { color: var(--s-sky) !important; }
body.tcc-shop .wc-block-components-checkout-return-to-cart-button svg { fill: currentColor; }

/* ---------- Form fields ---------- */
body.tcc-shop .wc-block-components-text-input input, body.tcc-shop .wc-block-components-text-input textarea, body.tcc-shop .wc-block-components-textarea, body.tcc-shop .wc-blocks-components-select__select, body.tcc-shop .wc-block-components-combobox .components-form-token-field__input,
body.tcc-shop .woocommerce form .form-row input.input-text, body.tcc-shop .woocommerce form .form-row textarea, body.tcc-shop .woocommerce form .form-row select, body.tcc-shop .select2-container .select2-selection, body.tcc-shop .woocommerce .coupon input.input-text {
  background: var(--s-bg) !important; color: var(--s-ink) !important; border: 1px solid var(--s-line-2) !important; border-radius: 12px !important; box-shadow: none !important; font-family: var(--s-body) !important; }
body.tcc-shop .wc-block-components-text-input input:focus, body.tcc-shop .wc-blocks-components-select__select:focus, body.tcc-shop .wc-block-components-textarea:focus,
body.tcc-shop .woocommerce form .form-row input.input-text:focus, body.tcc-shop .woocommerce form .form-row textarea:focus { border-color: var(--s-lime) !important; box-shadow: 0 0 0 1px var(--s-lime) !important; outline: none !important; }
body.tcc-shop .wc-block-components-text-input label, body.tcc-shop .wc-blocks-components-select__label, body.tcc-shop .woocommerce form .form-row label { color: var(--s-muted) !important; }
body.tcc-shop .wc-block-components-text-input.is-active label { color: var(--s-sky) !important; }
body.tcc-shop .wc-blocks-components-select__expand { fill: var(--s-ink); }
body.tcc-shop .wc-blocks-components-select__select option { background: var(--s-card); color: var(--s-ink); }
body.tcc-shop .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--s-ink); }
body.tcc-shop .select2-dropdown { background: var(--s-card); color: var(--s-ink); border-color: var(--s-line-2); }
body.tcc-shop .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { background: var(--s-bg); border-color: var(--s-line-2); border-radius: 6px; }
body.tcc-shop .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--s-lime); border-color: var(--s-lime); }
body.tcc-shop .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--s-on-lime); }
body.tcc-shop .wc-block-components-checkbox label, body.tcc-shop .wc-block-components-checkbox__label { color: var(--s-ink); }
body.tcc-shop .wc-block-components-validation-error p, body.tcc-shop .wc-block-components-validation-error { color: #FFB4A8 !important; }
body.tcc-shop .wc-block-components-text-input.has-error input { border-color: #FF8A75 !important; }

/* ---------- Checkout steps ---------- */
body.tcc-shop .wc-block-components-checkout-step { border-color: var(--s-line) !important; }
body.tcc-shop .wc-block-components-checkout-step__heading .wc-block-components-title, body.tcc-shop .wc-block-components-checkout-step__title { font: 500 22px var(--s-display) !important; color: var(--s-ink) !important; }
body.tcc-shop .wc-block-components-checkout-step__description { color: var(--s-muted) !important; }
body.tcc-shop .wc-block-checkout__guest-checkout-notice, body.tcc-shop .wc-block-components-checkout-step__container p { color: var(--s-muted); }
body.tcc-shop .wc-block-components-address-card { background: var(--s-bg); border-color: var(--s-line-2) !important; border-radius: 12px; color: var(--s-ink); }
body.tcc-shop .wc-block-components-address-card__edit { color: var(--s-sky) !important; }

/* Shipping & payment choices as cards */
body.tcc-shop .wc-block-components-radio-control, body.tcc-shop .wc-block-components-radio-control--highlight-checked { border: 0 !important; box-shadow: none !important; display: grid; gap: 10px; }
body.tcc-shop .wc-block-components-radio-control--highlight-checked::after { display: none !important; }
body.tcc-shop .wc-block-components-radio-control__option, body.tcc-shop .wc-block-components-radio-control-accordion-option {
  margin: 0 !important; border: 1px solid var(--s-line-2) !important; border-radius: 14px !important; background: var(--s-bg) !important; box-shadow: none !important; color: var(--s-ink); }
body.tcc-shop .wc-block-components-radio-control__option::after, body.tcc-shop .wc-block-components-radio-control-accordion-option::after { display: none !important; }
body.tcc-shop .wc-block-components-radio-control__option-checked, body.tcc-shop .wc-block-components-radio-control-accordion-option--checked-option-highlighted, body.tcc-shop .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--s-lime) !important; box-shadow: inset 0 0 0 1px var(--s-lime) !important; background: rgba(219, 222, 82, .08) !important; }
body.tcc-shop .wc-block-components-radio-control__input { background: var(--s-bg) !important; border: 2px solid var(--s-line-2) !important; }
body.tcc-shop .wc-block-components-radio-control__input:checked { border-color: var(--s-lime) !important; }
body.tcc-shop .wc-block-components-radio-control__input:checked::before { background: var(--s-lime) !important; }
body.tcc-shop .wc-block-components-radio-control__label, body.tcc-shop .wc-block-components-radio-control__secondary-label, body.tcc-shop .wc-block-components-payment-method-label { color: var(--s-ink) !important; }
body.tcc-shop .wc-block-components-radio-control__description, body.tcc-shop .wc-block-components-radio-control__secondary-description { color: var(--s-muted) !important; }
body.tcc-shop .wc-block-components-radio-control-accordion-content, body.tcc-shop .wc-block-components-radio-control-accordion-content p { color: var(--s-muted); }
body.tcc-shop .wc-block-checkout__terms, body.tcc-shop .wc-block-checkout__terms p { color: var(--s-muted); font-size: 13px; }
body.tcc-shop .wc-block-components-order-summary-item__quantity { background: var(--s-lime) !important; color: var(--s-on-lime) !important; border: 0 !important; box-shadow: none !important; }
body.tcc-shop .wc-block-components-order-summary-item__description .wc-block-components-product-metadata { font-size: 13px; }
body.tcc-shop .wc-block-components-order-summary .wc-block-components-panel__button { font: 500 15px var(--s-body) !important; }
body.tcc-shop .wc-block-components-notice-banner { border-radius: 14px; }

/* ---------- Classic pages ---------- */
body.tcc-shop .woocommerce table.shop_table { border: 0 !important; border-radius: 20px; color: var(--s-ink); background: transparent; }
body.tcc-shop .woocommerce table.shop_table th, body.tcc-shop .woocommerce table.shop_table td { border-color: var(--s-line) !important; color: var(--s-ink); padding: 16px 20px; }
body.tcc-shop .woocommerce table.shop_table th { color: var(--s-muted); font: 600 12px var(--s-body); letter-spacing: .14em; text-transform: uppercase; }
body.tcc-shop .woocommerce table.shop_table td.product-name a { font: 500 18px var(--s-display); color: var(--s-ink); text-decoration: none; }
body.tcc-shop .woocommerce td.product-name dl.variation { margin: 10px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--s-bg); border: 1px solid var(--s-line); font-size: 13.5px; }
body.tcc-shop .woocommerce td.product-name dl.variation dt { color: var(--s-muted); font-weight: 600; }
body.tcc-shop .woocommerce td.product-name dl.variation dd a { color: var(--s-lime); font-weight: 600; }
body.tcc-shop .woocommerce a.remove { color: var(--s-muted) !important; border: 1px solid var(--s-line-2); }
body.tcc-shop .woocommerce a.remove:hover { background: #FF6B57 !important; color: #FFFFFF !important; }
body.tcc-shop .cart_totals, body.tcc-shop #order_review { padding: 8px 20px 20px; }
body.tcc-shop .cart_totals h2, body.tcc-shop #order_review_heading, body.tcc-shop .woocommerce-billing-fields h3, body.tcc-shop .woocommerce-shipping-fields h3, body.tcc-shop .woocommerce-additional-fields h3 { font: 500 22px var(--s-display); color: var(--s-ink); }
body.tcc-shop .woocommerce-checkout #customer_details > div { padding: 20px; margin-bottom: 18px; }
body.tcc-shop .woocommerce ul#shipping_method li { padding: 10px 12px; margin: 0 0 8px; border: 1px solid var(--s-line-2); border-radius: 12px; background: var(--s-bg); }
body.tcc-shop .woocommerce #payment, body.tcc-shop .woocommerce-checkout #payment { background: transparent !important; border-radius: 16px; }
body.tcc-shop .woocommerce-checkout #payment ul.payment_methods { border-color: var(--s-line) !important; }
body.tcc-shop .woocommerce-checkout #payment div.payment_box { background: var(--s-card-2) !important; color: var(--s-ink) !important; border-radius: 12px; }
body.tcc-shop .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--s-card-2) !important; }
body.tcc-shop .woocommerce-info, body.tcc-shop .woocommerce-message, body.tcc-shop .woocommerce-error { background: var(--s-card) !important; color: var(--s-ink) !important; border-top-color: var(--s-lime) !important; border-radius: 12px; }
body.tcc-shop .woocommerce-info::before, body.tcc-shop .woocommerce-message::before { color: var(--s-lime) !important; }

/* ---------- Order received ---------- */
/* Some themes float the item-detail labels, which puts each track list under the wrong heading. */
body.tcc-shop ul.wc-item-meta { list-style: none !important; margin: 10px 0 0 !important; padding: 12px 14px !important; border-radius: 12px; background: var(--s-bg); border: 1px solid var(--s-line); font-size: 14px; }
body.tcc-shop ul.wc-item-meta li { display: block !important; margin: 0 0 8px !important; }
body.tcc-shop ul.wc-item-meta li:last-child { margin-bottom: 0 !important; }
body.tcc-shop .wc-item-meta .wc-item-meta-label { float: none !important; display: block; margin: 0 0 2px; color: var(--s-muted); font-weight: 600; }
body.tcc-shop .wc-item-meta p { display: block; margin: 0 !important; color: var(--s-ink); }
body.tcc-shop .tcc-gs-status { color: var(--s-muted); }
body.tcc-shop .wc-block-order-confirmation-totals table, body.tcc-shop .wc-block-order-confirmation-totals th, body.tcc-shop .wc-block-order-confirmation-totals td { border-color: var(--s-line) !important; }
body.tcc-shop .wc-block-order-confirmation-totals { border-radius: 16px; }
body.tcc-shop .wc-block-order-confirmation-totals a { font: 500 18px var(--s-display); color: var(--s-ink); text-decoration: none; }
body.tcc-shop .wc-block-order-confirmation-summary { color: var(--s-ink); }
body.tcc-shop .wc-block-order-confirmation-summary-list-item__key { color: var(--s-muted); font-weight: 600; }
body.tcc-shop .wc-block-order-confirmation-shipping-address, body.tcc-shop .wc-block-order-confirmation-billing-address { border-radius: 14px; background: var(--s-card); }
body.tcc-shop .woocommerce-order { padding: 24px; }
body.tcc-shop .woocommerce-order .woocommerce-thankyou-order-received, body.tcc-shop .wc-block-order-confirmation-status h1 { font: 500 30px var(--s-display); color: var(--s-ink); }
body.tcc-shop ul.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; }
body.tcc-shop ul.woocommerce-order-overview li { border: 1px solid var(--s-line) !important; border-radius: 12px; padding: 10px 14px !important; margin: 0 !important; color: var(--s-muted); }
body.tcc-shop ul.woocommerce-order-overview li strong { color: var(--s-ink); }
body.tcc-shop .wc-block-order-confirmation-summary-list, body.tcc-shop .wc-block-order-confirmation-totals table, body.tcc-shop .wc-block-order-confirmation-billing-address, body.tcc-shop .wc-block-order-confirmation-shipping-address { border-color: var(--s-line) !important; color: var(--s-ink); }

@media (max-width: 600px) {
  body.tcc-shop .wc-block-cart-items td { padding: 14px !important; }
  /* Phones: image + name on top, price beside the name, cassette details full width underneath. */
  body.tcc-shop .wc-block-cart-items__row { grid-template-columns: 64px minmax(0, 1fr) auto !important; column-gap: 12px; }
  body.tcc-shop .wc-block-cart-items__row .wc-block-cart-item__image { grid-column: 1 !important; grid-row: 1 !important; }
  body.tcc-shop .wc-block-cart-items__row .wc-block-cart-item__product { grid-column: 2 / 4 !important; grid-row: 1 !important; padding-left: 0 !important; }
  body.tcc-shop .wc-block-cart-items__row .wc-block-cart-item__total { grid-column: 3 !important; grid-row: 1 !important; padding-left: 0 !important; }
  body.tcc-shop .wc-block-cart-item__product .wc-block-components-product-name { padding-right: 72px; display: block; }
  body.tcc-shop .wc-block-cart-item__product .wc-block-components-product-metadata { margin-left: -76px; }
  body.tcc-shop .wc-block-cart-item__image img { max-width: 64px; }
  body.tcc-shop .wc-block-cart__submit-container--sticky { background: var(--s-bg) !important; border-top: 1px solid var(--s-line); box-shadow: 0 -12px 24px rgba(0, 0, 0, .35) !important; }
  body.tcc-shop .wc-block-cart__submit-container--sticky::before { display: none !important; }
  body.tcc-shop .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-block, body.tcc-shop .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 4px 14px 12px; }
  .tcc-shop-steps { font-size: 12px; margin-bottom: 18px; }
}

/* ===========================================================================
   Elementor cart / checkout widgets and theme colours.
   Elementor Pro's WooCommerce widgets paint white sections and set their own text
   colours, which can leave text invisible. Everything below wins over them.
=========================================================================== */
body.tcc-shop .elementor-widget-woocommerce-cart, body.tcc-shop .elementor-widget-woocommerce-checkout-page {
  --sections-background-color: #1A2D24 !important; --sections-border-color: rgba(255, 255, 255, .12) !important; --sections-border-radius: 20px !important;
  --sections-title-color: #FFFFFF !important; --sections-descriptions-color: #B4C0B9 !important; --sections-titles-color: #FFFFFF !important;
  --forms-fields-normal-color: #FFFFFF !important; --forms-fields-focus-color: #FFFFFF !important; --forms-fields-normal-background-color: #13221B !important; --forms-fields-focus-background-color: #13221B !important; --forms-fields-border-color: rgba(255, 255, 255, .24) !important; --forms-fields-focus-border-color: #DBDE52 !important;
  --forms-labels-color: #B4C0B9 !important; --forms-field-label-color: #B4C0B9 !important;
  --links-normal-color: #DBDE52 !important; --links-hover-color: #FFFFFF !important;
  --totals-color: #FFFFFF !important; --order-summary-items-color: #FFFFFF !important; --order-summary-titles-color: #B4C0B9 !important; --order-summary-variations-color: #B4C0B9 !important; --order-summary-items-divider-color: rgba(255, 255, 255, .12) !important; --product-link-normal-color: #FFFFFF !important; --product-link-hover-color: #DBDE52 !important; --product-variations-color: #B4C0B9 !important; --product-price-color: #FFFFFF !important;
  --purchase-button-normal-text-color: #13221B !important; --purchase-button-normal-background-color: #DBDE52 !important; --purchase-button-hover-text-color: #13221B !important; --purchase-button-hover-background-color: #E9EB8A !important; --purchase-button-border-radius: 999px !important;
  --forms-buttons-normal-text-color: #FFFFFF !important; --forms-buttons-normal-background-color: transparent !important; --forms-buttons-hover-text-color: #13221B !important; --forms-buttons-hover-background-color: #DBDE52 !important; --forms-buttons-border-color: rgba(255, 255, 255, .24) !important;
  --radio-buttons-color: #DBDE52 !important; --shipping-methods-color: #FFFFFF !important;
  color: var(--s-ink) !important; }

/* Page title and step strip */
body.tcc-shop h1, body.tcc-shop .elementor-heading-title, body.tcc-shop .wp-block-post-title { color: var(--s-ink) !important; }
body.tcc-shop .tcc-shop-steps li { color: #D6DED9 !important; background: var(--s-card) !important; border-color: var(--s-line-2) !important; }
body.tcc-shop .tcc-shop-steps li span { color: #FFFFFF !important; background: rgba(255, 255, 255, .16) !important; }
body.tcc-shop .tcc-shop-steps li.is-done span { background: var(--s-blue) !important; }
body.tcc-shop .tcc-shop-steps li.is-on { color: var(--s-on-lime) !important; background: var(--s-lime) !important; border-color: var(--s-lime) !important; }
body.tcc-shop .tcc-shop-steps li.is-on span { color: var(--s-lime) !important; background: var(--s-on-lime) !important; }

/* Dark sections everywhere, whatever the widget or theme sets */
body.tcc-shop .e-cart-section, body.tcc-shop .e-cart-totals, body.tcc-shop .e-cart__column > .e-cart-section, body.tcc-shop .woocommerce-cart-form, body.tcc-shop .cart_totals, body.tcc-shop .cart-collaterals .cart_totals,
body.tcc-shop .e-checkout__column-inner, body.tcc-shop .e-checkout__order_review, body.tcc-shop .e-checkout__order_review-2, body.tcc-shop .e-coupon-box, body.tcc-shop .e-checkout__container .col2-set, body.tcc-shop .woocommerce-billing-fields, body.tcc-shop .woocommerce-shipping-fields, body.tcc-shop .woocommerce-additional-fields, body.tcc-shop #order_review {
  background: var(--s-card) !important; color: var(--s-ink) !important; border: 1px solid var(--s-line) !important; border-radius: 20px !important; box-shadow: none !important; }
body.tcc-shop .woocommerce-cart-form .e-cart-section, body.tcc-shop .e-cart-section .woocommerce-cart-form, body.tcc-shop .e-cart-section .cart_totals { border: 0 !important; }
body.tcc-shop .woocommerce table.shop_table, body.tcc-shop .woocommerce table.shop_table tbody, body.tcc-shop .woocommerce table.shop_table tr, body.tcc-shop .woocommerce table.shop_table td, body.tcc-shop .woocommerce table.shop_table th, body.tcc-shop .e-shop-table { background: transparent !important; }

/* All the words: readable on the dark sections */
body.tcc-shop .woocommerce :is(td, th, p, label, li, dt, dd, h2, h3, h4, span, strong, bdi, small, address, legend) { color: var(--s-ink) !important; }
body.tcc-shop .woocommerce :is(th, .cart_totals th, .shop_table thead th, dt, .wc-item-meta-label, .woocommerce-shipping-destination, .shipping-calculator-button, small) { color: var(--s-muted) !important; }
body.tcc-shop .woocommerce table.shop_table td.product-name a, body.tcc-shop .woocommerce .product-name a, body.tcc-shop .woocommerce .cart_item a:not(.remove):not(.button) { color: var(--s-ink) !important; }
body.tcc-shop .woocommerce .cart_totals h2, body.tcc-shop .woocommerce #order_review_heading, body.tcc-shop .woocommerce h3 { color: var(--s-ink) !important; letter-spacing: 0 !important; text-transform: none !important; font-family: var(--s-display) !important; font-weight: 500 !important; }
body.tcc-shop .woocommerce dl.variation dd a, body.tcc-shop .woocommerce .wc-item-meta a { color: var(--s-lime) !important; font-weight: 600; }
body.tcc-shop .woocommerce a:not(.button):not(.checkout-button):not(.remove) { color: var(--s-sky) !important; }
body.tcc-shop .woocommerce a:not(.button):not(.checkout-button):not(.remove):hover { color: var(--s-ink) !important; }
body.tcc-shop .woocommerce .shipping-calculator-button { color: var(--s-sky) !important; }
body.tcc-shop .woocommerce a.remove { color: var(--s-muted) !important; }
body.tcc-shop .woocommerce .woocommerce-Price-amount, body.tcc-shop .woocommerce .woocommerce-Price-amount bdi, body.tcc-shop .woocommerce .woocommerce-Price-currencySymbol { color: inherit !important; }
body.tcc-shop .woocommerce del, body.tcc-shop .woocommerce del .woocommerce-Price-amount { color: var(--s-muted) !important; }

/* Shipping choices: light words on dark cards, selected one in lime */
body.tcc-shop .woocommerce ul#shipping_method li, body.tcc-shop .woocommerce ul.woocommerce-shipping-methods li { background: var(--s-bg) !important; border: 1px solid var(--s-line-2) !important; border-radius: 12px !important; padding: 12px 14px !important; margin: 0 0 8px !important; list-style: none !important; }
body.tcc-shop .woocommerce ul#shipping_method li:has(input:checked) { border-color: var(--s-lime) !important; box-shadow: inset 0 0 0 1px var(--s-lime) !important; background: rgba(219, 222, 82, .08) !important; }
body.tcc-shop .woocommerce ul#shipping_method li label, body.tcc-shop .woocommerce ul#shipping_method li label *, body.tcc-shop .woocommerce ul.woocommerce-shipping-methods li label { color: var(--s-ink) !important; font-weight: 500; }
body.tcc-shop .woocommerce ul#shipping_method input[type=radio], body.tcc-shop .woocommerce #payment input[type=radio] { accent-color: var(--s-lime); }
body.tcc-shop .woocommerce .woocommerce-shipping-totals td, body.tcc-shop .woocommerce .woocommerce-shipping-totals th { padding-top: 14px !important; }

/* Notices */
body.tcc-shop .woocommerce-message, body.tcc-shop .woocommerce-info, body.tcc-shop .woocommerce-error, body.tcc-shop .woocommerce-message *, body.tcc-shop .woocommerce-info * { color: var(--s-ink) !important; }
body.tcc-shop .woocommerce-message, body.tcc-shop .woocommerce-info { background: var(--s-card) !important; border: 1px solid var(--s-line-2) !important; border-left: 4px solid var(--s-lime) !important; }
body.tcc-shop .woocommerce-message .button, body.tcc-shop .woocommerce-info .button { background: transparent !important; color: var(--s-ink) !important; border: 1px solid var(--s-line-2) !important; border-radius: 999px !important; }

/* Buttons keep their own colours (after the text rules above) */
body.tcc-shop .woocommerce a.checkout-button, body.tcc-shop .woocommerce a.checkout-button *, body.tcc-shop .woocommerce #place_order, body.tcc-shop .woocommerce button.button.alt, body.tcc-shop .woocommerce a.button.alt { background: var(--s-lime) !important; color: var(--s-on-lime) !important; }
body.tcc-shop .woocommerce a.checkout-button, body.tcc-shop .woocommerce #place_order { display: flex !important; align-items: center; justify-content: center; }
body.tcc-shop .woocommerce button.button:not(.alt), body.tcc-shop .woocommerce input.button { color: var(--s-ink) !important; background: transparent !important; border: 1px solid var(--s-line-2) !important; border-radius: 999px !important; }
body.tcc-shop .woocommerce button.button:not(.alt):hover:not(:disabled) { background: var(--s-lime) !important; color: var(--s-on-lime) !important; }
body.tcc-shop .woocommerce .quantity input.qty { background: var(--s-bg) !important; color: var(--s-ink) !important; border: 1px solid var(--s-line-2) !important; border-radius: 10px !important; }
body.tcc-shop .woocommerce #payment, body.tcc-shop .woocommerce #payment ul.payment_methods li, body.tcc-shop .woocommerce #payment .place-order { background: transparent !important; }
/* Classic cart line details: one tidy "Label: value" per line */
body.tcc-shop .woocommerce dl.variation { display: grid !important; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 8px; margin: 10px 0 0 !important; padding: 12px 14px !important; border-radius: 12px; background: var(--s-bg) !important; border: 1px solid var(--s-line) !important; font: 400 13.5px/1.45 var(--s-body) !important; }
body.tcc-shop .woocommerce dl.variation dt, body.tcc-shop .woocommerce dl.variation dd { float: none !important; clear: none !important; margin: 0 !important; padding: 0 !important; }
body.tcc-shop .woocommerce dl.variation dd p { margin: 0 !important; }
body.tcc-shop .woocommerce dl.variation dt.variation-Edit { display: none !important; }
body.tcc-shop .woocommerce dl.variation dd.variation-Edit { grid-column: 1 / -1; margin-top: 6px !important; }
body.tcc-shop .woocommerce dl.variation dd a { font: 600 14px var(--s-body) !important; text-decoration: underline; text-underline-offset: 3px; }
body.tcc-shop .woocommerce table.shop_table td.product-name > a, body.tcc-shop .woocommerce table.shop_table td.product-name > a:not(.button) { color: var(--s-ink) !important; font: 500 18px/1.3 var(--s-display) !important; text-decoration: none !important; }
body.tcc-shop .woocommerce ul#shipping_method li label, body.tcc-shop .woocommerce ul#shipping_method li label * { font: 500 15px/1.4 var(--s-body) !important; }
body.tcc-shop .woocommerce .cart_totals h2 { font-size: 22px !important; }
/* Classic checkout: one card per group (no boxes inside boxes) */
body.tcc-shop .woocommerce .col2-set, body.tcc-shop .e-checkout__container .col2-set, body.tcc-shop .woocommerce-checkout #customer_details { background: transparent !important; border: 0 !important; padding: 0 !important; }
body.tcc-shop .woocommerce-checkout #customer_details > div { background: transparent !important; border: 0 !important; padding: 0 !important; }
body.tcc-shop .woocommerce-billing-fields, body.tcc-shop .woocommerce-shipping-fields, body.tcc-shop .woocommerce-additional-fields { padding: 20px !important; margin: 0 0 18px !important; }
body.tcc-shop .woocommerce-shipping-fields:not(:has(input:checked)) { padding: 14px 20px !important; }
body.tcc-shop .woocommerce-shipping-fields #ship-to-different-address, body.tcc-shop .woocommerce-shipping-fields h3 { font: 500 16px var(--s-body) !important; margin: 0 !important; }
body.tcc-shop .woocommerce form .form-row label { font: 500 14px var(--s-body) !important; color: var(--s-muted) !important; }
body.tcc-shop .woocommerce form .form-row .required { color: var(--s-lime) !important; text-decoration: none; }
body.tcc-shop #order_review dl.variation dd.variation-Edit, body.tcc-shop .woocommerce-checkout-review-order dd.variation-Edit { display: none !important; }
body.tcc-shop #order_review { padding: 8px 20px 20px !important; }
body.tcc-shop #order_review_heading { margin: 8px 0 12px !important; }
/* Coupon prompt and other notices in block themes */
body.tcc-shop .wc-block-components-notice-banner, body.tcc-shop .woocommerce-form-coupon-toggle .wc-block-components-notice-banner { background: var(--s-card) !important; color: var(--s-ink) !important; border: 1px solid var(--s-line-2) !important; border-left: 4px solid var(--s-lime) !important; }
body.tcc-shop .wc-block-components-notice-banner * { color: var(--s-ink) !important; }
body.tcc-shop .wc-block-components-notice-banner a { color: var(--s-sky) !important; }
body.tcc-shop .wc-block-components-notice-banner > svg { fill: var(--s-lime) !important; background: transparent !important; }
body.tcc-shop .wc-block-components-notice-banner.is-error { border-left-color: #FF8A75 !important; }
body.tcc-shop form.checkout_coupon { background: var(--s-card) !important; border: 1px solid var(--s-line) !important; border-radius: 16px !important; }

/* ===========================================================================
   Elementor Canvas pages (cart/checkout built in Elementor): light page and
   section backgrounds, and prices/totals coloured by the widget.
=========================================================================== */
html:has(body.tcc-shop), html body.tcc-shop.tcc-shop { background: var(--s-bg) !important; background-color: var(--s-bg) !important; }
html body.tcc-shop.tcc-shop :is(.elementor, .elementor-section, .elementor-container, .elementor-column, .elementor-widget-wrap, .e-con, .e-con-inner, .elementor-element:not(.elementor-widget-button)) { background-color: transparent !important; background-image: none !important; }

/* Every price and total in light text (struck-through old prices stay muted) */
html body.tcc-shop.tcc-shop .woocommerce :is(.woocommerce-Price-amount, .woocommerce-Price-amount bdi, .woocommerce-Price-currencySymbol, .amount, .product-price, .product-subtotal, .cart-subtotal td, .order-total td, .includes_tax, .woocommerce-shipping-totals td),
html body.tcc-shop.tcc-shop .woocommerce table.shop_table :is(td, th) .amount { color: var(--s-ink) !important; opacity: 1 !important; }
html body.tcc-shop.tcc-shop .woocommerce :is(del, del .amount, del bdi) { color: var(--s-muted) !important; }
html body.tcc-shop.tcc-shop .woocommerce .order-total .amount, html body.tcc-shop.tcc-shop .woocommerce .order-total strong { font: 500 24px var(--s-display) !important; }

/* Labels Elementor prints above values on narrow layouts ("Subtotal", "Shipment"…) */
html body.tcc-shop.tcc-shop .woocommerce table.shop_table td::before { color: var(--s-muted) !important; display: block; margin: 0 0 8px; float: none !important; }
html body.tcc-shop.tcc-shop .woocommerce .cart_totals tr.woocommerce-shipping-totals td::before { margin-bottom: 10px; }

/* Cassette details: readable lines instead of a squeezed two-column grid */
html body.tcc-shop.tcc-shop .woocommerce table.shop_table td.product-name { min-width: 240px; }
html body.tcc-shop.tcc-shop .woocommerce dl.variation { display: block !important; min-width: 220px; }
html body.tcc-shop.tcc-shop .woocommerce dl.variation dt { display: inline !important; margin: 0 4px 0 0 !important; }
html body.tcc-shop.tcc-shop .woocommerce dl.variation dd { display: inline !important; margin: 0 !important; }
html body.tcc-shop.tcc-shop .woocommerce dl.variation dd::after { content: "\A"; white-space: pre; }
html body.tcc-shop.tcc-shop .woocommerce dl.variation dd p { display: inline !important; }
html body.tcc-shop.tcc-shop .woocommerce dl.variation dd.variation-Edit { display: block !important; margin-top: 6px !important; }
html body.tcc-shop.tcc-shop .woocommerce dl.variation dd.variation-Edit::after { content: none; }
@media (max-width: 768px) { html body.tcc-shop.tcc-shop .woocommerce table.shop_table td.product-name { min-width: 0; } html body.tcc-shop.tcc-shop .woocommerce dl.variation { min-width: 0; } }
html body.tcc-shop.tcc-shop .woocommerce dl.variation dt.variation-Edit { display: none !important; }
html body.tcc-shop.tcc-shop :is(.wp-site-blocks, .site, #page, .site-content, #content, main, .elementor-location-single, .elementor-template-canvas) { background-color: transparent !important; }
