/**
 * Sheeel Global Design System — Override Layer
 * ---------------------------------------------------------------------------
 * Loaded LAST so these rules win over every other stylesheet.
 * All color values reference tokens from colors.css via var(--ds-*).
 * No hardcoded hex values — only semantic token references.
 *
 * See assets/css/colors.css for the full palette + dark mode definitions.
 */

/* ============================ BASE ============================ */
body {
    background: var(--ds-bg) !important;
    color: var(--ds-text) !important;
}

body.single-product {
    background: var(--ds-bg) !important;
}

body::before {
    background: var(--ds-gradient-dark) !important;
}

h1, h2, h3, h4 {
    color: var(--ds-primary) !important;
}

p, li, span, div {
    color: inherit;
}

a {
    color: var(--ds-link) !important;
    text-decoration: none;
}

a:hover {
    color: var(--ds-link-hover) !important;
}

/* Exclude buttons and nav elements from the blanket link color override */
a.category-back,
a.category-link,
a.btn,
a.btn-modern,
a.btn-primary-modern,
a.button,
a.back-home-btn,
a.add_to_cart_button,
.main-categories a,
.nav-back a,
.level1-replacement a,
.level2-replacement a {
    color: inherit !important;
}

a.category-back,
a.category-back:hover {
    color: #ffffff !important;
}

.main-categories a:hover,
.level1-replacement a:hover,
.level2-replacement a:hover,
.nav-back a:hover,
a.category-link:hover,
a.btn:hover,
a.btn-modern:hover,
a.btn-primary-modern:hover,
a.button:hover {
    color: #ffffff !important;
}

/* Breadcrumbs */
.breadcrumb-items a,
.breadcrumb-current,
.sheel-breadcrumbs a {
    color: var(--ds-link) !important;
}

.breadcrumb-current {
    color: var(--ds-text) !important;
}

/* ============================ FOOTER (dark) ============================ */
.site-footer,
#colophon.site-footer,
.footer {
    background: var(--ds-bg-dark) !important;
    color: var(--ds-text-on-dark) !important;
}

.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
.site-footer .widget-title,
.footer h1, .footer h2, .footer h3 {
    color: var(--ds-text-on-dark) !important;
}

.site-footer p, .site-footer li, .site-footer span, .site-footer div,
.footer p, .footer li, .footer span {
    color: var(--ds-text-on-dark) !important;
}

.site-footer a, .footer a {
    color: var(--ds-text-on-dark) !important;
}

.site-footer a:hover, .footer a:hover {
    color: var(--ds-text-on-primary) !important;
}

/* Service cards (trust badges) — dark background, need light text */
.service-card,
.service-card h3,
.service-card h4,
.service-card p,
.service-card span,
.service-card .icon-circle + h3,
.service-card .icon-circle + h4,
.service-card .icon-circle + p,
.service-card .icon-circle + span,
.trust-section,
.trust-section h3,
.trust-section p {
    color: var(--ds-text-on-dark) !important;
}

/* ============================ BUTTONS ============================ */
/* Primary CTA — Gold (Add to Cart / Checkout / main purchase) */
.single_add_to_cart_button,
.single_add_to_cart_button.button.alt,
.button,
.buy-button,
.woocommerce-button,
.woocommerce-button.button,
.checkout-button,
.cart .button,
.added_to_cart,
.product .button,
input[type="submit"].button,
button.button,
.btn-primary-modern,
.sheel-primary-btn {
    background: var(--ds-gold) !important;
    color: var(--ds-bg-dark) !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background 0.2s ease;
}

/* Add to Cart button in product cards — white text on colored bg */
li.product .add_to_cart_button,
.woocommerce ul.products li.product .add_to_cart_button,
.product-price-section .add_to_cart_button {
    color: #fff !important;
}

/* "View cart" button after adding to cart — white bg, black border, compact */
li.product .added_to_cart,
.woocommerce ul.products li.product .added_to_cart,
.product-price-section .added_to_cart {
    background: #fff !important;
    color: #1a1a1a !important;
    border: 1px solid #1a1a1a !important;
    border-radius: var(--ds-radius-sm) !important;
    padding: 5px 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    min-height: auto !important;
    box-shadow: none !important;
}

li.product .added_to_cart:hover,
.woocommerce ul.products li.product .added_to_cart:hover,
.product-price-section .added_to_cart:hover {
    background: var(--ds-primary) !important;
    color: #fff !important;
    border-color: var(--ds-primary) !important;
}

/* Back to Home button on no-products-found — white text on colored bg */
.no-products-found .back-home-btn,
.back-home-btn {
    color: #fff !important;
}

/* Main Deal "Buy Now" — plum bg, white text */
.btn-ribbon {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
}

.single_add_to_cart_button:hover,
.single_add_to_cart_button.button.alt:hover,
.button:hover,
.buy-button:hover,
.woocommerce-button:hover,
.checkout-button:hover,
.product .button:hover,
.btn-primary-modern:hover {
    background: var(--ds-gold-dark) !important;
    color: var(--ds-bg-dark) !important;
}

/* Secondary CTA — Coral ghost (wishlist / save / secondary) */
.wishlist,
.save-later,
.button.secondary,
.yith-wcwl-add-to-wishlist a,
.yith-wcwl-add-button a,
.btn-secondary-modern,
.sheel-secondary-btn,
.heart-btn {
    background: transparent !important;
    color: var(--ds-coral) !important;
    border: 1px solid var(--ds-coral) !important;
    border-radius: 10px !important;
}

/* Out of stock / disabled */
.single_add_to_cart_button.disabled,
.button.disabled,
button.disabled,
.out-of-stock,
.disabled {
    background: var(--ds-border) !important;
    color: var(--ds-primary-light) !important;
    border: none !important;
}

/* ============================ SALE / DISCOUNT BADGES ============================ */
.onsale,
.sale,
span.onsale,
.product .onsale,
.discount-badge,
.discount-badge-top,
.sale-badge,
.feature-badge.discount,
.price .sale,
.woocommerce span.onsale {
    background: var(--ds-coral) !important;
    color: var(--ds-text-on-primary) !important;
    border: none !important;
}

/* ============================ DISCOUNT INBOX / COUPONS ============================ */
.discount-inbox-item-desc {
    color: var(--ds-text) !important;
}

/* Main Deal header strip — white text on plum bg */
.main-deal-header-strip h1,
.main-deal-header-strip h2,
.main-deal-header-strip h3,
.main-deal-header-strip h4,
.main-deal-header-strip .header-strip-title,
.main-deal-header-strip .ramadan-badge,
.main-deal-header-strip span {
    color: var(--ds-text-on-primary) !important;
}

/* Express / featured informational badges — brand plum */
.express-badge,
.featured-badge,
.feature-badge,
.feature-badge.express {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
    border: none !important;
}

