.woocommerce { --wc-red: #9b4d43; }
.woocommerce .woocommerce-error, .woocommerce .woocommerce-info, .woocommerce .woocommerce-message { margin-bottom: 24px; padding: 17px 20px 17px 48px; color: var(--vd-cocoa); background: #fff; border: 1px solid var(--vd-border); border-top: 0; border-inline-start: 4px solid var(--vd-olive); border-radius: 14px; box-shadow: var(--vd-shadow-sm); }
.woocommerce .woocommerce-error { border-inline-start-color: #a54c43; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { min-height: 46px; padding: 12px 20px; color: #fff; background: var(--vd-primary); border: 1px solid var(--vd-primary); border-radius: var(--vd-button-radius); font-family: "Tajawal", system-ui, sans-serif !important; font-weight: 700; line-height: 1; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { color: #fff; background: #221a17; }
.vd-shop-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; padding-block: 45px 85px; }
.vd-shop-sidebar { grid-column: 1; grid-row: 1; }
.vd-shop-products { grid-column: 2; min-width: 0; }
.vd-shop-sidebar .widget { margin-bottom: 17px; padding: 20px; box-shadow: none; }
.vd-shop-sidebar .widget-title { padding-bottom: 12px; margin-bottom: 16px; border-bottom: 1px solid var(--vd-border); font-size: 1rem; }
.vd-shop-sidebar ul { padding: 0; margin: 0; list-style: none; }
.vd-shop-sidebar li { margin-bottom: 8px; color: #6f635c; font-size: .88rem; }
.vd-marketplace-filters { padding: 20px; box-shadow: none; }
.vd-marketplace-filters h3 { padding-bottom: 12px; border-bottom: 1px solid var(--vd-border); font-size: 1rem; }
.vd-marketplace-filters label { display: block; margin-bottom: 12px; }
.vd-marketplace-filters label > span { display: block; margin-bottom: 5px; font-size: .78rem; font-weight: 700; }
.vd-marketplace-filters .vd-filter-check { display: flex; align-items: center; gap: 8px; }
.vd-marketplace-filters .vd-filter-check input { width: 17px; height: 17px; }
.vd-marketplace-filters .vd-filter-check span { margin: 0; }
.vd-marketplace-filters .vd-button { width: 100%; }
.woocommerce .widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--vd-olive); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background-color: var(--vd-beige); }
.vd-filter-toggle { display: none; }
.vd-shop-hero { margin-bottom: 32px; padding: clamp(30px, 5vw, 55px); background: linear-gradient(120deg, #efe4d5, #e5ebe2); border-radius: var(--vd-radius-lg); }
.vd-shop-hero h1 { margin-bottom: 8px; font-size: clamp(2rem, 4vw, 3.6rem); }
.vd-shop-hero .term-description { max-width: 700px; color: #6e625c; }
.vd-shop-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; padding: 12px 15px; background: #fff; border: 1px solid var(--vd-border); border-radius: 14px; }
.vd-shop-toolbar__count { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; margin: 0; }
.woocommerce .woocommerce-ordering select { min-height: 42px; }
.woocommerce ul.products { clear: both; grid-template-columns: repeat(3, minmax(0,1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none; width: auto; margin: 0; }
.woocommerce ul.products li.product .button { margin-top: 0; }
.woocommerce nav.woocommerce-pagination { margin-top: 38px; }
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: 7px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; min-width: 42px; height: 42px; padding: 0 8px; background: #fff; border: 1px solid var(--vd-border); border-radius: 11px; }
.woocommerce nav.woocommerce-pagination ul li span.current { color: #fff; background: var(--vd-cocoa); border-color: var(--vd-cocoa); }

/* Single product */
.single-product .site-main { padding-block: 45px 90px; }
.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { margin-bottom: 55px; }
.woocommerce div.product div.images { width: 52%; }
.woocommerce div.product div.summary { width: 43%; }
.woocommerce div.product div.images img { border-radius: var(--vd-radius); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; overflow: hidden; border: 2px solid transparent; border-radius: 12px; }
.woocommerce div.product .product_title { margin-bottom: 12px; font-size: clamp(2rem, 3vw, 3rem); }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.woocommerce .star-rating, .woocommerce .star-rating::before { color: #d1a23e; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--vd-cocoa); font-size: 1.65rem; font-weight: 700; }
.woocommerce div.product p.price del { color: #9a8f89; font-size: .9rem; }
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 25px; }
.woocommerce .quantity .qty { width: 72px; min-height: 50px; border: 1px solid var(--vd-border); border-radius: 12px; }
.woocommerce .quantity { display: inline-flex; align-items: stretch; }
.woocommerce .quantity .vd-qty-button { width: 33px; padding: 0; color: var(--vd-cocoa); background: var(--vd-ivory); border: 1px solid var(--vd-border); font-weight: 800; }
.woocommerce .quantity .vd-qty-button:first-child { border-radius: 0 10px 10px 0; }
.woocommerce .quantity .vd-qty-button:last-child { border-radius: 10px 0 0 10px; }
.woocommerce .quantity .vd-qty-button + .qty { border-inline: 0; border-radius: 0; }
.woocommerce div.product form.cart .button { min-height: 50px; flex: 1; }
.woocommerce div.product form.cart .vd-buy-now { color: var(--vd-cocoa); background: #fff; border-color: var(--vd-cocoa); }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 20px; }
.woocommerce div.product form.cart .variations td { display: block; padding: 4px 0; }
.woocommerce div.product form.cart .variations select { min-width: 100%; }
.woocommerce div.product .stock { display: inline-flex; padding: 5px 10px; color: #557052; background: #edf3e9; border-radius: 999px; font-weight: 700; }
.woocommerce div.product .woocommerce-tabs { clear: both; padding-top: 40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 5px; padding: 8px; margin-bottom: 20px; background: #fff; border: 1px solid var(--vd-border); border-radius: 16px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { padding: 0; margin: 0; background: transparent; border: 0; border-radius: 10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 16px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--vd-cocoa); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { padding: clamp(22px, 4vw, 40px); background: #fff; border: 1px solid var(--vd-border); border-radius: var(--vd-radius); }
.vd-spec-table { overflow: hidden; border: 1px solid var(--vd-border); border-radius: 14px; }
.vd-spec-table__row { display: grid; grid-template-columns: 180px 1fr; }
.vd-spec-table__row > * { padding: 12px 16px; border-bottom: 1px solid var(--vd-border); }
.vd-spec-table__row:last-child > * { border-bottom: 0; }
.vd-spec-table__row strong { background: var(--vd-ivory); }
.single-product .related.products, .single-product .upsells.products, .vd-more-vendor-products { clear: both; padding-top: 55px; }
.single-product .related.products > h2, .single-product .upsells.products > h2, .vd-more-vendor-products > h2 { margin-bottom: 30px; }

/* Cart, checkout and account */
.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main { padding-block: 50px 90px; }
.vd-checkout-progress { display: flex; justify-content: center; gap: 70px; padding: 0; margin: 0 auto 40px; list-style: none; }
.vd-checkout-progress li { position: relative; display: flex; align-items: center; gap: 9px; color: #9b9089; font-weight: 700; }
.vd-checkout-progress li::after { position: absolute; top: 17px; right: calc(100% + 12px); width: 46px; height: 1px; content: ""; background: var(--vd-border); }
.vd-checkout-progress li:first-child::after { display: none; }
.vd-checkout-progress li span { display: grid; place-items: center; width: 34px; height: 34px; background: #ebe5dc; border-radius: 50%; }
.vd-checkout-progress li.is-active { color: var(--vd-cocoa); }
.vd-checkout-progress li.is-active span { color: #fff; background: var(--vd-olive); }
.woocommerce table.shop_table { background: #fff; border: 1px solid var(--vd-border); border-radius: var(--vd-radius); border-collapse: separate; overflow: hidden; box-shadow: var(--vd-shadow-sm); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px; border-color: var(--vd-border); }
.woocommerce table.shop_table img { width: 72px; border-radius: 12px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px; min-height: 46px; border-color: var(--vd-border); border-radius: 12px; }
.woocommerce .cart-collaterals .cart_totals { padding: 25px; background: #fff; border: 1px solid var(--vd-border); border-radius: var(--vd-radius); box-shadow: var(--vd-shadow-sm); }
.woocommerce .cart-collaterals .cart_totals h2 { font-size: 1.45rem; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 35px; }
.woocommerce-checkout #customer_details { grid-column: 1; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { align-self: end; margin: 0 0 -18px; }
.woocommerce-checkout #order_review { padding: 24px; background: #fff; border: 1px solid var(--vd-border); border-radius: var(--vd-radius); box-shadow: var(--vd-shadow-sm); }
.woocommerce form .form-row label { font-weight: 700; }
.woocommerce-checkout #payment { background: var(--vd-ivory); border-radius: 16px; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--vd-border); }
.vd-checkout-note { display: flex; gap: 10px; margin: 18px 0; padding: 13px; color: #5f6c56; background: #edf2e9; border-radius: 12px; font-size: .83rem; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 30px; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; float: none; padding: 15px; background: #fff; border: 1px solid var(--vd-border); border-radius: var(--vd-radius); box-shadow: var(--vd-shadow-sm); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 0; margin: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 14px; border-radius: 10px; font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--vd-ivory); }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; padding: 30px; background: #fff; border: 1px solid var(--vd-border); border-radius: var(--vd-radius); box-shadow: var(--vd-shadow-sm); }
