/* =========================================================
   WeBlend — WooCommerce styles (replaces WooCommerce's default CSS)
   Covers: notices, shop header, sorting, forms, cart, checkout, account,
   reviews, quantity, tables, and the WooCommerce Blocks cart/checkout.
   ========================================================= */

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper{margin-bottom:12px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 12px;padding:12px 16px;border-radius:var(--r-m);border:1px solid var(--line);background:#fff;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-inline-start-width:4px}
.woocommerce-message{border-inline-start-color:#169A5E}
.woocommerce-info{border-inline-start-color:var(--blue)}
.woocommerce-error{border-inline-start-color:var(--red);display:grid;gap:4px}
.woocommerce-message .button,.woocommerce-info .button{margin-inline-start:auto;order:2}
.woocommerce-error li{list-style:none}

/* ---------- Shop header / sorting ---------- */
.woocommerce-products-header{margin-bottom:12px}
.woocommerce-products-header__title,.page-title{font-size:22px;font-weight:800;line-height:1.6;margin-bottom:6px}
.term-description,.woocommerce-products-header .page-description{color:var(--muted);margin-bottom:10px}
.shop-main .woocommerce-result-count{float:inline-start;margin:0 0 12px;color:var(--muted);font-size:13px;line-height:42px}
.shop-main .woocommerce-ordering{float:inline-end;margin:0 0 12px}
.shop-main .products-grid,.shop-main .woocommerce-info{clear:both}
.woocommerce-ordering select,.woocommerce select,.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],.woocommerce input[type=number],.woocommerce input[type=search],.woocommerce textarea{border:1px solid var(--line);border-radius:var(--r-m);padding:10px 12px;background:#fff;min-height:42px;max-width:100%;outline:0}
.woocommerce input:focus,.woocommerce select:focus,.woocommerce textarea:focus{border-color:var(--primary)}
.woocommerce-ordering select{min-width:200px}
.woocommerce-no-products-found{clear:both}

/* ---------- Buttons ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button:not(.is-link){display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--r-m);font-weight:700;font-size:13.5px;background:var(--primary);color:#fff;border:1px solid transparent;cursor:pointer;line-height:1.6;text-decoration:none;transition:background .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--primary-d);color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #place_order{background:var(--accent);color:#fff}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce #place_order:hover{background:var(--accent-d)}
.woocommerce button.button:disabled,.woocommerce button.button.disabled{opacity:.55;cursor:not-allowed}
.woocommerce #place_order{width:100%;padding:13px 22px;font-size:15px}
.single_add_to_cart_button.btn{cursor:pointer}
.added_to_cart{display:none}

/* ---------- Quantity ---------- */
.quantity .qty{width:72px;text-align:center}
.buy__form .quantity{display:inline-block}

/* ---------- Stock ---------- */
.stock.out-of-stock{color:var(--red);font-weight:700}
.stock.in-stock{color:#169A5E}

/* ---------- Star ratings (reviews & forms) ---------- */
.star-rating{display:inline-block;position:relative;width:5.4em;height:1.1em;line-height:1;font-size:14px;overflow:hidden;direction:ltr;letter-spacing:.1em;color:#D9DEE7}
.star-rating::before{content:"\2605\2605\2605\2605\2605";position:absolute;inset:0;white-space:nowrap}
.star-rating span{position:absolute;inset:0;overflow:hidden;padding-top:1.5em;color:var(--gold)}
.star-rating span::before{content:"\2605\2605\2605\2605\2605";position:absolute;top:0;inset-inline-start:0;white-space:nowrap}
p.stars{display:inline-flex;gap:2px;direction:ltr}
p.stars a{position:relative;width:1.2em;height:1.2em;text-indent:-999em;overflow:hidden;display:inline-block}
p.stars a::before{content:"\2605";position:absolute;inset:0;text-indent:0;color:#D9DEE7;font-size:20px;line-height:1.2}
p.stars:hover a::before,p.stars.selected a::before{color:var(--gold)}
p.stars a:hover~a::before{color:#D9DEE7}
p.stars.selected a.active~a::before{color:#D9DEE7}

/* ---------- Reviews (WooCommerce single-product-reviews.php) ---------- */
#reviews{display:grid;gap:14px}
#reviews .woocommerce-Reviews-title{display:none}
#reviews #comments h2{display:none}
#reviews .commentlist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
#reviews .commentlist li.review,#reviews .commentlist li.comment{border:1px solid var(--line);border-radius:var(--r-m);padding:14px 16px;list-style:none}
#reviews .comment_container{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
#reviews .comment_container img.avatar{width:44px;height:44px;border-radius:50%}
#reviews .comment-text .star-rating{float:inline-end}
#reviews .meta{margin:0 0 4px;font-size:12.5px;color:var(--muted)}
#reviews .meta strong{color:var(--ink);font-size:14px}
#reviews .woocommerce-review__verified{color:#169A5E}
#reviews .description p{margin:0}
#reviews ul.children{list-style:none;padding-inline-start:20px;margin-top:10px;display:grid;gap:10px}
#review_form_wrapper{margin-top:6px}
#reply-title{display:block;font-size:15px;font-weight:800;margin-bottom:8px}
.woocommerce-verification-required,.woocommerce-noreviews{color:var(--muted)}
#reviews .comment-form-rating label{display:block;margin-bottom:4px}

/* ---------- Tables (cart, order, account) ---------- */
.woocommerce table.shop_table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:#fff;margin:0 0 16px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 14px;text-align:start;border-bottom:1px solid var(--line);vertical-align:middle}
.woocommerce table.shop_table thead th{background:var(--bg);font-weight:700;font-size:13px}
.woocommerce table.shop_table tr:last-child>td,.woocommerce table.shop_table tr:last-child>th{border-bottom:0}
.woocommerce table.shop_table .product-thumbnail img{width:72px;height:auto;border-radius:var(--r-s)}
.woocommerce table.shop_table .product-name a{font-weight:700}
.woocommerce table.shop_table .product-remove a{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bg);color:var(--red);font-size:18px;line-height:1}
.woocommerce table.shop_table .product-remove a:hover{background:var(--red);color:#fff}
.woocommerce table.cart td.actions{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}
.woocommerce table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap}
.woocommerce table.cart td.actions .coupon label{display:none}
.woocommerce-cart-form{overflow-x:auto}

/* ---------- Cart collaterals / totals ---------- */
.woocommerce .cart-collaterals{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:14px;justify-content:end}
.woocommerce .cart-collaterals .cart_totals{grid-column:2;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:16px}
.woocommerce .cart-collaterals .cart_totals h2{font-size:16px;font-weight:800;margin-bottom:10px}
.woocommerce .cart-collaterals .cart_totals table.shop_table{border:0}
.woocommerce .wc-proceed-to-checkout .checkout-button{width:100%;padding:13px 20px;font-size:15px;background:var(--accent)}
.woocommerce .wc-proceed-to-checkout .checkout-button:hover{background:var(--accent-d)}

/* ---------- Checkout ---------- */
.woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:14px;align-items:start}
.woocommerce form.checkout #customer_details{display:grid;gap:14px}
.woocommerce form.checkout #customer_details .col-1,.woocommerce form.checkout #customer_details .col-2{float:none;width:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:16px}
.woocommerce form.checkout h3{font-size:16px;font-weight:800;margin-bottom:12px}
.woocommerce form.checkout #order_review_heading{grid-column:2;margin:0}
.woocommerce form.checkout #order_review{grid-column:2;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:16px}
.woocommerce form.checkout #order_review table.shop_table{border:0}
.woocommerce form.checkout .woocommerce-checkout-review-order-table{margin-bottom:12px}
.woocommerce form .form-row{margin:0 0 12px;display:block}
.woocommerce form .form-row label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.woocommerce form .form-row .required{color:var(--red);text-decoration:none}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 6px);display:inline-block;vertical-align:top}
.woocommerce form .form-row-first{margin-inline-end:12px}
.woocommerce-checkout #payment{background:var(--bg);border-radius:var(--r-m);padding:12px}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.woocommerce-checkout #payment ul.payment_methods li{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:10px 12px}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:24px;width:auto;vertical-align:middle;margin-inline:6px}
.woocommerce-checkout #payment .payment_box{margin-top:8px;color:var(--muted);font-size:13px}
.woocommerce-checkout #payment .payment_box p{margin:0}
.woocommerce-privacy-policy-text{font-size:12.5px;color:var(--muted)}
.woocommerce-form-coupon-toggle .woocommerce-info{margin-bottom:12px}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:16px;margin-bottom:14px}
.select2-container .select2-selection--single{height:42px;border:1px solid var(--line);border-radius:var(--r-m)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:40px;padding-inline:12px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:40px}

/* ---------- My account ---------- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:14px;align-items:start}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);display:grid;gap:2px}
.woocommerce-MyAccount-navigation a{display:block;padding:9px 12px;border-radius:var(--r-s);font-weight:600;color:#3A465A}
.woocommerce-MyAccount-navigation a:hover{background:var(--primary-l);color:var(--primary)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--primary);color:#fff}
.woocommerce-MyAccount-content{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:18px;min-width:0}
.woocommerce-MyAccount-content p{margin:0 0 10px}
.woocommerce-MyAccount-content a:not(.button){color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.woocommerce-MyAccount-content table.shop_table{overflow-x:auto;display:block}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.woocommerce-account .u-columns .col-1,.woocommerce-account .u-columns .col-2{float:none;width:auto}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.woocommerce-Addresses .col-1,.woocommerce-Addresses .col-2{float:none;width:auto}
.woocommerce-order-downloads .woocommerce-table__product-name{font-weight:700}
.woocommerce-order-details__title,.woocommerce-column__title,.woocommerce-order-downloads__title{font-size:16px;font-weight:800;margin:10px 0}
.woocommerce-thankyou-order-received{font-weight:700;color:#169A5E;font-size:16px}
ul.woocommerce-order-overview{list-style:none;padding:0;margin:0 0 16px;display:flex;gap:10px;flex-wrap:wrap}
ul.woocommerce-order-overview li{background:#fff;border:1px solid var(--line);border-radius:var(--r-m);padding:8px 14px;font-size:12.5px;color:var(--muted)}
ul.woocommerce-order-overview li strong{display:block;color:var(--ink);font-size:14px}

/* ---------- Price HTML emitted by WooCommerce (grouped / widgets) ---------- */
.woocommerce-Price-amount{font-weight:800}
.price del .woocommerce-Price-amount{font-weight:500;color:var(--muted)}
.price ins{text-decoration:none}

/* ---------- Widgets (price filter, layered nav, product lists) ---------- */
.widget_price_filter .ui-slider{position:relative;height:6px;background:var(--line);border-radius:9px;margin:14px 6px}
.widget_price_filter .ui-slider-range{position:absolute;height:100%;background:var(--primary);border-radius:9px}
.widget_price_filter .ui-slider-handle{position:absolute;top:-6px;width:18px;height:18px;margin-inline-start:-9px;border-radius:50%;background:#fff;border:3px solid var(--primary);cursor:pointer}
.widget_price_filter .price_slider_amount{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}
.woocommerce-widget-layered-nav-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.woocommerce-widget-layered-nav-list .count{color:var(--muted);font-size:12px}
.product_list_widget{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.product_list_widget li{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center}
.product_list_widget img{width:56px;height:auto;border-radius:var(--r-s)}

/* ---------- WooCommerce Blocks (cart / checkout) ---------- */
.wc-block-cart,.wc-block-checkout{--wc-primary:var(--primary)}
.wc-block-components-button:not(.is-link){background:var(--accent);color:#fff}
.wc-block-components-button:not(.is-link):hover{background:var(--accent-d)}
.wc-block-components-totals-wrapper,.wc-block-cart__sidebar,.wc-block-checkout__sidebar{border-radius:var(--r-m)}
.wc-block-components-text-input input,.wc-block-components-select .wc-blocks-components-select__select{border-radius:var(--r-m)}
.wc-block-components-product-name{font-weight:700;color:var(--ink)}
.wc-block-components-product-price__value,.wc-block-formatted-money-amount{font-weight:800}
.wc-block-cart-items{border-radius:var(--r-m)}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{font-family:inherit}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .woocommerce .cart-collaterals,.woocommerce form.checkout{grid-template-columns:minmax(0,1fr)}
  .woocommerce .cart-collaterals .cart_totals,.woocommerce form.checkout #order_review,.woocommerce form.checkout #order_review_heading{grid-column:1}
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
  .woocommerce-account .u-columns,.woocommerce-Addresses{grid-template-columns:minmax(0,1fr)}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;margin-inline-end:0;display:block}
  .shop-main .woocommerce-ordering{float:none}
  .shop-main .woocommerce-ordering select{width:100%}
  .shop-main .woocommerce-result-count{float:none;line-height:1.6}
  /* Cart table → stacked cards */
  .woocommerce-cart-form table.shop_table_responsive thead{display:none}
  .woocommerce-cart-form table.shop_table_responsive tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
  .woocommerce-cart-form table.shop_table_responsive td{display:flex;justify-content:space-between;gap:10px;border:0}
  .woocommerce-cart-form table.shop_table_responsive td::before{content:attr(data-title);font-weight:700;color:var(--muted)}
  .woocommerce-cart-form table.shop_table_responsive td.product-remove,.woocommerce-cart-form table.shop_table_responsive td.product-thumbnail,.woocommerce-cart-form table.shop_table_responsive td.actions{grid-column:1/-1}
  .woocommerce-cart-form table.shop_table_responsive td.product-remove::before,.woocommerce-cart-form table.shop_table_responsive td.product-thumbnail::before,.woocommerce-cart-form table.shop_table_responsive td.actions::before{content:none}
}