/* ============================ PRODUCT CARDS ============================ */
.product.type-product,
article.product,
.product-card,
li.product,
.related-products-section li.product,
.related.products li.product,
.woocommerce ul.products li.product {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 14px var(--ds-shadow-sm) !important;
    overflow: hidden;
}

.product.type-product:hover,
article.product:hover,
.product-card:hover,
li.product:hover {
    border-color: var(--ds-primary) !important;
    box-shadow: 0 8px 28px var(--ds-shadow-lg) !important;
}

/* ============================ HEADER ============================ */
.site-header,
header#masthead,
.page-header {
    background: var(--ds-bg-card) !important;
    border-bottom: 1px solid var(--ds-border) !important;
}

.site-header .header-main-content,
.site-header .header-content,
.site-header .header-main {
    background: var(--ds-bg-card) !important;
}

.site-title a,
.logo a,
.site-header .logo,
.site-branding a {
    color: var(--ds-primary) !important;
}

/* Header menu / category links */
.site-header a,
.header-main-content a,
.navigation-items a,
.header-actions a {
    color: var(--ds-text) !important;
}

.site-header a:hover,
.header-main-content a:hover,
.navigation-items a:hover {
    color: var(--ds-primary) !important;
}

/* Cart / icon accents */
.cart-icon-wrapper svg,
.header-actions svg {
    color: var(--ds-primary) !important;
}

.cart-count.counter-label,
.cart-count {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
}

/* Language switcher */
.language-switcher-dropdown .language-switcher-toggle,
.language-switcher-dropdown .language-switcher-toggle:hover {
    color: #1a1a1a !important;
    background: #e8e0f0 !important;
    border-color: #4D3F76 !important;
}

.language-switcher-dropdown .language-switcher-toggle .current-flag,
.language-switcher-dropdown .language-switcher-toggle .current-lang,
.language-switcher-dropdown .language-switcher-toggle .dropdown-arrow {
    color: #1a1a1a !important;
}

.language-switcher-menu a,
.lang-item a,
.language-switcher a {
    color: var(--ds-primary-light) !important;
}

.language-switcher-menu a:hover,
.lang-item a:hover {
    color: var(--ds-primary) !important;
}

/* ============================ CATEGORY BAR + SUBMENU ============================ */
.nav-sections.navigation,
nav.main-categories,
.navigation-title {
    background: var(--ds-bg-card) !important;
    border-bottom: 1px solid var(--ds-border) !important;
}

.level0.top-lvl,
.top-lvl,
.category-link,
.category-name a,
.navigation-items > li > a {
    color: var(--ds-text) !important;
}

.top-lvl:hover > a,
.top-lvl.is-active > a,
.top-lvl.current > a,
.level0.top-lvl:hover > a,
.top-lvl:hover > .category-link,
.top-lvl.is-active > .category-link,
.top-lvl.current > .category-link,
.level0.top-lvl.active-category > .category-link,
.level0.top-lvl.current-menu-item > .category-link,
nav.main-categories .level0.top-lvl.active-category > a.category-link,
nav.main-categories .level0.top-lvl.current-menu-item > a.category-link {
    color: var(--ds-text-on-primary) !important;
    background: var(--ds-primary) !important;
}

.top-lvl > a:hover,
.category-link:hover,
.category-name a:hover {
    color: var(--ds-primary) !important;
}

/* Sub-category dropdowns */
.submenu.level1,
.submenu.level2,
.submenu {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 30px var(--ds-shadow-lg) !important;
}

.submenu.level1 a,
.submenu.level2 a,
.submenu a {
    color: var(--ds-text) !important;
}

.submenu.level1 a:hover,
.submenu.level2 a:hover,
.submenu a:hover {
    color: var(--ds-primary) !important;
    background: rgba(77, 63, 118, 0.06) !important;
}

/* ============================ FORM FIELDS ============================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
.input-text,
.select2-container--default .select2-selection {
    border: 1px solid var(--ds-border) !important;
    border-radius: 10px !important;
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
}

input:focus,
.input-text:focus,
textarea:focus,
select:focus {
    border-color: var(--ds-border-focus) !important;
    box-shadow: 0 0 0 3px var(--ds-shadow-focus) !important;
    outline: none !important;
}

/* ============================ MINI-CART + LOGIN POPUPS ============================ */
/* Force white surfaces + lilac borders so no plugin can reintroduce beige. */
.block-minicart,
.mini-login-container,
.mini-login-content,
.login-modern,
.login-dropdown,
.login-dropdown-container .mini-login-container,
.widget_shopping_cart,
.widget_shopping_cart_content,
.woocommerce-mini-cart,
.woocommerce-mini-cart__total,
.woocommerce-mini-cart__buttons,
.mini-cart-header,
.cart-dropdown,
.header-cart-dropdown {
    background: var(--ds-bg-card) !important;
    border-color: var(--ds-border) !important;
}

.block-minicart {
    border: 1px solid var(--ds-border) !important;
}

.mini-login-container {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border) !important;
    box-shadow: 0 12px 30px var(--ds-shadow-lg) !important;
}

.mini-login-container::before {
    border-bottom-color: var(--ds-bg-card) !important;
}

.login-modern {
    background: var(--ds-bg-card) !important;
}

/* Popup accents -> brand plum */
.mini-cart-count,
.cart-count {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
}

.woocommerce-mini-cart__total .amount,
.minicart-item-details .product-name a:hover,
.product-name a:hover {
    color: var(--ds-primary) !important;
}

.woocommerce-mini-cart__buttons a.checkout {
    background: linear-gradient(135deg, var(--ds-primary) 0%, var(--ds-primary-dark) 100%) !important;
    color: #fff !important;
}

.woocommerce-mini-cart__buttons a.checkout:hover,
.woocommerce-mini-cart__buttons a.checkout:focus,
.woocommerce-mini-cart__buttons a.checkout:active {
    color: #fff !important;
}

.woocommerce-mini-cart__buttons a.cart {
    background: var(--ds-bg) !important;
    color: var(--ds-text) !important;
    border: 1px solid var(--ds-border) !important;
}

/* Search submit button (بحث) -> brand plum */
.search-submit,
.btn-search,
.block-search button,
.block-search input[type="submit"],
.site-search .button,
.header-search .button,
.search-btn {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
    border: none !important;
}

/* Search wrapper — pure white, no beige */
.search-wrapper,
.search-form,
.search-field-wrapper {
    background: var(--ds-bg-card) !important;
    border-color: var(--ds-border) !important;
}

/* Header icon buttons — white, no beige */
.cart-icon,
.authorization-link,
.login-link,
.minicart-wrapper .cart-icon,
.header-actions .cart-icon,
.header-actions .authorization-link,
.header-actions-top .cart-icon,
.header-actions-top .authorization-link {
    background: var(--ds-bg-card) !important;
    color: var(--ds-primary) !important;
    border: none !important;
}

.cart-icon:hover,
.authorization-link:hover,
.login-link:hover {
    background: rgba(77, 63, 118, 0.06) !important;
    color: var(--ds-primary) !important;
}

/* Header + category bar — white, no beige */
.site-header,
.page-header,
.header-wrapper,
.header.content,
.nav-sections.navigation,
.main-categories {
    background: var(--ds-bg-card) !important;
}

/* ============================ DARK MODE OVERRIDES ============================ */
/* In dark mode: page body goes dark, but header/cards/nav stay light. */
[data-theme="dark"] body {
    background: var(--ds-bg) !important;
    color: var(--ds-text-on-dark) !important;
}

/* Header stays light with dark text */
[data-theme="dark"] .site-header,
[data-theme="dark"] header#masthead,
[data-theme="dark"] .page-header,
[data-theme="dark"] .site-header .header-main-content,
[data-theme="dark"] .site-header .header-content,
[data-theme="dark"] .site-header .header-main {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border-bottom-color: var(--ds-border) !important;
}

[data-theme="dark"] .site-header a,
[data-theme="dark"] .header-main-content a,
[data-theme="dark"] .navigation-items a,
[data-theme="dark"] .header-actions a {
    color: var(--ds-text) !important;
}

[data-theme="dark"] .site-header a:hover,
[data-theme="dark"] .header-main-content a:hover,
[data-theme="dark"] .navigation-items a:hover {
    color: var(--ds-primary) !important;
}

[data-theme="dark"] .cart-icon-wrapper svg,
[data-theme="dark"] .header-actions svg {
    color: var(--ds-primary) !important;
}

[data-theme="dark"] .cart-icon,
[data-theme="dark"] .authorization-link,
[data-theme="dark"] .login-link {
    background: var(--ds-bg-card) !important;
    color: var(--ds-primary) !important;
}

/* Category bar stays light */
[data-theme="dark"] .nav-sections.navigation,
[data-theme="dark"] nav.main-categories,
[data-theme="dark"] .navigation-title {
    background: var(--ds-bg-card) !important;
    border-bottom-color: var(--ds-border) !important;
}

[data-theme="dark"] .level0.top-lvl,
[data-theme="dark"] .top-lvl,
[data-theme="dark"] .category-link,
[data-theme="dark"] .category-name a,
[data-theme="dark"] .navigation-items > li > a {
    color: var(--ds-text) !important;
}

/* Product cards stay light */
[data-theme="dark"] .product.type-product,
[data-theme="dark"] article.product,
[data-theme="dark"] .product-card,
[data-theme="dark"] li.product,
[data-theme="dark"] .woocommerce ul.products li.product {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-border) !important;
}

/* Search wrapper stays light */
[data-theme="dark"] .search-wrapper,
[data-theme="dark"] .search-form,
[data-theme="dark"] .search-field-wrapper {
    background: var(--ds-bg-card) !important;
    border-color: var(--ds-border) !important;
}

[data-theme="dark"] .search-field {
    color: var(--ds-text) !important;
}

[data-theme="dark"] .search-field::placeholder {
    color: var(--ds-text-muted) !important;
}

/* Mini-cart / login popups stay light */
[data-theme="dark"] .block-minicart,
[data-theme="dark"] .mini-login-container,
[data-theme="dark"] .mini-login-content,
[data-theme="dark"] .login-modern,
[data-theme="dark"] .login-dropdown,
[data-theme="dark"] .widget_shopping_cart,
[data-theme="dark"] .widget_shopping_cart_content,
[data-theme="dark"] .woocommerce-mini-cart,
[data-theme="dark"] .woocommerce-mini-cart__total,
[data-theme="dark"] .woocommerce-mini-cart__buttons,
[data-theme="dark"] .mini-cart-header {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-border) !important;
}

/* Form fields stay light */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] textarea,
[data-theme="dark"] .input-text {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-border) !important;
}

/* Footer stays dark (already --ds-bg-dark) */
[data-theme="dark"] .site-footer,
[data-theme="dark"] #colophon.site-footer,
[data-theme="dark"] .footer {
    background: var(--ds-bg-dark) !important;
    color: var(--ds-text-on-dark) !important;
}

/* ============================ WOOCOMMERCE BLOCK CART ============================ */
/* The cart page uses WooCommerce Blocks (not classic cart template).
   Theme selectors like .woocommerce-cart table.shop_table do NOT apply.
   We target the block-specific classes below. */

/* ---- Reset WC defaults: remove heavy borders/tables ---- */
body.woocommerce-cart table.wc-block-cart-items,
body.woocommerce-cart table.wc-block-cart-items td,
body.woocommerce-cart table.wc-block-cart-items th {
    background: none !important;
    border: 0 !important;
    margin: 0 !important;
}

/* Override WC Blocks built-in border on order summary */
body.woocommerce-cart .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    border-bottom: none !important;
}

/* Override WC Blocks built-in border on cart rows */
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
    border-bottom: none !important;
}

/* Main cart container — transparent, no border */
body.woocommerce-cart .wp-block-woocommerce-cart {
    background: transparent !important;
    border: none !important;
}

/* Cart items area — clean card, NO border, NO shadow outline */
body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-cart-line-items-block,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block .wp-block-woocommerce-cart-items-block,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block .wp-block-woocommerce-cart-line-items-block {
    background: var(--ds-bg-card) !important;
    border: none !important;
    border-radius: var(--ds-radius-lg) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ---- Product name ---- */
body.woocommerce-cart .wc-block-components-product-name {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

body.woocommerce-cart .wc-block-components-product-name a {
    color: var(--ds-text) !important;
}

body.woocommerce-cart .wc-block-components-product-name a:hover {
    color: var(--ds-primary) !important;
}

/* ---- Product metadata / description (the light text problem) ---- */
body.woocommerce-cart .wc-block-components-product-metadata {
    color: var(--ds-text-muted) !important;
    font-size: 13px !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-components-product-metadata__description > p {
    display: none !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__variation-data {
    color: var(--ds-text-muted) !important;
}

/* ---- Product price — brand plum ---- */
body.woocommerce-cart .wc-block-components-product-price,
body.woocommerce-cart .wc-block-components-product-price .wc-block-components-formatted-money-amount {
    color: var(--ds-primary) !important;
    font-weight: 700 !important;
}

/* Sale badge */
body.woocommerce-cart .wc-block-components-sale-badge {
    background: var(--ds-coral) !important;
    color: var(--ds-text-on-primary) !important;
    border: none !important;
    font-size: 0.75em !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
}

/* ---- Quantity selector — clean compact design ---- */
body.woocommerce-cart .wc-block-components-quantity-selector {
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
    overflow: hidden !important;
    background: var(--ds-bg-card) !important;
    width: 110px !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button {
    background: var(--ds-bg-muted) !important;
    color: var(--ds-primary) !important;
    border: none !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button:active {
    transform: scale(0.92) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button--minus {
    border-radius: var(--ds-radius-sm) 0 0 var(--ds-radius-sm) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector__button--plus {
    border-radius: 0 var(--ds-radius-sm) var(--ds-radius-sm) 0 !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: none !important;
    border-inline: 1px solid var(--ds-border-light) !important;
    text-align: center !important;
}

/* ---- Remove / delete button ---- */
body.woocommerce-cart .wc-block-cart-item__remove-link,
body.woocommerce-cart .wc-block-components-product-remove .wc-block-components-button,
body.woocommerce-cart button.components-button[aria-label*="Remove"],
body.woocommerce-cart a.remove {
    color: var(--ds-text-light) !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover,
body.woocommerce-cart .wc-block-components-product-remove .wc-block-components-button:hover,
body.woocommerce-cart button.components-button[aria-label*="Remove"]:hover,
body.woocommerce-cart a.remove:hover {
    color: var(--ds-coral) !important;
}

/* ---- Table header row ---- */
body.woocommerce-cart .wc-block-cart-items__header {
    color: var(--ds-text-muted) !important;
    border-bottom: 1px solid var(--ds-border-light) !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
}

body.woocommerce-cart .wc-block-cart-items__header th {
    font-weight: 600 !important;
}

/* ---- Cart item rows — subtle separator only ---- */
body.woocommerce-cart .wc-block-cart-items__row {
    border-bottom: 1px solid var(--ds-gray-200) !important;
}

body.woocommerce-cart .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

/* Cart item total price */
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
}

/* ---- Order summary / sidebar — NO border, NO shadow ---- */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block .wp-block-woocommerce-cart-totals-block,
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block .wp-block-woocommerce-cart-order-summary-block {
    background: var(--ds-bg-card) !important;
    border: none !important;
    border-bottom: none !important;
    border-radius: var(--ds-radius-lg) !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 24px !important;
}

/* Totals heading */
body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block {
    color: var(--ds-text) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

/* ---- Totals labels — DARK text, NOT light ---- */
body.woocommerce-cart .wc-block-components-totals-item__label {
    color: var(--ds-text) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* Totals value */
body.woocommerce-cart .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}

/* Subtotal / Total row — subtle top separator */
body.woocommerce-cart .wc-block-cart-order-summary-totals-block .wc-block-components-totals-item {
    border-top: 1px solid var(--ds-gray-200) !important;
    padding-top: 12px !important;
    margin-top: 8px !important;
}

/* Footer total — big & bold */
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: var(--ds-text) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--ds-primary) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

/* Discount value — green */
body.woocommerce-cart .wc-block-components-totals-discount .wc-block-components-totals-item__value {
    color: var(--ds-success) !important;
}

/* ---- Coupon form ---- */
body.woocommerce-cart .wc-block-components-panel__button {
    color: var(--ds-text) !important;
    font-weight: 600;
}
body.woocommerce-cart .wc-block-components-totals-coupon__input {
    border: 1px solid var(--ds-border-input) !important;
    border-radius: var(--ds-radius-sm) !important;
    padding: 10px 14px !important;
    color: var(--ds-text) !important;
    background: var(--ds-bg-card) !important;
    font-size: 14px !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input::placeholder {
    color: var(--ds-text-light) !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input:focus {
    border-color: var(--ds-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(77, 63, 118, 0.12) !important;
    outline: none !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon__input-button {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
    border: none !important;
    border-radius: var(--ds-radius-sm) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* ---- Proceed to Checkout — DARK solid button ---- */
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block {
    margin-top: 16px !important;
}

body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .wc-block-components-checkout-place-order-button,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
    border: 2px solid var(--ds-primary) !important;
    border-radius: var(--ds-radius-md) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 12px 24px !important;
    min-height: 44px !important;
    box-shadow: 0 2px 8px var(--ds-shadow-sm) !important;
    transition: all 0.25s ease !important;
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
}

body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-cart .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover,
body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
    background: var(--ds-primary-dark) !important;
    border-color: var(--ds-primary-dark) !important;
    box-shadow: 0 6px 20px var(--ds-shadow-lg) !important;
    transform: translateY(-1px) !important;
    color: var(--ds-text-on-primary) !important;
}

body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-checkout-place-order-button:active,
body.woocommerce-cart .wc-block-components-checkout-place-order-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px var(--ds-shadow) !important;
}

/* ---- Express payment area ---- */
body.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block {
    background: var(--ds-bg-card) !important;
    border: none !important;
    border-radius: var(--ds-radius-md) !important;
    padding: 16px !important;
    box-shadow: 0 2px 10px var(--ds-shadow-sm) !important;
}

/* ---- Cart notices ---- */
body.woocommerce-cart .wc-block-components-notice-banner {
    background: rgba(77, 63, 118, 0.08) !important;
    border-inline-start: 4px solid var(--ds-primary) !important;
    border-radius: 8px !important;
    color: var(--ds-text) !important;
}

body.woocommerce-cart .wc-block-components-notice-banner.is-error {
    background: rgba(226, 123, 123, 0.1) !important;
    border-inline-start-color: var(--ds-coral) !important;
}

body.woocommerce-cart .wc-block-components-notice-banner.is-success {
    background: rgba(0, 208, 132, 0.1) !important;
    border-inline-start-color: var(--ds-success) !important;
}

/* ---- Classic empty cart ---- */
body.woocommerce-cart div.woocommerce:has(.wc-empty-cart-message) {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

body.woocommerce-cart .wc-empty-cart-message {
    text-align: center !important;
    padding: 80px 20px 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

body.woocommerce-cart .wc-empty-cart-message .woocommerce-info {
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
}

body.woocommerce-cart .wc-empty-cart-message .woocommerce-info::before {
    display: none !important;
}

body.woocommerce-cart .wc-empty-cart-message p {
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-cart .cart-empty.woocommerce-info {
    background: transparent !important;
    border: none !important;
    color: var(--ds-text) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-cart .return-to-shop {
    text-align: center !important;
    margin-top: 24px !important;
}

body.woocommerce-cart .return-to-shop a {
    background: var(--ds-primary) !important;
    color: #fff !important;
    padding: 12px 32px !important;
    border-radius: var(--ds-radius-md) !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
}

body.woocommerce-cart .return-to-shop a:hover {
    background: var(--ds-primary-dark) !important;
    color: #fff !important;
}

/* ---- RTL adjustments ---- */
[dir="rtl"] body.woocommerce-cart .wc-block-components-quantity-selector__button--minus {
    border-radius: 0 var(--ds-radius-sm) var(--ds-radius-sm) 0 !important;
}

[dir="rtl"] body.woocommerce-cart .wc-block-components-quantity-selector__button--plus {
    border-radius: var(--ds-radius-sm) 0 0 var(--ds-radius-sm) !important;
}

/* ---- Mobile responsive ---- */
@media (max-width: 768px) {
    body.woocommerce-cart .wp-block-woocommerce-cart-items-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-line-items-block,
    body.woocommerce-cart .wp-block-woocommerce-filled-cart-block .wp-block-woocommerce-cart-items-block {
        border-radius: var(--ds-radius-md) !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block,
    body.woocommerce-cart .wp-block-woocommerce-filled-cart-block .wp-block-woocommerce-cart-totals-block {
        border-radius: var(--ds-radius-md) !important;
        padding: 16px !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart .wc-block-components-checkout-place-order-button,
    body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-checkout-place-order-button,
    body.woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a {
        font-size: 14px !important;
        padding: 10px 20px !important;
        min-height: 40px !important;
    }

    body.woocommerce-cart .wc-block-components-quantity-selector {
        width: 100px !important;
    }
}

/* ---- Sticky checkout bar (mobile) ---- */
body.woocommerce-cart .wc-block-cart__submit-container--sticky {
    background: var(--ds-bg-card) !important;
    border: none !important;
    box-shadow: 0 -2px 10px var(--ds-shadow-xs) !important;
}

/* ============================ WOOCOMMERCE BLOCK CHECKOUT ============================ */
/* The checkout page uses WooCommerce Blocks (not classic checkout template).
   We target the block-specific classes below. */

/* ---- Main checkout container — NO border, NO shadow ---- */
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
    background: transparent !important;
    border: none !important;
}

/* Override WC Blocks checkout order summary border */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    border: none !important;
    border-radius: var(--ds-radius-lg) !important;
    background: var(--ds-bg-card) !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Checkout fields steps — clean, no borders */
body.woocommerce-checkout .wc-block-components-form .wc-block-components-checkout-step {
    background: none !important;
    border: none !important;
    margin-bottom: 24px !important;
}

/* ---- Global dark text fix — catch ALL light text on checkout ---- */
body.woocommerce-checkout,
body.woocommerce-checkout *,
body.woocommerce-checkout *::before,
body.woocommerce-checkout *::after {
    color: var(--ds-text) !important;
}

/* Exceptions: elements that SHOULD have special colors */
body.woocommerce-checkout a,
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
    color: var(--ds-primary) !important;
}

body.woocommerce-checkout a:hover {
    color: var(--ds-primary-dark) !important;
}

/* Coupon badge — dark bg needs white text */
body.woocommerce-checkout .discount-inbox-item-coupon {
    color: #fff !important;
}

/* Footer must stay white/light on dark background even on checkout */
body.woocommerce-checkout .site-footer,
body.woocommerce-checkout .site-footer *,
body.woocommerce-checkout .site-footer *::before,
body.woocommerce-checkout .site-footer *::after,
body.woocommerce-checkout .footer,
body.woocommerce-checkout .footer *,
body.woocommerce-checkout .footer *::before,
body.woocommerce-checkout .footer *::after {
    color: #fff !important;
}

body.woocommerce-checkout .footer a,
body.woocommerce-checkout .site-footer a,
body.woocommerce-checkout .footer-section a,
body.woocommerce-checkout .footer-section ul li a {
    color: var(--ds-text-on-dark, #fff) !important;
}

body.woocommerce-checkout .footer a:hover,
body.woocommerce-checkout .site-footer a:hover,
body.woocommerce-checkout .footer-section a:hover {
    color: var(--color-brand-gold, #F6CD29) !important;
}

/* Dark-background elements get WHITE text — override the blanket * rule */
body.woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wc-block-components-button *,
body.woocommerce-checkout .wc-block-components-button *::before,
body.woocommerce-checkout .wc-block-components-button *::after,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button *,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button *::before,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button *::after,
body.woocommerce-checkout .wc-block-components-totals-coupon__input-button,
body.woocommerce-checkout .wc-block-components-totals-coupon__input-button *,
body.woocommerce-checkout button,
body.woocommerce-checkout button *,
body.woocommerce-checkout button *::before,
body.woocommerce-checkout button *::after,
body.woocommerce-checkout input[type="submit"],
body.woocommerce-checkout input[type="submit"] *,
body.woocommerce-checkout input[type="submit"] *::before,
body.woocommerce-checkout input[type="submit"] *::after {
    color: var(--ds-text-on-primary) !important;
}

/* Background colors stay dark — make sure buttons are plum */
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background: var(--ds-primary) !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__input-button {
    background: var(--ds-primary) !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-discount .wc-block-components-totals-item__value {
    color: var(--ds-primary) !important;
}

body.woocommerce-checkout .wc-block-components-totals-discount .wc-block-components-totals-item__value {
    color: var(--ds-success) !important;
}

/* Placeholder text stays lighter */
body.woocommerce-checkout ::placeholder {
    color: var(--ds-text-light) !important;
}

/* ---- HIDE product descriptions in checkout order summary (keep titles) ---- */
body.woocommerce-checkout .wc-block-components-product-metadata__description > p {
    display: none !important;
}

body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description p {
    display: none !important;
}

/* ---- Text inputs — clean style ---- */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-country-input select,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
    border: 1px solid var(--ds-border-input) !important;
    border-radius: var(--ds-radius-sm) !important;
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    font-size: 16px !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input textarea:focus,
body.woocommerce-checkout .wc-block-components-country-input select:focus,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
    border-color: var(--ds-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(77, 63, 118, 0.12) !important;
    outline: none !important;
}

/* Floating labels — dark text */
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
    color: var(--ds-text-muted) !important;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus + label,
body.woocommerce-checkout .wc-block-components-text-input.is-active label {
    color: var(--ds-primary) !important;
}

/* ---- Address card — NO border ---- */
body.woocommerce-checkout .wc-block-components-address-card {
    border: none !important;
    border-radius: var(--ds-radius-md) !important;
    background: var(--ds-bg-card) !important;
    box-shadow: none !important;
    padding: 12px !important;
}

/* ---- Checkout step container ---- */
body.woocommerce-checkout .wc-block-components-checkout-step__container {
    border: none !important;
}

/* ---- Step description — dark text ---- */
body.woocommerce-checkout .wc-block-components-checkout-step__description {
    color: var(--ds-text) !important;
    font-size: 14px !important;
}

/* ---- Radio controls — payment & shipping ---- */
body.woocommerce-checkout .wc-block-components-radio-control__option {
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
    padding: 14px 16px 14px 52px !important;
    margin-bottom: 8px !important;
    background: var(--ds-bg-card) !important;
}

/* Radio circle — style it */
body.woocommerce-checkout .wc-block-components-radio-control__input {
    border-color: var(--ds-border) !important;
    width: 22px !important;
    height: 22px !important;
    left: 16px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__input:checked {
    border-color: var(--ds-primary) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before {
    background: var(--ds-primary) !important;
    width: 10px !important;
    height: 10px !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option:hover {
    border-color: var(--ds-primary) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option.selected {
    border-color: var(--ds-primary) !important;
    background: rgba(77, 63, 118, 0.04) !important;
}

/* Radio labels — dark text */
body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
body.woocommerce-checkout .wc-block-components-radio-control__secondary-description {
    color: var(--ds-text) !important;
}

/* Payment method accordion */
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
    margin-bottom: 8px !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:first-child {
    border-top-left-radius: var(--ds-radius-sm) !important;
    border-top-right-radius: var(--ds-radius-sm) !important;
}

body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:last-child {
    border-bottom-left-radius: var(--ds-radius-sm) !important;
    border-bottom-right-radius: var(--ds-radius-sm) !important;
}

/* ---- Checkbox ---- */
body.woocommerce-checkout .wc-block-components-checkbox label {
    color: var(--ds-text) !important;
}

/* ---- Guest checkout notice — dark text ---- */
body.woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
    color: var(--ds-text) !important;
    font-size: 14px !important;
}

/* ---- Terms & conditions — dark text ---- */
body.woocommerce-checkout .wc-block-checkout__terms {
    color: var(--ds-text) !important;
    font-size: 14px !important;
}

body.woocommerce-checkout .wc-block-checkout__terms a {
    color: var(--ds-primary) !important;
    text-decoration: underline !important;
}

body.woocommerce-checkout .wc-block-checkout__terms--with-separator {
    border-top: 1px solid var(--ds-gray-200) !important;
    padding-top: 16px !important;
}

/* ---- Sidebar / Order summary ---- */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
    background: var(--ds-bg-card) !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: var(--ds-radius-lg) !important;
}

/* Sidebar panel titles */
body.woocommerce-checkout .wc-block-components-panel > h2 {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
    border: none !important;
}

/* ---- Totals labels — DARK text ---- */
body.woocommerce-checkout .wc-block-components-totals-item__label {
    color: var(--ds-text) !important;
    font-weight: 500 !important;
}

body.woocommerce-checkout .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-item .wc-block-components-formatted-money-amount {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
}

/* Footer total — big & bold */
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    color: var(--ds-text) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--ds-primary) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
}

/* Subtotal/total separator */
body.woocommerce-checkout .wc-block-components-totals-wrapper {
    border-top: 1px solid var(--ds-gray-200) !important;
}

/* ---- Coupon form ---- */
body.woocommerce-checkout .wc-block-components-totals-coupon__input {
    border: 1px solid var(--ds-border-input) !important;
    border-radius: var(--ds-radius-sm) !important;
    padding: 10px 14px !important;
    color: var(--ds-text) !important;
    background: var(--ds-bg-card) !important;
    font-size: 14px !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__input:focus {
    border-color: var(--ds-border-focus) !important;
    box-shadow: 0 0 0 3px rgba(77, 63, 118, 0.12) !important;
    outline: none !important;
}

body.woocommerce-checkout .wc-block-components-totals-coupon__input-button {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
    border: none !important;
    border-radius: var(--ds-radius-sm) !important;
    font-weight: 700 !important;
}

/* ---- Place Order button — small, inline with Return to Cart ---- */
body.woocommerce-checkout .wc-block-checkout__actions {
    display: flex !important;
    flex-direction: row-reverse !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 16px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    background: var(--ds-primary) !important;
    color: var(--ds-text-on-primary) !important;
    border: none !important;
    border-radius: var(--ds-radius-sm) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 10px 24px !important;
    min-height: 40px !important;
    width: auto !important;
    box-shadow: 0 2px 8px var(--ds-shadow-sm) !important;
    transition: all 0.25s ease !important;
    text-align: center !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    background: var(--ds-primary-dark) !important;
    box-shadow: 0 4px 14px var(--ds-shadow-md) !important;
    transform: translateY(-1px) !important;
    color: var(--ds-text-on-primary) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 4px var(--ds-shadow) !important;
}

/* ---- Return to cart link — dark text ---- */
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
    color: var(--ds-text-muted) !important;
    font-size: 14px !important;
}

body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
    color: var(--ds-primary) !important;
}

/* ---- Express payment area ---- */
body.woocommerce-checkout .wp-block-woocommerce-checkout-express-payment-block {
    background: var(--ds-bg-card) !important;
    border: none !important;
    border-radius: var(--ds-radius-md) !important;
    padding: 16px !important;
}

/* ---- Cart items in order summary — no top border ---- */
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-cart-items-block {
    border-top: none !important;
}

/* ---- Cart notices ---- */
body.woocommerce-checkout .wc-block-components-notice-banner {
    background: rgba(77, 63, 118, 0.08) !important;
    border: 1px solid var(--ds-border) !important;
    border-inline-start: 4px solid var(--ds-primary) !important;
    border-radius: 8px !important;
    color: var(--ds-text) !important;
}

body.woocommerce-checkout .wc-block-components-notice-banner.is-error {
    background: rgba(226, 123, 123, 0.1) !important;
    border-color: rgba(226, 123, 123, 0.3) !important;
    border-inline-start-color: var(--ds-coral) !important;
}

body.woocommerce-checkout .wc-block-components-notice-banner.is-success {
    background: rgba(0, 208, 132, 0.1) !important;
    border-color: rgba(0, 208, 132, 0.3) !important;
    border-inline-start-color: var(--ds-success) !important;
}

/* ---- Checkout form labels — dark text ---- */
body.woocommerce-checkout .wc-block-components-checkout-step label {
    color: var(--ds-text) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

/* ---- Shipping rates ---- */
body.woocommerce-checkout .wc-block-components-totals-shipping__options .wc-block-components-radio-control__option {
    border: 1px solid var(--ds-border-light) !important;
}

/* ---- RTL adjustments ---- */
[dir="rtl"] body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button svg {
    transform: translateY(-50%) scaleX(-1) !important;
}

/* ---- Mobile responsive ---- */
@media (max-width: 768px) {
    body.woocommerce-checkout .col2-set {
        flex-direction: column !important;
    }

    body.woocommerce-checkout .col2-set .col-1,
    body.woocommerce-checkout .col2-set .col-2 {
        order: unset !important;
    }

    body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
        border-radius: var(--ds-radius-md) !important;
    }

    body.woocommerce-checkout .wc-block-checkout__actions {
        flex-direction: column !important;
        gap: 12px !important;
    }

    body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
        font-size: 14px !important;
        padding: 10px 20px !important;
        min-height: 38px !important;
        width: 100% !important;
    }
}

/* ============================ CLASSIC WOOCOMMERCE CART ============================ */
/* Override the cream/beige bg from sheel-premium-bundle.css on classic cart/checkout */

body.woocommerce-cart .page-content,
body.woocommerce-cart .woocommerce {
    background: transparent !important;
}

body.woocommerce-cart table.shop_table,
body.woocommerce-cart table.shop_table thead {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
}

body.woocommerce-cart table.shop_table th {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    font-weight: 700 !important;
    text-transform: none !important;
    font-size: 14px !important;
    border-bottom: 2px solid var(--ds-border-light) !important;
}

body.woocommerce-cart table.shop_table td {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border-bottom: 1px solid var(--ds-border-light) !important;
    vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table tbody tr:hover td {
    background: var(--ds-bg-muted) !important;
}

body.woocommerce-cart table.shop_table td.product-name a {
    color: var(--ds-text) !important;
    font-weight: 600 !important;
}

body.woocommerce-cart table.shop_table td.product-name a:hover {
    color: var(--ds-primary) !important;
}

body.woocommerce-cart table.shop_table td.product-price,
body.woocommerce-cart table.shop_table td.product-subtotal {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
}

body.woocommerce-cart table.shop_table td.product-remove a.remove {
    color: var(--ds-text-light) !important;
    font-size: 18px !important;
}

body.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    color: var(--ds-coral, #E27B7B) !important;
}

body.woocommerce-cart table.shop_table td.product-quantity .qty {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
    font-weight: 600 !important;
    text-align: center !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    background: var(--ds-bg-card) !important;
    border: 1px solid rgba(217, 217, 217, 0.9) !important;
    border-radius: var(--ds-radius-lg) !important;
    box-shadow: 0 2px 14px var(--ds-shadow) !important;
    padding: 24px !important;
}

/* Cart page: cart items table + cart totals side by side (half / half) */
body.woocommerce-cart div.woocommerce {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 32px !important;
}

body.woocommerce-cart div.woocommerce > .woocommerce-notices-wrapper {
    flex: 0 0 100% !important;
}

body.woocommerce-cart form.woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

body.woocommerce-cart form.woocommerce-cart-form {
    max-width: calc(50% - 16px) !important;
}

body.woocommerce-cart .cart-collaterals {
    max-width: calc(50% - 16px) !important;
}

body.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
}

@media (max-width: 900px) {
    body.woocommerce-cart form.woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals {
        flex-basis: 100% !important;
        max-width: 100% !important;
    }
}

body.woocommerce-cart .cart_totals h2 {
    display: none !important;
    color: var(--ds-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--ds-border-light) !important;
}

body.woocommerce-cart .cart_totals table {
    background: transparent !important;
    border-collapse: collapse !important;
}

body.woocommerce-cart .cart_totals table th,
body.woocommerce-cart .cart_totals table td {
    background: transparent !important;
    border: none !important;
    padding: 10px 12px !important;
}

body.woocommerce-cart .cart_totals table tr {
    border-bottom: none !important;
}

body.woocommerce-cart .cart_totals table th {
    color: var(--ds-text-muted) !important;
    font-weight: 500 !important;
}

body.woocommerce-cart .cart_totals table td {
    color: var(--ds-text) !important;
    font-weight: 600 !important;
    text-align: start !important;
}

body.woocommerce-cart .cart_totals table td strong {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: var(--ds-primary) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: var(--ds-radius-md) !important;
    padding: 12px 24px !important;
    text-align: center !important;
    display: inline-block !important;
    width: auto !important;
    max-width: 80% !important;
    margin: 16px auto 0 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-proceed-to-checkout {
    text-align: center !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--ds-primary-dark) !important;
    color: #fff !important;
}

body.woocommerce-cart .coupon input.input-text {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
}

body.woocommerce-cart .coupon .button {
    background: var(--ds-primary) !important;
    color: #fff !important;
    border-radius: var(--ds-radius-sm) !important;
}

body.woocommerce-cart .actions .button {
    background: var(--ds-primary) !important;
    color: #fff !important;
    border-radius: var(--ds-radius-sm) !important;
}

/* Hide "Update cart" button — auto-update handles it via JS */
body.woocommerce-cart .actions button[name="update_cart"],
body.woocommerce-cart .actions input[name="update_cart"] {
    display: none !important;
}

/* ============================ CLASSIC WOOCOMMERCE CHECKOUT ============================ */
/* Override cream/beige bg from sheel-premium-bundle.css on classic checkout */

body.woocommerce-checkout .page-content,
body.woocommerce-checkout .woocommerce {
    background: transparent !important;
}

/* ---- Billing & Shipping fields ---- */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-lg) !important;
    box-shadow: none !important;
    padding: 24px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3 {
    color: var(--ds-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--ds-border-light) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields label,
body.woocommerce-checkout .woocommerce-shipping-fields label {
    color: var(--ds-text-muted) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields label.required_field,
body.woocommerce-checkout .woocommerce-shipping-fields label.required_field {
    color: var(--ds-text) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .required,
body.woocommerce-checkout .woocommerce-shipping-fields .required {
    color: var(--ds-coral, #E27B7B) !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .input-text,
body.woocommerce-checkout .woocommerce-shipping-fields .input-text,
body.woocommerce-checkout .woocommerce-billing-fields input[type="text"],
body.woocommerce-checkout .woocommerce-billing-fields input[type="email"],
body.woocommerce-checkout .woocommerce-billing-fields input[type="tel"],
body.woocommerce-checkout .woocommerce-shipping-fields input[type="text"] {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields .input-text:focus,
body.woocommerce-checkout .woocommerce-shipping-fields .input-text:focus {
    border-color: var(--ds-primary) !important;
    box-shadow: 0 0 0 3px rgba(77, 63, 118, 0.12) !important;
    outline: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields select,
body.woocommerce-checkout .woocommerce-shipping-fields select {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
    padding: 10px 14px !important;
}

/* ---- Additional information section ---- */
body.woocommerce-checkout .woocommerce-additional-fields {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-lg) !important;
    box-shadow: none !important;
    padding: 24px !important;
}

body.woocommerce-checkout .woocommerce-additional-fields h3 {
    color: var(--ds-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--ds-border-light) !important;
}

body.woocommerce-checkout .woocommerce-additional-fields label {
    color: var(--ds-text-muted) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

body.woocommerce-checkout .woocommerce-additional-fields textarea {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-sm) !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
}

body.woocommerce-checkout .woocommerce-additional-fields textarea:focus {
    border-color: var(--ds-primary) !important;
    box-shadow: 0 0 0 3px rgba(77, 63, 118, 0.12) !important;
    outline: none !important;
}

/* ---- Order review / Your order table ---- */
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-lg) !important;
    box-shadow: none !important;
    padding: 24px !important;
}

body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout h3#order_review_heading {
    color: var(--ds-text) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid var(--ds-border-light) !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    background: transparent !important;
    color: var(--ds-text-muted) !important;
    font-weight: 600 !important;
    text-transform: none !important;
    font-size: 13px !important;
    border-bottom: 1px solid var(--ds-border-light) !important;
    padding: 10px 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    background: transparent !important;
    color: var(--ds-text) !important;
    border-bottom: 1px solid var(--ds-border-light) !important;
    padding: 10px 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
    border-top: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
    border-top: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    color: var(--ds-text) !important;
    font-weight: 700 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td strong {
    color: var(--ds-primary) !important;
    font-size: 18px !important;
}

/* ---- Payment section ---- */
body.woocommerce-checkout #payment {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-lg) !important;
    box-shadow: none !important;
    padding: 24px !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid var(--ds-border-light) !important;
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
    color: var(--ds-text) !important;
}

/* ---- Place order button ---- */
body.woocommerce-checkout #place_order,
body.woocommerce-checkout #payment .place-order .button.alt {
    background: var(--ds-primary) !important;
    color: #fff !important;
    font-weight: 700 !important;
    border-radius: var(--ds-radius-md) !important;
    padding: 14px 28px !important;
    font-size: 16px !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #payment .place-order .button.alt:hover {
    background: var(--ds-primary-dark) !important;
    color: #fff !important;
}

/* ---- WooCommerce info / error notices ---- */
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-cart .woocommerce-info {
    background: var(--ds-bg-muted) !important;
    color: var(--ds-text) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-md) !important;
}

body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-cart .woocommerce-info a {
    color: var(--ds-primary) !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-cart .woocommerce-error {
    background: #ffebee !important;
    color: #c62828 !important;
    border: 1px solid #ef9a9a !important;
}

/* ---- Coupon form ---- */
body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-lg) !important;
}

/* ---- Compliance boxes (digital consent, privacy consent) ---- */
body.woocommerce-checkout .sheel-compliance-box {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border-light) !important;
    border-radius: var(--ds-radius-md) !important;
    padding: 16px !important;
}

body.woocommerce-checkout .sheel-compliance-box label {
    color: var(--ds-text) !important;
    font-size: 14px !important;
}

body.woocommerce-checkout .sheel-compliance-box .input-checkbox {
    margin-inline-start: 8px !important;
}

/* ---- Privacy policy text ---- */
body.woocommerce-checkout .woocommerce-privacy-policy-text {
    color: var(--ds-text-muted) !important;
    font-size: 13px !important;
}

/* ---- Override cream bg on form.checkout from layout.css + sheel-premium-bundle.css ---- */
body.woocommerce-checkout form.checkout {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

/* ---- Fix col2-set layout — billing + additional should be side by side ---- */
body.woocommerce-checkout .col2-set {
    display: flex !important;
    gap: 24px !important;
    width: 100% !important;
    margin-bottom: 24px !important;
}

body.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout .col2-set .col-2 {
    flex: 1 !important;
    float: none !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* Billing column (col-1) needs more space for form fields */
[dir="rtl"] body.woocommerce-checkout .col2-set .col-1 {
    flex: 3 !important;
}

[dir="rtl"] body.woocommerce-checkout .col2-set .col-2 {
    flex: 2 !important;
}

/* ============================ RTL FIXES: CLASSIC CART & CHECKOUT ============================ */
[dir="rtl"] body.woocommerce-cart table.shop_table th,
[dir="rtl"] body.woocommerce-cart table.shop_table td,
[dir="rtl"] body.woocommerce-cart .cart_totals table th,
[dir="rtl"] body.woocommerce-cart .cart_totals table td,
[dir="rtl"] body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
[dir="rtl"] body.woocommerce-checkout .woocommerce-checkout-review-order-table td,
[dir="rtl"] body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
[dir="rtl"] body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    text-align: right !important;
}

[dir="rtl"] body.woocommerce-cart table.shop_table td.product-subtotal,
[dir="rtl"] body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
    text-align: left !important;
}

[dir="rtl"] body.woocommerce-cart .cart_totals h2,
[dir="rtl"] body.woocommerce-checkout .woocommerce-billing-fields h3,
[dir="rtl"] body.woocommerce-checkout .woocommerce-additional-fields h3,
[dir="rtl"] body.woocommerce-checkout h3#order_review_heading {
    text-align: right !important;
}

[dir="rtl"] body.woocommerce-checkout .woocommerce-billing-fields label,
[dir="rtl"] body.woocommerce-checkout .woocommerce-additional-fields label {
    text-align: right !important;
}

[dir="rtl"] body.woocommerce-cart table.shop_table td.product-name,
[dir="rtl"] body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
    text-align: right !important;
}

[dir="rtl"] body.woocommerce-cart table.shop_table td.product-remove {
    text-align: left !important;
}

/* Fix form-row layout in RTL checkout */
[dir="rtl"] body.woocommerce-checkout .col2-set .col-1 {
    order: 2 !important;
}

[dir="rtl"] body.woocommerce-checkout .col2-set .col-2 {
    order: 1 !important;
}

/* ---- RTL: WooCommerce notices & info boxes ---- */
[dir="rtl"] body.woocommerce-cart .woocommerce-info,
[dir="rtl"] body.woocommerce-checkout .woocommerce-info,
[dir="rtl"] body.woocommerce-cart .woocommerce-error,
[dir="rtl"] body.woocommerce-checkout .woocommerce-error,
[dir="rtl"] body.woocommerce-cart .woocommerce-message,
[dir="rtl"] body.woocommerce-checkout .woocommerce-message,
[dir="rtl"] body.woocommerce-cart .wc-block-components-notice-banner,
[dir="rtl"] body.woocommerce-checkout .wc-block-components-notice-banner {
    direction: rtl !important;
    text-align: right !important;
}

/* ============================ CART REMOVAL NOTICE ============================ */
/* Suppress "X removed from your cart. Undo?" notice with restore link */
.woocommerce .woocommerce-message .restore-item,
.woocommerce .woocommerce-info .restore-item,
.woocommerce-message a.restore-item {
    display: none !important;
}

/* Hide the entire "removed" notice banner if PHP filter doesn't catch it */
.woocommerce-message:has(.restore-item) {
    display: none !important;
}

/* ============================ NOTIFICATIONS ============================ */
.sheel-notification,
.sheel-notification .notification-message,
.sheel-notification-error,
.sheel-notification-success,
.sheel-notification-warning {
    color: var(--ds-text) !important;
}
